Subject: bug#59802: 30.0.50; Checkbox button not rendered

From: Stephen Berman <[email-masked]>
Date: Tue, 13 Dec 2022 00:38:39 +0100

On Mon, 12 Dec 2022 19:42:40 +0200 Eli Zaretskii <[email-masked]> wrote:

>> From: Stephen Berman <[email-masked]>
>> Cc: [email-masked],  [email-masked]
>> Date: Sun, 11 Dec 2022 23:40:38 +0100
>>
>> In the *gud-emacs* buffer I typed `pp it->ascent' and then `pp
>> it->descent' and the *input/output of emacs* buffers displayed this:
>>
>> #<INVALID_LISP_OBJECT 0x0000000d>
>> #<INVALID_LISP_OBJECT 0x00000003>
>
> You are using "pp" (a.k.a. "pretty-print") incorrectly: it is intended
> for Lisp objects, not for normal C variables.  For the latter, use just
> "p", which is short for "print".

Oops, thanks for the correction.  Since Manuel Giraud found a fix, I
guess it's not worth pursuing this further, but for the record, here are
the outputs I got for the initial display and then after each `C-x C-+'
(up to +5) in the *Customize Face: bold* buffer in Emacs, both without
and with Manuel's fix:

(gdb) p it->ascent
$1 = 13
(gdb) p it->descent
$2 = 3
(gdb) p it->ascent
$3 = 14
(gdb) p it->descent
$4 = 2
(gdb) p it->ascent
$5 = 15
(gdb) p it->descent
$6 = 1
(gdb) p it->ascent
$7 = 16
(gdb) p it->descent
$8 = 0
(gdb) p it->ascent
$9 = 18
(gdb) p it->descent
$10 = -2
(gdb) p it->ascent
$11 = 19
(gdb) p it->descent
$12 = -3

The ascent values are the same as what was displayed in the *locals of
emacs* buffer for glyph_ascent.  A difference between the outputs
without and with Manuel's fix is in the values for struct glyph_slice:
without the fix, width and height switched back and forth between 15 and
16, as I noted previously, while with the fix, these values continually
increased with each `C-x C-+'.

Steve Berman