 ;;
 ;;    (add-to-list 'auto-mode-alist '("\\.js\\'" . espresso-mode))
 ;;    (autoload 'espresso-mode "espresso" nil t)
+;;
+;; After that, type M-x byte-compile-file and have Emacs byte-compile
+;; this file. Performance is vastly better when this file is
+;; byte-compiled.
 ;;
 ;; General Remarks:
 ;;

      (widen)
      (goto-char (point-max))
      (espresso--ensure-cache)
      (assert (eq espresso--last-parse-pos (point)))
      (let ((state espresso--state-at-last-parse-pos)
            (unknown-ctr (cons -1 nil)))

         ;; Make sure everything is closed
        (while (cdr state)
          (setq state
            (cons (espresso--pitem-add-child (second state) (car state))
                  (cddr state))))

        (assert (= (length state) 1))

        ;; Convert the new-finalized state into what imenu expects
        (espresso--pitems-to-imenu
         (car (espresso--pitem-children state))
         unknown-ctr)))))

(defun espresso--which-func-joiner (parts)
  (mapconcat #'identity parts "."))

;;; Main Function


      (goto-char (espresso--pitem-h-begin pitem )))))

;;; Font Lock
(defun espresso--make-framework-matcher (framework &rest regexps)
  "Create a byte-compiled function that only matches the given
regular expressions (that concatenation of REGEXPS) if FRAMEWORK
