emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 552c20c: Support showing directory in shell command


From: Stefan Kangas
Subject: [Emacs-diffs] master 552c20c: Support showing directory in shell command prompt
Date: Fri, 11 Oct 2019 07:01:33 -0400 (EDT)

branch: master
commit 552c20ce39cd513cd6d0c847a1d291554143ba9a
Author: Stefan Kangas <address@hidden>
Commit: Stefan Kangas <address@hidden>

    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.
---
 etc/NEWS       |  4 ++++
 lisp/simple.el | 21 +++++++++++++++++++--
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index a3a7ff2..4e7843c 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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
diff --git a/lisp/simple.el b/lisp/simple.el
index 597278a..44ab8e1 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]