GNU bug report logs -
#39067
shell-command-dont-erase-buffer strange behaviour
Previous Next
Reported by: madhu <at> cs.unm.edu
Date: Fri, 10 Jan 2020 05:36:02 UTC
Severity: normal
Merged with 42922
Found in version 27.1
Done: Tino Calancha <tino.calancha <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sun, 19 Jan 2020 11:19:19 +0100
with message-id <87tv4rwxy0.fsf <at> calancha-pc.dy.bbexcite.jp>
and subject line Re: bug#39067: shell-command-dont-erase-buffer strange behaviour
has caused the debbugs.gnu.org bug report #39067,
regarding shell-command-dont-erase-buffer strange behaviour
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
39067: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39067
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
C-h v shell-command-dont-erase-buffer
C-h f shell-command
Cut to the chase with the test case:
(let ((shell-command-dont-erase-buffer 'beg-last-out))
(with-current-buffer (get-buffer-create "OUT")
(erase-buffer)
(shell-command "/bin/echo FOO" t)
(shell-command "/bin/echo FOO" t)))
The result (as expected) is a buffer named OUT with 2 lines FOO.
The same result is expected with the following code:
(let ((shell-command-dont-erase-buffer 'beg-last-out))
(with-current-buffer (get-buffer-create "OUT")
(erase-buffer)
(shell-command "/bin/echo FOO" "OUT")
(shell-command "/bin/echo FOO" "OUT")))
However in this case (and in some other cases) shell-command erases the
"OUT" buffer despite a non-NIL binding of
shell-command-dont-erase-buffer
(at least since emacs 25.2)
[Message part 3 (message/rfc822, inline)]
Michael Albinus <michael.albinus <at> gmx.de> writes:
Fixed the bug into emacs-27 branch with commit:
'Fix shell-command-dont-erase-buffer feature'
(2eb0b7835d1a9cd4b804436e33c71058cb38f178)
> I haven't tested yet, but some minor nits:
Thank Michael for the corrections! I have added then but this one:
> ;; successive commands know the position where the new command starts.
>
>> + ;; (unless (and pos (memq sym '(save-point beg-last-out)))
>
> This is superfluous, isn't it?
That is requred for a corner case: one of the new tests fails if I
remove that.
This bug report was last modified 4 years and 277 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.