From: John Wiegley Date: Tue, 24 Apr 2001 06:31:46 +0000 (+0000) Subject: (eshell/diff): Fixed problems that were occurring with Emacs 21's X-Git-Tag: emacs-pretest-21.0.103~137 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ef59cfc6638a8ac3fccbee88482d142e95c32f81;p=emacs.git (eshell/diff): Fixed problems that were occurring with Emacs 21's diff.el/compile.el interaction layer. --- diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index 726fd0eeaf6..1dfec1e7021 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el @@ -947,14 +947,20 @@ Show wall-clock time elapsed during execution of COMMAND.") (throw 'eshell-replace-command (eshell-parse-command "*diff" orig-args)))) (when (fboundp 'diff-mode) - (diff-mode) - (set (make-local-variable 'eshell-diff-window-config) config) - (local-set-key [?q] 'eshell-diff-quit) - (if (fboundp 'turn-on-font-lock-if-enabled) - (turn-on-font-lock-if-enabled)))) - (other-window 1) - (goto-char (point-min)) - nil)))) + (make-local-variable 'compilation-finish-functions) + (add-hook + 'compilation-finish-functions + `(lambda (buff msg) + (with-current-buffer buff + (diff-mode) + (set (make-local-variable 'eshell-diff-window-config) + ,config) + (local-set-key [?q] 'eshell-diff-quit) + (if (fboundp 'turn-on-font-lock-if-enabled) + (turn-on-font-lock-if-enabled)) + (goto-char (point-min)))))) + (pop-to-buffer (current-buffer)))))) + nil) (defun eshell/locate (&rest args) "Alias \"locate\" to call Emacs `locate' function."