GNU bug report logs - #5654
Even slightest scrollbar move warping point

Previous Next

Package: emacs;

Reported by: David De La Harpe Golden <david <at> harpegolden.net>

Date: Sat, 27 Feb 2010 14:41:01 UTC

Severity: normal

Done: Jan Djärv <jan.h.d <at> swipnet.se>

Bug is archived. No further changes may be made.

Full log


Message #8 received at 5654 <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: David De La Harpe Golden <david <at> harpegolden.net>
Cc: 5654 <at> debbugs.gnu.org
Subject: Re: bug#5654: Even slightest scrollbar move warping point
Date: Sun, 28 Feb 2010 12:41:44 +0100
It does not happen in 23.1.
Reverting this change:

2009-11-13  Stefan Monnier  <monnier <at> iro.umontreal.ca>

	* scroll-bar.el (scroll-bar-set-window-start, scroll-bar-drag-1)
	(scroll-bar-maybe-set-window-start):

	Use with-current-buffer.

fixes it.  I don't know if that is the right thing to do.
Adding a save-excursion in scroll-bar-drag-1 also fixes it:

--- lisp/scroll-bar.el	2010-01-13 08:35:10 +0000
+++ lisp/scroll-bar.el	2010-02-28 11:41:09 +0000
@@ -211,12 +211,13 @@
 	 (window (nth 0 start-position))
 	 (portion-whole (nth 2 start-position)))
     (with-current-buffer (window-buffer window)
+      (save-excursion
       ;; Calculate position relative to the accessible part of the buffer.
       (goto-char (+ (point-min)
 		    (scroll-bar-scale portion-whole
 				      (- (point-max) (point-min)))))
       (vertical-motion 0 window)
-      (set-window-start window (point)))))
+      (set-window-start window (point))))))

 (defun scroll-bar-drag (event)
   "Scroll the window by dragging the scroll bar slider.


	Jan D.



David De La Harpe Golden skrev:
> Don't actually use the scrollbar very much, so not presently sure if 
> this was just always the way emacs acted and I simply didn't notice, but 
> right now (23.1.93), if you "move the scrollbar" a tiny bit (not enough 
> to actually visibly scroll the buffer), the point warps to the top of 
> the window.
> 
> recipe:
> 
> * emacs -Q on X11, with gtk+ (debian libgtk 2.18.6-1) toolkit scrollbars:
> 
> place point somewhere other than start of buffer. (if you've just done 
> emacs -Q, it'll probably be at the end of the *scratch* buffer anyway).
> 
> mouse-1 down on scrollbar. move even a tiny amount, not enough to 
> scroll. If you've just done emacs -Q, it'll already be at the top, so 
> you could just push it against the top, which you might not expect to do 
> anything, really.  Point warps to window start.  This happens before
> you mouse-1 up.
> 
> 
> * emacs -Q on X11, with lucid with toolkit scrollbars: (i.e. 90s-looking 
> 3d-effect scrollbar):
> 
> same as gtk+
> 
> * emacs -Q on X11, with lucid without toolkit scrollbars (i.e. flat 
> looking scrollbar):
> 
> no warp on mouse-1, but of course mouse-1 means something different for 
> these scrollbars - there is an immediate warp, but I think that's also 
> different since these scrollbars immediately scroll to a location 
> corresponding to the position on the scrollbar you mouse-2 down on. So 
> this case might be irrelevant and it's only something that's happening 
> for toolkit scrollbars.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 





This bug report was last modified 15 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.