From: Michael Heerdegen <michael_heerdegen@web.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 17562@debbugs.gnu.org
Subject: bug#17562: 24.4.50; REGRESSION: mouse double-click on `(` does not select whole Lisp sexp
Date: Tue, 27 May 2014 02:55:04 +0200 [thread overview]
Message-ID: <87tx8cdorb.fsf@web.de> (raw)
In-Reply-To: <jwvppj0rwc3.fsf-monnier+emacsbugs@gnu.org> (Stefan Monnier's message of "Mon, 26 May 2014 18:54:09 -0400")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> > Visit dired.el. Double-click on the opening paren of
> > (defun dired-get-filename ...
> > Only part of the defun is selected.
>
> Hmm... I can't reproduce it here (using "emacs -Q"):
> - after opening dired.el I first have to search for "defun
> dired-get-filename"
> because it's not immediately visible.
> - once it's in sight, if I double-click on it, the whole expression is
> selected&highlighted, point is moved to right after the matching close
> paren, and as a consequence the window is redrawn to show the end of
> the expression (since the beginning is now outside of the window).
>
> I never use this feature, but I see the exact same behavior in
> Emacs-24.3, so I assume it's the way it's always worked.
>
> Can you reproduce the problem with "emacs -Q"?
Yes. There is no misunderstanding, you obviously don't see what we
see. Are you sure you tried with trunk, and not emacs-24?
Here's what I found out in the meantime:
In contrast to before the above commit, the second click now leads to a call
to `mouse-set-region'. I tried to debug-on-entry `mouse-set-region' in
both emacs -Q and tried our recipe:
- Without your commit, the command is not run (no debugger)
- With your commit, the debugger pops up. When the debugger pops up,
the window already has been scrolled, and point is indeed at the end
of the sexp. After `mouse-set-region' has finished, point has been
replaced according to the position under the mouse (after scrolling).
In general, in current trunk, when window scrolling happens, point is
now always positioned in the line under the mouse, instead of after the
sexp. Seems like something happens similar to what is described in the
old code:
;; Don't run the up-event handler if the window
;; start changed in a redisplay after the
;; mouse-set-point for the down-mouse event at
;; the beginning of this function. When the
;; window start has changed, the up-mouse event
;; contains a different position due to the new
;; window contents, and point is set again.
Michael.
next prev parent reply other threads:[~2014-05-27 0:55 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-23 17:00 bug#17562: 24.4.50; REGRESSION: mouse double-click on `(` does not select whole Lisp sexp Drew Adams
2014-05-26 19:29 ` Drew Adams
2014-05-26 19:31 ` Drew Adams
2014-05-26 21:41 ` Stephen Berman
2014-05-26 22:01 ` Drew Adams
2014-05-26 22:25 ` Michael Heerdegen
2014-05-26 22:42 ` Michael Heerdegen
2014-05-26 22:54 ` Stefan Monnier
2014-05-27 0:38 ` Drew Adams
2014-05-27 0:55 ` Michael Heerdegen [this message]
2014-05-27 3:32 ` Stefan Monnier
2014-05-27 5:08 ` Stefan Monnier
2014-05-27 18:18 ` Michael Heerdegen
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=87tx8cdorb.fsf@web.de \
--to=michael_heerdegen@web.de \
--cc=17562@debbugs.gnu.org \
--cc=monnier@iro.umontreal.ca \
/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).