Support program switches in 'comint-run' command
* etc/NEWS: * doc/emacs/misc.texi: Describe new behaviour (bug#33037). * lisp/comint.el (comint-run): Add optional SWITCHES argument. With prefix argument C-u, prompt for SWITCHES.
This commit is contained in:
parent
aecc82d7eb
commit
2daeea7833
3 changed files with 18 additions and 5 deletions
|
@ -1099,7 +1099,8 @@ the directory tracking feature, and a few user commands.
|
|||
@findex comint-run
|
||||
You can use @kbd{M-x comint-run} to execute any program of your choice
|
||||
in a subprocess using unmodified Comint mode---without the
|
||||
specializations of Shell mode.
|
||||
specializations of Shell mode. To pass arguments to the program, use
|
||||
@kbd{C-u M-x comint-run}.
|
||||
|
||||
@node Shell Prompts
|
||||
@subsection Shell Prompts
|
||||
|
|
4
etc/NEWS
4
etc/NEWS
|
@ -754,6 +754,10 @@ better emulate 'M-.' in both Bash and zsh, since the former counts
|
|||
from the beginning of the arguments, while the latter counts from the
|
||||
end.
|
||||
|
||||
+++
|
||||
*** 'comint-run' can now accept a list of switches to pass to the program.
|
||||
'C-u M-x comint-run' will prompt for the switches interactively.
|
||||
|
||||
** SQL
|
||||
|
||||
*** SQL Indent Minor Mode
|
||||
|
|
|
@ -760,16 +760,24 @@ Returns the (possibly newly created) process buffer."
|
|||
(apply #'make-comint-in-buffer name nil program startfile switches))
|
||||
|
||||
;;;###autoload
|
||||
(defun comint-run (program)
|
||||
"Run PROGRAM in a Comint buffer and switch to it.
|
||||
(defun comint-run (program &optional switches)
|
||||
"Run PROGRAM in a Comint buffer and switch to that buffer.
|
||||
|
||||
If SWITCHES are supplied, they are passed to PROGRAM. With prefix argument
|
||||
\\[universal-argument] prompt for SWITCHES as well as PROGRAM.
|
||||
|
||||
The buffer name is made by surrounding the file name of PROGRAM with `*'s.
|
||||
The file name is used to make a symbol name, such as `comint-sh-hook', and any
|
||||
hooks on this symbol are run in the buffer.
|
||||
|
||||
See `make-comint' and `comint-exec'."
|
||||
(declare (interactive-only make-comint))
|
||||
(interactive "sRun program: ")
|
||||
(interactive
|
||||
(list (read-string "Run program: ")
|
||||
(and (consp current-prefix-arg)
|
||||
(split-string-and-unquote (read-string "Switches: ")))))
|
||||
(let ((name (file-name-nondirectory program)))
|
||||
(switch-to-buffer (make-comint name program))
|
||||
(switch-to-buffer (apply #'make-comint name program nil switches))
|
||||
(run-hooks (intern-soft (concat "comint-" name "-hook")))))
|
||||
|
||||
(defun comint-exec (buffer name command startfile switches)
|
||||
|
|
Loading…
Add table
Reference in a new issue