* bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region
@ 2014-11-09 10:26 Christian Tanzer
2014-11-10 22:55 ` Stefan Monnier
2014-11-11 1:39 ` Stefan Monnier
0 siblings, 2 replies; 5+ messages in thread
From: Christian Tanzer @ 2014-11-09 10:26 UTC (permalink / raw)
To: 19003
Starting point
===============
A buffer is displayed in two frames, a region was
selected with the mouse in one of the frames.
The problem
=============
If one clicks (mouse-1) into the other frame, the region is silently
extended to that point — although it isn't highlighted anymore.
A subsequent mouse-yank-primary inserts the broken region.
I originally noticed this problem when I used mouse-yank-primary to
yank a region into a different frame (without fist using mouse-1 to
select that frame).
For mouse-yank-primary, it can be solved by moving
(or mouse-yank-at-point (mouse-set-point click))
into the `let' for `primary'. I have no idea how to solve it for
mouse-1 events.
Emacs versions effected
=========================
I originally noticed the problem in Emacs 24.1.
It's still there in 24.4.
The problem occurs, when starting from `emacs -Q'.
In GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version 2.24.24)
of 2014-10-22 on tr
Windowing system distributor `The X.Org Foundation', version 11.0.11500000
Configured using:
`configure --prefix=/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --mandir=/usr/share/man
--infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
--localstatedir=/var/lib --libdir=/usr/lib64 --disable-silent-rules
--disable-dependency-tracking --program-suffix=-emacs-24
--infodir=/usr/share/info/emacs-24 --localstatedir=/var
--enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
--with-gameuser=games --without-compress-install
--with-file-notification=inotify --disable-acl --with-dbus
--with-gnutls --with-gpm --without-hesiod --without-kerberos
--without-kerberos5 --without-xml2 --without-selinux --without-wide-int
--with-zlib --with-sound=alsa --with-x --without-ns --without-gconf
--without-gsettings --with-toolkit-scroll-bars --with-gif --with-jpeg
--without-png --with-rsvg --with-tiff --with-xpm --with-imagemagick
--with-xft --without-libotf --without-m17n-flt --with-x-toolkit=gtk2
GENTOO_PACKAGE=app-editors/emacs-24.4 'CFLAGS=-march=core2 -O2 -pipe'
CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed''
Important settings:
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix
Major mode: Emacs-Lisp
Minor modes in effect:
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-4>
<mouse-4> <double-down-mouse-4> <double-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <triple-down-mouse-4> <triple-mouse-4>
<triple-down-mouse-4> <triple-mouse-4> <triple-down-mouse-4>
<triple-mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-4> <mouse-4> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <down-mouse-5>
<mouse-5> <double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<down-mouse-5> <mouse-5> <double-down-mouse-5> <double-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <down-mouse-5> <mouse-5> <double-down-mouse-5>
<double-mouse-5> <help-echo> <switch-frame> <down-mouse-1>
<mouse-movement> <mouse-1> <down-mouse-5> <mouse-5>
<double-down-mouse-5> <double-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<triple-down-mouse-5> <triple-mouse-5> <triple-down-mouse-5>
<triple-mouse-5> <triple-down-mouse-5> <triple-mouse-5>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1>
<mouse-1> <mouse-1> <mouse-1> <mouse-1> <mouse-1> <switch-frame>
<down-mouse-1> <mouse-movement> <mouse-1> <double-down-mouse-1>
<double-mouse-1> <help-echo> <help-echo> <switch-frame>
<down-mouse-1> <mouse-movement> <mouse-1> <down-mouse-2>
<mouse-2> r e p o r t - C-_ M-x r e p o r t <tab>
<return>
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
(No files need saving)
C-x <mouse-5> is undefined
byte-code: Beginning of buffer
Mark set
Undo!
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils time-date tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote make-network-process
dbusbind inotify dynamic-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)
Memory information:
((conses 16 90242 9111)
(symbols 48 17584 0)
(miscs 40 62 139)
(strings 32 9232 4284)
(string-bytes 1 253117)
(vectors 16 9031)
(vector-slots 8 394987 16042)
(floats 8 67 531)
(intervals 56 4353 0)
(buffers 960 13)
(heap 1024 13846 595))
--
Christian Tanzer http://www.c-tanzer.at/
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region
2014-11-09 10:26 bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region Christian Tanzer
@ 2014-11-10 22:55 ` Stefan Monnier
2014-11-11 1:39 ` Stefan Monnier
1 sibling, 0 replies; 5+ messages in thread
From: Stefan Monnier @ 2014-11-10 22:55 UTC (permalink / raw)
To: Christian Tanzer; +Cc: 19003
> A buffer is displayed in two frames, a region was
> selected with the mouse in one of the frames.
> The problem
> =============
> If one clicks (mouse-1) into the other frame, the region is silently
> extended to that point — although it isn't highlighted anymore.
Actually, the region is extended as soon as you select the other frame
(if you have a window-manager that lets focus follow the mouse, then
you see it immediately).
So the problem is that this "switch-frame" should probably deactivate
the mark (if the region was set via shifted-movement).
Stefan
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region
2014-11-09 10:26 bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region Christian Tanzer
2014-11-10 22:55 ` Stefan Monnier
@ 2014-11-11 1:39 ` Stefan Monnier
2014-11-14 11:28 ` Christian Tanzer
1 sibling, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2014-11-11 1:39 UTC (permalink / raw)
To: Christian Tanzer; +Cc: 19003
Would the patch below solve it for you?
Stefan
=== modified file 'src/frame.c'
--- src/frame.c 2014-11-10 20:05:40 +0000
+++ src/frame.c 2014-11-10 22:55:38 +0000
@@ -1198,7 +1198,7 @@
return do_switch_frame (frame, 1, 0, norecord);
}
-DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 1, "e",
+DEFUN ("handle-switch-frame", Fhandle_switch_frame, Shandle_switch_frame, 1, 1, "^e",
doc: /* Handle a switch-frame event EVENT.
Switch-frame events are usually bound to this function.
A switch-frame event tells Emacs that the window manager has requested
=== modified file 'lisp/window.el'
--- lisp/window.el 2014-10-15 18:32:27 +0000
+++ lisp/window.el 2014-11-10 22:56:00 +0000
@@ -7904,7 +7904,7 @@
(defun handle-select-window (event)
"Handle select-window events."
- (interactive "e")
+ (interactive "^e")
(let ((window (posn-window (event-start event))))
(unless (or (not (window-live-p window))
;; Don't switch if we're currently in the minibuffer.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-11-16 5:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-09 10:26 bug#19003: 24.4; Mouse-click in different frame displaying same buffer breaks region Christian Tanzer
2014-11-10 22:55 ` Stefan Monnier
2014-11-11 1:39 ` Stefan Monnier
2014-11-14 11:28 ` Christian Tanzer
2014-11-16 5:30 ` Stefan Monnier
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).