mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
(whitespace-unload-function): New-style unload function.
When run, unintern `whitespace-unload-hook' and call `unload-feature' recursively to stop the old hook from messing with the unloading.
This commit is contained in:
parent
89242dda15
commit
3e1da21463
2 changed files with 15 additions and 11 deletions
|
|
@ -6,8 +6,9 @@
|
|||
2007-10-31 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* whitespace.el (whitespace-write-file-hook): Remove interactive spec.
|
||||
(whitespace-unload-function): New-style unload function.
|
||||
If run, stop old style `-hook' function from running.
|
||||
(whitespace-unload-function): New-style unload function. When run,
|
||||
unintern `whitespace-unload-hook' and call `unload-feature' recursively
|
||||
to stop the old hook from messing with the unloading.
|
||||
|
||||
* strokes.el (strokes-alphabetic-lessp): Doc fix.
|
||||
|
||||
|
|
|
|||
|
|
@ -793,15 +793,18 @@ This is meant to be added buffer-locally to `write-file-functions'."
|
|||
|
||||
(defun whitespace-unload-function ()
|
||||
"Unload the whitespace library."
|
||||
(whitespace-global-mode -1)
|
||||
(save-current-buffer
|
||||
(dolist (buf (buffer-list))
|
||||
(set-buffer buf)
|
||||
(remove-hook 'write-file-functions 'whitespace-write-file-hook t)))
|
||||
;; new-style unloading, stop old style from running
|
||||
(with-no-warnings (setq whitespace-unload-hook nil))
|
||||
;; continue standard unloading
|
||||
nil)
|
||||
(if (unintern "whitespace-unload-hook")
|
||||
;; if whitespace-unload-hook is defined, let's get rid of it
|
||||
;; and recursively call `unload-feature'
|
||||
(progn (unload-feature 'whitespace) t)
|
||||
;; this only happens in the recursive call
|
||||
(whitespace-global-mode -1)
|
||||
(save-current-buffer
|
||||
(dolist (buf (buffer-list))
|
||||
(set-buffer buf)
|
||||
(remove-hook 'write-file-functions 'whitespace-write-file-hook t)))
|
||||
;; continue standard unloading
|
||||
nil))
|
||||
|
||||
(defun whitespace-unload-hook ()
|
||||
(remove-hook 'find-file-hook 'whitespace-buffer)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue