all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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 ` Erroneous selection extension in Emacs version 22.1 for Win32 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] <251292.40142.qm@web58609.mail.re3.yahoo.com>
2007-06-11 20:10 ` Erroneous selection extension in Emacs version 22.1 for Win32 Eli Zaretskii
2007-06-22 11:51   ` martin rudalics
     [not found] <121608.61940.qm@web58613.mail.re3.yahoo.com>
2007-06-26 12:04 ` martin rudalics
     [not found] <234179.27310.qm@web58611.mail.re3.yahoo.com>
2007-06-26 12:03 ` martin rudalics
2007-06-10  6:22 Bostjan Vilfan
2007-06-10 19:03 ` Eli Zaretskii

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.