[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/subr.el
From: |
Richard M . Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/subr.el |
Date: |
Sat, 29 May 2004 11:26:40 -0400 |
Index: emacs/lisp/subr.el
diff -c emacs/lisp/subr.el:1.393 emacs/lisp/subr.el:1.394
*** emacs/lisp/subr.el:1.393 Fri May 28 22:33:35 2004
--- emacs/lisp/subr.el Sat May 29 15:23:42 2004
***************
*** 1796,1805 ****
This does not alter the buffer list ordering.
See also `with-temp-buffer'."
(declare (indent 1) (debug t))
! `(let ((save-selected-window-window (selected-window)))
(unwind-protect
(progn (select-window ,window 'norecord)
,@body)
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window 'norecord)))))
--- 1796,1816 ----
This does not alter the buffer list ordering.
See also `with-temp-buffer'."
(declare (indent 1) (debug t))
! ;; Most of this code is a copy of save-selected-window.
! `(let ((save-selected-window-window (selected-window))
! ;; It is necessary to save all of these, because calling
! ;; select-window changes frame-selected-window for whatever
! ;; frame that window is in.
! (save-selected-window-alist
! (mapcar (lambda (frame) (list frame (frame-selected-window frame)))
! (frame-list))))
(unwind-protect
(progn (select-window ,window 'norecord)
,@body)
+ (dolist (elt save-selected-window-alist)
+ (and (frame-live-p (car elt))
+ (window-live-p (cadr elt))
+ (set-frame-selected-window (car elt) (cadr elt))))
(if (window-live-p save-selected-window-window)
(select-window save-selected-window-window 'norecord)))))