[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#49562: 27.2; Crash with specific mode-line-format in BiDi processing
From: |
Eli Zaretskii |
Subject: |
bug#49562: 27.2; Crash with specific mode-line-format in BiDi processing |
Date: |
Wed, 14 Jul 2021 22:10:49 +0300 |
> From: <martin.bruestel@tu-dresden.de>
> Date: Wed, 14 Jul 2021 18:40:57 +0200
>
> Emacs crashed when visiting specific pages in a browser using EXWM.
> Turns out this was triggered when the buffer was renamed accordingly.
> During redisplay, the crash happens for certain strings which are set as
> `mode-line-format`. I created an example to reproduce this with a stock
> Emacs configuration, see the attached elisp file. For me, this only
> triggers when the window is large enough, I suspect smaller windows will
> prevent the problematic part of the mode-line-format string to be
> processed.
>
> To reproduce:
>
> 1. Start Emacs using 'emacs' (not tested with 'emacs -Q')
> 2. Maximize Frame
> 3. M-x ielm
> 4. (load "/path/to/attached/break-emacs.el")
> 5. M-x crash-test-mode-line-format
> 6. Observe crash
The "evil" mode-line string includes invalid use of bidi formatting
controls: you have there a U+202A LEFT-TO-RIGHT EMBEDDING without a
matching U+202C POP DIRECTIONAL FORMATTING. Removing the former or
adding the latter avoids the crash.
I will look into avoiding the crash even with the unbalanced control
characters. I guess this imbalance triggers a subtle bug somewhere,
which is somehow related to the use of (space (:align-to ...)) display
spec. Hmm...