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 a74b693..26cfb63 100644 (file)
@@ -2248,6 +2248,18 @@ doesn't match any of the regular expressions in
 (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.
 
 ;; Make C indentation nice.