changeset 14467:f95ca90841d7

Fix up specialised fontification stuff.
author Simon Marshall <simon@gnu.org>
date Fri, 02 Feb 1996 10:31:05 +0000
parents 97e0e30a6eaa
children e41a60d26291
files lisp/mail/rmail.el
diffstat 1 files changed, 17 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmail.el	Fri Feb 02 06:34:17 1996 +0000
+++ b/lisp/mail/rmail.el	Fri Feb 02 10:31:05 1996 +0000
@@ -647,11 +647,12 @@
 (defun rmail-variables ()
   (make-local-variable 'revert-buffer-function)
   (setq revert-buffer-function 'rmail-revert)
+  (make-local-variable 'font-lock-defaults)
   (setq font-lock-defaults
    '(rmail-font-lock-keywords t nil nil nil
-     (rmail-fontify-buffer-function rmail-unfontify-buffer-function nil nil
-      (fast-lock-mode))))
-  (setq font-lock-defaults '(rmail-font-lock-keywords t))
+     (font-lock-fontify-buffer-function . rmail-fontify-buffer-function)
+     (font-lock-unfontify-buffer-function . rmail-unfontify-buffer-function)
+     (font-lock-inhibit-thing-lock . (lazy-lock-mode fast-lock-mode))))
   (make-local-variable 'rmail-last-label)
   (make-local-variable 'rmail-last-regexp)
   (make-local-variable 'rmail-deleted-vector)
@@ -2532,17 +2533,22 @@
 
 (defun rmail-fontify-buffer-function ()
   ;; This function's symbol is bound to font-lock-fontify-buffer-function.
-  (if (and (boundp 'lazy-lock-mode) lazy-lock-mode)
-      (setq font-lock-fontify-buffer-function
-	    'font-lock-default-fontify-buffer)
-    (make-local-hook 'rmail-show-message-hook)
-    (add-hook 'rmail-show-message-hook 'rmail-fontify-message nil t)
-    (rmail-fontify-message)))
+  (make-local-hook 'rmail-show-message-hook)
+  (add-hook 'rmail-show-message-hook 'rmail-fontify-message nil t)
+  (rmail-fontify-message)
+  (setq font-lock-fontified t))
 
 (defun rmail-unfontify-buffer-function ()
   ;; This function's symbol is bound to font-lock-fontify-unbuffer-function.
-  (remove-hook 'rmail-show-message-hook 'rmail-fontify-message t)
-  (font-lock-default-unfontify-buffer))
+  (let ((modified (buffer-modified-p))
+	(buffer-undo-list t) (inhibit-read-only t)
+	before-change-functions after-change-functions
+	buffer-file-name buffer-file-truename)
+    (save-restriction
+      (widen)
+      (remove-hook 'rmail-show-message-hook 'rmail-fontify-message t)
+      (remove-text-properties (point-min) (point-max) '(rmail-fontified nil))
+      (font-lock-default-unfontify-buffer))))
 
 (defun rmail-fontify-message ()
   ;; Fontify the current message if it is not already fontified.