]> code.delx.au - gnu-emacs/commitdiff
(comment-add): New function.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Apr 2006 03:51:30 +0000 (03:51 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Apr 2006 03:51:30 +0000 (03:51 +0000)
(comment-region-default, comment-dwim): Use it.

lisp/ChangeLog
lisp/newcomment.el

index dfc0c79b1f5b5a5d562d8f0ccf742f75cbc7e285..76177538012d7105e9b7fee9d8e6f2b12ea99e25 100644 (file)
@@ -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>
index 5fa9ac09b0bebe34cfd31ac6dd3827be4a8955f1..877d5c9f399c1cdb38ae0fbb2569fc65588d7f67 100644 (file)
@@ -895,6 +895,11 @@ indentation to be kept as it was before narrowing."
                   (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 @@ The strings used as comment starts are built from
 
 (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 @@ The strings used as comment starts are built from
      ((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 @@ You can configure `comment-style' to change the way regions are commented."
        ;; 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))