Mercurial > emacs
changeset 53978:227623e374e8
(compilation-directory): New defvar.
(compile): Save current directory in compilation-directory.
(recompile): Bind default-directory to compilation-directory if
that is non-nil.
author | Eli Zaretskii <eliz@is.elta.co.il> |
---|---|
date | Mon, 16 Feb 2004 12:50:24 +0000 |
parents | 980fc678e13c |
children | c75b456db0b9 |
files | lisp/progmodes/compile.el |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/progmodes/compile.el Mon Feb 16 12:37:21 2004 +0000 +++ b/lisp/progmodes/compile.el Mon Feb 16 12:50:24 2004 +0000 @@ -386,6 +386,9 @@ try; %s in the string is replaced by the text matching the FILE-IDX'th subexpression.") +(defvar compilation-directory nil + "Directory to restore to when doing `recompile'.") + (defvar compilation-enter-directory-regexp-alist '( ;; Matches lines printed by the `-w' option of GNU Make. @@ -578,6 +581,7 @@ (unless (equal command (eval compile-command)) (setq compile-command command)) (save-some-buffers (not compilation-ask-about-save) nil) + (setq compilation-directory default-directory) (compile-internal command "No more errors")) ;; run compile with the default command line @@ -587,8 +591,10 @@ original use. Otherwise, it recompiles using `compile-command'." (interactive) (save-some-buffers (not compilation-ask-about-save) nil) - (apply 'compile-internal (or compilation-arguments - `(,(eval compile-command) "No more errors")))) + (let ((default-directory (or compilation-directory default-directory))) + (apply 'compile-internal (or compilation-arguments + `(,(eval compile-command) + "No more errors"))))) (defcustom compilation-scroll-output nil "*Non-nil to scroll the *compilation* buffer window as output appears.