* Erroneous selection extension in Emacs version 22.1 for Win32
@ 2007-06-10 6:22 Bostjan Vilfan
2007-06-10 19:03 ` Eli Zaretskii
0 siblings, 1 reply; 6+ messages in thread
From: Bostjan Vilfan @ 2007-06-10 6:22 UTC (permalink / raw)
To: bug-gnu-emacs
[-- Attachment #1.1: Type: text/plain, Size: 5891 bytes --]
If a text is selected and the selected text is scrolled away from the visible
window (using the mouse pointer on the scroll bar on the right or on the up
or down scroll button, top and bottom right), the selected area is extended
at the same time as the original selected text moves away from the window.
I checked the previous version of Emacs that I used (21.3), and it did not behave in
this way. In my opinion the current behavior is a bug. There are situations
where "automatic extension of selection" feels natural; for example, when one
selects a text, and, while the mouse button is pressed, the mouse is
simultaneously moved downward, even below the emacs window. In that case the
text is scrolled upward and the selected area is extended at the same time as
the originally selected text travels upward. In my opinion the bug I am
reporting consists of the fact that "selection extension when mouse button
pressed" is not cancelled once the mouse pointer enters the the scroll bar
area.
Regards,
BV bostjanv@alum.mit.edu
In GNU Emacs 22.1.1 (i386-mingw-nt5.1.2600)
of 2007-06-02 on RELEASE
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --cflags -Ic:/gnuwin32/include'
Important settings:
value of $LC_ALL: nil
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: ENU
locale-coding-system: cp1250
default-enable-multibyte-characters: t
Major mode: Fundamental
Minor modes in effect:
encoded-kbd-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
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: identity
Recent input:
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <help-echo> <help-echo>
<help-echo> C-c C-c <help-echo> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <help-echo> <down-mouse-1> <mouse-movement>
<mouse-movement> <drag-mouse-1> <delete> <help-echo>
<help-echo> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <down-mouse-1>
<mouse-1> <return> <help-echo> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <help-echo> <help-echo>
<help-echo> <down-mouse-1> <mouse-movement> <mouse-movement>
<mouse-movement> <mouse-movement> <mouse-movement>
<mouse-movement> <mouse-movement> <mouse-movement>
<drag-mouse-1> <help-echo> <down-mouse-1> <mouse-1>
C-x k <return> <backspace> <backspace> <backspace>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <menu-bar>
<file> <one-window> <help-echo> <help-echo> <help-echo>
<drag-n-drop> <down-mouse-1> <mouse-movement> <mouse-movement>
<drag-mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo>
<help-echo> <help-echo> <help-echo> <menu-bar> <help-menu>
<report-emacs-bug>
Recent messages:
mail-send: Invalid header line (maybe a continuation line lacks initial whitespace)
Mark set
mail-send: Invalid header line (maybe a continuation line lacks initial whitespace)
Auto-saving...done
Auto-saving...done
Mark set
Auto-saving...done
Mark set
mail-send: Invalid header line (maybe a continuation line lacks initial whitespace)
Auto-saving...done
____________________________________________________________________________________
Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out.
http://answers.yahoo.com/dir/?link=list&sid=396545433
[-- Attachment #1.2: Type: text/html, Size: 8353 bytes --]
[-- Attachment #2: Type: text/plain, Size: 149 bytes --]
_______________________________________________
bug-gnu-emacs mailing list
bug-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Erroneous selection extension in Emacs version 22.1 for Win32
2007-06-10 6:22 Bostjan Vilfan
@ 2007-06-10 19:03 ` Eli Zaretskii
0 siblings, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2007-06-10 19:03 UTC (permalink / raw)
To: Bostjan Vilfan; +Cc: bug-gnu-emacs
> Date: Sat, 9 Jun 2007 23:22:16 -0700 (PDT)
> From: Bostjan Vilfan <bvilf@yahoo.com>
>
> If a text is selected and the selected text is scrolled away from the visible
> window (using the mouse pointer on the scroll bar on the right or on the up
> or down scroll button, top and bottom right), the selected area is extended
> at the same time as the original selected text moves away from the window.
Thank you for your report.
However, I cannot reproduce this in "emacs -Q". Can you tell how do
you decide that the selection is extended? Does the portion of text
with yellow background become longer? It doesn't for me.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Erroneous selection extension in Emacs version 22.1 for Win32
[not found] <251292.40142.qm@web58609.mail.re3.yahoo.com>
@ 2007-06-11 20:10 ` Eli Zaretskii
2007-06-22 11:51 ` martin rudalics
0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2007-06-11 20:10 UTC (permalink / raw)
To: Bostjan Vilfan; +Cc: bug-gnu-emacs
[Please keep the discussion on the mailing list.]
> Date: Sun, 10 Jun 2007 23:19:59 -0700 (PDT)
> From: Bostjan Vilfan <bvilf@yahoo.com>
>
> The meaning of "extension of selection" is the one you gave: yellow area is extended. On receiving your reply I repeated the experiment, and observed a slightly nuanced outcome, as follows.
>
> First of all, I used "runemacs -Q" as you did, although the result is the same for a plain "runemacs". Then on the first try I loaded a file that was larger than the emacs window (allowing the scroll bar to be used), then I selected a word on the second line (painting it yellow), and performed a scroll. To my consternation, the operation was correct (without extension of selection). However, I later found that the behavior was more complicated. Correct behavior results only if the scroll is performed slowly. If the scroll is performed quickly, extension of selection occurs. The interesting thing is that once an extension of selection occurs as described, even a slow scroll results in extension of selection.
>
> After this I rechecked emacs version 21.3 for Win32, and found that no matter how the scroll is performed, it always comes out correct.
I can confirm that with that recipe I can reproduce the problem on my
machine. Thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Erroneous selection extension in Emacs version 22.1 for Win32
2007-06-11 20:10 ` Eli Zaretskii
@ 2007-06-22 11:51 ` martin rudalics
0 siblings, 0 replies; 6+ messages in thread
From: martin rudalics @ 2007-06-22 11:51 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Bostjan Vilfan, bug-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 125 bytes --]
> I can confirm that with that recipe I can reproduce the problem on my
> machine. Thanks.
Does the attached patch fix it?
[-- Attachment #2: mouse.patch --]
[-- Type: text/plain, Size: 509 bytes --]
*** mouse.el Wed Jun 20 09:53:10 2007
--- mouse.el Fri Jun 22 13:47:16 2007
***************
*** 1013,1018 ****
--- 1013,1021 ----
(overlay-start mouse-drag-overlay))
region-termination))
last-command this-command)
+ ;; Turn off temporary transient-mark-mode.
+ (when (eq transient-mark-mode 'identity)
+ (setq transient-mark-mode nil))
(push-mark region-commencement t t)
(goto-char region-termination)
(if (not do-mouse-drag-region-post-process)
[-- Attachment #3: Type: text/plain, Size: 149 bytes --]
_______________________________________________
bug-gnu-emacs mailing list
bug-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Erroneous selection extension in Emacs version 22.1 for Win32
[not found] <234179.27310.qm@web58611.mail.re3.yahoo.com>
@ 2007-06-26 12:03 ` martin rudalics
0 siblings, 0 replies; 6+ messages in thread
From: martin rudalics @ 2007-06-26 12:03 UTC (permalink / raw)
To: Bostjan Vilfan; +Cc: bug-gnu-emacs
> I tried your fix, but it does not seem to help (I get the same symptoms). The only thing I noticed is that the text
>
> (overlay-start mouse-drag-overlay))
>
> is on line 1007 of mouse.el and not on 1013. Is this significant?
My patch was against CVS-1.316 of mouse.el. Your six lines difference
is probably due to a patch I applied earlier. Maybe the patch didn't
apply correctly in your case. Please make sure (if necessary manually)
that your code around the proposed change in `mouse-drag-track' appears
(untabified) as:
.....
;; The end that comes from where we started the drag.
;; Mark goes there.
(region-commencement
(- (+ (overlay-end mouse-drag-overlay)
(overlay-start mouse-drag-overlay))
region-termination))
last-command this-command)
;; Turn off tracking.
(when (eq transient-mark-mode 'identity)
(setq transient-mark-mode nil))
(push-mark region-commencement t t)
(goto-char region-termination)
(if (not do-mouse-drag-region-post-process)
;; Skip all post-event handling, return immediately.
(delete-overlay mouse-drag-overlay)
;; Don't let copy-region-as-kill set deactivate-mark.
....
Note also that mouse.el is preloaded. Hence you must either re-make
Emacs or load mouse.el separately (if you can't make).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Erroneous selection extension in Emacs version 22.1 for Win32
[not found] <121608.61940.qm@web58613.mail.re3.yahoo.com>
@ 2007-06-26 12:04 ` martin rudalics
0 siblings, 0 replies; 6+ messages in thread
From: martin rudalics @ 2007-06-26 12:04 UTC (permalink / raw)
To: Bostjan Vilfan; +Cc: bug-gnu-emacs
> Hello,
> I sent you a previous post, but it may have been premature. I think that your patch results in at least much better behavior. I will observe it for some time, and give you my final verdict in a day or two.
Your recipe for producing the bug was overly difficult ;-)
To reproduce the bug proceed as follows (without my patch, obviously):
With emacs -Q insert the following line in *scratch*
(overlay-put mouse-drag-overlay 'face 'isearch)
put the cursor after it and hit C-x C-e (`eval-last-sexp').
Make sure that `transient-mark-mode' is off (it is by default).
Now mark the line with the left mouse button (`mouse-set-region'). It
should be highlighted in the face `isearch' (some kind of magenta on my
system). Click the left mouse button and the highlighting should
disappear. Everything's nice.
Now again mark the line as above. When you _release_ the left button
the line should be highlighted in `region' face (a goldenrod on my
system). Look at the value of `transient-mark-mode'. It should be
'identity. If you look at the menu bar's
Options -> Active Region Highlighting
you will see that it's checked: `mouse-drag-track' has "turned on"
`transient-mark-mode'. In your original report you observed a marking
behavior as with `transient-mark-mode' on (which is a real pain, BTW).
The funny thing about this is that for some three years people who had
`transient-mark-mode' disabled, actually did use `transient-mark-mode'
(admittedly only those who used `mouse-set-region').
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2007-06-26 12:04 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <121608.61940.qm@web58613.mail.re3.yahoo.com>
2007-06-26 12:04 ` Erroneous selection extension in Emacs version 22.1 for Win32 martin rudalics
[not found] <234179.27310.qm@web58611.mail.re3.yahoo.com>
2007-06-26 12:03 ` martin rudalics
[not found] <251292.40142.qm@web58609.mail.re3.yahoo.com>
2007-06-11 20:10 ` Eli Zaretskii
2007-06-22 11:51 ` martin rudalics
2007-06-10 6:22 Bostjan Vilfan
2007-06-10 19:03 ` Eli Zaretskii
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).