From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Will Bush Newsgroups: gmane.emacs.bugs Subject: bug#40733: Fwd: bug#40733: 28.0.50; Emacs locks up on paste (yank) of unicode characters Date: Sat, 25 Apr 2020 08:34:05 -0500 Message-ID: References: <87mu756aen.fsf@tcd.ie> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000d6f68c05a41d89b6" Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="55680"; mail-complaints-to="usenet@ciao.gmane.io" To: James Cloos , "Basil L. Contovounesios" , 40733@debbugs.gnu.org, Robert Pluim Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Apr 25 15:35:21 2020 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 1jSKxl-000EGe-MP for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 Apr 2020 15:35:21 +0200 Original-Received: from localhost ([::1]:37206 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSKxk-00062z-An for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 25 Apr 2020 09:35:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58698) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jSKxT-00062a-LO for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 09:35:04 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.90_1) (envelope-from ) id 1jSKxS-0003Lc-8K for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 09:35:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:47483) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jSKxR-0003JT-PA for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 09:35:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jSKxR-0000MO-KX for bug-gnu-emacs@gnu.org; Sat, 25 Apr 2020 09:35:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Will Bush Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 25 Apr 2020 13:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40733 X-GNU-PR-Package: emacs Original-Received: via spool by 40733-submit@debbugs.gnu.org id=B40733.15878216681340 (code B ref 40733); Sat, 25 Apr 2020 13:35:01 +0000 Original-Received: (at 40733) by debbugs.gnu.org; 25 Apr 2020 13:34:28 +0000 Original-Received: from localhost ([127.0.0.1]:59029 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSKwt-0000LX-Ne for submit@debbugs.gnu.org; Sat, 25 Apr 2020 09:34:28 -0400 Original-Received: from mail-lf1-f54.google.com ([209.85.167.54]:33070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jSKwp-0000LI-7x for 40733@debbugs.gnu.org; Sat, 25 Apr 2020 09:34:26 -0400 Original-Received: by mail-lf1-f54.google.com with SMTP id h6so10075937lfc.0 for <40733@debbugs.gnu.org>; Sat, 25 Apr 2020 06:34:23 -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; bh=HBYgY/vesrxFUmlkpPabBphtD3c/Y5v8aAQ8KezRYc4=; b=jNUhiFN97fW820FJ048nk8iMHo08E7r0w6agDi6gnfiRsW1+UfmFP9zNwvkInopqX3 LUnAqV5UY32bUnBMm8XJuiDaYHxtLJTU0prIOzITMg/ez4/BE4wl582JnJHTlrd3DrE+ gRW9i5V22mCtoAquhoKkhF/6t1mKwMiphAsz+P1zgquVpcVwoHuwhc9BkN7ef8/6qBoi Nx91VCMvkt/xASFaBHQQ0zPQ+n3oc6Qly+1e4HjPwAUonXERwyy8Q6IDlVMOAT/LoFrl dL/EXTaQKFwgKZsyU/tvOcLtKWh3MYs60BAs7l7LOp5rd8rqFD+ce32py1pgtFgLDYs8 CyFA== 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; bh=HBYgY/vesrxFUmlkpPabBphtD3c/Y5v8aAQ8KezRYc4=; b=Yt8d5gd+zUNC5p1trvFi9mc6cioL2qEIQsAOwCm/0lp9LaDO9AVHZfzRvUP4fARNgW gLRk4HBnTlQfetGFSyfazZ6twfiawbBeb9R0W8jMsopgJ7RWeLks5UpSXP/k6Q4CfUut 01pm9kpCnvrPvs3NeCEt9CgXQXunede43DWWToA1pUSoboGGkWPYXzEAr+JS6ltCO12V HUIMiC6baSiP13zDaZkKGyq543Q0jJ8laB+zai9aOdRhwnnE8jmhjLbvoVg1Qu99t2cI EjvHJfDWXyaOAFgzcMrbuP4hedSA7yQZqOKvzRs3dldAOKM6veVQcaY8RAj24F7CJJBk sGjA== X-Gm-Message-State: AGi0Puboe4uQ/ZjLmDk80TcnEky9tdJ4DZmmhJ9Rxld/Fkf5jpcv+bg0 uRvckmHf6BufTRsDQqNp+RTob6nHj3d+sPnPTDk= X-Google-Smtp-Source: APiQypKVG4dpaxBFi1ie/60qicCe9z1kq/fS1b2xngzwomMDx1Y3nL36yZoRW5gFEVYR2Tabcv4QD+ZGnlQ5adwuvuk= X-Received: by 2002:ac2:58ec:: with SMTP id v12mr9717672lfo.215.1587821657125; Sat, 25 Apr 2020 06:34:17 -0700 (PDT) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Received-From: 209.51.188.43 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:178988 Archived-At: --000000000000d6f68c05a41d89b6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I forgot to CC everyone. ---------- Forwarded message --------- From: Will Bush Date: Sat, Apr 25, 2020 at 8:30 AM Subject: Re: bug#40733: 28.0.50; Emacs locks up on paste (yank) of unicode characters To: Robert Pluim Robert> ...we implicitly do '--with-cairo' now. Will> Is that since 27.0.50? Think I just answered my own question the hard way. I was able to narrow the performance issue to starting after rev `6100f9a19e9d8d8e688ad8bbec2233bd6782cbde` and before or at `a75047634697acbc37a9ecd58cc5e7ea9d89d91f` in the master branch in Emacs repository. Which corresponds to these commits: 06caa3b7e5 | * | Refactor Tramp async process code 88efc736f5 | * | Default cairo to enabled 4fc0bc9678 | * | Update from gnulib 0abda558bc | * | Port configure.ac to future Gnulib 6100f9a19e | * | * src/pdumper.c (dump_vectorlike): Unbreak build after 724af7671590c Lol "Default cairo to enabled" really stands out there. It's probably safe to assume that's what it is. Following goes into extraneous detail showing how I verified it's between those two revisions: =CE=BB ~/system/nixos/ emacs/revamp* niv update emacs-overlay -a rev=3D0feda8b31b52f3ea008555dfe79dba3989d3e585 Update emacs-overlay Reading sources file Done: Update emacs-overlay =CE=BB ~/system/nixos/ emacs/revamp* home-manager switch ... home manager spam goes here =CE=BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(message "=EF=B8= =B5")' -kill emacs -Q --eval '(message "=EF=B8=B5")' -kill 0.42s user 0.02s system 64% = cpu 0.690 total =CE=BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(message "=EF=B8= =B5")' -kill emacs -Q --eval '(message "=EF=B8=B5")' -kill 0.43s user 0.02s system 94% = cpu 0.472 total =CE=BB ~/system/nixos/ emacs/revamp* niv update emacs-overlay -a rev=3Da75047634697acbc37a9ecd58cc5e7ea9d89d91f Update emacs-overlay Reading sources file Done: Update emacs-overlay =CE=BB ~/system/nixos/ emacs/revamp* home-manager switch ... more home manager spam =CE=BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(message "=EF=B8= =B5")' -kill emacs -Q --eval '(message "=EF=B8=B5")' -kill 80.73s user 0.02s system 99%= cpu 1:20.97 total =CE=BB ~/system/nixos/ emacs/revamp* The `niv update emacs-overlay -a rev=3Da75047634697acbc37a9ecd58cc5e7ea9d89d91f` command is using a tool called niv to update emacs-overlay to a pinned version. The rev in the diff below is for the Emacs repository. *# perf issue:* a75047634697acbc37a9ecd58cc5e7ea9d89d91f Author: emacs-overlay AuthorDate: Tue Jan 14 12:10:25 2020 +0000 Commit: emacs-overlay CommitDate: Tue Jan 14 12:10:25 2020 +0000 Parent: 9351772 Updated repos/melpa Contained: master Updated repos/emacs modified repos/emacs/emacs.json @@ -1 +1 @@ -{"rev": "4fc0bc96787252b1b3e14a7f747ef556273b5979", "sha256": "0syw4xcbps6i62fa7l88zyvyc3kiggx2kpa2n41p8y2pl01vdqqs", "version": "20200114.0"} +{"rev": "06caa3b7e5e9fe91b6918f8567adbd5501d6dbdd", "sha256": "0kzk30660xky0zj7v5sr9a49pnnz609jda4s8x86pjk91x1wrv2i", "version": "20200114.0"} *# no perf issue:* 0feda8b31b52f3ea008555dfe79dba3989d3e585 Author: emacs-overlay AuthorDate: Mon Jan 13 00:10:30 2020 +0000 Commit: emacs-overlay CommitDate: Mon Jan 13 00:10:30 2020 +0000 Parent: e38dc3b Updated repos/melpa Contained: master Updated repos/emacs modified repos/emacs/emacs.json @@ -1 +1 @@ -{"rev": "41d9d51cf5ac5b76c09802388e1691cf489d9d9d", "sha256": "1vy1fcw2m7lbw8wcwmp04zwkqra835vdbxbgnms3wgrwviqm14zd", "version": "20200111.0"} +{"rev": "6100f9a19e9d8d8e688ad8bbec2233bd6782cbde", "sha256": "01fvxplljwnz11sizlfpl219dvrg7yf790zmr69wvkn6wlgxif76", "version": "20200112.0"} On Sat, Apr 25, 2020 at 5:34 AM Will Bush wrote: > Robert> Which font specifically does emacs end up using for that characte= r? > Robert> Emacs ends up using 'Noto Sans CJK KR' for me here. > > When google fonts is removed? > > This is what `C-u C-x =3D` says: > > ftcrhb:-PfEd-Unifont-normal-normal-normal-*-15-*-*-*-d-0-iso10646-1 > (#xDD38ftcrhb:-PfEd-Unifont-normal-normal-normal-*-15-*-*-*-d-0-iso10646-= 1 > (#xDD38) > > Note on the above: For the hell of it, I tried installing `noto-fonts` > font pack > from nixpkgs and it didn't make a difference. Then again, `fc-list > --verbose | > rg "Noto Sans CJK" -i` produced no results so that specific font probably > isn't > in that font pack. > > When google fonts are installed: > > ftcrhb:-GNU-Unifont-normal-normal-normal-Sans-Serif-16-*-*-*-c-80-iso1064= 6-1 > (#xDD36) > > Robert> BTW, if you want to ignore that font, you can set > Robert> 'face-ignored-fonts' to match it, and you won't have to uninstall > it. > > Thanks, I didn't know that! Maybe I can use that to narrow down to the > specific > font that's causing problems because adding `google-fonts` adds 2905 font= s > for > me, and many I would like to have. > > Robert> I don=CA=BCt think there=CA=BCs much point in that: emacs-26 uses= Xft for > font > Robert> handling, emacs-27 uses Cairo+Harfbuzz[1]; they=CA=BCre fundament= ally > doing > Robert> very different things, so I don=CA=BCt think this is caused by a = single > Robert> identifiable change. > > I'm not trying to prove you wrong or anything. It's just easy for me to t= ry > different versions because I'm using > (https://github.com/nix-community/emacs-overlay). However, I tried Emacs > 27.0.50 > and it's behaving exactly the same as Emacs 26. I glanced at the > `report-emacs-bug` output and the build inputs look the same. I can > include it > if desired. > > =CE=BB ~/ time emacs -Q --eval '(message "hi")' -kill > emacs -Q --eval '(message "hi")' -kill 0.18s user 0.02s system 67% cpu > 0.303 total > =CE=BB ~/ time emacs -Q --eval '(message "=EF=B8=B5")' -kill > emacs -Q --eval '(message "=EF=B8=B5")' -kill 0.44s user 0.03s system 95= % cpu > 0.494 total > =CE=BB ~/ emacs --version > GNU Emacs 27.0.50 > > Robert> ...we implicitly do '--with-cairo' now. > > Is that since 27.0.50? > > Were either Cairo+Harfbuzz libraries updated since 27.0.50 (perhaps a > regression > in those libraries)? I'll follow up with an update later after testing > more versions. > > Robert> Although you can still build it with Xft if you want, but I > Robert> wouldn=CA=BCt recommend that, since it will crash once you start > Robert> processing Emojis and other 'interesting' Unicode characters. > > Just to verity I understand. Building with Xft is what `--with-xft` is > doing in > the following from my initial email? > > Configured using: > 'configure > --prefix=3D/nix/store/5v0fp6vikajaqc2v0ppkm51hfc054mnm-emacs-git-2019091= 0.0 > --disable-build-details --with-modules --with-x-toolkit=3Dgtk3 --with-xf= t > CFLAGS=3D-DMAC_OS_X_VERSION_MAX_ALLOWED=3D101200' > > Eli> I'm not sure I understand: you are saying that slow, but correct > Eli> display is _worse_ than displaying a white space instead of the > Eli> correct glyph, i.e. producing incorrect display? To me, it sounds > Eli> like Emacs 27+ actually _improves_ things in this case. > > Let me quantify the performance because I've been ambiguous about it so > far: > > =CE=BB ~/ time emacs -Q --eval '(message "hi")' -kill > emacs -Q --eval '(message "hi")' -kill 0.19s user 0.02s system 55% cpu > 0.371 total > =CE=BB ~/ time emacs -Q --eval '(message "=EF=B8=B5")' -kill > emacs -Q --eval '(message "=EF=B8=B5")' -kill 81.64s user 0.03s system 9= 9% cpu > 1:21.91 total > > It takes ~81 seconds to do something while locking up the UI. That's > personally > beyond my threshold for killing the process. > > > On Wed, Apr 22, 2020 at 2:35 AM Robert Pluim wrote: > >> >>>>> On Tue, 21 Apr 2020 15:35:23 -0400, James Cloos >> said: >> >> >>>>> "RP" =3D=3D Robert Pluim writes: >> RP> Footnotes: >> RP> [1] Although you can still build it with Xft if you want, but I >> RP> wouldn=CA=BCt recommend that, since it will crash once you start >> RP> processing Emojis and other 'interesting' Unicode characters. >> >> James> note that master will also crash when using cr+hb on some cod= e >> points. >> >> James> such as some private use characters. >> >> Examples? Eli fixed one such case with Bug#39892, but if there are >> more we should fix them (please open a separate bug report for that). >> >> Robert >> > --000000000000d6f68c05a41d89b6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I forgot to CC everyone.

---------- Forwarded message ---------
From: Will Bush <will.g.bush@gmail.com>
Date: Sat, = Apr 25, 2020 at 8:30 AM
Subject: Re: bug#40733: 28.0.50; Emacs locks up = on paste (yank) of unicode characters
To: Robert Pluim <rpluim@gmail.com>


Robert> ...we implicitly do '--with-cairo' now.
Will> Is that since 27.0.50?

Think I just answered my own qu= estion the hard way.

I was able to narrow the performance issue to s= tarting after rev
`6100f9a19e9d8d8e688ad8bbec2233bd6782cbde` and before = or at
`a75047634697acbc37a9ecd58cc5e7ea9d89d91f` in the master branch in= Emacs
repository.

Which corresponds to these commits:

06caa3b7e5 | * | Refactor Tramp async pr= ocess code
88efc736f5 | * | Default cairo to enabled
4fc0bc9678 | * |= Update from gnulib
0abda558bc | * | Port configure.ac to future Gnulib
6100f9a19e | * | *= src/pdumper.c (dump_vectorlike): Unbreak build after 724af7671590c<= br>
Lol "Default cairo to enabled" really stands out there. It= 's probably safe to
assume that's what it is.

Following g= oes into extraneous detail showing how I verified it's between thosetwo revisions:

=CE=BB ~/syste= m/nixos/ emacs/revamp* niv update emacs-overlay -a rev=3D0feda8b31b52f3ea00= 8555dfe79dba3989d3e585
Update emacs-overlay
=C2=A0 Reading sources fi= le
Done: Update emacs-overlay
=CE=BB ~/system/nixos/ emacs/revamp* ho= me-manager switch
...= home manager spam goes here
=CE= =BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(message "= =EF=B8=B5")' -kill
emacs -Q --eval '(message "=EF=B8= =B5")' -kill=C2=A0 0.42s user 0.02s system 64% cpu 0.690 total
= =CE=BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(message &qu= ot;=EF=B8=B5")' -kill
emacs -Q --eval '(message "=EF= =B8=B5")' -kill=C2=A0 0.43s user 0.02s system 94% cpu 0.472 total<= br>=CE=BB ~/system/nixos/ emacs/revamp* niv update emacs-overlay -a rev=3Da= 75047634697acbc37a9ecd58cc5e7ea9d89d91f
Update emacs-overlay
=C2=A0 R= eading sources file
Done: Update emacs-overlay
=CE=BB ~/system/nixos/= emacs/revamp* home-manager switch
... more home manager spam
=CE=BB ~/system/nixos/ emacs/revamp* time emacs -Q --eval '(mes= sage "=EF=B8=B5")' -kill
emacs -Q --eval '(message &qu= ot;=EF=B8=B5")' -kill=C2=A0 80.73s user 0.02s system 99% cpu 1:20.= 97 total
=CE=BB ~/system/nixos/ emacs/revamp*


The `niv upd= ate emacs-overlay -a rev=3Da75047634697acbc37a9ecd58cc5e7ea9d89d91f`
com= mand is using a tool called niv to update emacs-overlay to a pinned version= .
The rev in the diff below is for the Emacs repository.

# per= f issue:

a75047634697acbc3= 7a9ecd58cc5e7ea9d89d91f
Author:=C2=A0=C2=A0=C2=A0=C2=A0 emacs-overlay &l= t;emacs-overlay@nix-community>
AuthorDate: Tue Jan 14 12:10:25 2020 += 0000
Commit:=C2=A0=C2=A0=C2=A0=C2=A0 emacs-overlay <emacs-overlay@nix= -community>
CommitDate: Tue Jan 14 12:10:25 2020 +0000

Parent:= =C2=A0=C2=A0=C2=A0=C2=A0 9351772 Updated repos/melpa
Contained:=C2=A0 ma= ster

Updated repos/emacs

modified=C2=A0=C2=A0 repos/emacs/ema= cs.json
@@ -1 +1 @@
-{"rev": "4fc0bc96787252b1b3e14a7f= 747ef556273b5979", "sha256": "0syw4xcbps6i62fa7l88zyvyc= 3kiggx2kpa2n41p8y2pl01vdqqs", "version": "20200114.0&qu= ot;}
+{"rev": "06caa3b7e5e9fe91b6918f8567adbd5501d6dbdd&q= uot;, "sha256": "0kzk30660xky0zj7v5sr9a49pnnz609jda4s8x86pjk= 91x1wrv2i", "version": "20200114.0"}

# no perf issue:

0feda= 8b31b52f3ea008555dfe79dba3989d3e585
Author:=C2=A0=C2=A0=C2=A0=C2=A0 emac= s-overlay <emacs-overlay@nix-community>
AuthorDate: Mon Jan 13 00:= 10:30 2020 +0000
Commit:=C2=A0=C2=A0=C2=A0=C2=A0 emacs-overlay <emacs= -overlay@nix-community>
CommitDate: Mon Jan 13 00:10:30 2020 +0000
Parent:=C2=A0=C2=A0=C2=A0=C2=A0 e38dc3b Updated repos/melpa
Contain= ed:=C2=A0 master

Updated repos/emacs

modified=C2=A0=C2=A0 rep= os/emacs/emacs.json
@@ -1 +1 @@
-{"rev": "41d9d51cf5ac= 5b76c09802388e1691cf489d9d9d", "sha256": "1vy1fcw2m7lbw= 8wcwmp04zwkqra835vdbxbgnms3wgrwviqm14zd", "version": "2= 0200111.0"}
+{"rev": "6100f9a19e9d8d8e688ad8bbec2233= bd6782cbde", "sha256": "01fvxplljwnz11sizlfpl219dvrg7yf= 790zmr69wvkn6wlgxif76", "version": "20200112.0"}


On Sat, Apr 25, 2020 at 5:34 AM Will Bush <will.g.bush@gmail.co= m> wrote:
Robert> Which font specifically does emacs end up usin= g for that character?
Robert> Emacs ends up using 'Noto Sans CJK = KR' for me here.

When google fonts is removed?

This is wh= at `C-u C-x =3D` says:

ftcrhb:= -PfEd-Unifont-normal-normal-normal-*-15-*-*-*-d-0-iso10646-1 (#xDD38ftcrhb:= -PfEd-Unifont-normal-normal-normal-*-15-*-*-*-d-0-iso10646-1 (#xDD38)

Note on the above: For the hell of it, I tried installing `noto-fo= nts` font pack
from nixpkgs and it didn't make a difference. Then ag= ain, `fc-list --verbose |
rg "Noto Sans CJK" -i` produced no r= esults so that specific font probably isn't
in that font pack.
When google fonts are installed:

ftcrhb:-GNU-Unifont-normal-normal-normal-Sans-Serif-16-*-*-*-c-80-iso1= 0646-1 (#xDD36)

Robert> BTW, if you want to ignore that fo= nt, you can set
Robert> 'face-ignored-fonts' to match it, and= you won't have to uninstall it.

Thanks, I didn't know that!= Maybe I can use that to narrow down to the specific
font that's cau= sing problems because adding `google-fonts` adds 2905 fonts for
me, and = many I would like to have.

Robert> I don=CA=BCt think there=CA=BC= s much point in that: emacs-26 uses Xft for font
Robert> handling, em= acs-27 uses Cairo+Harfbuzz[1]; they=CA=BCre fundamentally doing
Robert&g= t; very different things, so I don=CA=BCt think this is caused by a single<= br>Robert> identifiable change.

I'm not trying to prove you w= rong or anything. It's just easy for me to try
different versions be= cause I'm using
(https://github.com/nix-community/emacs-overlay). However, I tried Emacs 27.0.50
and it's behaving exactly the sam= e as Emacs 26. I glanced at the
`report-emacs-bug` output and the build = inputs look the same. I can include it
if desired.

=CE=BB ~/ time emacs -Q --eval '(message "= hi")' -kill
emacs -Q --eval '(message "hi")' = -kill=C2=A0 0.18s user 0.02s system 67% cpu 0.303 total
=CE=BB ~/ time e= macs -Q --eval '(message "=EF=B8=B5")' -kill
emacs -Q = --eval '(message "=EF=B8=B5")' -kill=C2=A0 0.44s user 0.0= 3s system 95% cpu 0.494 total
=CE=BB ~/ emacs --version
GNU Emacs 27.= 0.50


Robert> ...we implicitly do '--with-cairo' no= w.

Is that since 27.0.50?

Were either Cairo+Harfbuzz librarie= s updated since 27.0.50 (perhaps a regression
in those libraries)? I'= ;ll follow up with an update later after testing more versions.

Robe= rt> Although you can still build it with Xft if you want, but I
Rober= t> wouldn=CA=BCt recommend that, since it will crash once you start
R= obert> processing Emojis and other 'interesting' Unicode charact= ers.

Just to verity I understand. Building with Xft is what `--with-= xft` is doing in
the following from my initial email?

Configured using:
=C2=A0'configure
=C2= =A0--prefix=3D/nix/store/5v0fp6vikajaqc2v0ppkm51hfc054mnm-emacs-git-2019091= 0.0
=C2=A0--disable-build-details --with-modules --with-x-toolkit=3Dgtk3= --with-xft
=C2=A0CFLAGS=3D-DMAC_OS_X_VERSION_MAX_ALLOWED=3D101200'<= /span>

Eli> I'm not sure I understand: you are saying that sl= ow, but correct
Eli> display is _worse_ than displaying a white space= instead of the
Eli> correct glyph, i.e. producing incorrect display?= =C2=A0 To me, it sounds
Eli> like Emacs 27+ actually _improves_ thing= s in this case.

Let me quantify the performance because I've bee= n ambiguous about it so far:

= =CE=BB ~/ time emacs -Q --eval '(message "hi")' -kill
= emacs -Q --eval '(message "hi")' -kill=C2=A0 0.19s user 0= .02s system 55% cpu 0.371 total
=CE=BB ~/ time emacs -Q --eval '(mes= sage "=EF=B8=B5")' -kill
emacs -Q --eval '(message &qu= ot;=EF=B8=B5")' -kill=C2=A0 81.64s user 0.03s system 99% cpu 1:21.= 91 total


It takes ~81 seconds to do something while locking u= p the UI. That's personally
beyond my threshold for killing the proc= ess.


>>>>>= ; On Tue, 21 Apr 2020 15:35:23 -0400, James Cloos <cloos@jhcloos.com> said:

>>>>> "RP" =3D=3D Robert Pluim <rpluim@gmail.com> writes:
=C2=A0 =C2=A0 RP> Footnotes:
=C2=A0 =C2=A0 RP> [1]=C2=A0 Although you can still build it with Xft if = you want, but I
=C2=A0 =C2=A0 RP> wouldn=CA=BCt recommend that, since it will crash once= you start
=C2=A0 =C2=A0 RP> processing Emojis and other 'interesting' Unic= ode characters.

=C2=A0 =C2=A0 James> note that master will also crash when using cr+hb o= n some code points.

=C2=A0 =C2=A0 James> such as some private use characters.

Examples? Eli fixed one such case with Bug#39892, but if there are
more we should fix them (please open a separate bug report for that).

Robert
--000000000000d6f68c05a41d89b6--