* simple.el (delete-trailing-lines): New option.
(delete-trailing-whitespace): Obey it. Fixes: debbugs:11879
This commit is contained in:
parent
049a0936ca
commit
345a225867
3 changed files with 31 additions and 6 deletions
4
etc/NEWS
4
etc/NEWS
|
@ -147,6 +147,10 @@ for it.
|
|||
|
||||
* Editing Changes in Emacs 24.2
|
||||
|
||||
** New option `delete-trailing-lines' specifies whether the
|
||||
M-x delete-trailing-lines command should delete trailing lines at the
|
||||
end of the buffer. It defaults to t.
|
||||
|
||||
** Search changes
|
||||
|
||||
*** Global `M-s _' starts a symbol (identifier) incremental search,
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-07-28 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* simple.el (delete-trailing-lines): New option.
|
||||
(delete-trailing-whitespace): Obey it (Bug#11879).
|
||||
|
||||
2012-07-28 David Engster <deng@randomsample.de>
|
||||
|
||||
* xml.el (xml-node-name, xml-parse-file, xml-parse-region):
|
||||
|
|
|
@ -564,13 +564,28 @@ On nonblank line, delete any immediately following blank lines."
|
|||
(if (looking-at "^[ \t]*\n\\'")
|
||||
(delete-region (point) (point-max)))))
|
||||
|
||||
(defcustom delete-trailing-lines t
|
||||
"If non-nil, \\[delete-trailing-whitespace] deletes trailing lines.
|
||||
Trailing lines are deleted only if `delete-trailing-whitespace'
|
||||
is called on the entire buffer (rather than an active region)."
|
||||
:type 'boolean
|
||||
:group 'editing
|
||||
:version "24.2")
|
||||
|
||||
(defun delete-trailing-whitespace (&optional start end)
|
||||
"Delete all the trailing whitespace across the current buffer.
|
||||
All whitespace after the last non-whitespace character in a line is deleted.
|
||||
This respects narrowing, created by \\[narrow-to-region] and friends.
|
||||
A formfeed is not considered whitespace by this function.
|
||||
If END is nil, also delete all trailing lines at the end of the buffer.
|
||||
If the region is active, only delete whitespace within the region."
|
||||
"Delete trailing whitespace between START and END.
|
||||
If called interactively, START and END are the start/end of the
|
||||
region if the mark is active, or of the buffer's accessible
|
||||
portion if the mark is inactive.
|
||||
|
||||
This command deletes whitespace characters after the last
|
||||
non-whitespace character in each line between START and END. It
|
||||
does not consider formfeed characters to be whitespace.
|
||||
|
||||
If this command acts on the entire buffer (i.e. if called
|
||||
interactively with the mark inactive, or called from Lisp with
|
||||
END nil), it also deletes all trailing lines at the end of the
|
||||
buffer if the variable `delete-trailing-lines' is non-nil."
|
||||
(interactive (progn
|
||||
(barf-if-buffer-read-only)
|
||||
(if (use-region-p)
|
||||
|
@ -590,6 +605,7 @@ If the region is active, only delete whitespace within the region."
|
|||
;; Delete trailing empty lines.
|
||||
(goto-char end-marker)
|
||||
(when (and (not end)
|
||||
delete-trailing-lines
|
||||
;; Really the end of buffer.
|
||||
(save-restriction (widen) (eobp))
|
||||
(<= (skip-chars-backward "\n") -2))
|
||||
|
|
Loading…
Add table
Reference in a new issue