+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.
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>
(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.
(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))
((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)))
;; 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))