bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#16108: 24.3; Add optional arg to indent-region


From: Leo Liu
Subject: bug#16108: 24.3; Add optional arg to indent-region
Date: Wed, 11 Dec 2013 09:18:34 +0800

I use indent-region non-interactively and the progress report gets in
the way. So I propose make it possible to suppress it. Objections?

=== modified file 'lisp/indent.el'
--- lisp/indent.el      2013-10-17 19:31:11 +0000
+++ lisp/indent.el      2013-12-11 01:14:31 +0000
@@ -427,7 +427,7 @@
   "Short cut function to indent region using `indent-according-to-mode'.
 A value of nil means really run `indent-according-to-mode' on each line.")
 
-(defun indent-region (start end &optional column)
+(defun indent-region (start end &optional column nomsg)
   "Indent each nonblank line in the region.
 A numeric prefix argument specifies a column: indent each line to that column.
 
@@ -443,7 +443,8 @@
 
 Called from a program, START and END specify the region to indent.
 If the third argument COLUMN is an integer, it specifies the
-column to indent to; if it is nil, use one of the three methods above."
+column to indent to; if it is nil, use one of the three methods above.
+If NOMSG is non-nil, do not report progress."
   (interactive "r\nP")
   (cond
    ;; If a numeric prefix is given, indent to that column.
@@ -481,13 +482,14 @@
     (save-excursion
       (setq end (copy-marker end))
       (goto-char start)
-      (let ((pr (make-progress-reporter "Indenting region..." (point) end)))
-      (while (< (point) end)
-       (or (and (bolp) (eolp))
-           (indent-according-to-mode))
+      (let ((pr (unless nomsg
+                 (make-progress-reporter "Indenting region..." (point) end))))
+       (while (< (point) end)
+         (or (and (bolp) (eolp))
+             (indent-according-to-mode))
           (forward-line 1)
-          (progress-reporter-update pr (point)))
-        (progress-reporter-done pr)
+          (and pr (progress-reporter-update pr (point))))
+        (and pr (progress-reporter-done pr))
         (move-marker end nil)))))
   ;; In most cases, reindenting modifies the buffer, but it may also
   ;; leave it unmodified, in which case we have to deactivate the mark






reply via email to

[Prev in Thread] Current Thread [Next in Thread]