Subject: bug#23938: Commit 237244bbd5ce753bcdf79634561de515bd76c687 broke display of composed characters on master

From: Clément Pit--Claudel <[email-masked]>
Date: Mon, 11 Jul 2016 01:33:38 +0200

Hi all,

Running the following in Emacs 24 and 25-rc pops a buffer displaying "bd". On master, it displays "b" and "d" on top of each other.

    (with-current-buffer (get-buffer-create "*test*")
      (erase-buffer)
      (fundamental-mode)
      (insert "test")
      (compose-region (point-min) (point-max) '(?b (Br . Bl) ?d))
      (pop-to-buffer (current-buffer)))

Bisecting points to the following commit:

    237244bbd5ce753bcdf79634561de515bd76c687 is the first bad commit
    commit 237244bbd5ce753bcdf79634561de515bd76c687
    Author: Paul Eggert <[email-masked]>
    Date:   Mon May 30 16:09:25 2016 -0700

        Omit IF_LINT code that no longer seems needed

        Nowadays GCC is smarter, or the Emacs code has mutated, or both,
        and now is as good a time as any to remove uses of IF_LINT that
        now seem to be unnecessary.
        (...)

The small test case is courtesy of Artur; we both noticed the issue while using his (awesome) ‘nameless’ package; see https://github.com/Malabarba/Nameless/issues/15 for details on the issue that prompted the investigation.

Cheers,
Clément.

In GNU Emacs 25.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8)
 of 2016-06-26 built on clem-w50-mint
Repository revision: 431437b6593320dc5a7a8aac9c911c778a656117
Windowing system distributor 'The X.Org Foundation', version 11.0.11501000
System Description:	Linux Mint 17.3 Rosa