# HG changeset patch # User Gerd Moellmann # Date 962615493 0 # Node ID 2c3b912c56eddf6005191ec9108d0732a3440ca5 # Parent 275ab94028be2ea301ce2808dc7389ead264e6e9 (bg-window-from-x-y): Use some-window instead of cycling through windows with next-window. diff -r 275ab94028be -r 2c3b912c56ed lisp/term/bg-mouse.el --- 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)