changeset 67524:9014ad13a926

(mouse-drag-vertical-line): Use adjust-window-trailing-edge.
author Richard M. Stallman <rms@gnu.org>
date Mon, 12 Dec 2005 05:21:33 +0000
parents 81c5a29b3800
children d1c8ad10efda
files lisp/mouse.el
diffstat 1 files changed, 11 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mouse.el	Mon Dec 12 05:20:41 2005 +0000
+++ b/lisp/mouse.el	Mon Dec 12 05:21:33 2005 +0000
@@ -594,14 +594,15 @@
 		((null (car (cdr mouse)))
 		 nil)
 		(t
-		 (save-selected-window
-		   ;; If the scroll bar is on the window's left,
-		   ;; adjust the window on the left.
-		   (unless (eq which-side 'right)
-		     (select-window (previous-window)))
+		 (let ((window
+			;; If the scroll bar is on the window's left,
+			;; adjust the window on the left.
+			(if (eq which-side 'right)
+			    (selected-window)
+			  (previous-window))))
 		   (setq x (- (car (cdr mouse))
 			      (if (eq which-side 'right) 0 2))
-			 edges (window-edges)
+			 edges (window-edges window)
 			 left (nth 0 edges)
 			 right (nth 2 edges))
 		   ;; scale back a move that would make the
@@ -609,19 +610,10 @@
 		   (if (< (- x left -1) window-min-width)
 		       (setq x (+ left window-min-width -1)))
 		   ;; compute size change needed
-		   (setq growth (- x right -1)
-			 wconfig (current-window-configuration))
-		   (enlarge-window growth t)
-		   ;; if this window's growth caused another
-		   ;; window to be deleted because it was too
-		   ;; thin, rescind the change.
-		   ;;
-		   ;; if size change caused space to be stolen
-		   ;; from a window to the left of this one,
-		   ;; rescind the change.
-		   (if (or (/= start-nwindows (count-windows t))
-			   (/= left (nth 0 (window-edges))))
-		       (set-window-configuration wconfig))))))))))
+		   (setq growth (- x right -1))
+		   (condition-case nil
+		       (adjust-window-trailing-edge window growth t)
+		     (error nil))))))))))
 
 (defun mouse-set-point (event)
   "Move point to the position clicked on with the mouse.