From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Gerry Agbobada Newsgroups: gmane.emacs.devel Subject: Re: Question about composite.c Date: Wed, 15 Apr 2020 00:43:59 +0200 Message-ID: References: <83r1zsvfph.fsf@gnu.org> <83muagvcwg.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="105588"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Apr 15 00:45:05 2020 Return-path: Envelope-to: ged-emacs-devel@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 1jOUIi-000RLy-JR for ged-emacs-devel@m.gmane-mx.org; Wed, 15 Apr 2020 00:45:04 +0200 Original-Received: from localhost ([::1]:39978 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOUIh-0004q7-Ly for ged-emacs-devel@m.gmane-mx.org; Tue, 14 Apr 2020 18:45:03 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:41785) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jOUHv-0004AY-8K for emacs-devel@gnu.org; Tue, 14 Apr 2020 18:44:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jOUHu-0002uo-1R for emacs-devel@gnu.org; Tue, 14 Apr 2020 18:44:15 -0400 Original-Received: from mail-il1-x130.google.com ([2607:f8b0:4864:20::130]:42364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jOUHs-0002uJ-AG; Tue, 14 Apr 2020 18:44:12 -0400 Original-Received: by mail-il1-x130.google.com with SMTP id t10so1380353ilg.9; Tue, 14 Apr 2020 15:44:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=BE08X/N2FRW7LfqeipQDEtyawj4yJ4PA1z3c5zSBT/Q=; b=XwOaysG9dR3prvBNI4Sqzw/4zWLEZC+lvzOmZjf8c/NK8MApXNqb/8zkGk5HiF+GKr UMjZlIDCFeLKU3TovtSPM/u4ayC56KYgZhFAporzYiDQZS3EfLEG1BYxhhMLhWgcBkFw Cn/3ZHR4291PwgRuV9ntdtsV6luvZC5kcy2UipmFxuNJVYH3rmZiMEVT7qyRz/+g/FR1 dy7c2zw1xAV3unLQAIIy684f0q+PAwk0kWdQ9eWfACAFw3jUll3nDmbJmdD8aLiRTOlS Bh1y4MPRbEHP5ZmwqlfI77S3Bx5g35ozPUWfthmUaPgNhHrr51iusessYFj//S0bzbf6 hOuA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=BE08X/N2FRW7LfqeipQDEtyawj4yJ4PA1z3c5zSBT/Q=; b=OxGmVP7WFOZnMbFgLmTx7sPiYUmUcFASCsbYCqqjYzSQjjmrMcLiWGB5xomVmAngd/ h/3NJRGwpVIa59tAR9NcO9NNOPSgy+1f4JWi5mL7vBG/N2T7RGSN4vNCVxnZDJHIJR3k qw+I77h5xNjqhQeoW3vYWf171szv4BDsPtLOpZkplwt4B41cHEELmR1SnL/9a3BsvhHf e1rpA2YN2k8F5isB4MP4Zzp0cNib+hi9gea/2tMPNf2jsuKP973LF0MoMwGK7r0V3aJG byDSIkrm0Ldq6cjSejQc8uT0Yfi40hST0ThdIXU6tkS7GmzFQ7YxrQ9z1pTrwY44fXp6 Vauw== X-Gm-Message-State: AGi0PuZDPmso3BL07W09Be2IcisttrWcEB23ZXGwEWnL7q9Dub4XFqfk TYzbwbFyeCznS33TnvYJUU2sQ5ORhHNB+rWvWQOP5w== X-Google-Smtp-Source: APiQypIG6Q35niEBQ4EQzs9JxHhqouBxXY6+PD7BPjEHWIOr5VJh1XcPHATreXMqLkIiNJ7SoYRxEJ2yes++4UiYcVU= X-Received: by 2002:a92:c742:: with SMTP id y2mr2532430ilp.147.1586904250815; Tue, 14 Apr 2020 15:44:10 -0700 (PDT) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::130 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:246969 Archived-At: Hello, It took me a good while, but I found a case where : - I can reproduce with =3Demacs -q=3D (Reproducing infinite looping in composition_get_gstring with an empty non-nil string) - prettify-symbols-mode is not enabled The example includes the code of eros.el package, which creates an overlay when calling eval-last-sexp. The overlay is supposed to start with `=3D>`, and when I have this in my composition-function-table it triggers the loop. As explained in the file linked below, with the cursor on `(+ 3 2)|` I'd expect `C-x C-e` to create an overlay with `=3D> 5`. Instead, it loops indefinitely and the only way out is to kill -9 emacs (kill -USR2 doesn't help) Question is : is there something I should do from elisp point of view (as a user of eros, and composition-function-table) to avoid this problem ? I'm still not sure about the code path that I'm following to lead to this point. :( I'm writing this from gmail, I wasn't able to paste the file in the editor respecting the newlines, so I pushed it in a gist... I'd prefer the code to be archived in the mailing list, but until I find a better mail client than gmail online one, I won't be able to do it sorry. For the time being, it is here https://gist.github.com/gagbo/13239f12cfd6b90cce32b1c255f2553d (325 lines long) Feel free to paste it in the conversation if you feel it is safer. Someday I'll stop using Gmail I suppose. Best regards Gerry Le mer. 22 janv. 2020 =C3=A0 09:55, Gerry Agbobada a = =C3=A9crit : > > > Can you show examples of those, if not their exhaustive list? > > Between iosevka, Fira Code and Cascadia Code, ligatures that may > happen starting with * are : > - * > - ** > - *** > - */ > - *> > - *) > > iosevka : https://raw.githubusercontent.com/be5invis/Iosevka/master/image= s/ligations.png > FiraCode : https://github.com/tonsky/FiraCode/blob/master/showcases/all_l= igatures.png > Cascadia : https://github.com/microsoft/cascadia-code/wiki/Coding-ligatur= e-coverage > > > I don't see why it would be easier to access/modify a separate table. > > Fair enough, I'll probably remove the indeirection once I find out > my elisp issue > > > If you post a complete reproduction recipe, starting from "emacs -Q", > > perhaps I will be able to help you understand what is the immediate > > cause of the problem. > > [...] > > I think the important part is to understand why Emacs is trying to > > compose an empty string. > > I'm trying to do this to understand better yes. In my "bloated" emacs > setup, I still have the "trying to compose an empty string" issue without > prettify-symbols-mode, so I'll just continue playing with my short .el fi= le > until I can find a way to properly reproduce. > > Gerry