GNU bug report logs - #41957
27.0.91; overlay-put freeze with auto-composition-mode ligatures

Previous Next

Package: emacs;

Reported by: "James N. V. Cash" <james.nvc <at> gmail.com>

Date: Fri, 19 Jun 2020 22:00:02 UTC

Severity: normal

Found in version 27.0.91

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41957 in the body.
You can then email your comments to 41957 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#41957; Package emacs. (Fri, 19 Jun 2020 22:00:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "James N. V. Cash" <james.nvc <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 19 Jun 2020 22:00:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "James N. V. Cash" <james.nvc <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.91; overlay-put freeze with auto-composition-mode ligatures
Date: Fri, 19 Jun 2020 17:05:30 -0400
It seems that when putting the after-string property to an overlay, if
auto-composition-mode is enabled and the string contains a ligature,
Emacs freezes in overlay-put.

The below code freezes when starting with emacs -Q:


    (auto-composition-mode)
    (set-char-table-range composition-function-table ?= `(["=>" 0 compose-gstring-for-graphic]))
    (let ((o (make-overlay (point-min) (+ (point-min) 3) (current-buffer))))
      (overlay-put o 'after-string "=>"))

If auto-composition-mode is disabled or the string doesn't contain any ligatures, it works as expected.

Additionally, if I create the overlay then enable auto-composition-mode afterwards, it then freezes.

In GNU Emacs 27.0.91 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.30, cairo version 1.15.10)
 of 2020-06-17 built on gonk
Repository revision: c36c5a3dedbb2e0349be1b6c3b7567ea7b594f1c
Repository branch: HEAD
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Ubuntu 18.04.4 LTS

Configured using:
 'configure --with-xwidgets --with-cairo'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS
LIBSYSTEMD JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LANG: en_CA.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Memory information:
((conses 16 2130544 1191815)
 (symbols 48 73065 806)
 (strings 32 1403710 33264)
 (string-bytes 1 60271301)
 (vectors 16 387820)
 (vector-slots 8 5073825 225022)
 (floats 8 91573 10867)
 (intervals 56 39918 6792)
 (buffers 1000 121))




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 20 Jun 2020 06:53:02 GMT) Full text and rfc822 format available.

Notification sent to "James N. V. Cash" <james.nvc <at> gmail.com>:
bug acknowledged by developer. (Sat, 20 Jun 2020 06:53:02 GMT) Full text and rfc822 format available.

Message #10 received at 41957-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: "James N. V. Cash" <james.nvc <at> gmail.com>
Cc: 41957-done <at> debbugs.gnu.org
Subject: Re: bug#41957: 27.0.91;
 overlay-put freeze with auto-composition-mode ligatures
Date: Sat, 20 Jun 2020 09:52:38 +0300
> From: "James N. V. Cash" <james.nvc <at> gmail.com>
> Date: Fri, 19 Jun 2020 17:05:30 -0400
> 
> It seems that when putting the after-string property to an overlay, if
> auto-composition-mode is enabled and the string contains a ligature,
> Emacs freezes in overlay-put.
> 
> The below code freezes when starting with emacs -Q:
> 
> 
>     (auto-composition-mode)
>     (set-char-table-range composition-function-table ?= `(["=>" 0 compose-gstring-for-graphic]))
>     (let ((o (make-overlay (point-min) (+ (point-min) 3) (current-buffer))))
>       (overlay-put o 'after-string "=>"))

Thanks, this is a known bug that is already fixed on the master
branch, and will be available in Emacs 28.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 18 Jul 2020 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 54 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.