summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-01-28 09:57:48 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2021-01-28 09:57:48 +0100
commit64d464886983378b9fa62a38b31ec6fc996f587b (patch)
tree9a1ee67c6855a5a93dc374d24d4a491a6ded572e
parent8992f8abf348b5b4eb2b2074d00b9c9aaaa6df17 (diff)
downloademacs-64d464886983378b9fa62a38b31ec6fc996f587b.tar.gz
Fix numerical `comment-padding' value
* lisp/newcomment.el (comment-padright): Allow using a number for `comment-padding', like the doc string says (bug#40056).
-rw-r--r--lisp/newcomment.el17
1 files changed, 11 insertions, 6 deletions
diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 4216fc1a397..ea47eec4fda 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -832,12 +832,17 @@ Ensure that `comment-normalize-vars' has been called before you use this."
(when (and (stringp str) (string-match "\\S-" str))
;; Separate the actual string from any leading/trailing padding
(string-match "\\`\\s-*\\(.*?\\)\\s-*\\'" str)
- (let ((s (match-string 1 str)) ;actual string
+ (let ((s (match-string 1 str)) ;actual string
(lpad (substring str 0 (match-beginning 1))) ;left padding
- (rpad (concat (substring str (match-end 1)) ;original right padding
- (substring comment-padding ;additional right padding
- (min (- (match-end 0) (match-end 1))
- (length comment-padding)))))
+ (rpad (concat
+ (substring str (match-end 1)) ;original right padding
+ (if (numberp comment-padding)
+ (make-string (min comment-padding
+ (- (match-end 0) (match-end 1)))
+ ?\s)
+ (substring comment-padding ;additional right padding
+ (min (- (match-end 0) (match-end 1))
+ (length comment-padding))))))
;; We can only duplicate C if the comment-end has multiple chars
;; or if comments can be nested, else the comment-end `}' would
;; be turned into `}}}' where only the first ends the comment
@@ -852,7 +857,7 @@ Ensure that `comment-normalize-vars' has been called before you use this."
(concat (mapconcat (lambda (c) (concat (regexp-quote (string c)) "?"))
lpad "") ;padding is not required
(regexp-quote s)
- (when multi "+") ;the last char of S might be repeated
+ (when multi "+") ;the last char of S might be repeated
(mapconcat (lambda (c) (concat (regexp-quote (string c)) "?"))
rpad "")))))) ;padding is not required