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

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Dec 2021 11:12:34 +0200

> From: Po Lu <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 05 Dec 2021 16:58:27 +0800
> 
> >> w32--set-selection: Coding system is invalid or doesn't have an eol
> >> variant for dos line ends: nil [2 times]
> >
> > What are the values of the following variables on that system?
> >
> >   selection-coding-system
> >   next-selection-coding-system
> 
> Both variables are nil.

That's the problem.  But I don't understand why is that so.  The value
of selection-coding-system is set in globals_of_w32select, which is
called during startup, and where we have this code:

  ANSICP = GetACP ();
  OEMCP = GetOEMCP ();

  QANSICP = coding_from_cp (ANSICP);
  QOEMCP = coding_from_cp (OEMCP);

  if (os_subtype == OS_SUBTYPE_NT)
    Vselection_coding_system = Qutf_16le_dos;
  else if (inhibit_window_system)
    Vselection_coding_system = QOEMCP;
  else
    Vselection_coding_system = QANSICP;

On Windows 9X, this should assign the ANSI codepage to
selection-coding-system.  Since your codepage seems to be 1252, it
should assign the symbol 'cp1252-dos' to selection-coding-system, see
coding_from_cp.

Why doesn't this happen in your case?