bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TERMINFO BUG?] VT100 reset string ignores scrolling margins and VT5


From: Thomas Dickey
Subject: Re: [TERMINFO BUG?] VT100 reset string ignores scrolling margins and VT52 mode
Date: Sat, 11 Mar 2017 17:48:02 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

On Fri, Mar 10, 2017 at 05:52:02PM -0600, Rob King wrote:
> Hello,
>     The class "vt100|vt100-am" terminfo entry has as its rs2
> sequence "rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h". This resets all of
> the various DEC private modes to their default values. This is the
> only reset string currently defined for the VT100.
> 
>     This sequence does not appear to reset scrolling margins. As the
> top and bottom margins are settable via escape sequences, it is
> possible to get the terminal in a state where scrolling is invalid
> and not fixable via the reset utility.

scrolling margins - ok: csr is in the terminal description, and
there's no existing terminal emulator lacking the feature.
 
>     The reset string likewise does not exit out of VT52 emulation
> mode, which is also something that is settable via software and
> therefore a place where a user could get "stuck" and beyond the
> reach of "reset".

This is more of a problem, since several terminal descriptions
inherit from vt100 (and like some programs that I don't have
to mention), most of those didn't bother to implement a workable
vt52 emulation.  So... resetting vt52 back to vt100 would introduce
a change that can't be tested.
 
>     I would recommend, if possible, updating the reset string to
> something like "\E<\Ec", which would exit VT52 emulation mode (if
> the terminal is in such a state) and then use the RIS (Reset to
> Initial State) sequence to completely reset the terminal state.

that's harder (no pun intended).  For a real vt100, that would act
as if you power-cycled the terminal, interrupting the connection.

I keep this in mind:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=60377

though the particular "rs2" string we're discussing predates ncurses,
first seen in 4.0BSD, around 1980.
 
>     If this is not desirable due to the side-effects of the RIS
> sequence (which causes the POST to execute), perhaps the existing
> reset string could be modified to include "\E<\E[r", to get the
> terminal in ANSI mode and reset its scrolling margins. The "\E<"
> would need to be the first component of the reset string, since the
> following components would not be recognized in VT52 mode.

I'm inclined to incorporate it, but changing the use's for the existing
stuff to avoid changing old entries.

-- 
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]