Mercurial > emacs
changeset 62239:55168ce0d00d
(font-lock-fontify-syntactically-region): Don't use comment-end if
comment-start-skip is not set.
Obey the font-lock-comment-delimiter-face variables.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 11 May 2005 18:52:17 +0000 |
parents | 45a3c926bb21 |
children | 19d278c4224b |
files | lisp/font-lock.el |
diffstat | 1 files changed, 17 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/font-lock.el Wed May 11 18:26:03 2005 +0000 +++ b/lisp/font-lock.el Wed May 11 18:52:17 2005 +0000 @@ -1314,10 +1314,10 @@ (defun font-lock-fontify-syntactically-region (start end &optional loudly ppss) "Put proper face on each string and comment between START and END. START should be at the beginning of a line." - (let (state face beg - (comment-end-regexp - (regexp-quote - (replace-regexp-in-string "^ *" "" comment-end)))) + (let ((comment-end-regexp + (regexp-quote + (replace-regexp-in-string "^ *" "" comment-end))) + state face beg) (if loudly (message "Fontifying %s... (syntactically...)" (buffer-name))) (goto-char start) ;; @@ -1333,18 +1333,18 @@ (setq state (parse-partial-sexp (point) end nil nil state 'syntax-table)) (when face (put-text-property beg (point) 'face face)) - (when (eq face 'font-lock-comment-face) + (when (and (eq face 'font-lock-comment-face) + comment-start-skip) ;; Find the comment delimiters ;; and use font-lock-comment-delimiter-face for them. (save-excursion (goto-char beg) - (if (and comment-start-skip (looking-at comment-start-skip)) + (if (looking-at comment-start-skip) (put-text-property beg (match-end 0) 'face - 'font-lock-comment-delimiter-face))) - (if (and comment-end - (looking-back comment-end-regexp (point-at-bol))) + font-lock-comment-delimiter-face))) + (if (looking-back comment-end-regexp (point-at-bol)) (put-text-property (match-beginning 0) (point) 'face - 'font-lock-comment-delimiter-face)))) + font-lock-comment-delimiter-face)))) (< (point) end)) (setq state (parse-partial-sexp (point) end nil nil state 'syntax-table))))) @@ -1856,7 +1856,7 @@ ; (put 'font-lock-fontify-more 'menu-enable '(identity)) ; (put 'font-lock-fontify-less 'menu-enable '(identity))) ; -;;; Put the appropriate symbol property values on now. See above. +; ;; Put the appropriate symbol property values on now. See above. ;(put 'global-font-lock-mode 'menu-selected 'global-font-lock-mode) ;(put 'font-lock-mode 'menu-selected 'font-lock-mode) ;(put 'font-lock-fontify-more 'menu-enable '(nth 2 font-lock-fontify-level)) @@ -1890,7 +1890,7 @@ ; (font-lock-fontify-level (1+ (car font-lock-fontify-level))) ; (error "No more decoration"))) ; -;;; This should be called by `font-lock-set-defaults'. +; ;; This should be called by `font-lock-set-defaults'. ;(defun font-lock-set-menu () ; ;; Activate less/more fontification entries if there are multiple levels for ; ;; the current buffer. Sets `font-lock-fontify-level' to be of the form @@ -1911,7 +1911,7 @@ ; (setq font-lock-fontify-level (list level (> level 1) ; (< level (1- (length keywords)))))))) ; -;;; This should be called by `font-lock-unset-defaults'. +; ;; This should be called by `font-lock-unset-defaults'. ;(defun font-lock-unset-menu () ; ;; Deactivate less/more fontification entries. ; (setq font-lock-fontify-level nil)) @@ -1919,7 +1919,7 @@ ;;; End of Menu support. ;;; Various regexp information shared by several modes. -;;; Information specific to a single mode should go in its load library. +; ;; Information specific to a single mode should go in its load library. ;; Font Lock support for C, C++, Objective-C and Java modes is now in ;; cc-fonts.el (and required by cc-mode.el). However, the below function @@ -2071,9 +2071,9 @@ ;; ELisp and CLisp `&' keywords as types. '("\\&\\sw+\\>" . font-lock-type-face) ;; -;;; This is too general -- rms. -;;; A user complained that he has functions whose names start with `do' -;;; and that they get the wrong color. +;;; This is too general -- rms. +;;; A user complained that he has functions whose names start with `do' +;;; and that they get the wrong color. ;;; ;; CL `with-' and `do-' constructs ;;; '("(\\(\\(do-\\|with-\\)\\(\\s_\\|\\w\\)*\\)" 1 font-lock-keyword-face) )))