* bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
@ 2023-10-21 12:07 Дилян Палаузов
2023-10-21 12:44 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Дилян Палаузов @ 2023-10-21 12:07 UTC (permalink / raw)
To: 66664
Hello,
I have a text unix file u.txt where I insert this line:
t.add('🌐︎ ' + 'abcd')
That is a globe U+1F310 followed by Unicode Variation Selector 15 to remove the colour of the globe.
$ hexdump -C u.txt
00000000 74 2e 61 64 64 28 27 f0 9f 8c 90 ef b8 8e 20 27 |t.add('....... '|
00000010 20 2b 20 27 61 62 63 64 27 29 0a | + 'abcd').|
0000001b
I open the file in text mode, emacs-fedora-28.3 -nw, and press the right arrow repeatedly to go over c. Then I press x. emacs shows that c is deleted and on its place appears x. I press Ctrl+L to refresh. Now c appears before x.
I close emacs, repeat the above steps and get consistent results. I try this on a different system with self-compiled emacs 29.1, same results.
The problem report is that when that character sequence is contained in a text file, modifying more complex lines gets practically impossible with emacs, as the latter stops showing the actual text. I have to refresh, close, open emacs several times in order to get modifications correctly on the lines, containing the above sequence. I literally cannot see what I am changing on such lines, as what is displayed is different to what is actually modified.
Kind regards
Dilyan
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
2023-10-21 12:07 bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines Дилян Палаузов
@ 2023-10-21 12:44 ` Eli Zaretskii
2023-10-21 13:12 ` Дилян Палаузов
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-10-21 12:44 UTC (permalink / raw)
To: Дилян Палаузов
Cc: 66664
> From: Дилян Палаузов
> <dilyan.palauzov@aegee.org>
> Date: Sat, 21 Oct 2023 14:07:52 +0200
>
> Hello,
>
> I have a text unix file u.txt where I insert this line:
>
>
> t.add('🌐︎ ' + 'abcd')
>
> That is a globe U+1F310 followed by Unicode Variation Selector 15 to remove the colour of the globe.
>
> $ hexdump -C u.txt
> 00000000 74 2e 61 64 64 28 27 f0 9f 8c 90 ef b8 8e 20 27 |t.add('....... '|
> 00000010 20 2b 20 27 61 62 63 64 27 29 0a | + 'abcd').|
> 0000001b
>
> I open the file in text mode, emacs-fedora-28.3 -nw, and press the right arrow repeatedly to go over c. Then I press x. emacs shows that c is deleted and on its place appears x. I press Ctrl+L to refresh. Now c appears before x.
>
> I close emacs, repeat the above steps and get consistent results. I try this on a different system with self-compiled emacs 29.1, same results.
What is the terminal emulator you are using, and on what OS?
Basically, what the above means is that the text terminal you are
using doesn't support the sequence of U+1F310 followed by VS-15 as
Emacs expects it. On such a terminal you need to disable
auto-composition-mode to be able to edit such text.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
2023-10-21 12:44 ` Eli Zaretskii
@ 2023-10-21 13:12 ` Дилян Палаузов
2023-10-21 13:36 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Дилян Палаузов @ 2023-10-21 13:12 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 66664
Hello Eli,
thanks for your answer. I am using Gnome Terminal 3.48.1 on Fedora 38, but with MATE Terminal 1.26.1 the same happens. I tried to follow your advice. I start emacs -nw u.txt , then M-x auto-composition-mode.
Emacs changes the displayed text from
t.add('🌐︎ ' + 'abcd')
to
t.add('🌐 ' + 'abcd')
and prints “Auto-Composition mode disabled in current buffer”. After the change the globe is coloured in the terminal and there is an underscore after the globe. I again press several times the right arrow to go over the letter c and then press x. Emacs again deletes (actually hides) the letter c and shows on its place the letter x.
So in this example turning off auto-composition-mode does not help.
I expect that the letter c stays visible.
What terminals and OSes do you recommend, which work good with enabled auto-composition-mode?
Kind regards
Дилян
-----Original Message-----
From: Eli Zaretskii <eliz@gnu.org>
To: Дилян Палаузов <dilyan.palauzov@aegee.org>
Cc: 66664@debbugs.gnu.org
Subject: Re: bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
Date: 10/21/2023 02:44:11 PM
> From: Дилян Палаузов
> <dilyan.palauzov@aegee.org>
> Date: Sat, 21 Oct 2023 14:07:52 +0200
>
> Hello,
>
> I have a text unix file u.txt where I insert this line:
>
>
> t.add('🌐︎ ' + 'abcd')
>
> That is a globe U+1F310 followed by Unicode Variation Selector 15 to remove the colour of the globe.
>
> $ hexdump -C u.txt
> 00000000 74 2e 61 64 64 28 27 f0 9f 8c 90 ef b8 8e 20 27 |t.add('....... '|
> 00000010 20 2b 20 27 61 62 63 64 27 29 0a | + 'abcd').|
> 0000001b
>
> I open the file in text mode, emacs-fedora-28.3 -nw, and press the right arrow repeatedly to go over c. Then I press x. emacs shows that c is deleted and on its place appears x. I press Ctrl+L to refresh. Now c appears before x.
>
> I close emacs, repeat the above steps and get consistent results. I try this on a different system with self-compiled emacs 29.1, same results.
What is the terminal emulator you are using, and on what OS?
Basically, what the above means is that the text terminal you are
using doesn't support the sequence of U+1F310 followed by VS-15 as
Emacs expects it. On such a terminal you need to disable
auto-composition-mode to be able to edit such text.
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
2023-10-21 13:12 ` Дилян Палаузов
@ 2023-10-21 13:36 ` Eli Zaretskii
2023-10-21 13:53 ` Eli Zaretskii
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-10-21 13:36 UTC (permalink / raw)
To: Дилян Палаузов
Cc: 66664
> From: Дилян Палаузов
> <dilyan.palauzov@aegee.org>
> Cc: 66664@debbugs.gnu.org
> Date: Sat, 21 Oct 2023 15:12:03 +0200
>
> thanks for your answer. I am using Gnome Terminal 3.48.1 on Fedora 38, but with MATE Terminal 1.26.1 the same happens. I tried to follow your advice. I start emacs -nw u.txt , then M-x auto-composition-mode.
>
> Emacs changes the displayed text from
>
> t.add('🌐︎ ' + 'abcd')
>
> to
>
> t.add('🌐 ' + 'abcd')
>
> and prints “Auto-Composition mode disabled in current buffer”. After the change the globe is coloured in the terminal and there is an underscore after the globe. I again press several times the right arrow to go over the letter c and then press x. Emacs again deletes (actually hides) the letter c and shows on its place the letter x.
Then I cannot reproduce this, nether with nor without
auto-composition-mode. What happens if you use xterm instead?
Also, does this happen in "emacs -Q -nw"? And what is your
locale-environment and language-environment?
^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines
2023-10-21 13:36 ` Eli Zaretskii
@ 2023-10-21 13:53 ` Eli Zaretskii
[not found] ` <b1fdf4e92c74f8962f37f68ff223c5d45355f69d.camel@aegee.org>
0 siblings, 1 reply; 7+ messages in thread
From: Eli Zaretskii @ 2023-10-21 13:53 UTC (permalink / raw)
To: dilyan.palauzov; +Cc: 66664
> Cc: 66664@debbugs.gnu.org
> Date: Sat, 21 Oct 2023 16:36:38 +0300
> From: Eli Zaretskii <eliz@gnu.org>
>
> > and prints “Auto-Composition mode disabled in current buffer”. After the change the globe is coloured in the terminal and there is an underscore after the globe. I again press several times the right arrow to go over the letter c and then press x. Emacs again deletes (actually hides) the letter c and shows on its place the letter x.
>
> Then I cannot reproduce this, nether with nor without
> auto-composition-mode.
Scratch that, I was mis-reading your description. I can reproduce,
and I know the reason: Emacs considers the U+1F310 character to take 2
columns on display, whereas your terminal thinks it takes only one
column. That's why you see these problems.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-11-05 11:55 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-21 12:07 bug#66664: On modified lines containing 🌐︎ and Unicode VS15 in text mode emacs does not show the real content of the lines Дилян Палаузов
2023-10-21 12:44 ` Eli Zaretskii
2023-10-21 13:12 ` Дилян Палаузов
2023-10-21 13:36 ` Eli Zaretskii
2023-10-21 13:53 ` Eli Zaretskii
[not found] ` <b1fdf4e92c74f8962f37f68ff223c5d45355f69d.camel@aegee.org>
2023-10-21 15:39 ` Eli Zaretskii
2023-11-05 11:55 ` Дилян Палаузов
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).