Hi,

s-nail 14.8.16-1 on Arch Linux.  I was writing an email and pasted text
from the web browser into the terminal.  It contained tabs.  The pasted
text had "[ERR_TOO_LONG]" added throughout.

What's written to the terminal, captured by script(1), has lots of
Ctrl-Hs to backspace over what's already written.  Here's an example.
I've folded the single line.

    Date & Time ^H^H^H^H^H^H^H^H^H^H^H^H            ^H^H^H^H^H^H^H^H
    ^H^H^H^HDate & Time [ERR_TOO_LONG]Location ^H^H^H^H^H^H^H^H^H^H^
    H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H               
                        ^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H
    ^H^H^H^H^H^H^H^H^H^H^H^H^HDate & Time [ERR_TOO_LONG]Location [ER
    R_TOO_LONG]Description^M

The system calls captured by strace starting with the end of "Time "
above.

    read(0, "m", 1)                         = 1
    write(1, "m", 1)                        = 1
    read(0, "e", 1)                         = 1
    write(1, "e", 1)                        = 1
    read(0, " ", 1)                         = 1
    write(1, " ", 1)                        = 1
    read(0, "\t", 1)                        = 1
    rt_sigprocmask(SIG_BLOCK, ~[ILL ABRT BUS FPE KILL SEGV CHLD STOP RTMIN 
RT_1], [], 8) = 0
    stat("*", 0x7ffcba68b710)               = -1 ENOENT (No such file or 
directory)
    stat("*.gz", 0x7ffcba68b710)            = -1 ENOENT (No such file or 
directory)
    stat("*.xz", 0x7ffcba68b710)            = -1 ENOENT (No such file or 
directory)
    stat("*.bz2", 0x7ffcba68b710)           = -1 ENOENT (No such file or 
directory)

Why stat globs?  And if * is ENOENT then the others aren't going to fare
better.

    rt_sigprocmask(SIG_BLOCK, [CHLD], NULL, 8) = 0
    open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
    fstat(4, {st_mode=S_IFDIR|0750, st_size=12288, ...}) = 0
    getdents(4, /* 276 entries */, 32768)   = 9000
    getdents(4, /* 0 entries */, 32768)     = 0
    close(4)                                = 0
    rt_sigprocmask(SIG_UNBLOCK, [CHLD], NULL, 8) = 0
    rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
    write(1, "\10\10\10\10\10\10\10\10\10\10\10\10            
\10\10\10\10\10\10\10\10"..., 62) = 62

That will be the "[ERR_TOO_LONG]" making its first appearance.

    read(0, "L", 1)                         = 1
    write(1, "L", 1)                        = 1
    read(0, "o", 1)                         = 1
    write(1, "o", 1)                        = 1
    read(0, "c", 1)                         = 1
    write(1, "c", 1)                        = 1

So it seems there's tab completion of filenames in the midst of writing
an email.  That seems of rare use, but a source of frequent annoyance.
How is it disabled?

Cheers, Ralph.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
__________________________________
[email protected]

Reply via email to