Subject: Re: bug#23936: 25.1.50; shell-command shell-command-on-region doc fix

From: Clément Pit--Claudel <[email-masked]>
Date: Sun, 10 Jul 2016 19:22:13 +0200

LGTM, but: why do you need to say it's inserted after point, since the buffer is erased anyway?

> +Any other value, excluding nil, means to insert the output
> +in the current buffer after START.

"Any other non-nil value"? I read this wrong on the first read. Doesn't matter much though.

Clément.

On 2016-07-10 18:41, Tino Calancha wrote:
> 
> Doc strings don't specify correctly when the buffer
> is erased, in what buffer position the output is
> inserted or when the mark is set.
> 
> emacs -Q
> ;; Evaluate following two forms
> (progn
>   (switch-to-buffer (get-buffer-create "*out*"))
>   (insert (format "1 2\n\n\n\nfoo\n")) ; point is at 12
>   (shell-command-on-region 1 4 "printf 'bar\n'" t)) ; point is at 5
> 
> (progn
>   (switch-to-buffer (get-buffer-create "*out*"))
>   (shell-command "date" t)) ; buffer is not erased
> 
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> 
>> From 90915fdad69939886a3a1dcc377453b2e98b2089 Mon Sep 17 00:00:00 2001
> From: Tino Calancha <[email-masked]>
> Date: Mon, 11 Jul 2016 01:33:22 +0900
> Subject: [PATCH] * lisp/simple.el (shell-command, shell-command-on-region):
>  Fix doc strings
> 
> ---
>  lisp/simple.el | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/lisp/simple.el b/lisp/simple.el
> index ba026af..cb8c0ce 100644
> --- a/lisp/simple.el
> +++ b/lisp/simple.el
> @@ -3235,11 +3235,11 @@ shell-command
> 
>  The optional second argument OUTPUT-BUFFER, if non-nil,
>  says to put the output in some other buffer.
> -If OUTPUT-BUFFER is a buffer or buffer name, put the output there.
> -If OUTPUT-BUFFER is not a buffer and not nil,
> -insert output in current buffer.  (This cannot be done asynchronously.)
> -In either case, the buffer is first erased, and the output is
> -inserted after point (leaving mark after it).
> +If OUTPUT-BUFFER is a buffer or buffer name, erase that buffer
> +and insert the output there after point.
> +If OUTPUT-BUFFER is not a buffer and not nil, insert the output
> +in current buffer after point leaving mark after it.
> +(This cannot be done asynchronously).
> 
>  If the command terminates without error, but generates output,
>  and you did not specify \"insert it in the current buffer\",
> @@ -3504,10 +3504,10 @@ shell-command-on-region
> 
>  Optional fourth arg OUTPUT-BUFFER specifies where to put the
>  command's output.  If the value is a buffer or buffer name,
> -put the output there.  If the value is nil, use the buffer
> -`*Shell Command Output*'.  Any other value, excluding nil,
> -means to insert the output in the current buffer.  In either case,
> -the output is inserted after point (leaving mark after it).
> +erase that buffer and insert the output there.
> +If the value is nil, use the buffer `*Shell Command Output*'.
> +Any other value, excluding nil, means to insert the output
> +in the current buffer after START.
> 
>  Optional fifth arg REPLACE, if non-nil, means to insert the
>  output in place of text from START to END, putting point and mark