GNU bug report logs - #38940
\x1b]8;; OSC character displayed on hyperlinks shown after calls to `guix describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)

Previous Next

Package: guix;

Reported by: Calvin Heim <frofroggy <at> gmail.com>

Date: Sun, 5 Jan 2020 06:49:01 UTC

Severity: normal

Tags: notabug

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38940 in the body.
You can then email your comments to 38940 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Sun, 05 Jan 2020 06:49:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Calvin Heim <frofroggy <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 05 Jan 2020 06:49:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Calvin Heim <frofroggy <at> gmail.com>
To: bug-guix <at> gnu.org
Subject: \x1b]8;; OSC character displayed on hyperlinks shown after calls to
 `guix describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)
Date: Sat, 04 Jan 2020 22:48:11 -0800
Hi Guix developers,

When using mate-terminal version 1.12.1 (the default graphical terminal provided in Trisquel 8), Guix commands
that print hyperlinks to the terminal (such as `guix describe` and `guix show`)
print a mangled \x1b]8;; OSC character. I haven't tested the mate-terminal
package provided by Guix though, so this bug may only be visible to Trisquel users
of the Guix package manager relying on their host distribution's default terminal soon
after installing Guix.

On a related note, the procedure supports-hyperlinks in module (guix ui) checks the
environment variable INSIDE_EMACS to prevent hyperlink mangling when using Emacs.
Perhaps this procedure could be edited to solve this bug.

--
Calvin




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Mon, 06 Jan 2020 18:39:02 GMT) Full text and rfc822 format available.

Message #8 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Calvin Heim <frofroggy <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Mon, 6 Jan 2020 19:37:53 +0100
Hi,

Thank you for your report.


On Sun, 5 Jan 2020 at 07:49, Calvin Heim <frofroggy <at> gmail.com> wrote:

> When using mate-terminal version 1.12.1 (the default graphical terminal provided in Trisquel 8), Guix commands
> that print hyperlinks to the terminal (such as `guix describe` and `guix show`)
> print a mangled \x1b]8;; OSC character. I haven't tested the mate-terminal
> package provided by Guix though, so this bug may only be visible to Trisquel users
> of the Guix package manager relying on their host distribution's default terminal soon
> after installing Guix.

I have tested with "guix environment --ad-hoc mater-terminal" on
foreign distro (Debian) and I do not see an issue.

So it probably comes from the Trisquel default configuration.


> On a related note, the procedure supports-hyperlinks in module (guix ui) checks the
> environment variable INSIDE_EMACS to prevent hyperlink mangling when using Emacs.
> Perhaps this procedure could be edited to solve this bug.

Does "INSIDE_EMACS=1 guix describe" fix the issue?


All the best,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Mon, 06 Jan 2020 20:27:01 GMT) Full text and rfc822 format available.

Message #11 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Calvin Heim <frofroggy <at> gmail.com>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks
 shown after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Mon, 06 Jan 2020 12:26:20 -0800
On Mon, 2020-01-06 at 19:37 +0100, zimoun wrote:
> Hi,
> 
> Thank you for your report.
> 
> 
> On Sun, 5 Jan 2020 at 07:49, Calvin Heim <frofroggy <at> gmail.com> wrote:
> 
> > 
> > When using mate-terminal version 1.12.1 (the default graphical terminal provided in Trisquel 8), Guix commands
> > that print hyperlinks to the terminal (such as `guix describe` and `guix show`)
> > print a mangled \x1b]8;; OSC character. I haven't tested the mate-terminal
> > package provided by Guix though, so this bug may only be visible to Trisquel users
> > of the Guix package manager relying on their host distribution's default terminal soon
> > after installing Guix.
> I have tested with "guix environment --ad-hoc mater-terminal" on
> foreign distro (Debian) and I do not see an issue.
> 
> So it probably comes from the Trisquel default configuration.
> 
I concur.
> 
> > 
> > On a related note, the procedure supports-hyperlinks in module (guix ui) checks the
> > environment variable INSIDE_EMACS to prevent hyperlink mangling when using Emacs.
> > Perhaps this procedure could be edited to solve this bug.
> Does "INSIDE_EMACS=1 guix describe" fix the issue?
> 

Yes.
>  
> 
> All the best,
> simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Tue, 07 Jan 2020 11:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Calvin Heim <frofroggy <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Tue, 7 Jan 2020 12:58:09 +0100
Hi Calvin,

On Mon, 6 Jan 2020 at 21:26, Calvin Heim <frofroggy <at> gmail.com> wrote:

> > On Sun, 5 Jan 2020 at 07:49, Calvin Heim <frofroggy <at> gmail.com> wrote:

> > > When using mate-terminal version 1.12.1 (the default graphical terminal provided in Trisquel 8), Guix commands
> > > that print hyperlinks to the terminal (such as `guix describe` and `guix show`)
> > > print a mangled \x1b]8;; OSC character. I haven't tested the mate-terminal
> > > package provided by Guix though, so this bug may only be visible to Trisquel users
> > > of the Guix package manager relying on their host distribution's default terminal soon
> > > after installing Guix.
> > I have tested with "guix environment --ad-hoc mater-terminal" on
> > foreign distro (Debian) and I do not see an issue.
> >
> > So it probably comes from the Trisquel default configuration.
> >
> I concur.

So, it is not a bug. ;-)


> > > On a related note, the procedure supports-hyperlinks in module (guix ui) checks the
> > > environment variable INSIDE_EMACS to prevent hyperlink mangling when using Emacs.
> > > Perhaps this procedure could be edited to solve this bug.
> > Does "INSIDE_EMACS=1 guix describe" fix the issue?
> Yes.

Put in your configuration "export INSIDE_EMACS=1". :-)


Does the environment variable NO_OSC appears to you more meaningful
than INSIDE_EMACS?
Where do you think this should be documented? Which part of the manual?


All the best,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Wed, 08 Jan 2020 09:27:02 GMT) Full text and rfc822 format available.

Message #17 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Calvin Heim <frofroggy <at> gmail.com>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks
 shown after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Wed, 08 Jan 2020 01:26:29 -0800
Hi Zimoun,

On Tue, 2020-01-07 at 12:58 +0100, zimoun wrote:
> Does the environment variable NO_OSC appears to you more meaningful
> than INSIDE_EMACS?

It is more meaningful, but this terminal does interpret other operating system codes,
like OSC 12 for changing the cursor color. NO_OSC_8 would be specific to hyperlinks.

> Where do you think this should be documented? Which part of the manual?
Installation > Application setup > Terminals
> Some Guix commands print hyperlinks by sending non-printing control characters (\1b]8;;) 
> to the terminal display. In most cases, this works fine. But some older terminals will 
> misinterpret hyperlinks and print the control characters. 
> If that happens, define the NO_OSC_8 variable to disable hyperlinks:
>	 
>	$ export NO_OSC_8=1
> 
> If you later upgrade to a terminal with hyperlink support, unset this variable to enable
> hyperlinks.

Sincerely,
Calvin




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Wed, 08 Jan 2020 21:29:02 GMT) Full text and rfc822 format available.

Message #20 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Calvin Heim <frofroggy <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com>
Subject: Re: bug#38940: \x1b]8; ;
 OSC character displayed on hyperlinks shown after calls to `guix
 describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)
Date: Wed, 08 Jan 2020 22:28:46 +0100
Hi,

Calvin Heim <frofroggy <at> gmail.com> skribis:

> On Tue, 2020-01-07 at 12:58 +0100, zimoun wrote:
>> Does the environment variable NO_OSC appears to you more meaningful
>> than INSIDE_EMACS?
>
> It is more meaningful, but this terminal does interpret other operating system codes,
> like OSC 12 for changing the cursor color. NO_OSC_8 would be specific to hyperlinks.

The theory is that terminals should ignore OSC codes that they do not
support.  Good’ol xterm, for instance, silently ignores those hyperlink
codes, whereas GNOME Terminal interprets them nicely.

So I would say that this is a bug in this version of mate-terminal, or
perhaps in the libvte version it’s using?

I’ve just tried mate-terminal 1.22.0 on vte 0.58.3 from Guix, and it
silently ignores those codes.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Wed, 08 Jan 2020 22:55:02 GMT) Full text and rfc822 format available.

Message #23 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Calvin Heim <frofroggy <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 38940 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com>
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks
 shown after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Wed, 08 Jan 2020 14:54:07 -0800
On Wed, 2020-01-08 at 22:28 +0100, Ludovic Courtès wrote:
> Hi,
> 
> Calvin Heim <frofroggy <at> gmail.com> skribis:
> 
> > 
> > On Tue, 2020-01-07 at 12:58 +0100, zimoun wrote:
> > > 
> > > Does the environment variable NO_OSC appears to you more meaningful
> > > than INSIDE_EMACS?
> > It is more meaningful, but this terminal does interpret other operating system codes,
> > like OSC 12 for changing the cursor color. NO_OSC_8 would be specific to hyperlinks.
> The theory is that terminals should ignore OSC codes that they do not
> support.  Good’ol xterm, for instance, silently ignores those hyperlink
> codes, whereas GNOME Terminal interprets them nicely.
> 
I concur.

> So I would say that this is a bug in this version of mate-terminal, or
> perhaps in the libvte version it’s using?
Yes, the bug is in libvte 0.28.2 as distributed with Trisquel 8's software updater. 
I misspoke earlier when I mentioned mate-terminal.

This bug will be resolved eventually by Trisquel following the upstream sources in 
Ubuntu, so barring objections I will close this issue.
> I’ve just tried mate-terminal 1.22.0 on vte 0.58.3 from Guix, and it
> silently ignores those codes.
> 
> Thanks,
> Ludo’.

Thanks,
Calvin




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Thu, 09 Jan 2020 12:10:01 GMT) Full text and rfc822 format available.

Message #26 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Calvin Heim <frofroggy <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org, Ludovic Courtès <ludo <at> gnu.org>
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Thu, 9 Jan 2020 13:09:39 +0100
Hi Calvin.

On Wed, 8 Jan 2020 at 23:54, Calvin Heim <frofroggy <at> gmail.com> wrote:

> This bug will be resolved eventually by Trisquel following the upstream sources in
> Ubuntu, so barring objections I will close this issue.

Please close by sending an email to 38940-done <at> debbugs.gnu.org with
some explanations when you judge it is resolved; even if it is *not* a
bug of Guix but a _bug of Trisquel_. ;-)


All the best,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Thu, 09 Jan 2020 12:18:01 GMT) Full text and rfc822 format available.

Message #29 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Calvin Heim <frofroggy <at> gmail.com>, 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Thu, 9 Jan 2020 13:17:33 +0100
Hi Ludo,


On Wed, 8 Jan 2020 at 22:28, Ludovic Courtès <ludo <at> gnu.org> wrote:

> The theory is that terminals should ignore OSC codes that they do not
> support.  Good’ol xterm, for instance, silently ignores those hyperlink
> codes, whereas GNOME Terminal interprets them nicely.

Héhé! It is what the comment you wrote in `supports-hyperlinks?' says. :-)

1. Instead of INSIDE_EMACS, the variable name NO_SUPPORT_HYPERLINK or
other seems more meaningful. Maybe?
2. The comment should go in the docstring.


What do you think?



All the best,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Thu, 09 Jan 2020 21:24:01 GMT) Full text and rfc822 format available.

Message #32 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: zimoun <zimon.toutoune <at> gmail.com>
Cc: Calvin Heim <frofroggy <at> gmail.com>, 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ;
 OSC character displayed on hyperlinks shown after calls to `guix
 describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)
Date: Thu, 09 Jan 2020 22:23:48 +0100
Hi!

zimoun <zimon.toutoune <at> gmail.com> skribis:

> On Wed, 8 Jan 2020 at 22:28, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> The theory is that terminals should ignore OSC codes that they do not
>> support.  Good’ol xterm, for instance, silently ignores those hyperlink
>> codes, whereas GNOME Terminal interprets them nicely.
>
> Héhé! It is what the comment you wrote in `supports-hyperlinks?' says. :-)
>
> 1. Instead of INSIDE_EMACS, the variable name NO_SUPPORT_HYPERLINK or
> other seems more meaningful. Maybe?

Actually the goal was to remove ‘INSIDE_EMACS’ from there once a
widespread-enough Emacs version supports it, which could be within a
year.  And since other terminals are supposed to ignore it altogether, I
would rather not add a special environment variable.

WDYT?

> 2. The comment should go in the docstring.

I tend to write “implementation details” as comments, while keeping pure
descriptions of the interface as docstrings; I think it’s OK.  :-)

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Thu, 09 Jan 2020 21:25:02 GMT) Full text and rfc822 format available.

Message #35 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Calvin Heim <frofroggy <at> gmail.com>
Cc: 38940 <at> debbugs.gnu.org, zimoun <zimon.toutoune <at> gmail.com>
Subject: Re: bug#38940: \x1b]8; ;
 OSC character displayed on hyperlinks shown after calls to `guix
 describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)
Date: Thu, 09 Jan 2020 22:24:36 +0100
Hi Calvin,

Calvin Heim <frofroggy <at> gmail.com> skribis:

> Yes, the bug is in libvte 0.28.2 as distributed with Trisquel 8's software updater. 
> I misspoke earlier when I mentioned mate-terminal.
>
> This bug will be resolved eventually by Trisquel following the upstream sources in 
> Ubuntu, so barring objections I will close this issue.

Sure, closing!

Thanks,
Ludo’.




Added tag(s) notabug. Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 09 Jan 2020 21:25:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 38940 <at> debbugs.gnu.org and Calvin Heim <frofroggy <at> gmail.com> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Thu, 09 Jan 2020 21:25:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Thu, 09 Jan 2020 21:32:01 GMT) Full text and rfc822 format available.

Message #42 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Calvin Heim <frofroggy <at> gmail.com>, 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Thu, 9 Jan 2020 22:31:10 +0100
Hi Ludo,

On Thu, 9 Jan 2020 at 22:23, Ludovic Courtès <ludo <at> gnu.org> wrote:

> > 1. Instead of INSIDE_EMACS, the variable name NO_SUPPORT_HYPERLINK or
> > other seems more meaningful. Maybe?
>
> Actually the goal was to remove ‘INSIDE_EMACS’ from there once a
> widespread-enough Emacs version supports it, which could be within a
> year.  And since other terminals are supposed to ignore it altogether, I
> would rather not add a special environment variable.

Sound reasonable. :-)


> > 2. The comment should go in the docstring.
>
> I tend to write “implementation details” as comments, while keeping pure
> descriptions of the interface as docstrings; I think it’s OK.  :-)

I fully trust your experience. ;-)


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Fri, 10 Jan 2020 03:17:01 GMT) Full text and rfc822 format available.

Message #45 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ; OSC character displayed on hyperlinks shown
 after calls to `guix describe` or `guix show` on mate-terminal 1.12.1
 (Trisquel 8)
Date: Thu, 9 Jan 2020 22:16:14 -0500 (EST)
[Message part 1 (text/plain, inline)]
Hi Ludo'

On Thu, 9 Jan 2020, Ludovic Courtès wrote:

>> 1. Instead of INSIDE_EMACS, the variable name NO_SUPPORT_HYPERLINK or
>> other seems more meaningful. Maybe?
>
> Actually the goal was to remove ‘INSIDE_EMACS’ from there once a
> widespread-enough Emacs version supports it, which could be within a
> year.  And since other terminals are supposed to ignore it altogether, I
> would rather not add a special environment variable.

Which Emacs version support it? I'm using Emacs 26.3 from master, and see 
the escape sequences in eshell. They seem to be correctly ignored in M-x 
shell.

Thanks,
Jack

Information forwarded to bug-guix <at> gnu.org:
bug#38940; Package guix. (Fri, 10 Jan 2020 13:52:02 GMT) Full text and rfc822 format available.

Message #48 received at 38940 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Jack Hill <jackhill <at> jackhill.us>
Cc: 38940 <at> debbugs.gnu.org
Subject: Re: bug#38940: \x1b]8; ;
 OSC character displayed on hyperlinks shown after calls to `guix
 describe` or `guix show` on mate-terminal 1.12.1 (Trisquel 8)
Date: Fri, 10 Jan 2020 14:51:02 +0100
Hi,

Jack Hill <jackhill <at> jackhill.us> skribis:

> On Thu, 9 Jan 2020, Ludovic Courtès wrote:
>
>>> 1. Instead of INSIDE_EMACS, the variable name NO_SUPPORT_HYPERLINK or
>>> other seems more meaningful. Maybe?
>>
>> Actually the goal was to remove ‘INSIDE_EMACS’ from there once a
>> widespread-enough Emacs version supports it, which could be within a
>> year.  And since other terminals are supposed to ignore it altogether, I
>> would rather not add a special environment variable.
>
> Which Emacs version support it? I'm using Emacs 26.3 from master, and
> see the escape sequences in eshell. They seem to be correctly ignored
> in M-x 
> shell.

Emacs 26.3 does not support it; all I know is that there’s a patch by
José Marchesi floating around.

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 08 Feb 2020 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 79 days ago.

Previous Next


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