1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00

Support showing directory in shell command prompt

* lisp/simple.el (shell-command-prompt-show-cwd): New defcustom.
(async-shell-command, shell-command): Show current directory in prompt
when above option is non-nil.  (Bug#4987)
* etc/NEWS: Announce it.
This commit is contained in:
Stefan Kangas 2019-10-11 13:01:13 +02:00
parent 505550ba7b
commit 552c20ce39
2 changed files with 23 additions and 2 deletions

View file

@ -1568,6 +1568,10 @@ variable for remote shells. It still defaults to "/bin/sh".
*** 'async-shell-command-width' defines the number of display columns
available for output of asynchronous shell commands.
+++
*** Prompt for shell commands can now show the current directory.
Customize 'shell-command-prompt-show-cwd' to enable it.
** Pcomplete
*** The 'pcomplete' command is now obsolete

View file

@ -3384,6 +3384,13 @@ command output."
:group 'shell
:version "27.1")
(defcustom shell-command-prompt-show-cwd nil
"If non-nil, show current directory when prompting for a shell command.
This affects `shell-command' and `async-shell-command'."
:type 'boolean
:group 'shell
:version "27.1")
(defcustom shell-command-dont-erase-buffer nil
"If non-nil, output buffer is not erased between shell commands.
Also, a non-nil value sets the point in the output buffer
@ -3473,7 +3480,12 @@ directly, since it offers more control and does not impose the use of
a shell (with its need to quote arguments)."
(interactive
(list
(read-shell-command "Async shell command: " nil nil
(read-shell-command (if shell-command-prompt-show-cwd
(format-message "Async shell command in `%s': "
(abbreviate-file-name
default-directory))
"Async shell command: ")
nil nil
(let ((filename
(cond
(buffer-file-name)
@ -3546,7 +3558,12 @@ impose the use of a shell (with its need to quote arguments)."
(interactive
(list
(read-shell-command "Shell command: " nil nil
(read-shell-command (if shell-command-prompt-show-cwd
(format-message "Shell command in `%s': "
(abbreviate-file-name
default-directory))
"Shell command: ")
nil nil
(let ((filename
(cond
(buffer-file-name)