                (assert (integerp (espresso--pitem-h-begin pitem)))
                (setq subitems (list
                                (cons "[empty]"
-                                     (set-marker
-                                      (make-marker)
+                                     (espresso--maybe-make-marker
                                       (espresso--pitem-h-begin pitem)))))
                (push (cons pitem-name subitems)
                      imenu-items))))

;; highlighted. To get correct fontification, every line with variable
;; declarations must contain a `var' keyword.

(defconst espresso--font-lock-keywords-3
  `(
    ;; This goes before keywords-2 so it gets used preferentially

    ;; Highlights parent class, in parts, if available
    (espresso--class-decl-matcher
     ,(concat "\\(" espresso--name-re "\\)\\(?:\\.\\|.*$\\)")
     (if (match-beginning 2)
         (progn
           (setq espresso--tmp-location (match-end 2))
           (goto-char espresso--tmp-location)
           (insert "=")
           (goto-char (match-beginning 2)))
       (setq espresso--tmp-location nil)
       (goto-char (point-at-eol)))
     (when espresso--tmp-location
       (save-excursion
         (goto-char espresso--tmp-location)
         (delete-char 1)))
     (1 font-lock-type-face))

    ;; Highlights parent class
