# HG changeset patch # User Daniel Pfeiffer # Date 1116468909 0 # Node ID 8f934f346603c300f93537b0354c13ba653dfb56 # Parent 50ba01c61e5c293d78c73d618ba92023c0884ef5 (lisp-font-lock-keywords-2): Do \\) only in strings, because (eq ... ?\\) is fairly frequent. diff -r 50ba01c61e5c -r 8f934f346603 lisp/font-lock.el --- a/lisp/font-lock.el Thu May 19 01:56:04 2005 +0000 +++ b/lisp/font-lock.el Thu May 19 02:15:09 2005 +0000 @@ -2053,9 +2053,15 @@ ("\\<:\\sw+\\>" 0 font-lock-builtin-face) ;; ELisp and CLisp `&' keywords as types. ("\\&\\sw+\\>" . font-lock-type-face) - ;; Make regexp grouping constructs bold, so they stand out. - ("\\([\\][\\]\\)\\([(|)]\\)\\(\\?:\\)?" - (1 font-lock-comment-face prepend) + ;; Make regexp grouping constructs bold, so they stand out, but only in strings. + ((lambda (bound) + (if (re-search-forward "\\([\\][\\]\\)\\([(|)]\\)\\(\\?:\\)?" bound) + (let ((face (get-text-property (1- (point)) 'face))) + (if (listp face) + (memq 'font-lock-string-face face) + (eq 'font-lock-string-face face))))) + (1 font-lock-comment-face prepend) ; Should we introduce a lowlight face for this? + ; Ideally that would retain the color, dimmed 50%. (2 'bold prepend) (3 font-lock-type-face prepend t)) ;; Underline innermost grouping, so that you can more easily see what belongs together.