# HG changeset patch # User Simon Marshall # Date 823257065 0 # Node ID f95ca90841d786d95c00c5b351b6a14e279b2f59 # Parent 97e0e30a6eaa314e79b51b93bc30c4d5061056d2 Fix up specialised fontification stuff. diff -r 97e0e30a6eaa -r f95ca90841d7 lisp/mail/rmail.el --- 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.