From 3b89a149104cd98295b55442b42ac27a853faaaf Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Sun, 21 Jan 2024 07:08:11 +0200 Subject: [PATCH] project-recompile: New command * lisp/progmodes/project.el (project-recompile): New command (bug#68570). (cherry picked from commit 0a07603ae8db41f69e83b1bfec6e28a92f737852) --- lisp/progmodes/project.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el index 7fbf04d98c1..325e207b70d 100644 --- a/lisp/progmodes/project.el +++ b/lisp/progmodes/project.el @@ -1358,6 +1358,7 @@ If you exit the `query-replace', you can later continue the (defvar compilation-read-command) (declare-function compilation-read-command "compile") +(declare-function recompile "compile") (defun project-prefixed-buffer-name (mode) (concat "*" @@ -1391,6 +1392,18 @@ If non-nil, it overrides `compilation-buffer-name-function' for compilation-buffer-name-function))) (call-interactively #'compile))) +(defun project-recompile (&optional edit-command) + "Run `recompile' with appropriate buffer." + (declare (interactive-only recompile)) + (interactive "P") + (let ((compilation-buffer-name-function + (or project-compilation-buffer-name-function + ;; Should we error instead? When there's no + ;; project-specific naming, there is no point in using + ;; this command. + compilation-buffer-name-function))) + (recompile edit-command))) + (defcustom project-ignore-buffer-conditions nil "List of conditions to filter the buffers to be switched to. If any of these conditions are satisfied for a buffer in the -- 2.39.5