changeset 70043:cec61a0fff33

(comment-add): New function. (comment-region-default, comment-dwim): Use it.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 17 Apr 2006 03:51:30 +0000
parents abc53f51fd3e
children 027c07dcdee5
files lisp/ChangeLog lisp/newcomment.el
diffstat 2 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Mon Apr 17 00:24:50 2006 +0000
+++ b/lisp/ChangeLog	Mon Apr 17 03:51:30 2006 +0000
@@ -1,3 +1,8 @@
+2006-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* newcomment.el (comment-add): New function.
+	(comment-region-default, comment-dwim): Use it.
+
 2006-04-15  Michael Olson  <mwolson@gnu.org>
 
 	* emacs-lisp/tq.el: Improve comments.
@@ -6,8 +11,8 @@
 	Update for modified queue structure.
 	(tq-queue-add): Accept `question' argument.
 	(tq-queue-pop): If a question is pending, send it.
-	(tq-enqueue): Accept new optional argument `delay-question'.  If
-	this is non-nil, and at least one other question is pending a
+	(tq-enqueue): Accept new optional argument `delay-question'.
+	If this is non-nil, and at least one other question is pending a
 	response, queue the question rather than sending it immediately.
 
 2006-04-15  Roland Winkler  <Roland.Winkler@physik.uni-erlangen.de>
--- a/lisp/newcomment.el	Mon Apr 17 00:24:50 2006 +0000
+++ b/lisp/newcomment.el	Mon Apr 17 03:51:30 2006 +0000
@@ -895,6 +895,11 @@
 		   (delete-char n)
 		   (setq ,bindent (- ,bindent n)))))))))))
 
+(defun comment-add (arg)
+  (if (and (null arg) (= (string-match "[ \t]*\\'" comment-start) 1))
+      comment-add
+    (1- (prefix-numeric-value arg))))
+
 (defun comment-region-internal (beg end cs ce
                                 &optional ccs cce block lines indent)
   "Comment region BEG .. END.
@@ -999,7 +1004,6 @@
 
 (defun comment-region-default (beg end &optional arg)
   (let* ((numarg (prefix-numeric-value arg))
-	 (add comment-add)
 	 (style (cdr (assoc comment-style comment-styles)))
 	 (lines (nth 2 style))
 	 (block (nth 1 style))
@@ -1032,8 +1036,7 @@
      ((consp arg) (uncomment-region beg end))
      ((< numarg 0) (uncomment-region beg end (- numarg)))
      (t
-      (setq numarg (if (and (null arg) (= (length comment-start) 1))
-		       add (1- numarg)))
+      (setq numarg (comment-add arg))
       (comment-region-internal
        beg end
        (let ((s (comment-padright comment-start numarg)))
@@ -1091,9 +1094,8 @@
 	;; FIXME: If there's no comment to kill on this line and ARG is
 	;; specified, calling comment-kill is not very clever.
 	(if arg (comment-kill (and (integerp arg) arg)) (comment-indent))
-      (let ((add (if arg (prefix-numeric-value arg)
-		   (if (= (length comment-start) 1) comment-add 0))))
-	;; Some modes insist on keeping column 0 comment in column 0
+      (let ((add (comment-add arg)))
+        ;; Some modes insist on keeping column 0 comment in column 0
 	;; so we need to move away from it before inserting the comment.
 	(indent-according-to-mode)
 	(insert (comment-padright comment-start add))