Subject: Re: bug#52295: 28.0.90; Killing text results in coding system complaint

From: Po Lu <[email-masked]>
Date: Tue, 07 Dec 2021 18:33:26 +0800

Eli Zaretskii <[email-masked]> writes:

> On December 7, 2021 11:20:10 AM GMT+02:00, Po Lu <[email-masked]> wrote:
>> Eli Zaretskii <[email-masked]> writes:
>> 
>> > Maybe 'intern' signals an error?  There's a check_obarray test inside
>> > intern_1, which could signal an error.
>> 
>> No error is signalled:
>> 
>> > If you print the value which 'intern' returns in coding_from_cp, do
>> > you see a nil value printed?
>> 
>> `nil' is printed in this case.
>> 
>> Thanks.
>> 
>> (I will not have access to that machine for a while, so I can't perform
>> any further testing on it for the next week or so.)
>> 

> So I think there's no way around stepping into intern_1 and the
> functions it calls, and figuring out what happens there.  I thought
> you said GDB doesn't work on the target?  Then perhaps printfs will
> help?

Yes, GDB doesn't work there, but I modified coding_from_cp to look like
this:

static Lisp_Object
coding_from_cp (UINT codepage)
{
  char buffer[30];
  Lisp_Object sym;
  sprintf (buffer, "cp%d-dos", (int) codepage);
  sym = intern (buffer);
  Fprint (sym, Qexternal_debugging_output);
  return sym;
}

And it printed nil.