+2008-05-02 Sam Steingold <sds@gnu.org>
+
+ * progmodes/compile.el (compilation-start): Move setting of
+ compilation-directory after (funcall mode) as that resets local
+ variables, this fixes recompile in grep buffers.
+ * grep.el (grep-mode-map): Bind "g" to recompile (like in dired &c).
+
2008-05-02 Eric S. Raymond <esr@snark.thyrsus.com>
* vc-arch.el, vc-bzr.el, vc-cvs.el, vc-git.el, vc-hg.el,
(buffer-disable-undo (current-buffer))
;; first transfer directory from where M-x compile was called
(setq default-directory thisdir)
- ;; Remember the original dir, so we can use it when we recompile.
- ;; default-directory' can't be used reliably for that because it may be
- ;; affected by the special handling of "cd ...;".
- (set (make-local-variable 'compilation-directory) thisdir)
;; Make compilation buffer read-only. The filter can still write it.
;; Clear out the compilation buffer.
(let ((inhibit-read-only t)
(setq buffer-read-only nil)
(with-no-warnings (comint-mode))
(compilation-shell-minor-mode))
+ ;; Remember the original dir, so we can use it when we recompile.
+ ;; default-directory' can't be used reliably for that because it may be
+ ;; affected by the special handling of "cd ...;".
+ ;; NB: must be fone after (funcall mode) as that resets local variables
+ (set (make-local-variable 'compilation-directory) thisdir)
(if highlight-regexp
(set (make-local-variable 'compilation-highlight-regexp)
highlight-regexp))
(define-key map "\r" 'compile-goto-error) ;; ?
(define-key map "n" 'next-error-no-select)
(define-key map "p" 'previous-error-no-select)
+ (define-key map "g" 'recompile) ; revert
(define-key map "{" 'compilation-previous-file)
(define-key map "}" 'compilation-next-file)
(define-key map "\t" 'compilation-next-error)
(if (display-graphic-p)
(let ((map (butlast (copy-keymap tool-bar-map)))
(help (last tool-bar-map))) ;; Keep Help last in tool bar
- (tool-bar-local-item
+ (tool-bar-local-item
"left-arrow" 'previous-error-no-select 'previous-error-no-select map
:rtl "right-arrow"
:help "Goto previous match")
"right-arrow" 'next-error-no-select 'next-error-no-select map
:rtl "left-arrow"
:help "Goto next match")
- (tool-bar-local-item
+ (tool-bar-local-item
"cancel" 'kill-compilation 'kill-compilation map
:enable '(let ((buffer (compilation-find-buffer)))
(get-buffer-process buffer))
:help "Stop grep")
- (tool-bar-local-item
+ (tool-bar-local-item
"refresh" 'recompile 'recompile map
:help "Restart grep")
(append map help))))