Le Thu, Jun 22, 2023 at 08:00:22PM +0200, Martin Neitzel a écrit : > Hi Thierry, > > > If one opens this one line script in vi, in an xterm with default size, > > using the dollar '$' to go to the end of the line crashes vi(1). > > I cannot reproduce that with: > > % env TERM=xterm LC_ALL=fr_FR.ISO8859-15 vi vi_crasher.txt > > with local (linux) xterm -> ssh netbsd-host -> vi > > NetBSD 8.2_STABLE (GENERIC), amd64, #3: Sat May 2 15:05:24 CEST 2020 > > /usr/bin/vi, > :ve yields: Version (1.81.6-2013-11-20nb4) > and ts=8
Others seem unable to reproduce also, but for me it is 100% reproducible. So trying to put every info: $ xwininfo xwininfo: Please select the window about which you would like information by clicking the mouse in that window. xwininfo: Window id: 0x60000d "xterm" Absolute upper-left X: 3 Absolute upper-left Y: 24 Relative upper-left X: 0 Relative upper-left Y: 21 Width: 884 Height: 556 Depth: 16 Visual: 0x21 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +3+24 -713+24 -713-320 +3-320 -geometry 80x24+1+1 (Note: the position has nothing to do with, the geometry has). vi: set ts=8 A vis version of the one line $ vis -w \011\011v_stack[nval].ival\040=\040v_stack[nval-1].ival\040+\040v_stack[nval-1].len\011\012 Suspicious thing: when it crashes with ts=8, the last char displayed just against the right border of the window (the remaining of the line is not wrapped; it is simply not displayed) is the 'l' of the third "nval". Then there are exactly 8 chars after before new line, the last one being a tab (a tab and 8; and the width is 80)... How to reproduce: in vi(1), use '$' to go to the end of the line. Other way to reproduce for me. Set ts=4, move to the end of the line, and then set ts=8. The locales: $ locale LANG="POSIX" LC_CTYPE="fr_FR.ISO8859-15" LC_COLLATE="POSIX" LC_TIME="POSIX" LC_NUMERIC="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="fr_FR.ISO8859-15" LC_ALL="" and finally the window manager is twm (all are from NetBSD X11; not pkgsrc). -- Thierry Laronde <tlaronde +AT+ polynum +dot+ com> http://www.kergis.com/ http://kertex.kergis.com/ Key fingerprint = 0FF7 E906 FBAF FE95 FD89 250D 52B1 AE95 6006 F40C