Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
33f5bc1c
Commit
33f5bc1c
authored
Mar 10, 2013
by
Stefan Monnier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* lisp/whitespace.el (whitespace-enable-predicate): New variable.
(whitespace-enable-predicate): Use it.
parent
d0ebc826
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
21 deletions
+26
-21
lisp/ChangeLog
lisp/ChangeLog
+3
-0
lisp/whitespace.el
lisp/whitespace.el
+23
-21
No files found.
lisp/ChangeLog
View file @
33f5bc1c
2013-03-10 Stefan Monnier <monnier@iro.umontreal.ca>
* whitespace.el (whitespace-enable-predicate): New variable.
(whitespace-enable-predicate): Use it.
* comint.el (comint-send-input, comint-snapshot-last-prompt)
(comint-output-filter, comint-update-fence):
Use with-silent-modifications.
...
...
lisp/whitespace.el
View file @
33f5bc1c
...
...
@@ -1145,29 +1145,31 @@ See also `whitespace-style', `whitespace-newline' and
(unless whitespace-mode
(whitespace-turn-off)))))))
(defvar whitespace-enable-predicate
(lambda ()
(and (cond
((eq whitespace-global-modes t))
((listp whitespace-global-modes)
(if (eq (car-safe whitespace-global-modes) 'not)
(not (memq major-mode (cdr whitespace-global-modes)))
(memq major-mode whitespace-global-modes)))
(t nil))
;; ...we have a display (we're running a batch job)
(not noninteractive)
;; ...the buffer is not internal (name starts with a space)
(not (eq (aref (buffer-name) 0) ?\ ))
;; ...the buffer is not special (name starts with *)
(or (not (eq (aref (buffer-name) 0) ?*))
;; except the scratch buffer.
(string= (buffer-name) "*scratch*"))))
"Predicate to decide which buffers obey `global-whitespace-mode'.
This function is called with no argument and should return non-nil
if the current buffer should obey `global-whitespace-mode'.
This variable is normally modified via `add-function'.")
(defun whitespace-turn-on-if-enabled ()
(when (cond
((eq whitespace-global-modes t))
((listp whitespace-global-modes)
(if (eq (car-safe whitespace-global-modes) 'not)
(not (memq major-mode (cdr whitespace-global-modes)))
(memq major-mode whitespace-global-modes)))
(t nil))
(let (inhibit-quit)
;; Don't turn on whitespace mode if...
(or
;; ...we don't have a display (we're running a batch job)
noninteractive
;; ...or if the buffer is invisible (name starts with a space)
(eq (aref (buffer-name) 0) ?\ )
;; ...or if the buffer is temporary (name starts with *)
(and (eq (aref (buffer-name) 0) ?*)
;; except the scratch buffer.
(not (string= (buffer-name) "*scratch*")))
;; Otherwise, turn on whitespace mode.
(whitespace-turn-on)))))
(when (funcall whitespace-enable-predicate)
(whitespace-turn-on)))
;;;###autoload
(define-minor-mode global-whitespace-newline-mode
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment