https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87488
Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |burnus at gcc dot gnu.org --- Comment #13 from Tobias Burnus <burnus at gcc dot gnu.org> --- While this works with xterm (ignored) and gnome-terminal (shows hyperlink), but using KDE Konsole, the warnings now have: warning: control reaches end of non-void function [\-Wreturn-type\] That is: There are spurious \ in the output. Looking at the output of Coreutil's 'ls --hyperlink', they use \a instead of \033\ I don't know whether there is a downside, but it seems to work fine. The quoted reference (second link below or comment above pp_begin_url) states: > OSC 8 ; params ; URI ST at the beginning and > OSC 8 ; ; ST but not stating what ST exactly is. Cross references: * Coreutils: https://bugzilla.gnome.org/show_bug.cgi?id=779734 – they use '\a' from the beginning w/o discussion * https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda - this web page suggests \033\ * KDE Konsole - no intention to implement it, cf. https://bugs.kde.org/show_bug.cgi?id=379294 Assuming there is no (known) downside, I suggest to apply the patch: diff --git a/gcc/pretty-print.c b/gcc/pretty-print.c index c57a3dbd887..032baad0146 100644 --- a/gcc/pretty-print.c +++ b/gcc/pretty-print.c @@ -2052,7 +2052,7 @@ void pp_begin_url (pretty_printer *pp, const char *url) { if (pp->show_urls) - pp_printf (pp, "\33]8;;%s\33\\", url); + pp_printf (pp, "\33]8;;%s\a", url); } /* If URL-printing is enabled, write a "close URL" escape sequence to PP. */ @@ -2061,7 +2061,7 @@ void pp_end_url (pretty_printer *pp) { if (pp->show_urls) - pp_string (pp, "\33]8;;\33\\"); + pp_string (pp, "\33]8;;\a"); } #if CHECKING_P @@ -2369,7 +2369,7 @@ test_urls () pp_begin_url (&pp, "http://example.com"); pp_string (&pp, "This is a link"); pp_end_url (&pp); - ASSERT_STREQ ("\33]8;;http://example.com\33\\This is a link\33]8;;\33\\", + ASSERT_STREQ ("\33]8;;http://example.com\aThis is a link\33]8;;\a", pp_formatted_text (&pp)); } }