1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-26 07:33:47 +00:00

* hi-lock.el (hi-lock--inhibit-font-lock-hook): New var.

(hi-lock-set-pattern, hi-lock-font-lock-hook): Use it (Bug#3068).
This commit is contained in:
Chong Yidong 2009-04-23 01:34:54 +00:00
parent 493dcf2c9b
commit 474749510e
3 changed files with 28 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2009-04-23 Chong Yidong <cyd@stupidchicken.com>
* hi-lock.el (hi-lock--inhibit-font-lock-hook): New var.
(hi-lock-set-pattern, hi-lock-font-lock-hook): Use it (Bug#3068).
2009-04-21 Martin Rudalics <rudalics@gmx.at> 2009-04-21 Martin Rudalics <rudalics@gmx.at>
* diff-mode.el (diff-find-source-location): Don't call * diff-mode.el (diff-find-source-location): Don't call

View File

@ -564,9 +564,18 @@ not suitable."
'face-name-history 'face-name-history
(cdr hi-lock-face-defaults)))) (cdr hi-lock-face-defaults))))
(defvar hi-lock--inhibit-font-lock-hook nil
"Inhibit the action of `hi-lock-font-lock-hook'.
This is used by `hi-lock-set-pattern'.")
(defun hi-lock-set-pattern (regexp face) (defun hi-lock-set-pattern (regexp face)
"Highlight REGEXP with face FACE." "Highlight REGEXP with face FACE."
(let ((pattern (list regexp (list 0 (list 'quote face) t)))) (let ((pattern (list regexp (list 0 (list 'quote face) t)))
;; The call to `font-lock-add-keywords' below might disable
;; and re-enable font-lock mode. If so, we don't want
;; `hi-lock-font-lock-hook' to run. This can be removed once
;; Bug#635 is fixed. -- cyd
(hi-lock--inhibit-font-lock-hook t))
(unless (member pattern hi-lock-interactive-patterns) (unless (member pattern hi-lock-interactive-patterns)
(font-lock-add-keywords nil (list pattern) t) (font-lock-add-keywords nil (list pattern) t)
(push pattern hi-lock-interactive-patterns) (push pattern hi-lock-interactive-patterns)
@ -632,11 +641,12 @@ not suitable."
(defun hi-lock-font-lock-hook () (defun hi-lock-font-lock-hook ()
"Add hi-lock patterns to font-lock's." "Add hi-lock patterns to font-lock's."
(if font-lock-mode (unless hi-lock--inhibit-font-lock-hook
(progn (if font-lock-mode
(font-lock-add-keywords nil hi-lock-file-patterns t) (progn
(font-lock-add-keywords nil hi-lock-interactive-patterns t)) (font-lock-add-keywords nil hi-lock-file-patterns t)
(hi-lock-mode -1))) (font-lock-add-keywords nil hi-lock-interactive-patterns t))
(hi-lock-mode -1))))
(defvar hi-lock-string-serialize-hash (defvar hi-lock-string-serialize-hash
(make-hash-table :test 'equal) (make-hash-table :test 'equal)

View File

@ -499,7 +499,8 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(delete (concat "PWD=" pwd) (delete (concat "PWD=" pwd)
process-environment))))) process-environment)))))
(setq default-directory (abbreviate-file-name default-directory)) (setq default-directory (abbreviate-file-name default-directory))
(let ((menubar-bindings-done nil)) (let ((menubar-bindings-done nil)
(old-face-font-rescale-alist face-font-rescale-alist))
(unwind-protect (unwind-protect
(command-line) (command-line)
;; Do this again, in case .emacs defined more abbreviations. ;; Do this again, in case .emacs defined more abbreviations.
@ -540,6 +541,11 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
(not (and initial-window-system (not (and initial-window-system
(not noninteractive) (not noninteractive)
(not (eq initial-window-system 'pc))))) (not (eq initial-window-system 'pc)))))
;; If face-font-rescale-alist has changed, reload the
;; default font.
(unless (eq face-font-rescale-alist
old-face-font-rescale-alist)
(set-face-attribute 'default nil :font (font-spec)))
;; Modify the initial frame based on what .emacs puts into ;; Modify the initial frame based on what .emacs puts into
;; ...-frame-alist. ;; ...-frame-alist.
(if (fboundp 'frame-notice-user-settings) (if (fboundp 'frame-notice-user-settings)