[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/newcomment.el,v
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/newcomment.el,v |
Date: |
Mon, 17 Sep 2007 16:40:26 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Richard M. Stallman <rms> 07/09/17 16:40:26
Index: newcomment.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/newcomment.el,v
retrieving revision 1.103
retrieving revision 1.104
diff -u -b -r1.103 -r1.104
--- newcomment.el 26 Jul 2007 05:26:29 -0000 1.103
+++ newcomment.el 17 Sep 2007 16:40:26 -0000 1.104
@@ -194,7 +194,7 @@
(extra-line . (t nil t t))
(box . (nil t t t))
(box-multi . (t t t t)))
- "Possible comment styles of the form (STYLE . (MULTI ALIGN EXTRA INDENT)).
+ "Comment region styles of the form (STYLE . (MULTI ALIGN EXTRA INDENT)).
STYLE should be a mnemonic symbol.
MULTI specifies that comments are allowed to span multiple lines.
ALIGN specifies that the `comment-end' markers should be aligned.
@@ -208,7 +208,8 @@
"Style to be used for `comment-region'.
See `comment-styles' for a list of available styles."
:type (if (boundp 'comment-styles)
- `(choice ,@(mapcar (lambda (s) `(const ,(car s))) comment-styles))
+ `(choice ,@(mapcar (lambda (s) `(const ,(car s)))
+ comment-styles))
'symbol)
:group 'comment)
@@ -938,9 +939,14 @@
(delete-char n)
(setq ,bindent (- ,bindent n)))))))))))
-(defun comment-add (arg)
+;; Compute the number of extra semicolons to add to the comment starter
+;; in Lisp mode, extra stars in C mode, etc.
+;; If ARG is non-nil, just follow ARG.
+;; If the comment-starter is mult-char, just follow ARG.
+;; Otherwise obey comment-add, and add one more if EXTRA is non-nil.
+(defun comment-add (arg &optional extra)
(if (and (null arg) (= (string-match "[ \t]*\\'" comment-start) 1))
- comment-add
+ (+ comment-add (if extra 1 0))
(1- (prefix-numeric-value arg))))
(defun comment-region-internal (beg end cs ce
@@ -1051,7 +1057,8 @@
(lines (nth 2 style))
(block (nth 1 style))
(multi (nth 0 style)))
- ;; we use `chars' instead of `syntax' because `\n' might be
+
+ ;; We use `chars' instead of `syntax' because `\n' might be
;; of end-comment syntax rather than of whitespace syntax.
;; sanitize BEG and END
(goto-char beg) (skip-chars-forward " \t\n\r") (beginning-of-line)
@@ -1079,7 +1086,10 @@
((consp arg) (uncomment-region beg end))
((< numarg 0) (uncomment-region beg end (- numarg)))
(t
- (setq numarg (comment-add arg))
+ ;; Add an extra semicolon in Lisp and similar modes.
+ ;; If STYLE doesn't specify indenting the comments,
+ ;; then add yet one more semicolon.
+ (setq numarg (comment-add arg (null (nth 3 style))))
(comment-region-internal
beg end
(let ((s (comment-padright comment-start numarg)))
- [Emacs-diffs] Changes to emacs/lisp/newcomment.el,v,
Richard M. Stallman <=