emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/mouse.el,v


From: Richard M. Stallman
Subject: [Emacs-diffs] Changes to emacs/lisp/mouse.el,v
Date: Mon, 19 Jun 2006 21:47:23 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Richard M. Stallman <rms>       06/06/19 21:47:23

Index: mouse.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/mouse.el,v
retrieving revision 1.297
retrieving revision 1.298
diff -u -b -r1.297 -r1.298
--- mouse.el    16 Mar 2006 15:14:57 -0000      1.297
+++ mouse.el    19 Jun 2006 21:47:23 -0000      1.298
@@ -529,6 +529,24 @@
       (mouse-drag-mode-line-1 start-event nil))))
 
 
+(defun mouse-drag-vertical-line-rightward-window (window)
+  "Return a window that is immediately to the right of WINDOW, or nil."
+  (let ((bottom (nth 3 (window-inside-edges window)))
+       (left (nth 0 (window-inside-edges window)))
+       best best-right
+       (try (previous-window window)))
+    (while (not (eq try window))
+      (let ((try-top (nth 1 (window-inside-edges try)))
+           (try-bottom (nth 3 (window-inside-edges try)))
+           (try-right (nth 2 (window-inside-edges try))))
+       (if (and (< try-top bottom)
+                (>= try-bottom bottom)
+                (< try-right left)
+                (or (null best-right) (> try-right best-right)))
+           (setq best-right try-right best try)))
+      (setq try (previous-window try)))
+    best))
+
 (defun mouse-drag-vertical-line (start-event)
   "Change the width of a window by dragging on the vertical line."
   (interactive "e")
@@ -594,7 +612,8 @@
                        ;; adjust the window on the left.
                        (if (eq which-side 'right)
                            (selected-window)
-                         (previous-window))))
+                         (mouse-drag-vertical-line-rightward-window
+                          (selected-window)))))
                   (setq x (- (car (cdr mouse))
                              (if (eq which-side 'right) 0 2))
                         edges (window-edges window)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]