GNU bug report logs - #34815
26.1; read-shell-command globally sets comint-input-autoexpand to 'history

Previous Next

Package: emacs;

Reported by: jackkamm <at> gmail.com

Date: Mon, 11 Mar 2019 18:09:02 UTC

Severity: normal

Found in version 26.1

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34815 in the body.
You can then email your comments to 34815 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#34815; Package emacs. (Mon, 11 Mar 2019 18:09:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to jackkamm <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 11 Mar 2019 18:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: jackkamm <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Subject: 26.1;
 read-shell-command globally sets comint-input-autoexpand to 'history
Date: Mon, 11 Mar 2019 11:08:42 -0700
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




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34815; Package emacs. (Mon, 11 Mar 2019 18:42:02 GMT) Full text and rfc822 format available.

Message #8 received at 34815 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: jackkamm <at> gmail.com
Cc: 34815 <at> debbugs.gnu.org
Subject: Re: bug#34815: 26.1;
 read-shell-command globally sets comint-input-autoexpand to 'history
Date: Mon, 11 Mar 2019 20:41:06 +0200
> From: jackkamm <at> gmail.com
> Date: Mon, 11 Mar 2019 11:08:42 -0700
> 
> 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.

Does it help to replace setq with setq-local in shell-completion-vars
where it sets the value of comint-input-autoexpand?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34815; Package emacs. (Mon, 11 Mar 2019 20:53:02 GMT) Full text and rfc822 format available.

Message #11 received at 34815 <at> debbugs.gnu.org (full text, mbox):

From: Jack Kamm <jackkamm <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34815 <at> debbugs.gnu.org
Subject: Re: bug#34815: 26.1;
 read-shell-command globally sets comint-input-autoexpand to 'history
Date: Mon, 11 Mar 2019 13:52:15 -0700
Yes, replacing setq with setq-local seems to fix the issue.

Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: jackkamm <at> gmail.com
>> Date: Mon, 11 Mar 2019 11:08:42 -0700
>> 
>> 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.
>
> Does it help to replace setq with setq-local in shell-completion-vars
> where it sets the value of comint-input-autoexpand?




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Fri, 15 Mar 2019 09:17:01 GMT) Full text and rfc822 format available.

Notification sent to jackkamm <at> gmail.com:
bug acknowledged by developer. (Fri, 15 Mar 2019 09:17:02 GMT) Full text and rfc822 format available.

Message #16 received at 34815-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jack Kamm <jackkamm <at> gmail.com>
Cc: 34815-done <at> debbugs.gnu.org
Subject: Re: bug#34815: 26.1;
 read-shell-command globally sets comint-input-autoexpand to 'history
Date: Fri, 15 Mar 2019 11:16:28 +0200
> From: Jack Kamm <jackkamm <at> gmail.com>
> Cc: 34815 <at> debbugs.gnu.org
> 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.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 12 Apr 2019 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 352 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.