(or (and (consp arg) (= (car arg) 4) (= (car arg) 64))
(and (integerp arg) (not (zerop (logand arg 1))))))))
- (let ((current-windows (list (current-window-configuration)
+ (let ((previous mdw-current-window-configuration)
+ (current-windows (list (current-window-configuration)
(point-marker)))
(register-value (and register (get-register register))))
(when (and mdw-current-window-configuration (not no-save))
(set-register mdw-current-window-configuration current-windows))
(cond ((null register)
- (setq mdw-current-window-configuration nil))
+ (setq mdw-current-window-configuration nil)
+ (if previous
+ (message "Left window configuration `%c'." previous)
+ (message "Nothing to do!")))
((not (or (null register-value)
(and (consp register-value)
(window-configuration-p (car register-value))
(error "Register `%c' is not a window configuration" register))
(t
(cond ((null register-value)
- (set-register register current-windows))
+ (set-register register current-windows)
+ (message "Started new window configuration `%c'."
+ register))
(t
(set-window-configuration (car register-value))
- (goto-char (cadr register-value))))
+ (goto-char (cadr register-value))
+ (message "Switched to window configuration `%c'."
+ register)))
(setq mdw-current-window-configuration register)))))
;; Don't raise windows unless I say so.