chiark / gitweb /
el/dot-emacs.el: Save and restore window configuration around `ediff'.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 14 Apr 2023 11:02:34 +0000 (12:02 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 17 Apr 2023 10:15:54 +0000 (11:15 +0100)
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.