GNU bug report logs -
#24101
24.5; incorrect double-click selection in cperl-mode
Previous Next
To reply to this bug, email your comments to 24101 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#24101
; Package
emacs
.
(Fri, 29 Jul 2016 00:07:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Vincent Lefevre <vincent <at> vinc17.net>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 29 Jul 2016 00:07:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
1. Under X Window (so that Emacs uses its own interface), open
a file containing:
# -*- mode: cperl -*-
tr/ABCDE/12345/;
2. Double-click over "4".
Only "2345" is selected, instead of "12345".
In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.20.3)
of 2016-05-07 on zira, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11804000
System Description: Debian GNU/Linux stable-updates (sid)
Configured using:
`configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
--build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
--libexecdir=/usr/lib --localstatedir=/var/lib
--infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
--with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
'CFLAGS=-g -O2 -fstack-protector-strong -Wformat
-Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
Important settings:
value of $LC_COLLATE: POSIX
value of $LC_CTYPE: en_US.UTF-8
value of $LC_TIME: en_DK
value of $LANG: POSIX
locale-coding-system: utf-8-unix
Major mode: Lisp Interaction
Minor modes in effect:
display-time-mode: t
show-paren-mode: t
tooltip-mode: t
electric-indent-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
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
Loading cjk-enc...done
Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
Loading /etc/emacs/site-start.d/50psvn.el (source)...done
Loading /etc/emacs/site-start.d/50python-docutils.el (source)...done
Loading /etc/emacs/site-start.d/50rnc-mode.el (source)...done
Loading /etc/emacs/site-start.d/50texlive-lang-english.el (source)...done
Loading /home/vinc17/share/emacs/site-lisp/mutteditor.el (source)...done
Loading time...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Load-path shadows:
/usr/share/emacs/24.5/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.5/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/24.5/lisp/language/thai-word
Features:
(shadow sort gnus-util mail-extr warnings 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 cus-start
cus-load paren cc-styles cc-align cc-engine cc-vars cc-defs edmacro
kmacro cl-loaddefs cl-lib 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
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)
Memory information:
((conses 16 92575 4671)
(symbols 48 20397 0)
(miscs 40 45 93)
(strings 32 16037 4299)
(string-bytes 1 472568)
(vectors 16 10305)
(vector-slots 8 396942 4282)
(floats 8 70 229)
(intervals 56 231 6)
(buffers 960 12)
(heap 1024 37269 984))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#24101
; Package
emacs
.
(Fri, 29 Jul 2016 01:11:01 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Thanks; I can reproduce this on master. Calling word-at-point on "2" shows the same problem (it doesn't include "1").
The problem seems to be a custom syntax-table property that cperl-mode puts on "1".
Clément.
On 2016-07-28 20:05, Vincent Lefevre wrote:
>
> 1. Under X Window (so that Emacs uses its own interface), open
> a file containing:
>
> # -*- mode: cperl -*-
>
> tr/ABCDE/12345/;
>
> 2. Double-click over "4".
>
> Only "2345" is selected, instead of "12345".
>
>
>
> In GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.20.3)
> of 2016-05-07 on zira, modified by Debian
> Windowing system distributor `The X.Org Foundation', version 11.0.11804000
> System Description: Debian GNU/Linux stable-updates (sid)
>
> Configured using:
> `configure --build x86_64-linux-gnu --prefix=/usr
> --sharedstatedir=/var/lib --libexecdir=/usr/lib
> --localstatedir=/var/lib --infodir=/usr/share/info
> --mandir=/usr/share/man --with-pop=yes
> --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
> --build x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
> --libexecdir=/usr/lib --localstatedir=/var/lib
> --infodir=/usr/share/info --mandir=/usr/share/man --with-pop=yes
> --enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.5/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.5/site-lisp:/usr/share/emacs/site-lisp
> --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars
> 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat
> -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
> -D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
>
> Important settings:
> value of $LC_COLLATE: POSIX
> value of $LC_CTYPE: en_US.UTF-8
> value of $LC_TIME: en_DK
> value of $LANG: POSIX
> locale-coding-system: utf-8-unix
>
> Major mode: Lisp Interaction
>
> Minor modes in effect:
> display-time-mode: t
> show-paren-mode: t
> tooltip-mode: t
> electric-indent-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
> auto-composition-mode: t
> auto-encryption-mode: t
> auto-compression-mode: t
> column-number-mode: t
> line-number-mode: t
> transient-mark-mode: t
>
> Recent messages:
> Loading cjk-enc...done
> Loading /etc/emacs/site-start.d/50latex-cjk-common.el (source)...done
> Loading /etc/emacs/site-start.d/50latex-cjk-thai.el (source)...done
> Loading /etc/emacs/site-start.d/50psvn.el (source)...done
> Loading /etc/emacs/site-start.d/50python-docutils.el (source)...done
> Loading /etc/emacs/site-start.d/50rnc-mode.el (source)...done
> Loading /etc/emacs/site-start.d/50texlive-lang-english.el (source)...done
> Loading /home/vinc17/share/emacs/site-lisp/mutteditor.el (source)...done
> Loading time...done
> For information about GNU Emacs and the GNU system, type C-h C-a.
>
> Load-path shadows:
> /usr/share/emacs/24.5/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
> /usr/share/emacs24/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
> /usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.5/lisp/textmodes/rst
> /usr/share/emacs24/site-lisp/latex-cjk-thai/thai-word hides /usr/share/emacs/24.5/lisp/language/thai-word
>
> Features:
> (shadow sort gnus-util mail-extr warnings 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 cus-start
> cus-load paren cc-styles cc-align cc-engine cc-vars cc-defs edmacro
> kmacro cl-loaddefs cl-lib 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
> gfilenotify dynamic-setting system-font-setting font-render-setting
> move-toolbar gtk x-toolkit x multi-tty emacs)
>
> Memory information:
> ((conses 16 92575 4671)
> (symbols 48 20397 0)
> (miscs 40 45 93)
> (strings 32 16037 4299)
> (string-bytes 1 472568)
> (vectors 16 10305)
> (vector-slots 8 396942 4282)
> (floats 8 70 229)
> (intervals 56 231 6)
> (buffers 960 12)
> (heap 1024 37269 984))
>
>
>
>
[signature.asc (application/pgp-signature, attachment)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#24101
; Package
emacs
.
(Fri, 05 Jul 2019 20:18:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 24101 <at> debbugs.gnu.org (full text, mbox):
Clément Pit--Claudel <clement.pit <at> gmail.com> writes:
> Thanks; I can reproduce this on master. Calling word-at-point on "2" shows the same problem (it doesn't include "1").
> The problem seems to be a custom syntax-table property that cperl-mode puts on "1".
>
> Clément.
>
> On 2016-07-28 20:05, Vincent Lefevre wrote:
>>
>> 1. Under X Window (so that Emacs uses its own interface), open
>> a file containing:
>>
>> # -*- mode: cperl -*-
>>
>> tr/ABCDE/12345/;
>>
>> 2. Double-click over "4".
>>
>> Only "2345" is selected, instead of "12345".
I can reproduce this on Emacs 26.2.
Best regards,
Stefan Kangas
Added tag(s) confirmed.
Request was from
Stefan Kangas <stefan <at> marxist.se>
to
control <at> debbugs.gnu.org
.
(Fri, 23 Aug 2019 06:40:03 GMT)
Full text and
rfc822 format available.
bug Marked as found in versions 26.2.
Request was from
Stefan Kangas <stefan <at> marxist.se>
to
control <at> debbugs.gnu.org
.
(Fri, 23 Aug 2019 06:40:04 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#24101
; Package
emacs
.
(Tue, 04 Jul 2023 16:17:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 24101 <at> debbugs.gnu.org (full text, mbox):
On 2016-07-28 20:05, Vincent Lefevre wrote:
> 1. Under X Window (so that Emacs uses its own interface), open
> a file containing:
>
> # -*- mode: cperl -*-
>
> tr/ABCDE/12345/;
>
> 2. Double-click over "4".
>
> Only "2345" is selected, instead of "12345".
The bug can still be reproduced in Emacs master (Emacs 30).
Unfortunately, it can not be fixed due to an Emacs limitation.
Background: cperl-mode treats the "match"-part and the
"replacement"-part differently. To do that, cperl-mode uses the
"generic strings" of Emacs. These need a delimiter character, but the
middle "/" can not serve as a end delimiter for the match part _and_ a
start delimiter of the replacement part. So cperl-mode "cheats" and
makes the first character of the replacement part the start delimiter,
and by doing this, it is no longer part of the following "word".
Changing that would mean dropping significant features of cperl-mode.
Therefore, this only happens for words which start immediately after the
"/" which separates match- from replacement part.
A workaround is to use paired delimiters, because in that case
cperl-mode has two characters to use as end and start delimiter.
Selecting by double-clicking (or calling word-at-point) gives the
desired result.
tr{ABCDE}{12345};
So, as of today I can still confirm the bug - but not fix it.
--
Cheers,
haj
This bug report was last modified 1 year and 345 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.