From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#57066: 29.0.50; Complex emoji overlaps with text Date: Tue, 09 Aug 2022 19:05:06 +0300 Message-ID: <835yj1v1vy.fsf@gnu.org> References: <87r11pzsgb.fsf@protesilaos.com> <83iln1vfbl.fsf@gnu.org> <87o7wtzmdn.fsf@protesilaos.com> <837d3hvd5j.fsf@gnu.org> <87lerxzim5.fsf@protesilaos.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31520"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 57066@debbugs.gnu.org To: Protesilaos Stavrou Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Aug 09 18:19:54 2022 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 1oLRxN-0007sv-N7 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 09 Aug 2022 18:19:49 +0200 Original-Received: from localhost ([::1]:48736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oLRxM-0006zW-Pk for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 09 Aug 2022 12:19:48 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34914) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLRk2-0002gG-N3 for bug-gnu-emacs@gnu.org; Tue, 09 Aug 2022 12:06:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54822) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oLRk2-0000Nh-DL for bug-gnu-emacs@gnu.org; Tue, 09 Aug 2022 12:06:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oLRk2-0007GZ-4o for bug-gnu-emacs@gnu.org; Tue, 09 Aug 2022 12:06:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 09 Aug 2022 16:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 57066 X-GNU-PR-Package: emacs Original-Received: via spool by 57066-submit@debbugs.gnu.org id=B57066.166006113227895 (code B ref 57066); Tue, 09 Aug 2022 16:06:02 +0000 Original-Received: (at 57066) by debbugs.gnu.org; 9 Aug 2022 16:05:32 +0000 Original-Received: from localhost ([127.0.0.1]:44571 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLRjX-0007Fr-Qz for submit@debbugs.gnu.org; Tue, 09 Aug 2022 12:05:32 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:50124) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oLRjV-0007Fd-7i for 57066@debbugs.gnu.org; Tue, 09 Aug 2022 12:05:30 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:41312) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLRjP-0000Fa-FT; Tue, 09 Aug 2022 12:05:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=24fBr+UMm1hGwes1nU0Niy//Bc4kh2qWGnL7cyYgk38=; b=M5ucnC5wlZR6HKpFTuXO FNSDeUClREJpUcyLJVs42AXVQUr3OtBHyPhdRQaVSzxT0oerFhGxAdD9N7OG45DZie1+yg1CNXw57 3IIjFmTLMlvaFqV1zJ5XTt6PfmAKKMWCZFBEi+M7m8Bsd+hYn2DQwV7OYliEALZoSTft3gnTjndQZ I2N62WUsKrQhHafYwtv0Xt8pEpMUueb9CKpjOk5bxnRHS2QAGBo77eXsGkFxEhVOO2DS0su0xWZzV vhSAEOWeKQDRxaqQ7bIDtNpZ2uPpm7BR5a82XqcZnzDb2KNjg/TRrlmEIasfvdsZJIECSICTnDERu KLBqRSOU9Xgm3g==; Original-Received: from [87.69.77.57] (port=3563 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oLRjL-0002bK-H8; Tue, 09 Aug 2022 12:05:23 -0400 In-Reply-To: <87lerxzim5.fsf@protesilaos.com> (message from Protesilaos Stavrou on Tue, 09 Aug 2022 15:50:10 +0300) 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:239161 Archived-At: > From: Protesilaos Stavrou > Cc: 57066@debbugs.gnu.org > Date: Tue, 09 Aug 2022 15:50:10 +0300 > > >> Right after inserting the "sun" emoji, the 'describe-char' does not > >> work. The echo area shows: > >> > >> point=154 of 153 (EOB) column=7 > > > > Are you saying that what describe-char does at EOB means it doesn't > > work? The above is exactly the expected result at EOB. > > Sorry, I meant that I could not produce a Help buffer. That's expected: there's no character at EOB. > >> cl--assertion-failed: Assertion failed: (not (multibyte-string-p str)) > > > > I cannot reproduce that, either. Could you run this under Edebug and > > show the value of 'str' in the above assertion? > > I am not sure how to do it with Edebug. I tried to explain that below. > With (setq debug-on-error t) I get this: > > Debugger entered--Lisp error: (cl-assertion-failed ((not (multibyte-string-p str)) nil)) > cl--assertion-failed((not (multibyte-string-p str))) > encoded-string-description(#("😀" 0 1 (charset unicode)) nil) > describe-char(146) There are 2 calls to encoded-string-description in describe-char, and it's important to know which one causes this and why. To run this under Edebug, do the following emacs -Q M-x load-library RET descr-text.el RET C-x C-f /path/to/lisp/international/descr-text.el RET C-u 385 M-g g M-x edebug-defun RET Note that you must load-library with an explicit .el extension. Line 385 in descr-text.el is where describe-char starts. Then repeat the recipe, and when you call describe-char, Edebug will kick in. Now step through the code and try to figure out which call to encoded-string-description is the one that barfs. My guess is that it's the second one, in which case it is important to know the value of the variable 'charset' here: ("file code" ,@(if multibyte-p (let* ((coding buffer-file-coding-system) (encoded (encode-coding-char char coding charset))) <<<<<< (if encoded (list (encoded-string-description encoded coding) (format "(encoded by coding system %S)" coding)) Thanks.