From: Tassilo Horn Date: Thu, 1 Aug 2013 12:58:28 +0000 (+0200) Subject: Refactor out setting `whitespace-indent-tabs-mode' and X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1688^2~46 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=06d36e2b5f500764309c00fa96bbed59ee7fd750;p=emacs.git Refactor out setting `whitespace-indent-tabs-mode' and `whitespace-tab-width' buffer-locally to own function, so that `whitespace-cleanup' and friends work appropriately without needing to enable `whitespace-mode'. * whitespace.el (whitespace-ensure-local-variables): New function. (whitespace-cleanup-region): Call it. (whitespace-turn-on): Call it. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e80c34d3842..d6623caed08 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-08-01 Tassilo Horn + + * whitespace.el (whitespace-ensure-local-variables): New function. + (whitespace-cleanup-region): Call it. + (whitespace-turn-on): Call it. + 2013-08-01 Michael Albinus Complete file name handlers. diff --git a/lisp/whitespace.el b/lisp/whitespace.el index 801cdc52047..b462cf0b811 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -1471,6 +1471,12 @@ documentation." ;; PROBLEM 6: 8 or more SPACEs after TAB (whitespace-cleanup-region (point-min) (point-max))))) +(defun whitespace-ensure-local-variables () + "Set `whitespace-indent-tabs-mode' and `whitespace-tab-width' locally." + (set (make-local-variable 'whitespace-indent-tabs-mode) + indent-tabs-mode) + (set (make-local-variable 'whitespace-tab-width) + tab-width)) ;;;###autoload (defun whitespace-cleanup-region (start end) @@ -1517,6 +1523,7 @@ documentation." ;; read-only buffer (whitespace-warn-read-only "cleanup region") ;; non-read-only buffer + (whitespace-ensure-local-variables) (let ((rstart (min start end)) (rend (copy-marker (max start end))) (indent-tabs-mode whitespace-indent-tabs-mode) @@ -2095,7 +2102,6 @@ resultant list will be returned." (defvar whitespace-display-table-was-local nil "Used to remember whether a buffer initially had a local display table.") - (defun whitespace-turn-on () "Turn on whitespace visualization." ;; prepare local hooks @@ -2108,10 +2114,7 @@ resultant list will be returned." (if (listp whitespace-style) whitespace-style (list whitespace-style))) - (set (make-local-variable 'whitespace-indent-tabs-mode) - indent-tabs-mode) - (set (make-local-variable 'whitespace-tab-width) - tab-width) + (whitespace-ensure-local-variables) ;; turn on whitespace (when whitespace-active-style (whitespace-color-on)