Subject: 24.3; Add optional arg to indent-region
From: Leo Liu <[email-masked]>
To: [email-masked]
Date: Wed, 11 Dec 2013 09:18:34 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

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