unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#16108: 24.3; Add optional arg to indent-region
@ 2013-12-11  1:18 Leo Liu
  2013-12-11 14:51 ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Liu @ 2013-12-11  1:18 UTC (permalink / raw)
  To: 16108

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






^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16108: 24.3; Add optional arg to indent-region
  2013-12-11  1:18 bug#16108: 24.3; Add optional arg to indent-region Leo Liu
@ 2013-12-11 14:51 ` Stefan Monnier
  2013-12-12  0:18   ` Leo Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2013-12-11 14:51 UTC (permalink / raw)
  To: Leo Liu; +Cc: 16108

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

I'm not really opposed, but I'd like to understand in which way it "gets
in the way".  Can you give more details?


        Stefan





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16108: 24.3; Add optional arg to indent-region
  2013-12-11 14:51 ` Stefan Monnier
@ 2013-12-12  0:18   ` Leo Liu
  2013-12-12 18:34     ` Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Liu @ 2013-12-12  0:18 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 16108

On 2013-12-11 22:51 +0800, Stefan Monnier wrote:
> I'm not really opposed, but I'd like to understand in which way it "gets
> in the way".  Can you give more details?

I advise yank to indent the pasted text. so when yank into minibuffer
instead of seeing the yanked text I am seeing the progress messages. I
just realised another solution is to opt out indentation in minibuffer
in my case.

However it seems this NOMSG arg is still useful. Programmaticly one can
disable progress reporter for small regions.

So should I go ahead and install it?

Leo





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16108: 24.3; Add optional arg to indent-region
  2013-12-12  0:18   ` Leo Liu
@ 2013-12-12 18:34     ` Stefan Monnier
  2013-12-13  1:57       ` Leo Liu
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2013-12-12 18:34 UTC (permalink / raw)
  To: Leo Liu; +Cc: 16108

>> I'm not really opposed, but I'd like to understand in which way it "gets
>> in the way".  Can you give more details?
> I advise yank to indent the pasted text. so when yank into minibuffer
> instead of seeing the yanked text I am seeing the progress messages.

Good point.  We shouldn't emit such messages when we're in the
minibuffer (or we should emit them differently, so as not to hide
the minibuffer text, e.g. like minibuffer-message does).

> So should I go ahead and install it?

Let's first silence (unconditionally) the messages when in
the minibuffer.  We'll see later if messages still need to be silenced,
and in which cases.


        Stefan





^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#16108: 24.3; Add optional arg to indent-region
  2013-12-12 18:34     ` Stefan Monnier
@ 2013-12-13  1:57       ` Leo Liu
  0 siblings, 0 replies; 5+ messages in thread
From: Leo Liu @ 2013-12-13  1:57 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 16108-done

Fixed in 24.4

On 2013-12-13 02:34 +0800, Stefan Monnier wrote:
> Let's first silence (unconditionally) the messages when in
> the minibuffer.  We'll see later if messages still need to be silenced,
> and in which cases.

Sounds good.

Leo





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-12-13  1:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-11  1:18 bug#16108: 24.3; Add optional arg to indent-region Leo Liu
2013-12-11 14:51 ` Stefan Monnier
2013-12-12  0:18   ` Leo Liu
2013-12-12 18:34     ` Stefan Monnier
2013-12-13  1:57       ` Leo Liu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).