unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: gabriele balducci <balducci@dschgrazlin2.units.it>
To: bug-gnu-emacs@gnu.org
Subject: bug#4023: mwheel.el uses (point) instead of point-before-scroll
Date: Mon, 03 Aug 2009 18:26:51 +0200	[thread overview]
Message-ID: <22673.1249316835@dschgrazlin2.units.it> (raw)

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







             reply	other threads:[~2009-08-03 16:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-03 16:26 gabriele balducci [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-12-05  2:46 bug#4023: mwheel.el uses (point) instead of point-before-scroll Chong Yidong
2009-12-05 21:06 ` Glenn Morris
2009-12-09 11:42   ` gabriele balducci

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=22673.1249316835@dschgrazlin2.units.it \
    --to=balducci@dschgrazlin2.units.it \
    --cc=4023@emacsbugs.donarmstrong.com \
    --cc=balducci@univ.trieste.it \
    --cc=bug-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).