public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
@ 2023-04-18 15:44 vries at gcc dot gnu.org
  2023-04-18 22:09 ` [Bug tui/30370] " vries at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-04-18 15:44 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

            Bug ID: 30370
           Summary: [gdb/tui] tui border-kind acs looks weird for
                    TERM=ansi and LANG=en_US.UTF-8
           Product: gdb
           Version: HEAD
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tui
          Assignee: unassigned at sourceware dot org
          Reporter: vries at gcc dot gnu.org
  Target Milestone: ---

When using gdb's TUI with TERM=ansi and LANG=en_US.UTF-8, I get a weird border:
...
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³                                                                            ³
³                                                                            ³
...

This is with the default tui border-kind acs.

I tracked this down to not using NCURSES_NO_UTF8_ACS=1, with which I get
instead:
...
┌────────────────────────────────────────────────────────────────────────────┐
│                                                                            │
...

I wonder if we should consider this an ncurses problem or a gdb problem.

In the latter case, I wonder if GDB can detect this problem, and set
NCURSES_NO_UTF8_ACS=1 before initializing ncurses.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
@ 2023-04-18 22:09 ` vries at gcc dot gnu.org
  2023-04-18 22:24 ` tromey at sourceware dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-04-18 22:09 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #0)
> and set
> NCURSES_NO_UTF8_ACS=1 before initializing ncurses.

That seems to be possible, this has the desired effect:
...
diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
index 3604194a760..9bb9b1e73ef 100644
--- a/gdb/tui/tui.c
+++ b/gdb/tui/tui.c
@@ -402,6 +402,7 @@ tui_enable (void)
       if (!gdb_stderr->isatty ())
        error (_("Cannot enable the TUI when output is not a terminal"));

+      putenv (strdup ("NCURSES_NO_UTF8_ACS=1"));
       s = newterm (NULL, stdout, stdin);
 #ifdef __MINGW32__
       /* The MinGW port of ncurses requires $TERM to be unset in order

...

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
  2023-04-18 22:09 ` [Bug tui/30370] " vries at gcc dot gnu.org
@ 2023-04-18 22:24 ` tromey at sourceware dot org
  2023-04-18 22:40 ` vries at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tromey at sourceware dot org @ 2023-04-18 22:24 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

Tom Tromey <tromey at sourceware dot org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tromey at sourceware dot org

--- Comment #2 from Tom Tromey <tromey at sourceware dot org> ---
IIUC this env var is a workaround for buggy terminals and/or
incorrect termcap entries.  I tend to doubt gdb should unilaterally set it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
  2023-04-18 22:09 ` [Bug tui/30370] " vries at gcc dot gnu.org
  2023-04-18 22:24 ` tromey at sourceware dot org
@ 2023-04-18 22:40 ` vries at gcc dot gnu.org
  2023-04-18 22:54 ` vries at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-04-18 22:40 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
Created attachment 14840
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14840&action=edit
Tentative patch

My best guess at how this could work.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-04-18 22:40 ` vries at gcc dot gnu.org
@ 2023-04-18 22:54 ` vries at gcc dot gnu.org
  2023-04-19 13:38 ` vries at gcc dot gnu.org
  2023-05-04  7:41 ` vries at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-04-18 22:54 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

--- Comment #4 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom Tromey from comment #2)
> IIUC this env var is a workaround for buggy terminals and/or
> incorrect termcap entries.  I tend to doubt gdb should unilaterally set it.

I understand the reasoning.

It's just that TERM=ansi is used in the TUI testsuite, so I'm using that all
the time when debugging TUI test-cases on an actual terminal (rather than the
ansi terminal emulator in the testsuite), and each time I run into this PR
(both on openSUSE Leap 15.4 and Ubuntu 22.04) I end up using "set tui
border-kind ascii" to work around it (but as I've just learned, I could also
use NCURSES_NO_UTF8_ACS=1).

So, my attempt at a rationale for fixing this PR would be that if we use
TERM=ansi in the testsuite, we should try to make that work as expected on the
average terminal emulator.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2023-04-18 22:54 ` vries at gcc dot gnu.org
@ 2023-04-19 13:38 ` vries at gcc dot gnu.org
  2023-05-04  7:41 ` vries at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-04-19 13:38 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

--- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> ---
Tried another approach, submitted RFC "[gdb/tui] Add set tui border-kind
acs-or-space/acs-or-ascii" here (
https://sourceware.org/pipermail/gdb-patches/2023-April/198982.html ).

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tui/30370] [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8
  2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2023-04-19 13:38 ` vries at gcc dot gnu.org
@ 2023-05-04  7:41 ` vries at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: vries at gcc dot gnu.org @ 2023-05-04  7:41 UTC (permalink / raw)
  To: gdb-prs

https://sourceware.org/bugzilla/show_bug.cgi?id=30370

--- Comment #6 from Tom de Vries <vries at gcc dot gnu.org> ---
See also PR30419.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-05-04  7:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-18 15:44 [Bug tui/30370] New: [gdb/tui] tui border-kind acs looks weird for TERM=ansi and LANG=en_US.UTF-8 vries at gcc dot gnu.org
2023-04-18 22:09 ` [Bug tui/30370] " vries at gcc dot gnu.org
2023-04-18 22:24 ` tromey at sourceware dot org
2023-04-18 22:40 ` vries at gcc dot gnu.org
2023-04-18 22:54 ` vries at gcc dot gnu.org
2023-04-19 13:38 ` vries at gcc dot gnu.org
2023-05-04  7:41 ` vries at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).