diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-08-23 03:43:41 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-08-23 03:43:41 +0200 |
commit | b4d3a882a8423e81c418fc56b7a9677f5582fcc7 (patch) | |
tree | 3926965eb64f80ca59bc44b4de80215dcb95315a /lisp/sort.el | |
parent | d08f7c41241e78b88bc2aaaa2dd323ce7512ae94 (diff) | |
download | emacs-b4d3a882a8423e81c418fc56b7a9677f5582fcc7.tar.gz |
Enable sorting paragraphs when the final paragraph has no newline
* lisp/sort.el (sort-paragraphs): Ensure that when sorting
paragraphs, the final paragraph ends with a newline (bug#21785).
Diffstat (limited to 'lisp/sort.el')
-rw-r--r-- | lisp/sort.el | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/lisp/sort.el b/lisp/sort.el index 6ea1c440605..6ceda8e448c 100644 --- a/lisp/sort.el +++ b/lisp/sort.el @@ -225,11 +225,17 @@ the sort order." (narrow-to-region beg end) (goto-char (point-min)) (sort-subr reverse - (function - (lambda () - (while (and (not (eobp)) (looking-at paragraph-separate)) - (forward-line 1)))) - 'forward-paragraph)))) + (lambda () + (while (and (not (eobp)) (looking-at paragraph-separate)) + (forward-line 1))) + (lambda () + (forward-paragraph) + ;; If the buffer doesn't end with a newline, add a + ;; newline to avoid having paragraphs being + ;; concatenated after sorting. + (when (and (eobp) + (not (bolp))) + (insert "\n"))))))) ;;;###autoload (defun sort-pages (reverse beg end) |