[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#57792: 29.0.50; async-shell-command fails with prefix-argument on -m
From: |
Stefan Kangas |
Subject: |
bug#57792: 29.0.50; async-shell-command fails with prefix-argument on -master |
Date: |
Wed, 14 Sep 2022 00:51:54 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
found 57792 27.1
found 57792 28.2
tags 57792 + confirmed
thanks
Vladimir Nikishkin <lockywolf@gmail.com> writes:
> In the *scratch* buffer:
> C-u M-& echo test RET
> results in an error, whereas on stable Emacs it pastes "test\n" at
> point.
>
> The error is:
> (wrong-type-argument stringp (4))
> The stack trace is:
> Debugger entered--Lisp error: (wrong-type-argument stringp (4))
> shell-command("echo test &" (4) nil)
> async-shell-command("echo test" (4) nil)
> funcall-interactively(async-shell-command "echo test" (4) nil)
> command-execute(async-shell-command)
This is from `get-buffer-create' in simple.el:4572.
> Hope this helps.
I can reproduce this bug on master, 27.1 and 28.2. Here's a test case
(not tested):
(ert-deftest simple-tests-async-shell-command-57792 ()
"Test for https://debbugs.gnu.org/57792 ."
(with-temp-buffer
;; Pretend we have a prefix argument.
(async-shell-command "echo \"test\"" '(4))
(should (equal (buffer-string) "test"))))
I'm not sure what behavior we want here, though. Should we insert the
command output directly at point in the current buffer, or should we
first insert it into "*Async Shell Command*" and copy it over when done?