emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 016b3d5: In comment-dwim with style `extra-line',


From: Alan Mackenzie
Subject: [Emacs-diffs] emacs-25 016b3d5: In comment-dwim with style `extra-line', respect indent-tabs-mode.
Date: Fri, 15 Jan 2016 12:32:08 +0000

branch: emacs-25
commit 016b3d5894b8c424eab262aeefc646c6cd03a70a
Author: Alan Mackenzie <address@hidden>
Commit: Alan Mackenzie <address@hidden>

    In comment-dwim with style `extra-line', respect indent-tabs-mode.
    
    This fixes bug #22369.
    
    * lisp/newcomment.el (comment-make-bol-ws): New function.
    (comment-make-extra-lines): Use new function instead of a crude 
`make-string'.
---
 lisp/newcomment.el |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/lisp/newcomment.el b/lisp/newcomment.el
index 88ed08d..80b52ed 100644
--- a/lisp/newcomment.el
+++ b/lisp/newcomment.el
@@ -990,6 +990,14 @@ comment markers."
          (goto-char (point-max))))))
   (set-marker end nil))
 
+(defun comment-make-bol-ws (len)
+  "Make a white-space string of width LEN for use at BOL.
+When `indent-tabs-mode' is non-nil, tab characters will be used."
+  (if (and indent-tabs-mode (> tab-width 0))
+      (concat (make-string (/ len tab-width) ?\t)
+             (make-string (% len tab-width) ? ))
+    (make-string len ? )))
+
 (defun comment-make-extra-lines (cs ce ccs cce min-indent max-indent &optional 
block)
   "Make the leading and trailing extra lines.
 This is used for `extra-line' style (or `box' style if BLOCK is specified)."
@@ -1025,8 +1033,8 @@ This is used for `extra-line' style (or `box' style if 
BLOCK is specified)."
          (setq cs (replace-match fill t t s)))
        (string-match re e)
        (setq ce (replace-match fill t t e))))
-    (cons (concat cs "\n" (make-string min-indent ? ) ccs)
-         (concat cce "\n" (make-string (+ min-indent eindent) ? ) ce))))
+    (cons (concat cs "\n" (comment-make-bol-ws min-indent) ccs)
+         (concat cce "\n" (comment-make-bol-ws (+ min-indent eindent)) ce))))
 
 (defmacro comment-with-narrowing (beg end &rest body)
   "Execute BODY with BEG..END narrowing.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]