summaryrefslogtreecommitdiff
path: root/lisp/newcomment.el
diff options
context:
space:
mode:
authorAntonin Houska <ah@melesmeles.cz>2017-11-06 09:59:07 +0100
committerNoam Postavsky <npostavs@gmail.com>2017-11-06 19:01:19 -0500
commitdb949166ecb9aeaa15aa41369a55b3ea6ceaa3b0 (patch)
treedb0339fb9b613b1614643ffaf3f014db580d9a72 /lisp/newcomment.el
parent795bb233a5451d506826a912025d9fd313625920 (diff)
downloademacs-db949166ecb9aeaa15aa41369a55b3ea6ceaa3b0.tar.gz
Handle single-line comments correctly (Bug#26049)
* lisp/newcomment.el (comment-region-internal): Previously, the comment text had to contain at least one line break character for the ending extra line to be added. Make the behavior more consistent by looking for end of line instead. (comment-region-internal): Remove trailing white space from the comment's initial line. Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/newcomment.el')
-rw-r--r--lisp/newcomment.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 2a0f8a8ae50..66296b81828 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -69,6 +69,9 @@
;;; Code:
+(eval-when-compile
+ (require 'subr-x))
+
;;;###autoload
(defalias 'indent-for-comment 'comment-indent)
;;;###autoload
@@ -1141,6 +1144,9 @@ the region rather than at left margin."
;; make the leading and trailing lines if requested
(when lines
+ ;; Trim trailing whitespace from cs if there's some.
+ (setq cs (string-trim-right cs))
+
(let ((csce
(comment-make-extra-lines
cs ce ccs cce min-indent max-indent block)))
@@ -1211,7 +1217,7 @@ changed with `comment-style'."
(progn (goto-char end) (end-of-line) (skip-syntax-backward " ")
(<= (point) end))
(or block (not (string= "" comment-end)))
- (or block (progn (goto-char beg) (search-forward "\n" end t)))))
+ (or block (progn (goto-char beg) (re-search-forward "$" end t)))))
;; don't add end-markers just because the user asked for `block'
(unless (or lines (string= "" comment-end)) (setq block nil))