unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#24101: 24.5; incorrect double-click selection in cperl-mode
@ 2016-07-29  0:05 Vincent Lefevre
  2016-07-29  1:09 ` Clément Pit--Claudel
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Vincent Lefevre @ 2016-07-29  0:05 UTC (permalink / raw)
  To: 24101


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))





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#24101: 24.5; incorrect double-click selection in cperl-mode
  2016-07-29  0:05 bug#24101: 24.5; incorrect double-click selection in cperl-mode Vincent Lefevre
@ 2016-07-29  1:09 ` Clément Pit--Claudel
  2019-07-05 20:17 ` Stefan Kangas
  2023-07-04 16:16 ` bug#24101: This bug is ... unfixable right now Harald Jörg
  2 siblings, 0 replies; 4+ messages in thread
From: Clément Pit--Claudel @ 2016-07-29  1:09 UTC (permalink / raw)
  To: 24101


[-- Attachment #1.1: Type: text/plain, Size: 5092 bytes --]

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))
> 
> 
> 
> 


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#24101: 24.5; incorrect double-click selection in cperl-mode
  2016-07-29  0:05 bug#24101: 24.5; incorrect double-click selection in cperl-mode Vincent Lefevre
  2016-07-29  1:09 ` Clément Pit--Claudel
@ 2019-07-05 20:17 ` Stefan Kangas
  2023-07-04 16:16 ` bug#24101: This bug is ... unfixable right now Harald Jörg
  2 siblings, 0 replies; 4+ messages in thread
From: Stefan Kangas @ 2019-07-05 20:17 UTC (permalink / raw)
  To: 24101, Clément Pit--Claudel

Clément Pit--Claudel <clement.pit@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





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#24101: This bug is ... unfixable right now
  2016-07-29  0:05 bug#24101: 24.5; incorrect double-click selection in cperl-mode Vincent Lefevre
  2016-07-29  1:09 ` Clément Pit--Claudel
  2019-07-05 20:17 ` Stefan Kangas
@ 2023-07-04 16:16 ` Harald Jörg
  2 siblings, 0 replies; 4+ messages in thread
From: Harald Jörg @ 2023-07-04 16:16 UTC (permalink / raw)
  To: 24101

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





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-07-04 16:16 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-29  0:05 bug#24101: 24.5; incorrect double-click selection in cperl-mode Vincent Lefevre
2016-07-29  1:09 ` Clément Pit--Claudel
2019-07-05 20:17 ` Stefan Kangas
2023-07-04 16:16 ` bug#24101: This bug is ... unfixable right now Harald Jörg

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).