Index: emacs/lisp/font-lock.el diff -c emacs/lisp/font-lock.el:1.265 emacs/lisp/font-lock.el:1.266 *** emacs/lisp/font-lock.el:1.265 Wed Jun 29 08:19:17 2005 --- emacs/lisp/font-lock.el Sat Jul 2 09:40:42 2005 *************** *** 1825,1839 **** "Font Lock mode face used to highlight preprocessor directives." :group 'font-lock-highlighting-faces) ! (defface font-lock-regexp-backslash '((((class color) (min-colors 16)) :inherit escape-glyph) (t :inherit bold)) ! "Font Lock mode face used to highlight a backslash in Lisp regexps." :group 'font-lock-highlighting-faces) ! (defface font-lock-regexp-backslash-construct '((t :inherit bold)) ! "Font Lock mode face used to highlight `\' constructs in Lisp regexps." :group 'font-lock-highlighting-faces) ;;; End of Colour etc. support. --- 1825,1839 ---- "Font Lock mode face used to highlight preprocessor directives." :group 'font-lock-highlighting-faces) ! (defface font-lock-regexp-grouping-backslash '((((class color) (min-colors 16)) :inherit escape-glyph) (t :inherit bold)) ! "Font Lock mode face for backslashes in Lisp regexp grouping constructs." :group 'font-lock-highlighting-faces) ! (defface font-lock-regexp-backslash-grouping-construct '((t :inherit bold)) ! "Font Lock mode face used to highlight grouping constructs in Lisp regexps." :group 'font-lock-highlighting-faces) ;;; End of Colour etc. support. *************** *** 2082,2103 **** ("\\<:\\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, but only ! ;; in strings. ((lambda (bound) ! (if (re-search-forward "\\(\\\\\\\\\\)\\((\\(?:?:\\)?\\|[|)]\\)" bound t) ! (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-regexp-backslash prepend) ! (2 'font-lock-regexp-backslash-construct prepend)) ! ! ;; Underline innermost grouping, so that you can more easily see what ! ;; belongs together. 2005-05-12: Font-lock can go into an ! ;; unbreakable endless loop on this -- something's broken. ! ;;("[\\][\\][(]\\(?:\\?:\\)?\\(\\(?:[^\\\"]+\\|[\\]\\(?:[^\\]\\|[\\][^(]\\)\\)+?\\)[\\][\\][)]" ! ;;1 'underline prepend) ;;; This is too general -- rms. ;;; A user complained that he has functions whose names start with `do' ;;; and that they get the wrong color. --- 2082,2103 ---- ("\\<:\\sw+\\>" 0 font-lock-builtin-face) ;; ELisp and CLisp `&' keywords as types. ("\\&\\sw+\\>" . font-lock-type-face) ! ;; ELisp regexp grouping constructs ((lambda (bound) ! (catch 'found ! ;; The following loop is needed to continue searching after matches ! ;; that do not occur in strings. The associated regexp matches one ! ;; of `\\\\' `\\(' `\\(?:' `\\|' `\\)'. `\\\\' has been included to ! ;; avoid highlighting, for example, `\\(' in `\\\\('. ! (while (re-search-forward "\\(\\\\\\\\\\)\\(?:\\(\\\\\\\\\\)\\|\\((\\(?:\\?:\\)?\\|[|)]\\)\\)" bound t) ! (unless (match-beginning 2) ! (let ((face (get-text-property (1- (point)) 'face))) ! (when (or (and (listp face) ! (memq 'font-lock-string-face face)) ! (eq 'font-lock-string-face face)) ! (throw 'found t))))))) ! (1 'font-lock-regexp-grouping-backslash prepend) ! (3 'font-lock-regexp-grouping-construct prepend)) ;;; This is too general -- rms. ;;; A user complained that he has functions whose names start with `do' ;;; and that they get the wrong color.
_______________________________________________ Emacs-diffs mailing list Emacs-diffs@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-diffs