GNU bug report logs - #4023
mwheel.el uses (point) instead of point-before-scroll

Previous Next

Package: emacs;

Reported by: balducci <at> univ.trieste.it

Date: Mon, 3 Aug 2009 16:10:08 UTC

Severity: wishlist

To reply to this bug, email your comments to 4023 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4023; Package emacs. (Mon, 03 Aug 2009 16:10:08 GMT) Full text and rfc822 format available.

Acknowledgement sent to balducci <at> univ.trieste.it:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Mon, 03 Aug 2009 16:10:09 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: gabriele balducci <balducci <at> dschgrazlin2.units.it>
To: bug-gnu-emacs <at> gnu.org
Subject: mwheel.el uses (point) instead of point-before-scroll
Date: Mon, 03 Aug 2009 18:26:51 +0200
Hello,

apologies if I am wrong.

Just upgraded emacs to 23.1 and noted the following issue, related
(apparently) to mwheel.el.

Here is how to (hopefully) reproduce the problem.

In an emacs window (under X):

=> set the point with mouse-1
=> select a region with mouse-3 some lines below
=> now scroll down with the mouse wheel so that the bottom of the
   selected region scrolls `out' of the upper edge of the emacs window
   (the highlighted region must disappear)
=> extend the region by mouse-3 again
=> paste the region with mouse-2 somewhere (e.g. in a clean buffer)

    Result:
    only the text between the *visible* top of the window and the end of
    the region has been pasted. I.e. all works as if the beginning of
    the selected region had moved the first line of the visible portion
    of the buffer.

This contrasts with the behavior in emacs-22.3, where extending the
region while scrolling down with the wheel used to work as expected
(by me): the contents of the region started from the point set with
mouse-1 at the beginning.

The (correct) behavior in 23.1 is obtained if scrolling is performed
with the side bar, instead of the wheel (and also if the scroll with
the wheel does not make the bottom of the region fly out of the upper
window edge)

Actually, the following new lines have appeared in mwheel.el from 22.3
to 23.1:

         (opoint (with-current-buffer buffer
                   (when (eq (car-safe transient-mark-mode) 'only)
                     (point))))


and I seem to understand that this is the origin of the problem.

In fact, the following change:

diff -c ./emacs-23.1/lisp/mwheel.el.ORIG ./emacs-23.1/lisp/mwheel.el
*** ./emacs-23.1/lisp/mwheel.el.ORIG    Mon Aug  3 17:05:23 2009
--- ./emacs-23.1/lisp/mwheel.el Mon Aug  3 17:05:23 2009
***************
*** 195,201 ****
         (buffer (window-buffer curwin))
         (opoint (with-current-buffer buffer
                   (when (eq (car-safe transient-mark-mode) 'only)
!                    (point))))
           (mods
          (delq 'click (delq 'double (delq 'triple (event-modifiers event)))))
           (amt (assoc mods mouse-wheel-scroll-amount)))
--- 195,201 ----
         (buffer (window-buffer curwin))
         (opoint (with-current-buffer buffer
                   (when (eq (car-safe transient-mark-mode) 'only)
!                    point-before-scroll)))
           (mods
          (delq 'click (delq 'double (delq 'triple (event-modifiers event)))))
           (amt (assoc mods mouse-wheel-scroll-amount)))


fixes everything for me.

Do not know if this is the best solution (I am only an occasional lisp
programmer); I do not even know if the object of my report is actually
a problem or instead is something wanted (if so, I would be surprised).

Apologies for the length of the message and a BIG THANKS for emacs, of
course!


ciao
gabriele

-----

In GNU Emacs 23.1.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.17.6)
 of 2009-08-03 on dschgrazlin1
Windowing system distributor `The XFree86 Project, Inc', version 11.0.40800000
configured using `configure  '--prefix=/usr''

Important settings:
  value of $LC_ALL: C
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: C
  value of $XMODIFIERS: nil
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t





Added tag(s) patch. Request was from Juanma Barranquero <lekktu <at> gmail.com> to control <at> emacsbugs.donarmstrong.com. (Thu, 22 Oct 2009 09:40:12 GMT) Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4023; Package emacs. (Sat, 05 Dec 2009 02:55:06 GMT) Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Sat, 05 Dec 2009 02:55:06 GMT) Full text and rfc822 format available.

Message #12 received at 4023 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Glenn Morris  <rgm <at> gnu.org>,
        gabriele balducci <balducci <at> dschgrazlin2.units.it>
Cc: 4023 <at> debbugs.gnu.org
Subject: Re: mwheel.el uses (point) instead of point-before-scroll
Date: Fri, 04 Dec 2009 21:46:36 -0500
> Just upgraded emacs to 23.1 and noted the following issue, related
> (apparently) to mwheel.el.
>
> Here is how to (hopefully) reproduce the problem.
>
> In an emacs window (under X):
>
> => set the point with mouse-1
> => select a region with mouse-3 some lines below
> => now scroll down with the mouse wheel so that the bottom of the
>    selected region scrolls `out' of the upper edge of the emacs window
>    (the highlighted region must disappear)
> => extend the region by mouse-3 again
> => paste the region with mouse-2 somewhere (e.g. in a clean buffer)
>
>     Result:
>     only the text between the *visible* top of the window and the end of
>     the region has been pasted. I.e. all works as if the beginning of
>     the selected region had moved the first line of the visible portion
>     of the buffer.
>
> This contrasts with the behavior in emacs-22.3, where extending the
> region while scrolling down with the wheel used to work as expected
> (by me): the contents of the region started from the point set with
> mouse-1 at the beginning.
>
> The (correct) behavior in 23.1 is obtained if scrolling is performed
> with the side bar, instead of the wheel (and also if the scroll with
> the wheel does not make the bottom of the region fly out of the upper
> window edge)

This change was made in response to a complaint by Glenn Morris, about
the behavior you desire:

http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg00409.html

  Double-click with left mouse to select the word "tree" from "This
  directory tree...". The word "tree" is highlighted with region face.

  Scroll down with mouse-wheel so that "tree" goes off the top of the
  screen.

  Scroll back up with mouse-wheel.

  Now the region has been extended to cover a lot more text. The further
  I scroll down initially, the more is highlighted.

I have no preference for either behavior, because I don't use the mouse
wheel much.  Either way, we should probably make the scrollbar and mouse
wheel behavior consistent, though.

Glenn, what do you think?



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4023; Package emacs. (Sat, 05 Dec 2009 21:10:04 GMT) Full text and rfc822 format available.

Message #15 received at 4023 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: gabriele balducci <balducci <at> dschgrazlin2.units.it>,
        4023 <at> debbugs.gnu.org
Subject: Re: mwheel.el uses (point) instead of point-before-scroll
Date: Sat, 05 Dec 2009 16:06:32 -0500
Chong Yidong wrote:

> I have no preference for either behavior, because I don't use the mouse
> wheel much.  Either way, we should probably make the scrollbar and mouse
> wheel behavior consistent, though.

Emacs 22.3 seems to make both me and the OP happy.

When transient-mark-mode is off, it does not have the issue I
complained about. When transient-mark-mode is on, it behaves the way
the OP wants. (So by default 22.3 does NOT behave the way the OP asks
for, AFAICS.)

I complained when the behaviour I disliked (and I do find it really
annoying) started happening even when t-m-m was off.

So is there a way to make us both happy, by getting the 22.3 behaviour
back? I don't care at all what the defaults are, so long as I can get
the behaviour I like somehow.



Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#4023; Package emacs. (Wed, 09 Dec 2009 11:20:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to gabriele balducci <balducci <at> dschgrazlin2.units.it>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 09 Dec 2009 11:20:04 GMT) Full text and rfc822 format available.

Message #20 received at 4023 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: gabriele balducci <balducci <at> dschgrazlin2.units.it>
To: rgm <at> gnu.org, cyd <at> stupidchicken.com, 4023 <at> debbugs.gnu.org
Subject: Re: mwheel.el uses (point) instead of point-before-scroll
Date: Wed, 09 Dec 2009 12:42:20 +0100
Hi there

> > I have no preference for either behavior, because I don't use the mouse
> > wheel much.  Either way, we should probably make the scrollbar and mouse
> > wheel behavior consistent, though.

I do not use the wheel very much too, but the occasions on which I use
it are just when I want to mark a wide region  by scrolling!

Actually, I did not realize that someone might want to:

=> mark a (small) region
=> scroll down with the wheel
=> paste the region contents previously selected

and, of course, this is just the opposite of what I normally do!

> 
> Emacs 22.3 seems to make both me and the OP happy.
> 
> When transient-mark-mode is off, it does not have the issue I
> complained about. When transient-mark-mode is on, it behaves the way
> the OP wants. (So by default 22.3 does NOT behave the way the OP asks
> for, AFAICS.)

Actually, I used to raise transient-mark-mode on at emacs startup

> 
> I complained when the behaviour I disliked (and I do find it really
> annoying) started happening even when t-m-m was off.
> 
> So is there a way to make us both happy, by getting the 22.3 behaviour
> back? I don't care at all what the defaults are, so long as I can get
> the behaviour I like somehow.

Me too.

I am not a lisp/emacs developer, so do not know whether this might be a
good/feasible option: what about a t/nil configurable variable such as
wheel-scroll-extends-region?

thanks and ciao
gabriele



Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Wed, 09 Oct 2019 00:40:01 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 248 days ago.

Previous Next


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