emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109597: Fix highlight-regexp's use o


From: Chong Yidong
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109597: Fix highlight-regexp's use of Font Lock mode.
Date: Tue, 14 Aug 2012 14:52:59 +0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109597
fixes bug: http://debbugs.gnu.org/12168
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Tue 2012-08-14 14:52:59 +0800
message:
  Fix highlight-regexp's use of Font Lock mode.
  
  * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock.
  (hi-lock-set-pattern): When deciding whether to use font lock or
  overlays, look at font-lock-mode instead of font-lock-fontified.
  (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer)
  (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix.
modified:
  lisp/ChangeLog
  lisp/hi-lock.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-08-14 04:37:00 +0000
+++ b/lisp/ChangeLog    2012-08-14 06:52:59 +0000
@@ -1,3 +1,12 @@
+2012-08-14  Chong Yidong  <address@hidden>
+
+       * hi-lock.el (hi-lock-mode): Do not unilaterally enable font lock.
+       (hi-lock-set-pattern): When deciding whether to use font lock or
+       overlays, look at font-lock-mode instead of font-lock-fontified
+       (Bug#12168).
+       (hi-lock-mode, hi-lock-line-face-buffer, hi-lock-unface-buffer)
+       (hi-lock-face-buffer, hi-lock-face-phrase-buffer): Doc fix.
+
 2012-08-14  Daiki Ueno  <address@hidden>
 
        * subr.el (internal--after-with-selected-window): Fix typo

=== modified file 'lisp/hi-lock.el'
--- a/lisp/hi-lock.el   2012-05-21 04:33:54 +0000
+++ b/lisp/hi-lock.el   2012-08-14 06:52:59 +0000
@@ -287,12 +287,19 @@
 positive, and disable it otherwise.  If called from Lisp, enable
 the mode if ARG is omitted or nil.
 
-Issuing one the highlighting commands listed below will
-automatically enable Hi Lock mode.  To enable Hi Lock mode in all
-buffers, use `global-hi-lock-mode' or add (global-hi-lock-mode 1)
-to your init file.  When Hi Lock mode is enabled, a \"Regexp
-Highlighting\" submenu is added to the \"Edit\" menu.  The
-commands in the submenu, which can be called interactively, are:
+Hi Lock mode is automatically enabled when you invoke any of the
+highlighting commands listed below, such as \\[highlight-regexp].
+To enable Hi Lock mode in all buffers, use `global-hi-lock-mode'
+or add (global-hi-lock-mode 1) to your init file.
+
+In buffers where Font Lock mode is enabled, patterns are
+highlighted using font lock.  In buffers where Font Lock mode is
+disabled, patterns are applied using overlays; in this case, the
+highlighting will not be updated as you type.
+
+When Hi Lock mode is enabled, a \"Regexp Highlighting\" submenu
+is added to the \"Edit\" menu.  The commands in the submenu,
+which can be called interactively, are:
 
 \\[highlight-regexp] REGEXP FACE
   Highlight matches of pattern REGEXP in current buffer with FACE.
@@ -326,12 +333,12 @@
 rejected, the beginning of the buffer is searched for lines of the
 form:
   Hi-lock: FOO
-where FOO is a list of patterns.  These are added to the font lock
-keywords already present.  The patterns must start before position
-\(number of characters into buffer) `hi-lock-file-patterns-range'.
-Patterns will be read until
- Hi-lock: end
-is found.  A mode is excluded if it's in the list `hi-lock-exclude-modes'."
+
+where FOO is a list of patterns.  The patterns must start before
+position \(number of characters into buffer)
+`hi-lock-file-patterns-range'.  Patterns will be read until
+Hi-lock: end is found.  A mode is excluded if it's in the list
+`hi-lock-exclude-modes'."
   :group 'hi-lock
   :lighter (:eval (if (or hi-lock-interactive-patterns
                          hi-lock-file-patterns)
@@ -358,7 +365,6 @@
   (if hi-lock-mode
       ;; Turned on.
       (progn
-       (unless font-lock-mode (font-lock-mode 1))
        (define-key-after menu-bar-edit-menu [hi-lock]
          (cons "Regexp Highlighting" hi-lock-menu))
        (hi-lock-find-patterns)
@@ -392,12 +398,13 @@
 ;;;###autoload
 (defun hi-lock-line-face-buffer (regexp &optional face)
   "Set face of all lines containing a match of REGEXP to FACE.
+Interactively, prompt for REGEXP then FACE, using a buffer-local
+history list for REGEXP and a global history list for FACE.
 
-Interactively, prompt for REGEXP then FACE.  Buffer-local history
-list maintained for regexps, global history maintained for faces.
-\\<minibuffer-local-map>Use \\[previous-history-element] to retrieve previous 
history items,
-and \\[next-history-element] to retrieve default values.
-\(See info node `Minibuffer History'.)"
+If Font Lock mode is enabled in the buffer, it is used to
+highlight REGEXP.  If Font Lock mode is disabled, overlays are
+used for highlighting; in this case, the highlighting will not be
+updated as you type."
   (interactive
    (list
     (hi-lock-regexp-okay
@@ -416,12 +423,13 @@
 ;;;###autoload
 (defun hi-lock-face-buffer (regexp &optional face)
   "Set face of each match of REGEXP to FACE.
+Interactively, prompt for REGEXP then FACE, using a buffer-local
+history list for REGEXP and a global history list for FACE.
 
-Interactively, prompt for REGEXP then FACE.  Buffer-local history
-list maintained for regexps, global history maintained for faces.
-\\<minibuffer-local-map>Use \\[previous-history-element] to retrieve previous 
history items,
-and \\[next-history-element] to retrieve default values.
-\(See info node `Minibuffer History'.)"
+If Font Lock mode is enabled in the buffer, it is used to
+highlight REGEXP.  If Font Lock mode is disabled, overlays are
+used for highlighting; in this case, the highlighting will not be
+updated as you type."
   (interactive
    (list
     (hi-lock-regexp-okay
@@ -436,9 +444,13 @@
 ;;;###autoload
 (defun hi-lock-face-phrase-buffer (regexp &optional face)
   "Set face of each match of phrase REGEXP to FACE.
-
 Whitespace in REGEXP converted to arbitrary whitespace and initial
-lower-case letters made case insensitive."
+lower-case letters made case insensitive.
+
+If Font Lock mode is enabled in the buffer, it is used to
+highlight REGEXP.  If Font Lock mode is disabled, overlays are
+used for highlighting; in this case, the highlighting will not be
+updated as you type."
   (interactive
    (list
     (hi-lock-regexp-okay
@@ -456,12 +468,8 @@
 ;;;###autoload
 (defun hi-lock-unface-buffer (regexp)
   "Remove highlighting of each match to REGEXP set by hi-lock.
-
-Interactively, prompt for REGEXP.  Buffer-local history of inserted
-regexp's maintained.  Will accept only regexps inserted by hi-lock
-interactive functions.  \(See `hi-lock-interactive-patterns'.\)
-\\<minibuffer-local-must-match-map>Use \\[minibuffer-complete] to complete a 
partially typed regexp.
-\(See info node `Minibuffer History'.\)"
+Interactively, prompt for REGEXP, accepting only regexps
+previously inserted by hi-lock interactive functions."
   (interactive
    (if (and (display-popup-menus-p)
            (listp last-nonmenu-event)
@@ -573,7 +581,7 @@
   (let ((pattern (list regexp (list 0 (list 'quote face) t))))
     (unless (member pattern hi-lock-interactive-patterns)
       (push pattern hi-lock-interactive-patterns)
-      (if font-lock-fontified
+      (if font-lock-mode
          (progn
            (font-lock-add-keywords nil (list pattern) t)
            (font-lock-fontify-buffer))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]