Function: compile-multi
compile-multi is an interactive and natively compiled function defined
in compile-multi.el.
Signature
(compile-multi &optional QUERY COMMAND)
Documentation
Multi-target interface to compile.
With optional argument QUERY allow user to modify compilation command before running. COMMAND when set will be used instead of prompting the user for a compile-multi command.
Key Bindings
This command is not in any keymaps.
Source Code
;; Defined in /nix/store/ax1p6npch7lvclxg5n7cjd3i0dh74vcc-emacs-packages-deps/share/emacs/site-lisp/elpa/compile-multi-20250831.1542/compile-multi.el
;;;###autoload
(defun compile-multi (&optional query command)
"Multi-target interface to compile.
With optional argument QUERY allow user to modify compilation command before
running. COMMAND when set will be used instead of prompting the user for a
compile-multi command."
(interactive "P")
(let* ((default-directory (or (and compile-multi-default-directory
(funcall compile-multi-default-directory))
default-directory))
(compile-cmd
(or command
(plist-get (cdr (or (compile-multi--get-task)
(user-error "compile-multi: Invalid task read from user")))
:command))))
(cond
((stringp compile-cmd)
(when query
(setq compile-cmd
(compilation-read-command compile-cmd)))
(compile compile-cmd (consp query)))
((and (functionp compile-cmd)
(commandp compile-cmd))
(if query
(eval-expression
(read--expression "Eval: " (format "(%s)" `(call-interactively ,compile-cmd))))
(call-interactively compile-cmd)))
((functionp compile-cmd)
(if query
(eval-expression
(read--expression "Eval: " (format "(%s)" compile-cmd)))
(funcall compile-cmd)))
(t (error "Don't know how to run the command %s" compile-cmd)))))