chiark / gitweb /
el/dot-emacs.el: Save and restore window configuration around `ediff'.
[profile] / el / dot-emacs.el
index a74b693f88c2afeb0abb63a8c52712e1306a1605..26cfb63c5afbf4d796b1d1b8a766defd26cada33 100644 (file)
@@ -2247,6 +2247,18 @@ (defun mdw-update-terminal-title ()
 
 (add-hook 'post-command-hook 'mdw-update-terminal-title)
 
+;;;--------------------------------------------------------------------------
+;;; Ediff hacking.
+
+(defvar mdw-ediff-previous-windows)
+(defun mdw-ediff-setup ()
+  (setq mdw-ediff-previous-windows (current-window-configuration)))
+(defun mdw-ediff-suspend-or-quit ()
+  (set-window-configuration mdw-ediff-previous-windows))
+(add-hook 'ediff-before-setup-hook 'mdw-ediff-setup)
+(add-hook 'ediff-quit-hook 'mdw-ediff-suspend-or-quit t)
+(add-hook 'ediff-suspend-hook 'mdw-ediff-suspend-or-quit t)
+
 ;;;--------------------------------------------------------------------------
 ;;; C programming configuration.