Subject: Re: bug#48135: 27.1.91; standard-display-table incorrectly initialized in byte compiled code?

From: Gregory Heytings <[email-masked]>
Date: Sat, 01 May 2021 12:00:27 +0000

>> Now byte compile the file and start emacs: emacs -q -l testdt.elc
>>
>> You'll get a wrong-type-argument error and the *Messages* buffer will 
>> contain:
>>
>>   For information about GNU Emacs and the GNU system, type C-h C-a.
>>   Hello
>>   display-table-slot: Wrong type argument: char-table-p, nil
>>
>> The *Help* buffer will contain:
>>
>>   Truncation glyph:
>>
>> Apparently, there's something wrong with attempting to access the 
>> standard-display-table from byte compiled code.
>
> I cannot reproduce this with the stock version of Emacs 27.2 (of which 
> yours seems to be a pretest).  I get the same results from both the 
> compiled and the interpreted versions.
>

Perhaps it's a GNU/Linux specific bug, but I can reproduce this with Emacs 
22-28.  It worked with Emacs 21.  standard-display-table is nil before 
invoking describe-display-table, and somehow becomes populated when 
discribe-display-table is invoked from a non-byte-compiled file, but not 
when it is invoked from a byte-compiled file.  A simple workaround is to 
(require 'disp-table).