]> git.eshelyaron.com Git - emacs.git/commitdiff
Eliminate whitespace-kill-buffer-hook functionality.
authorVinicius Jose Latorre <viniciusjl@ig.com.br>
Thu, 2 Oct 2008 00:49:49 +0000 (00:49 +0000)
committerVinicius Jose Latorre <viniciusjl@ig.com.br>
Thu, 2 Oct 2008 00:49:49 +0000 (00:49 +0000)
lisp/ChangeLog
lisp/whitespace.el

index 6eccc98dbe010fecdf38bf0c63dd60f3b6aed629..2424124ba32f7ba14641386df41ed5103c136f05 100644 (file)
@@ -1,3 +1,15 @@
+2008-10-01  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
+
+       * whitespace.el: Eliminate whitespace-kill-buffer-hook functionality,
+       that is, to take some action when a buffer is killed.  Suggested by
+       Stefan Monnier <monnier@iro.umontreal.ca>.  Doc fix.  New version
+       11.2.2.
+       (whitespace-action): Docstring and :type fix.
+       (whitespace-turn-on, whitespace-turn-off, whitespace-warn-read-only):
+       Code fix.
+       (whitespace-add-local-hook, whitespace-remove-local-hook)
+       (whitespace-kill-buffer-hook, whitespace-action): Fun eliminated.
+
 2008-10-01  Magnus Henoch  <mange@freemail.hu>
 
        * net/tls.el (open-tls-stream): Show the actual command being
index 56d4e58f1385601e8b6d751e0ed2b1fdacd63dcc..534e44360622ac743ee4ea8ea39d16b3a1ebaf20 100644 (file)
@@ -6,7 +6,7 @@
 ;; Author: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Maintainer: Vinicius Jose Latorre <viniciusjl@ig.com.br>
 ;; Keywords: data, wp
-;; Version: 11.2.1
+;; Version: 11.2.2
 ;; X-URL: http://www.emacswiki.org/cgi-bin/wiki/ViniciusJoseLatorre
 
 ;; This file is part of GNU Emacs.
 ;;                             turned on.
 ;;
 ;; `whitespace-action'         Specify which action is taken when a
-;;                             buffer is visited, killed or written.
+;;                             buffer is visited or written.
 ;;
 ;;
 ;; Acknowledgements
 ;; `indent-tabs-mode' usage suggestion.
 ;;
 ;; Thanks to Eric Cooper <ecc@cmu.edu> for the suggestion to have hook
-;; actions when buffer is written or killed as the original whitespace
-;; package had.
+;; actions when buffer is written as the original whitespace package
+;; had.
 ;;
 ;; Thanks to nschum (EmacsWiki) for the idea about highlight "long"
 ;; lines tail.  See EightyColumnRule (EmacsWiki).
@@ -967,7 +967,7 @@ C++ modes only."
 
 
 (defcustom whitespace-action nil
-  "*Specify which action is taken when a buffer is visited, killed or written.
+  "*Specify which action is taken when a buffer is visited or written.
 
 It's a list containing some or all of the following values:
 
@@ -982,14 +982,14 @@ It's a list containing some or all of the following values:
                        when local whitespace is turned on.
 
    auto-cleanup                cleanup any bogus whitespace when buffer is
-                       written or killed.
+                       written.
                        See `whitespace-cleanup' and
                        `whitespace-cleanup-region'.
 
    abort-on-bogus      abort if there is any bogus whitespace and the
-                       buffer is written or killed.
+                       buffer is written.
 
-   warn-read-only      give a warning if `cleanup' or `auto-cleanup'
+   warn-if-read-only   give a warning if `cleanup' or `auto-cleanup'
                        is included in `whitespace-action' and the
                        buffer is read-only.
 
@@ -1002,7 +1002,7 @@ Any other value is treated as nil."
                          (const :tag "Report On Bogus" report-on-bogus)
                          (const :tag "Auto Cleanup" auto-cleanup)
                          (const :tag "Abort On Bogus" abort-on-bogus)
-                         (const :tag "Warn Read-Only" warn-read-only))))
+                         (const :tag "Warn If Read-Only" warn-if-read-only))))
   :group 'whitespace)
 
 \f
@@ -2083,7 +2083,7 @@ resultant list will be returned."
 (defun whitespace-turn-on ()
   "Turn on whitespace visualization."
   ;; prepare local hooks
-  (whitespace-add-local-hook)
+  (add-hook 'write-file-functions 'whitespace-write-file-hook nil t)
   ;; create whitespace local buffer environment
   (set (make-local-variable 'whitespace-font-lock-mode) nil)
   (set (make-local-variable 'whitespace-font-lock) nil)
@@ -2106,7 +2106,7 @@ resultant list will be returned."
 
 (defun whitespace-turn-off ()
   "Turn off whitespace visualization."
-  (whitespace-remove-local-hook)
+  (remove-hook 'write-file-functions 'whitespace-write-file-hook t)
   (when whitespace-active-style
     (whitespace-color-off)
     (whitespace-display-char-off)))
@@ -2379,50 +2379,21 @@ resultant list will be returned."
         (whitespace-report nil t))))
 
 
-(defun whitespace-add-local-hook ()
-  "Add some whitespace hooks locally."
-  (add-hook 'write-file-functions 'whitespace-write-file-hook nil t)
-  (add-hook 'kill-buffer-hook 'whitespace-kill-buffer-hook nil t))
-
-
-(defun whitespace-remove-local-hook ()
-  "Remove some whitespace hooks locally."
-  (remove-hook 'write-file-functions 'whitespace-write-file-hook t)
-  (remove-hook 'kill-buffer-hook 'whitespace-kill-buffer-hook t))
-
-
 (defun whitespace-write-file-hook ()
   "Action to be taken when buffer is written.
 It should be added buffer-locally to `write-file-functions'."
-  (when (whitespace-action)
-    (error "Abort write due to whitespace problems in %s"
-          (buffer-name)))
-  nil)                                 ; continue hook processing
-
-
-(defun whitespace-kill-buffer-hook ()
-  "Action to be taken when buffer is killed.
-It should be added buffer-locally to `kill-buffer-hook'."
-  (whitespace-action t)
-  nil)                                 ; continue hook processing
-
-
-(defun whitespace-action (&optional is-killing-buffer)
-  "Action to be taken when buffer is killed or written.
-Return t when the action should be aborted."
   (cond ((memq 'auto-cleanup whitespace-action)
-        (unless is-killing-buffer
-          (whitespace-cleanup))
-        nil)
+        (whitespace-cleanup))
        ((memq 'abort-on-bogus whitespace-action)
-        (whitespace-report nil t))
-       (t
-        nil)))
+        (when (whitespace-report nil t)
+          (error "Abort write due to whitespace problems in %s"
+                 (buffer-name)))))
+  nil)                                 ; continue hook processing
 
 
 (defun whitespace-warn-read-only (msg)
   "Warn if buffer is read-only."
-  (when (memq 'warn-read-only whitespace-action)
+  (when (memq 'warn-if-read-only whitespace-action)
     (message "Can't %s: %s is read-only" msg (buffer-name))))
 
 \f