> Does that mean that Font Lock erroneously strips the quote in the
> first case?

Looks like it.  And looks like it's done on purpose, although I don't know
what this purpose is:

(defun font-lock-compile-keyword (keyword)
  (cond ((nlistp keyword)                       ; MATCHER
         (list keyword '(0 font-lock-keyword-face)))
        ((eq (car keyword) 'eval)               ; (eval . FORM)
         (font-lock-compile-keyword (eval (cdr keyword))))
        ((eq (car-safe (cdr keyword)) 'quote)   ; (MATCHER . 'FORM)
         ;; If FORM is a FACENAME then quote it.  Otherwise ignore the quote.
         (if (symbolp (nth 2 keyword))
             (list (car keyword) (list 0 (cdr keyword)))
           (font-lock-compile-keyword (cons (car keyword) (nth 2 keyword)))))
        ((numberp (cdr keyword))                ; (MATCHER . MATCH)
         (list (car keyword) (list (cdr keyword) 'font-lock-keyword-face)))
        ((symbolp (cdr keyword))                ; (MATCHER . FACENAME)
         (list (car keyword) (list 0 (cdr keyword))))
        ((nlistp (nth 1 keyword))               ; (MATCHER . HIGHLIGHT)
         (list (car keyword) (cdr keyword)))
        (t                                      ; (MATCHER HIGHLIGHT ...)
         keyword)))


-- Stefan

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to