From 90601de977560fa533fc80a7f299857d33869a95 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Mon, 3 Jul 2000 09:10:44 +0000 Subject: [PATCH] (refer-find-entry-internal): Use some-window instead of cycling through windows with next-window. --- lisp/textmodes/refer.el | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el index 6d710e8d8b5..92b18a01b7b 100644 --- a/lisp/textmodes/refer.el +++ b/lisp/textmodes/refer.el @@ -195,21 +195,19 @@ found on the last refer-find-entry or refer-find-next-entry." ;; find window in which to display bibliography file. ;; if a bibliography file is already displayed in a window, use ;; that one, otherwise use any window other than the current one - (while (not found) - (while (and (not (null (setq file (nth n files)))) - (setq n (1+ n)) - (not (string-equal file - (buffer-file-name - (window-buffer new-window)))))) - (setq found - (if (null file) - (eq (setq new-window (next-window new-window 'nomini)) - old-window) - 't))) - (if (null file) ; didn't find bib file in any window: - (progn (if (one-window-p 'nomini) - (setq old-window (split-window))) - (setq new-window (next-window old-window 'nomini)))) + (setq new-window + (some-window (lambda (w) + (while (and (not (null (setq file (nth n files)))) + (setq n (1+ n)) + (not (string-equal file + (buffer-file-name + (window-buffer w)))))) + file))) + (unless new-window + ;; didn't find bib file in any window: + (when (one-window-p 'nomini) + (setq old-window (split-window))) + (setq new-window (next-window old-window 'nomini))) (select-window (if refer-same-file old-window new-window)) ; the window in which to show the bib file -- 2.39.2