summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2009-11-01 04:35:20 +0000
committerTom Yu <tlyu@mit.edu>2009-11-01 04:35:20 +0000
commit0f6169b5c35fdeb43a06c7a9f167ffbcd771ba32 (patch)
treebd998087656ead67602b06dcead095609233b8a4 /src
parentcf7386cd665c7988e90d5df2a8a5b36839de481b (diff)
downloadkrb5-0f6169b5c35fdeb43a06c7a9f167ffbcd771ba32.tar.gz
krb5-0f6169b5c35fdeb43a06c7a9f167ffbcd771ba32.tar.xz
krb5-0f6169b5c35fdeb43a06c7a9f167ffbcd771ba32.zip
Rework in an attempt to deal with variant Emacs versions
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23113 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/util/krb5-batch-reindent.el48
1 files changed, 32 insertions, 16 deletions
diff --git a/src/util/krb5-batch-reindent.el b/src/util/krb5-batch-reindent.el
index c1c24211af..a22ef7b2c6 100644
--- a/src/util/krb5-batch-reindent.el
+++ b/src/util/krb5-batch-reindent.el
@@ -11,6 +11,35 @@
(message "Tab found @%s." tab-found)
(message "No tabs found."))))
+(defun whitespace-new ()
+ ;; Sometimes whitespace-cleanup gets its internals confused
+ ;; when whitespace-mode hasn't been activated on the buffer.
+ (let ((whitespace-indent-tabs-mode indent-tabs-mode)
+ (whitespace-style '(empty trailing)))
+ ;; Only clean up tab issues if indent-tabs-mode is explicitly
+ ;; set in the file local variables.
+ (if (local-variable-p 'indent-tabs-mode)
+ (progn
+ (message "Enabling tab cleanups.")
+ (add-to-list 'whitespace-style 'indentation)
+ (add-to-list 'whitespace-style 'space-before-tab)
+ (add-to-list 'whitespace-style 'space-after-tab)))
+;; (message "indent-tabs-mode=%s" indent-tabs-mode)
+ (message "Cleaning whitespace...")
+ (whitespace-cleanup)))
+
+;; Old style whitespace.el uses different variables.
+(defun whitespace-old ()
+ (let (whitespace-check-indent-whitespace
+ whitespace-check-spacetab-whitespace)
+ (if (local-variable-p 'indent-tabs-mode)
+ (progn
+ (message "Enabling tab cleanups.")
+ (setq whitespace-check-indent-whitespace indent-tabs-mode)
+ (setq whitespace-check-spacetab-whitespace t)))
+ (message "Cleaning whitespace...")
+ (whitespace-cleanup)))
+
(while command-line-args-left
(let ((filename (car command-line-args-left))
;; No backup files; we have version control.
@@ -30,22 +59,9 @@
(if (equal c-indentation-style "krb5")
(c-indent-region (point-min) (point-max)))
- ;; Sometimes whitespace-cleanup gets its internals confused
- ;; when whitespace-mode hasn't been activated on the buffer.
- (let ((whitespace-indent-tabs-mode indent-tabs-mode)
- (whitespace-style '(empty trailing)))
- ;; Only clean up tab issues if indent-tabs-mode is explicitly
- ;; set in the file local variables.
- (if (local-variable-p 'indent-tabs-mode)
- (progn
- (message "Enabling tab cleanups.")
- (add-to-list 'whitespace-style 'indentation)
- (add-to-list 'whitespace-style 'space-before-tab)
- (add-to-list 'whitespace-style 'space-after-tab)))
-;; (message "indent-tabs-mode=%s" indent-tabs-mode)
- (setq tab-found (search-forward "\t" nil t))
- (message "Cleaning whitespace...")
- (whitespace-cleanup))
+ (if (custom-variable-p 'whitespace-style)
+ (whitespace-new)
+ (whitespace-old))
(save-buffer)
(kill-buffer nil)