;;; winner.el --- Restore old window configurations
-;; Copyright (C) 1997-1998, 2001-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1998, 2001-2014 Free Software Foundation, Inc.
;; Author: Ivar Rummelhoff <ivarru@math.uio.no>
;; Created: 27 Feb 1997
(set-window-configuration winconf))
(cond
((window-live-p chosen) (select-window chosen))
- ((window-minibuffer-p (selected-window))
- (other-window 1)))
+ ((window-minibuffer-p) (other-window 1)))
(when (/= minisize (window-height miniwin))
(with-selected-window miniwin
(setf (window-height) minisize)))))
map)
"Keymap for Winner mode.")
-;; Check if `window-configuration-change-hook' is working.
-(defun winner-hook-installed-p ()
- (save-window-excursion
- (let ((winner-var nil)
- (window-configuration-change-hook
- '((lambda () (setq winner-var t)))))
- (split-window)
- winner-var)))
-
\f
;;;###autoload
(define-minor-mode winner-mode nil :global t ; let d-m-m make the doc
(if winner-mode
(progn
- (if (winner-hook-installed-p)
- (progn
- (add-hook 'window-configuration-change-hook 'winner-change-fun)
- (add-hook 'post-command-hook 'winner-save-old-configurations))
- (add-hook 'post-command-hook 'winner-save-conditionally))
+ (add-hook 'window-configuration-change-hook 'winner-change-fun)
+ (add-hook 'post-command-hook 'winner-save-old-configurations)
(add-hook 'minibuffer-setup-hook 'winner-save-unconditionally)
(setq winner-modified-list (frame-list))
(winner-save-old-configurations))
(remove-hook 'window-configuration-change-hook 'winner-change-fun)
(remove-hook 'post-command-hook 'winner-save-old-configurations)
- (remove-hook 'post-command-hook 'winner-save-conditionally)
(remove-hook 'minibuffer-setup-hook 'winner-save-unconditionally)))
;; Inspired by undo (simple.el)
(setq winner-undone-data (list (winner-win-data))))
(cl-incf winner-undo-counter) ; starting at 1
(when (and (winner-undo-this)
- (not (window-minibuffer-p (selected-window))))
+ (not (window-minibuffer-p)))
(message "Winner undo (%d / %d)"
winner-undo-counter
(1- (ring-length winner-pending-undo-ring)))))))