diff options
Diffstat (limited to 'lisp/newcomment.el')
-rw-r--r-- | lisp/newcomment.el | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/lisp/newcomment.el b/lisp/newcomment.el index 5dfa1eb8959..0cf0160afb1 100644 --- a/lisp/newcomment.el +++ b/lisp/newcomment.el @@ -299,7 +299,7 @@ the variables are properly set." (substring comment-start 1))) ;; Hasn't been necessary yet. ;; (unless (string-match comment-start-skip comment-continue) - ;; (kill-local-variable 'comment-continue)) + ;; (kill-local-variable 'comment-continue)) ) ;; comment-skip regexps (unless (and comment-start-skip @@ -599,11 +599,16 @@ If CONTINUE is non-nil, use the `comment-continue' markers if any." (if (and other (<= other max) (> other min)) ;; There is a comment and it's in the range: bingo. (setq indent other)))))))) + ;; Update INDENT to leave at least one space + ;; after other nonwhite text on the line. + (save-excursion + (skip-chars-backward " \t") + (unless (bolp) + (setq indent (max indent (1+ (current-column)))))) + ;; If that's different from comment's current position, change it. (unless (= (current-column) indent) - ;; If that's different from current, change it. (delete-region (point) (progn (skip-chars-backward " \t") (point))) - (indent-to (if (bolp) indent - (max indent (1+ (current-column))))))) + (indent-to indent))) (goto-char cpos) (set-marker cpos nil)))) @@ -764,7 +769,7 @@ comment markers." (box-equal nil)) ;Whether we might be using `=' for boxes. (save-restriction (narrow-to-region spt ept) - + ;; Remove the comment-start. (goto-char ipt) (skip-syntax-backward " ") @@ -793,7 +798,7 @@ comment markers." ;; If there's something left but it doesn't look like ;; a comment-start any more, just remove it. (delete-region (point-min) (point)))) - + ;; Remove the end-comment (and leading padding and such). (goto-char (point-max)) (comment-enter-backward) ;; Check for special `=' used sometimes in comment-box. @@ -1057,11 +1062,13 @@ The strings used as comment starts are built from lines (nth 3 style)))))) +;;;###autoload (defun comment-box (beg end &optional arg) "Comment out the BEG .. END region, putting it inside a box. The numeric prefix ARG specifies how many characters to add to begin- and end- comment markers additionally to what `comment-add' already specifies." (interactive "*r\np") + (comment-normalize-vars) (let ((comment-style (if (cadr (assoc comment-style comment-styles)) 'box-multi 'box))) (comment-region beg end (+ comment-add arg)))) |