Subject: 25.1.50; shell-command shell-command-on-region doc fix

From: Tino Calancha <[email-masked]>
Date: Mon, 11 Jul 2016 01:41:20 +0900 (JST)

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
-- 
2.8.1

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

In GNU Emacs 25.1.50.5 (x86_64-pc-linux-gnu, GTK+ Version 3.20.6)
  of 2016-07-10 built on calancha-pc
Repository revision: 04a7977f700fc46cf29d5a41bc7dcffef71044c6