;; 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).
'(tabs spaces trailing lines space-before-tab newline
indentation empty space-after-tab
space-mark tab-mark newline-mark)
- "*Specify which kind of blank is visualized.
+ "Specify which kind of blank is visualized.
It's a list containing some or all of the following values:
(defcustom whitespace-space 'whitespace-space
- "*Symbol face used to visualize SPACE.
+ "Symbol face used to visualize SPACE.
Used when `whitespace-style' includes the value `spaces'."
:type 'face
(defcustom whitespace-hspace 'whitespace-hspace
- "*Symbol face used to visualize HARD SPACE.
+ "Symbol face used to visualize HARD SPACE.
Used when `whitespace-style' includes the value `spaces'."
:type 'face
(defcustom whitespace-tab 'whitespace-tab
- "*Symbol face used to visualize TAB.
+ "Symbol face used to visualize TAB.
Used when `whitespace-style' includes the value `tabs'."
:type 'face
(defcustom whitespace-newline 'whitespace-newline
- "*Symbol face used to visualize NEWLINE char mapping.
+ "Symbol face used to visualize NEWLINE char mapping.
See `whitespace-display-mappings'.
(defcustom whitespace-trailing 'whitespace-trailing
- "*Symbol face used to visualize trailing blanks.
+ "Symbol face used to visualize trailing blanks.
Used when `whitespace-style' includes the value `trailing'."
:type 'face
(defcustom whitespace-line 'whitespace-line
- "*Symbol face used to visualize \"long\" lines.
+ "Symbol face used to visualize \"long\" lines.
See `whitespace-line-column'.
(defcustom whitespace-space-before-tab 'whitespace-space-before-tab
- "*Symbol face used to visualize SPACEs before TAB.
+ "Symbol face used to visualize SPACEs before TAB.
Used when `whitespace-style' includes the value `space-before-tab'."
:type 'face
(defcustom whitespace-indentation 'whitespace-indentation
- "*Symbol face used to visualize 8 or more SPACEs at beginning of line.
+ "Symbol face used to visualize 8 or more SPACEs at beginning of line.
Used when `whitespace-style' includes the value `indentation'."
:type 'face
(defcustom whitespace-empty 'whitespace-empty
- "*Symbol face used to visualize empty lines at beginning and/or end of buffer.
+ "Symbol face used to visualize empty lines at beginning and/or end of buffer.
Used when `whitespace-style' includes the value `empty'."
:type 'face
(defcustom whitespace-space-after-tab 'whitespace-space-after-tab
- "*Symbol face used to visualize 8 or more SPACEs after TAB.
+ "Symbol face used to visualize 8 or more SPACEs after TAB.
Used when `whitespace-style' includes the value `space-after-tab'."
:type 'face
(defcustom whitespace-hspace-regexp
"\\(\\(\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)"
- "*Specify HARD SPACE characters regexp.
+ "Specify HARD SPACE characters regexp.
If you're using `mule' package, there may be other characters besides:
(defcustom whitespace-space-regexp "\\( +\\)"
- "*Specify SPACE characters regexp.
+ "Specify SPACE characters regexp.
If you're using `mule' package, there may be other characters
besides \" \" that should be considered SPACE.
(defcustom whitespace-tab-regexp "\\(\t+\\)"
- "*Specify TAB characters regexp.
+ "Specify TAB characters regexp.
If you're using `mule' package, there may be other characters
besides \"\\t\" that should be considered TAB.
(defcustom whitespace-trailing-regexp
"\\(\\(\t\\| \\|\xA0\\|\x8A0\\|\x920\\|\xE20\\|\xF20\\)+\\)$"
- "*Specify trailing characters regexp.
+ "Specify trailing characters regexp.
If you're using `mule' package, there may be other characters besides:
(defcustom whitespace-space-before-tab-regexp "\\( +\\)\\(\t+\\)"
- "*Specify SPACEs before TAB regexp.
+ "Specify SPACEs before TAB regexp.
If you're using `mule' package, there may be other characters besides:
(defcustom whitespace-indentation-regexp
'("^\t*\\(\\( \\{%d\\}\\)+\\)[^\n\t]"
. "^ *\\(\t+\\)[^\n]")
- "*Specify regexp for 8 or more SPACEs at beginning of line.
+ "Specify regexp for 8 or more SPACEs at beginning of line.
It is a cons where the cons car is used for SPACEs visualization
and the cons cdr is used for TABs visualization.
(defcustom whitespace-empty-at-bob-regexp "\\`\\(\\([ \t]*\n\\)+\\)"
- "*Specify regexp for empty lines at beginning of buffer.
+ "Specify regexp for empty lines at beginning of buffer.
If you're using `mule' package, there may be other characters besides:
(defcustom whitespace-empty-at-eob-regexp "^\\([ \t\n]+\\)\\'"
- "*Specify regexp for empty lines at end of buffer.
+ "Specify regexp for empty lines at end of buffer.
If you're using `mule' package, there may be other characters besides:
(defcustom whitespace-space-after-tab-regexp
'("\t+\\(\\( \\{%d\\}\\)+\\)"
. "\\(\t+\\) +")
- "*Specify regexp for 8 or more SPACEs after TAB.
+ "Specify regexp for 8 or more SPACEs after TAB.
It is a cons where the cons car is used for SPACEs visualization
and the cons cdr is used for TABs visualization.
(defcustom whitespace-line-column 80
- "*Specify column beyond which the line is highlighted.
+ "Specify column beyond which the line is highlighted.
Used when `whitespace-style' includes `lines' or `lines-tail'."
:type '(integer :tag "Line Length")
;; If this is a problem for you, please, comment the line below.
(tab-mark ?\t [?\xBB ?\t] [?\\ ?\t]) ; tab - left quote mark
)
- "*Specify an alist of mappings for displaying characters.
+ "Specify an alist of mappings for displaying characters.
Each element has the following form:
(defcustom whitespace-global-modes t
- "*Modes for which global `whitespace-mode' is automagically turned on.
+ "Modes for which global `whitespace-mode' is automagically turned on.
Global `whitespace-mode' is controlled by the command
`global-whitespace-mode'.
(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:
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.
(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
It usually applies to the whole buffer, but in transient mark
mode when the mark is active, it applies to the region. It also
-applies to the region when it is not in transiente mark mode, the
+applies to the region when it is not in transient mark mode, the
mark is active and \\[universal-argument] was pressed just before
calling `whitespace-cleanup' interactively.
(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)
(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)))
(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