2

I experienced a freeze which can be reproduced very easily on GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.18, cairo version 1.16.0) of 2020-08-25 .

  1. emacs -Q
  2. Copy the Unicode U+27B0 into the scratch buffer: ➰
  3. Emacs frozen for a whole minute and displays ➰.

Remarkably, the response time for other symbols in this Unicode table is quite different, e.g.

  • ➑ takes 30 seconds
  • ➐ is instant.

Is this issue known?

Updates

what-cursor-position

C-u C-x = on the pasted symbol gives (screenshot because Emacs frozen): enter image description here

Profiling & Benchmarking

Unfortunately, this scenario escaped the profiling...

enter image description here

...and the benchmarking which outputs immediately the result when the symbol is not yet present.

enter image description here

14
  • That's quite odd. I can't reproduce it here, also on Emacs 28.0.50. I copied the text directly from Firefox and yanked it into the scratch buffer. Each symbol pasted instantly. Maybe it has something to do with the fonts you are using? I have DejaVu Sans Mono:pixelsize=15:foundry=PfEd:weight=normal:slant=normal:width=normal:spacing=100:scalable=true
    – Tyler
    Oct 15 '20 at 17:36
  • Thanks. I used describe-font on the empty buffer, it's quite the same DejaVu Sans Mono:pixelsize=18:foundry=PfEd:weight=normal:slant=normal:width=normal:spacing=100:scalable=true. However, once ➰ is present in the buffer, even M-x takes a very long time. Oct 15 '20 at 17:52
  • Can't reproduce it either (also 28.0.50 but a few months old).
    – NickD
    Oct 15 '20 at 17:57
  • I press <RET> after that describe-font prompts "default current choice for ASCII chars", maybe this font is not the one used for the symbol? I don't know much about fonts. Oct 15 '20 at 17:58
  • If you put your cursor on the symbol and say C-u C-x = what do you get?
    – NickD
    Oct 15 '20 at 17:59
1

I fixed this issue and couple other ones at the same time: it prevented me to use telega and elfeed as Emacs slows down considerably when some fancy Unicode should be rendered. This "bug" or font issue reaches nightmare level as it can't be debugged through standard approaches (it depends on buffer contents). Moreover, it wastes package maintainer time as it is highly non-reproducible.

Fortunately, the package unicode-fonts (available on Melpa) fixes this problem.

Basically,

  1. Install the minimum useful fonts (DejaVu Sans, DejaVu Sans Mono, Quivira, Symbola, Noto Sans and Noto Sans Symbols).
  2. Put this in your configuration
  (use-package unicode-fonts
   :ensure t
   :config 
  (unicode-fonts-setup))

It will take a couple seconds to set up the first time. The mapping will be written persistently with pcache for subsequent startup.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.