Mercurial > emacs
changeset 29999:2c3b912c56ed
(bg-window-from-x-y): Use some-window instead
of cycling through windows with next-window.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Mon, 03 Jul 2000 09:11:33 +0000 |
parents | 275ab94028be |
children | 323c0e2c2032 |
files | lisp/term/bg-mouse.el |
diffstat | 1 files changed, 1 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/term/bg-mouse.el Mon Jul 03 09:11:03 2000 +0000 +++ b/lisp/term/bg-mouse.el Mon Jul 03 09:11:33 2000 +0000 @@ -250,27 +250,10 @@ ;;; Returns the window that screen position (x, y) is in or nil if none, ;;; meaning we are in the echo area with a non-active minibuffer. -;;; If coordinates-in-window-p were not in an X-windows-specific file -;;; we could use that. In Emacs 19 can even use locate-window-from-coordinates (defun bg-window-from-x-y (x y) "Find window corresponding to screen coordinates. X and Y are 0-based character positions on the screen." - (let ((edges (window-edges)) - (window nil)) - (while (and (not (eq window (selected-window))) - (or (< y (nth 1 edges)) - (>= y (nth 3 edges)) - (< x (nth 0 edges)) - (>= x (nth 2 edges)))) - (setq window (next-window window)) - (setq edges (window-edges window))) - (cond ((eq window (selected-window)) - nil) ;we've looped: not found - ((not window) - (selected-window)) ;just starting: current window - (t - window)) - )) + (some-window (lambda (w) (coordinates-in-window-p (cons x y) w)))) (defun bg-command-execute (bg-command) (if (commandp bg-command)