From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Aura Kelloniemi Newsgroups: gmane.emacs.bugs Subject: bug#50865: 28.0.50; Emoji with emoji modifier in Linux console garbles emacs display Date: Fri, 01 Oct 2021 16:23:01 +0300 Message-ID: <87y27cdglm.fsf@sange.fi> References: <87o88chjsl.fsf@sange.fi> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28459"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 50865@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Oct 01 15:24:11 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mWIWI-0007Be-Dn for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 01 Oct 2021 15:24:10 +0200 Original-Received: from localhost ([::1]:51428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mWIWH-0006FR-DC for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 01 Oct 2021 09:24:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56190) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mWIWA-0006FE-Uj for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2021 09:24:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:43423) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mWIWA-0008An-MK for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2021 09:24:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mWIWA-0003Xg-DZ for bug-gnu-emacs@gnu.org; Fri, 01 Oct 2021 09:24:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Aura Kelloniemi Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Oct 2021 13:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50865 X-GNU-PR-Package: emacs Original-Received: via spool by 50865-submit@debbugs.gnu.org id=B50865.163309459013549 (code B ref 50865); Fri, 01 Oct 2021 13:24:02 +0000 Original-Received: (at 50865) by debbugs.gnu.org; 1 Oct 2021 13:23:10 +0000 Original-Received: from localhost ([127.0.0.1]:54969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mWIVJ-0003WT-SX for submit@debbugs.gnu.org; Fri, 01 Oct 2021 09:23:10 -0400 Original-Received: from smtp.sange.fi ([185.87.108.151]:37003) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mWIVH-0003WK-OG for 50865@debbugs.gnu.org; Fri, 01 Oct 2021 09:23:08 -0400 Original-Received: from 88-114-110-12.elisa-laajakaista.fi ([88.114.110.12] helo=solaria) by oiva.sange.fi with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1mWIVD-0004BZ-Rx; Fri, 01 Oct 2021 16:23:05 +0300 In-Reply-To: <83h7e3iljt.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:216045 Archived-At: On 2021-09-29 at 16:00 +0300, Eli Zaretskii wrote: > > From: Aura Kelloniemi > > Cc: 50865@debbugs.gnu.org > > Date: Tue, 28 Sep 2021 23:32:53 +0300 > >=20 > > On 2021-09-28 at 21:35 +0300, Eli Zaretskii wrote: > > > That should not be that way. Some characters are double-width, and > > > should take up 2 columns on display. > >=20 > > I noticed, that Linux console does not understand most of the zero-wid= th > > characters either. > It doesn't need to: Emacs displays those characters on a TTY as > spaces. Can this be configured =E2=80=93 i.e. can I change the space to something e= lse to ease debugging? > > It happily prints most of the code points in the list of > > zero-width characters. Of course they are printed just as diamonds, be= cause > > Linux cannot store enough glyphs in its 512-glyph font space, but anyw= ay it > > prints a diamond for such characters as . > COMBINING GRAVE ACCENT (or any other combining codepoint) is not a > good example of zero-width characters. On modern terminal emulators this certainly holds, but Linux is not a modern terminal emulator and does not support combining characters. It just prints= a diamond for all codepoitns which don't have an associated glyph in the font (or the kernel knows them to be zero-wide, and this information is out of date). > Try "C-x 8 RET 200c RET" > instead. > Or FEFF > or 1D173 or E007f or 1BCA0. They print just a single space within emacs. If I print them with echo, they print a diamond. > > The character range \y200B-\u200F seems to be an exception here. When = I try to > > print one of these characters on a Linxu VT, it really prints nothing. > That's not exception, that's the rule, actually, for true zero-width > characters, not for accents. Accents exist to combine with preceding > base character, and what you seem to describe means the Linux console > is unable to do even Latin accents? Here is a sample Bash session for demonstration: $ echo $'i\u300' i=E2=97=88 $ echo $'\uEC' =C3=AC > > When I insert zero-width characters in Emacs, the diamonds representin= g the > > characters are printed interspersed by the padding spaces added by ema= cs. The > > cursor is left behind the extending line of characters as a type, beca= use > > Emacs thinks, that the zero-width characters really do not print anyth= ing, > > even though they do. > Is this with or without auto-composition-mode? Ok, this was with auto-composition-mode set to t. And it only happens with combining characters. Other zero-wide characters print the single space, as should be. If I set auto-composition-mode to nil, then Emacs does not print anything (= not even the space) when I insert a combining character. If I then move the poi= nt over the invisible combining character, the point moves, but the screen cur= sor does not. This is a very confusing behaviour. Non-combining zero-wide characters print the space (as you said), and there are no cursor movement issues. When running in the Linux console emacs's term/linux.el sets auto-composition-mode to a special value of "linux". I don't know what this means. --=20 Aura