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

Allow mm-external-terminal-program to be a list of strings

* doc/misc/emacs-mime.texi (Display Customization): Document it.

* lisp/gnus/mm-decode.el (mm-external-terminal-program): Allow
being a list.
This commit is contained in:
Lars Ingebrigtsen 2021-11-15 07:16:49 +01:00
parent a7c9695835
commit 6aeaf12551
2 changed files with 17 additions and 9 deletions

View file

@ -454,7 +454,8 @@ setting this option to non-@code{nil}. The default value is @code{t}.
@item mm-external-terminal-program
@vindex mm-external-terminal-program
The program used to start an external terminal.
This should be a list of strings; typically something like
@samp{("xterm" "-e")} or @samp{("gnome-terminal" "--")}.
@item mm-enable-external
@vindex mm-enable-external

View file

@ -446,10 +446,11 @@ If not set, `default-directory' will be used."
:type 'integer
:group 'mime-display)
(defcustom mm-external-terminal-program "xterm"
"The program to start an external terminal."
:version "22.1"
:type 'string
(defcustom mm-external-terminal-program '("xterm" "-e")
"The program to start an external terminal.
This should be a list of strings."
:version "29.1"
:type '(choice string (repeat string))
:group 'mime-display)
;;; Internal variables.
@ -957,10 +958,16 @@ external if displayed external."
(unwind-protect
(if window-system
(set-process-sentinel
(start-process "*display*" nil
mm-external-terminal-program
"-e" shell-file-name
shell-command-switch command)
(apply #'start-process "*display*" nil
(append
(if (listp mm-external-terminal-program)
mm-external-terminal-program
;; Be backwards-compatible.
(list mm-external-terminal-program
"-e"))
(list shell-file-name
shell-command-switch
command)))
(lambda (process _state)
(if (eq 'exit (process-status process))
(run-at-time