[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 5c3534f: * lisp/window.el (window--process-window
From: |
Glenn Morris |
Subject: |
[Emacs-diffs] emacs-25 5c3534f: * lisp/window.el (window--process-window-list): No-op if no processes. |
Date: |
Wed, 27 Apr 2016 23:21:52 +0000 |
branch: emacs-25
commit 5c3534ffdcce41b1aab7bd158cf07224446caa9d
Author: Glenn Morris <address@hidden>
Commit: Glenn Morris <address@hidden>
* lisp/window.el (window--process-window-list): No-op if no processes.
This avoids an issue with save-selected-window (from walk-windows)
failing if frame.el is not loaded, eg if the terminal is resized
during startup of a -nw CANNOT_DUMP build. (Bug#23369).
---
lisp/window.el | 37 +++++++++++++++++++------------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/lisp/window.el b/lisp/window.el
index 0d7dbd8..d9ac0e6 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -8520,24 +8520,25 @@ A window is associated with a process if that window is
displaying that processes's buffer."
(let ((processes (process-list))
(process-windows nil))
- (walk-windows
- (lambda (window)
- (let ((buffer (window-buffer window))
- (iter processes))
- (while (let ((process (car iter)))
- (if (and (process-live-p process)
- (eq buffer (process-buffer process)))
- (let ((procwin (assq process process-windows)))
- ;; Add this window to the list of windows
- ;; displaying process.
- (if procwin
- (push window (cdr procwin))
- (push (list process window) process-windows))
- ;; We found our process for this window, so
- ;; stop iterating over the process list.
- nil)
- (setf iter (cdr iter)))))))
- 1 t)
+ (if processes
+ (walk-windows
+ (lambda (window)
+ (let ((buffer (window-buffer window))
+ (iter processes))
+ (while (let ((process (car iter)))
+ (if (and (process-live-p process)
+ (eq buffer (process-buffer process)))
+ (let ((procwin (assq process process-windows)))
+ ;; Add this window to the list of windows
+ ;; displaying process.
+ (if procwin
+ (push window (cdr procwin))
+ (push (list process window) process-windows))
+ ;; We found our process for this window, so
+ ;; stop iterating over the process list.
+ nil)
+ (setf iter (cdr iter)))))))
+ 1 t))
process-windows))
(defun window--adjust-process-windows ()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 5c3534f: * lisp/window.el (window--process-window-list): No-op if no processes.,
Glenn Morris <=