mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Put combine-change-calls around comment-region and uncomment-region
* lisp/newcomment.el (comment-combine-change-calls): New buffer local variable. (uncomment-region-default-1, comment-region-default-1): Functions renamed from uncomment-region-default and comment-region-default. (uncomment-region-default, comment-region-default): New functions, which call the above either enclosed in combine-change-calls or not.
This commit is contained in:
parent
424103a6e3
commit
eb0d10d567
1 changed files with 24 additions and 2 deletions
|
|
@ -159,6 +159,14 @@ The function has no args.
|
|||
Applicable at least in modes for languages like fixed-format Fortran where
|
||||
comments always start in column zero.")
|
||||
|
||||
(defvar-local comment-combine-change-calls t
|
||||
"If non-nil (the default), use `combine-change-calls' around
|
||||
calls of `comment-region-function' and
|
||||
`uncomment-region-function'. This Substitutes a single call to
|
||||
each of the hooks `before-change-functions' and
|
||||
`after-change-functions' in place of those hooks being called
|
||||
for each individual buffer change.")
|
||||
|
||||
(defvar comment-region-function 'comment-region-default
|
||||
"Function to comment a region.
|
||||
Its args are the same as those of `comment-region', but BEG and END are
|
||||
|
|
@ -898,7 +906,7 @@ comment markers."
|
|||
(save-excursion
|
||||
(funcall uncomment-region-function beg end arg))))
|
||||
|
||||
(defun uncomment-region-default (beg end &optional arg)
|
||||
(defun uncomment-region-default-1 (beg end &optional arg)
|
||||
"Uncomment each line in the BEG .. END region.
|
||||
The numeric prefix ARG can specify a number of chars to remove from the
|
||||
comment markers."
|
||||
|
|
@ -995,6 +1003,15 @@ comment markers."
|
|||
(goto-char (point-max))))))
|
||||
(set-marker end nil))
|
||||
|
||||
(defun uncomment-region-default (beg end &optional arg)
|
||||
"Uncomment each line in the BEG .. END region.
|
||||
The numeric prefix ARG can specify a number of chars to remove from the
|
||||
comment markers."
|
||||
(if comment-combine-change-calls
|
||||
(combine-change-calls beg end (uncomment-region-default-1 beg end arg))
|
||||
(uncomment-region-default-1 beg end arg)))
|
||||
|
||||
|
||||
(defun comment-make-bol-ws (len)
|
||||
"Make a white-space string of width LEN for use at BOL.
|
||||
When `indent-tabs-mode' is non-nil, tab characters will be used."
|
||||
|
|
@ -1191,7 +1208,7 @@ changed with `comment-style'."
|
|||
;; FIXME: maybe we should call uncomment depending on ARG.
|
||||
(funcall comment-region-function beg end arg)))
|
||||
|
||||
(defun comment-region-default (beg end &optional arg)
|
||||
(defun comment-region-default-1 (beg end &optional arg)
|
||||
(let* ((numarg (prefix-numeric-value arg))
|
||||
(style (cdr (assoc comment-style comment-styles)))
|
||||
(lines (nth 2 style))
|
||||
|
|
@ -1260,6 +1277,11 @@ changed with `comment-style'."
|
|||
lines
|
||||
indent))))))
|
||||
|
||||
(defun comment-region-default (beg end &optional arg)
|
||||
(if comment-combine-change-calls
|
||||
(combine-change-calls beg end (comment-region-default-1 beg end arg))
|
||||
(comment-region-default-1 beg end arg)))
|
||||
|
||||
;;;###autoload
|
||||
(defun comment-box (beg end &optional arg)
|
||||
"Comment out the BEG .. END region, putting it inside a box.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue