"G. Branden Robinson" <[email protected]> writes:

> Hi Collin,
>
> At 2026-01-20T20:06:26-0800, Collin Funk wrote:
>> Taking a look at the other GNU programs that implement hyperlinks for
>> terminals [1]:
>> 
>> * Emacs accepts both (see lisp/ansi-osc.el).
>> * Groff emits \e.
>
> I don't understand this claim.
>
> The context here would appear to be what a program uses to terminate an
> OSC 8 sequence.  As far as I know, nobody terminates one just with `\e`
> (ESC).  They either use BEL (Control+G) or the ST string terminator C1
> control (U+009C), or more commonly, a 7-bit version of the string
> terminator, ESC \.  (I expect because U+009C requires a multibyte
> character sequence in UTF-8.)
>
> https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/src/devices/grotty/tty.cpp?h=1.24.0.rc1#n93
> https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/src/devices/grotty/tty.cpp?h=1.24.0.rc1#n473
>
> Did you mean to write either "\e\" or "\e\\"?

Silly mistake on my part, thanks.

I meant "ESC \". I was morso focused on the representation in source
code, e.g. Emac's regex:

    "\\=[\x08-\x0D]*[\x20-\x7E]*\\(\a\\|\e\\\\\\)"

We can see it accepts both.

In UTF-8 it is 0xC2 0x9C.

Collin

Reply via email to