Subject: bug#34815: closed (Re: bug#34815: 26.1; read-shell-command globally sets comint-input-autoexpand to 'history)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 15 Mar 2019 09:17:02 +0000

Your bug report

#34815: 26.1; read-shell-command globally sets comint-input-autoexpand to 'history

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34815: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34815
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34815: 26.1; read-shell-command globally sets comint-input-autoexpand to 'history
From: Eli Zaretskii <[email-masked]>
To: Jack Kamm <[email-masked]>
Cc: [email-masked]
Date: Fri, 15 Mar 2019 11:16:28 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Jack Kamm <[email-masked]>
> Cc: [email-masked]
> Date: Mon, 11 Mar 2019 13:52:15 -0700
> 
> Yes, replacing setq with setq-local seems to fix the issue.

Thanks, I installed such a change on the emacs-26 branch.

Subject: 26.1; read-shell-command globally sets comint-input-autoexpand to 'history
From: [email-masked]
To: [email-masked]
Date: Mon, 11 Mar 2019 11:08:42 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Calling "shell-command", "async-shell-command", or any other command
calling "read-shell-command", globally sets the variable
"comint-input-autoexpand" to 'history. "comint-input-autoexpand" is
supposed to be a buffer-local variable with a default value of nil, and
setting it globally can interfere with other shells that use the "!"
symbol, e.g. the IPython shell.

To reproduce, first "emacs -Q", then check that
"comint-input-autoexpand" has value nil. Then type:
"M-!", "echo foo", "RET".
Then check that comint-input-autoexpand has been set to 'history.

jabranham on the freenode #emacs channel helped me track down and
consistently reproduce this bug.

--Jack