lynx-dev
[Top][All Lists]
Advanced

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

Re: lynx-dev Lynx 2.8.3.dev4+Slang 1.3.8: arrow keys not working?


From: T.E.Dickey
Subject: Re: lynx-dev Lynx 2.8.3.dev4+Slang 1.3.8: arrow keys not working?
Date: Sat, 17 Jul 1999 07:16:45 -0400 (EDT)

> On Fri, 16 Jul 1999, T.E.Dickey wrote: 
>  
> > > Adding this patch, without any fallback for those who can't get their  
> > > TERM description right, suddenly increases the requirements for using  
> > > lynx-with-slang.  We are not talking about adding more encouragement  
> > > for Bad Things, but about taking away something that "worked" (for  
> > > many people at least).  
> >  
> > Only partly - they're (I assume) setting their $TERM to something other 
> > than the terminal description that comes with rxvt, e.g., "vt100" or 
> > "xterm" - or "ansi" or "linux". 
>  
> So far we have: 
>  
>  Who              term/emulator                                  OS 
>  ===              =============                                ====== 
> F. Meunier:       rxvt                                           ?? 
> I. Cordeiro:     "the same problem"                            
> Solaris,FreeBSD 
> Kim DeVaughn:    "lynx no longer works"                          FreeBSD 
> Kim Scarborough: "not unique to any particular terminal program" FreeBSD 3.2 

in contrast:
  T.Dickey (rxvt, xterm, nxterm, kterm all work properly when set up with the
  terminal descriptions for those programs which are in the ncurses terminfo
  database).

> This doesn't seem specific to either rxvt or a particular OS. 
>  
> > > Actually, with the code as it is now, lynx-with-slang has become *more*  
> > > strict than lynx-with-ncurses: the latter still uses all the ancient  
> > > hardcoded sequences in LYgetch_for, which are not in the code path for  
> > > slang.  
> >  
> > slang uses a piece of that (look at the djgpp code).   
>  
> I was talking about Unix-like only, or more concretely slang with USE_KEYMAPS 
> defined; what slang does with djgpp is irrelevant here. 
>  
> > I'd clean up some of 
> > it, but haven't (til recently) gotten the pieces to do test builds. 
>  
> I hope that cleanup won't amount to breaking even more people's arrow keys. 

um. no - the point in being able to do test builds is that I can then test
my changes.
  
> > > > That chunk of code is really for VMS.  (apparently the termcap support 
> > > > in  
> > > > slang isn't portable to non-Unix platforms).  The VMS support is really 
> > > >  
> > > > the only valid justification for the table.  
> > >   
> > > But the table seems to be used even with ncurses.  (Before this change at 
> > >  
> > > least; I didn't verify whether dev.4 changed that)  
> >  
> > It's used in ncurses as part of making the behavior in 
> > lynx_initialize_keymaps() mirror that of slang.  That in turn was designed 
> > to replace the chunk of hardcoded assignments at the top of LYgetch_for(). 
>  
> So you agree that VMS support is not the only 'valid justification' for the 
> table?  It's also some intermediate step on the path to eliminating hardcoded 
> assignments? 

no - it's part of making the ncurses version of John Davis' keymaps code
behave the same as the slang version.
  
> No matter the purpose or plans - those hardcoded assignments are the only 
> thing that makes arrow keys etc. 'work' if neither USE_KEYMAPS nor 
> HAVE_KEYPAD 
> are defined.  (Again note, I'm not considering the DOS/Windows ports here.) 
> Will lynx only be compiled on (Unix) systems for which either USE_KEYMAPS or 
> HAVE_KEYPAD apply? 

probably - all of the non-Unix systems that I'm aware of have curses
implementations that support keypad.  The only reason for the VMS part is
that slang doesn't use the VMS terminal information (which is available to
curses and SMG clients), but does it on its own.  I don't have a reference
to cite, but VAX curses provides something analogous to the keypad return
codes -- I used this in a project in the late 80's.  I assume that Fote (or
whoever) used the hardcoded information because it's not simple to extract
that information (and lacking a VAX, I'm not going to try ;-).

Even on Unix systems, it's been longstanding practice to use either termcap
or terminfo to provide this information (since the early 80's, when I first
got interested in this stuff).

> What is the use of USE_KEYMAPS with ncurses anyway?  So far, the only purpose 
> of those pieces of code with ncurses seem to be to support the .lynx-keymaps 

yes

> file that was originally introduced for slang.  But if terminfo is set up 
> correctly, there should be no need for that file anyway.  It can't be an 

only to make it compatible with someone's customization (for instance) of
$TERM as xterm to make it work with rxvt.

> intermediate step for simplifying LYgetch_for() for curses/ncurses in 
> general, 
> since it depends on ncurses-specific functions. 
>  
>    Klaus 
> 


-- 
Thomas E. Dickey
address@hidden
http://www.clark.net/pub/dickey

reply via email to

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