russell bell wrote: > Yeah, what?
Your symptoms sound potentially like what happens when one output layer believes that the TAB character overwrites the columns it passes over with spaces, while the actual output hardware just moves the cursor. Try: (1) note current 'tab' setting: $ stty -a | grep tab[0-9] (2) test with `stty tab0; lynx -whatever-reproduces-it` (3) test with `stty tab3; lynx -whatever-reproduces-it` If those differ, the problem might relate to tabs. (Another possibly useful way to test is to run under GNU `screen` and see if the behavior goes away.) Linux termios(3) says (and any other POSIX OS should agree): " c_oflag flag constants defined in POSIX.1: " ... " " TABDLY Horizontal tab delay mask. Values are TAB0, TAB1, TAB2, " TAB3 (or XTABS). A value of TAB3, that is, XTABS, expands tabs " to spaces (with tab stops every eight columns). ==== You can also have similar problems if your terminal has been programmed to unexpected tab stops. This is a tab stop fixing script I wrote a few years ago which lives in my path as ~/bin/vt100; requires any shell with "echo -e" and "let", i.e. bash / ksh / zsh, but not dash or true Bourne shell: ======================================================================== #!/bin/bash # # "vt100" -- correct messed up tab stops on VT100 / ANSI terminals # row_of() { col=1 while [ $col -le $columns ]; do echo -e "$1\c" let col+=8 done echo -e "$CR" } columns=${1:-${COLUMNS:-$(stty -a </dev/tty | sed -n 's/.*columns[ =]*\([0-9]*\).*/\1/p')}} ESC=$(echo -e "\033\c") CR=$(echo -e "\r\c") echo -e "BEFORE:$CR"; row_of "T\t" echo -e "${ESC}[=3L${ESC}[3g$CR\c"; row_of "${ESC}H " echo -e "AFTER:$CR"; row_of "T\t" ======================================================================== Operation looks like: $ vt100 BEFORE: T T T T T T T T T T AFTER: T T T T T T T T T T >Bela< _______________________________________________ Lynx-dev mailing list Lynx-dev@nongnu.org https://lists.nongnu.org/mailman/listinfo/lynx-dev