GNU bug report logs - #79298
patch: full color in windows terminal

Previous Next

Package: emacs;

Reported by: Ewan <ewan <at> etown.dev>

Date: Sun, 24 Aug 2025 06:07:02 UTC

Severity: normal

Merged with 79297

Full log


View this message in rfc822 format

From: Ewan <ewan <at> etown.dev>
To: Eli Zaretskii <eliz <at> gnu.org>, "79298 <at> debbugs.gnu.org" <79298 <at> debbugs.gnu.org>
Subject: bug#79298: patch: full color in windows terminal
Date: Wed, 27 Aug 2025 04:29:00 +0000
On Tuesday, August 26th, 2025 at 4:03 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
> > Date: Mon, 25 Aug 2025 20:23:52 +0000
>
> > From: Ewan ewan <at> etown.dev
> > Cc: 79298 <at> debbugs.gnu.org
> >
> > > > The initial patch drew heavily (>15 lines) from this public fork of emacs:
> > > > https://github.com/tsuu32/emacs-w32con-vt
> > > >
> > > > The revised patch differs substantially, but I suspect it will keep some
> > > > small chunks of color-computing code, as the forumulas are what they are.
> > >
> > > Can you identify those formulas in the patch you submitted?
> >
> > In lisp/term/w32console.el, the definition and application of convert-to-16-bit
> > in the body of w32con-define-256-colors, and the overall of shape of the
> > w32con-define-N-colors functions.

Note, those functions appear to be pulled, with minor changes, from xterm.el.

> > In src/w32console.c, within turn_on_face, the conversions of fg and bg which
> > yield substituends in the calls to snprintf .
>
>
> Thanks. Is there some Microsoft documentation that describes how to
> convert fg and bg colors to virtual console escape sequences? If so,
> can you point to it?

The conversion is derived from the table in this spec:
https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences#text-formatting

I can also include the link in the source code, but it may go dead some day.




This bug report was last modified 6 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.