Re: xsrc/60398 (Line drawing in xterm does not work as expected)

"Havard Eidnes via gnats" <[email protected]>
Newsgroups gmane.os.netbsd.bugs
Message-ID <[email protected]>
The following reply was made to PR xsrc/60398; it has been noted by GNATS.

From: Havard Eidnes <[email protected]>
To: [email protected], [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: xsrc/60398 (Line drawing in xterm does not work as expected)
Date: Fri, 03 Jul 2026 14:15:32 +0200 (CEST)

 > 1. Can you please start a fresh xterm in each version of NetBSD you
 >    tried, started however you normally start xterms, and share the
 >    output of `locale' in each fresh xterm?
 
 I usually don't mess with things I don't have to, so they all
 have
 
 $ locale
 LANG=""
 LC_CTYPE="C"
 LC_COLLATE="C"
 LC_TIME="C"
 LC_NUMERIC="C"
 LC_MONETARY="C"
 LC_MESSAGES="C"
 LC_ALL=""
 $ 
 
 I also have Alt-B and Alt-F committed to muscle memory as usable
 line editing characters in tcsh, and if I'm not terribly mistaken,
 those are no longer usable in a locale containing UTF-8, and are
 instead interpreted as Something Else.
 
 > 2. Can you share any .Xdefaults or .Xresources file you have?
 >
 > 3. Can you share the output of `xrdb -q'?
 
 These come down to basically the same:
 
 $ xrdb -q | egrep -i xterm
 XTerm*ScrollBar:        true
 XTerm*scrollbar*thickness:      7
 XTerm*multiScroll:      true
 XTerm*saveLines:        1000
 XTerm*scrollInput:      false
 XTerm*scrollKey:        true
 XTerm*visualBell:       true
 XTerm*cursorColor:      violet red
 xterm.waitforwm:        false
 XTerm*background:       bisque
 XTerm*foreground:       black
 XTerm*deleteIsDEL:      true
 XTerm*ptyInitialErase:  true
 XTerm*ttyModes: erase ^?
 XTerm*numLock:  false
 XTerm*backarrowKeyIsErase:      true
 XTerm*backarrowKey:     true
 $ 
 
 > 4. Can you share the output of `appres XTerm'?
 
 $ appres XTerm
 *tekMenu*vtshow*Label:  Show VT Window
 *tekMenu*tektextsmall*Label:    Small Characters
 *tekMenu*vtmode*Label:  Switch to VT Mode
 *tekMenu*tektextlarge*Label:    Large Characters
 *tekMenu*tekpage*Label: PAGE
 *tekMenu*tekreset*Label:        RESET
 *tekMenu*tektext2*Label:        #2 Size Characters
 *tekMenu*tekhide*Label: Hide Tek Window
 *tekMenu*tekcopy*Label: COPY
 *tekMenu*tektext3*Label:        #3 Size Characters
 *tekMenu.Label: Tek Options
 *MenuButton*borderWidth:        0
 *menubar.borderWidth:   0
 *mainMenu*redraw*Label: Redraw Window
 *mainMenu*oldFunctionKeys*Label:        Old Function-Keys
 *mainMenu*interrupt*Label:      Send INT Signal
 *mainMenu*8-bit control*Label:  8-Bit Controls
 *mainMenu*logging*Label:        Log to File
 *mainMenu*sunFunctionKeys*Label:        Sun Function-Keys
 *mainMenu*hangup*Label: Send HUP Signal
 *mainMenu*print-immediate*Label:        Print-All Immediately
 *mainMenu*sunKeyboard*Label:    VT220 Keyboard
 *mainMenu*terminate*Label:      Send TERM Signal
 *mainMenu*backarrow key*Label:  Backarrow Key (BS/DEL)
 *mainMenu*print-on-error*Label: Print-All on Error
 *mainMenu*hpFunctionKeys*Label: HP Function-Keys
 *mainMenu*kill*Label:   Send KILL Signal
 *mainMenu*num-lock*Label:       Alt/NumLock Modifiers
 *mainMenu*toolbar*Label:        Toolbar
 *mainMenu*print*Label:  Print Window
 *mainMenu*scoFunctionKeys*Label:        SCO Function-Keys
 *mainMenu*quit*Label:   Quit
 *mainMenu*alt-esc*Label:        Alt Sends Escape
 *mainMenu*print-redir*Label:    Redirect to Printer
 *mainMenu*fullscreen*Label:     Full Screen
 *mainMenu*tcapFunctionKeys*Label:       Termcap Function-Keys
 *mainMenu*meta-esc*Label:       Meta Sends Escape
 *mainMenu*dump-html*Label:      XHTML Screen Dump
 *mainMenu*securekbd*Label:      Secure Keyboard
 *mainMenu*suspend*Label:        Send STOP Signal
 *mainMenu*dump-svg*Label:       SVG Screen Dump
 *mainMenu*allowsends*Label:     Allow SendEvents
 *mainMenu*delete-is-del*Label:  Delete is DEL
 *mainMenu*continue*Label:       Send CONT Signal
 *mainMenu.Label:        Main Options
 *tek4014*fontLarge:     9x15
 *tek4014*font2: 8x13
 *tek4014*font3: 6x13
 *tek4014*fontSmall:     6x10
 *SimpleMenu*menuLabel.font:     -adobe-helvetica-bold-r-normal--*-120-*-*-*-*-iso8859-*
 *SimpleMenu*menuLabel.vertSpace:        100
 *SimpleMenu*Sme.height: 16
 *SimpleMenu*BackingStore:       NotUseful
 *SimpleMenu*HorizontalMargins:  16
 *SimpleMenu*Cursor:     left_ptr
 *SimpleMenu*borderWidth:        2
 *fontMenu*allow-bold-fonts*Label:       Bold Fonts
 *fontMenu*font2*Label:  Tiny
 *fontMenu*utf8-title*Label:     UTF-8 Titles
 *fontMenu*font-linedrawing*Label:       Line-Drawing Characters
 *fontMenu*font3*Label:  Small
 *fontMenu*allow-color-ops*Label:        Allow Color Ops
 *fontMenu*font-doublesize*Label:        Doublesized Characters
 *fontMenu*font4*Label:  Medium
 *fontMenu*allow-font-ops*Label: Allow Font Ops
 *fontMenu*font-loadable*Label:  VT220 Soft Fonts
 *fontMenu*font5*Label:  Large
 *fontMenu*allow-mouse-ops*Label:        Allow Mouse Ops
 *fontMenu*font-packed*Label:    Packed Font
 *fontMenu*fontdefault*Label:    Default
 *fontMenu*font6*Label:  Huge
 *fontMenu*allow-tcap-ops*Label: Allow Termcap Ops
 *fontMenu*render-font*Label:    TrueType Fonts
 *fontMenu*font1*Label:  Unreadable
 *fontMenu*font7*Label:  Enormous
 *fontMenu*allow-title-ops*Label:        Allow Title Ops
 *fontMenu*utf8-mode*Label:      UTF-8 Encoding
 *fontMenu*fontescape*Label:     Escape Sequence
 *fontMenu*allow-window-ops*Label:       Allow Window Ops
 *fontMenu*fontsel*Label:        Selection
 *fontMenu*utf8-fonts*Label:     UTF-8 Fonts
 *fontMenu.Label:        VT Fonts
 *vtMenu*keepSelection*Label:    Keep Selection
 *vtMenu*autowrap*Label: Enable Auto Wraparound
 *vtMenu*titeInhibit*Label:      Enable Alternate Screen Switching
 *vtMenu*altscreen*Label:        Show Alternate Screen
 *vtMenu*keepClipboard*Label:    Keep Clipboard
 *vtMenu*reversewrap*Label:      Enable Reverse Wraparound
 *vtMenu*activeicon*Label:       Enable Active Icon
 *vtMenu*sixelScrolling*Label:   Sixel Scrolling
 *vtMenu*selectToClipboard*Label:        Select to Clipboard
 *vtMenu*autolinefeed*Label:     Enable Auto Linefeed
 *vtMenu*softreset*Label:        Do Soft Reset
 *vtMenu*privateColorRegisters*Label:    Private Color Registers
 *vtMenu*cursesemul*Label:       Enable Curses Emulation
 *vtMenu*scrollbar*Label:        Enable Scrollbar
 *vtMenu*appcursor*Label:        Enable Application Cursor Keys
 *vtMenu*hardreset*Label:        Do Full Reset
 *vtMenu*visualbell*Label:       Enable Visual Bell
 *vtMenu*appkeypad*Label:        Enable Application Keypad
 *vtMenu*clearsavedlines*Label:  Reset and Clear Saved Lines
 *vtMenu*bellIsUrgent*Label:     Enable Bell Urgency
 *vtMenu*scrollkey*Label:        Scroll to Bottom on Key Press
 *vtMenu*tekshow*Label:  Show Tek Window
 *vtMenu*scrollttyoutput*Label:  Scroll to Bottom on Tty Output
 *vtMenu*jumpscroll*Label:       Enable Jump Scroll
 *vtMenu*poponbell*Label:        Enable Pop on Bell
 *vtMenu*tekmode*Label:  Switch to Tek Mode
 *vtMenu*allow132*Label: Allow 80/132 Column Switching
 *vtMenu*reversevideo*Label:     Enable Reverse Video
 *vtMenu*cursorblink*Label:      Enable Blinking Cursor
 *vtMenu*vthide*Label:   Hide VT Window
 *vtMenu.Label:  VT Options
 *form.Thickness:        0
 *VT100.utf8Fonts.font4: -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1
 *VT100.utf8Fonts.font2: -misc-fixed-medium-r-normal--8-80-75-75-c-50-iso10646-1
 *VT100.utf8Fonts.font6: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
 *VT100.utf8Fonts.font5: -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
 *VT100.utf8Fonts.font3: -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1
 *VT100.utf8Fonts.font:  -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1
 *VT100.utf8Fonts.font7: -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1
 *VT100.font4:   7x13
 *VT100.font2:   5x7
 *VT100.font6:   10x20
 *VT100.font5:   9x15
 *VT100.font3:   6x10
 *VT100.font1:   nil2
 *VT100.font7:   -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1
 XTerm*scrollbar*thickness:      7
 XTerm*scrollKey:        true
 XTerm*ptyInitialErase:  true
 XTerm*backarrowKey:     true
 XTerm*background:       bisque
 XTerm*visualBell:       true
 XTerm*multiScroll:      true
 XTerm*ttyModes: erase ^?
 XTerm*foreground:       black
 XTerm*cursorColor:      violet red
 XTerm*ScrollBar:        true
 XTerm*saveLines:        1000
 XTerm*numLock:  false
 XTerm*scrollInput:      false
 XTerm*deleteIsDEL:      true
 XTerm*backarrowKeyIsErase:      true
 *saveLines:     1024
 *IconFont:      nil2
 *allowWindowOps:        false
 *pointerMode:   0
 $ 
 
 > When I try running `LC_CTYPE=C xterm' vs `LC_CTYPE=C.UTF-8
 > xterm', on netbsd-9 and netbsd-10 userlands, I am able to
 > reproduce exactly what you described: with LC_CTYPE=C, xterm
 > shows a-with-circumflex; with LC_CTYPE=C.UTF-8, xterm shows
 > vertical bar.
 
 If I start xterm on netbsd-9 and netbsd-10 without any LANG or
 LC_CTYPE in the environment, bring up the font menu and select
 "UTF-8 Encoding", I get line drawing characters for the UTF-8
 sequences for those characters in that xterm.
 
 If I do the same on netbsd-11, I do not.  Evidently with that
 version, xterm *must* be started in an environment / locale setting
 which includes UTF-8 for that to work, and in that case the font
 menu entries related to UTF-8 are greyed out in the newly started
 xterm.
 
 So ... in the new xterm version, the dynamic choice of "UTF-8
 Encoding" no longer appears to be possible.
 
 So ... in a sense I now have a workaround.
 
 Regards,
 
 - Havard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.