lynx-dev
[Top][All Lists]
Advanced

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

lynx-dev Lynx problems


From: Jacob Poon
Subject: lynx-dev Lynx problems
Date: Wed, 13 Jan 1999 21:11:40 -0500

Version: Lynx 2.7.2 (Solaris/Sun)

Bugs
====

Incomplete URI caching
----------------------

Problem:  If I enter an incomplete URI, entering the incomplete version of
the initially expanded URI will cause Lynx not to look up the URI in
cache. 

Examples:  Type 'www.award.com' will cache 'http://www.award.com/'.  But
next time if I type 'www.award.com' or 'http://www.award.com', Lynx will
not load the cached 'http://www.award.com/'.

Solution:  Lynx should match all possible expansions of the incomplete URI
with the cached URIs first, before grabbing the page from remote. 
Depending on implementations, Lynx can try to match 1 or more expansion(s) 
of the incomplete URI to cached URIs first before doing un-cached access,
then do the matching process again if unsuccessful, if there are other
possible expnsion(s) for the incomplete URI. 

Error message delay
-------------------

Problem:  Lynx's error messages delay feature sometimes interrupts the
background process, resulting delay of service.

Examples:  

If I get a 404 error when I retrieve a page, I am forced to wait for
several seconds before Lynx displays server's automatic response.  And I
cannot bypass the delay at all.

Solutions:

First of all, setting the delays to zero will not solve my problem because
I may still want to see Lynx reports the error.  But at the same time, I
do not want Lynx stopping the background processes or interrupting
transfers (in case 1, displaying server's automatic response on error 404)
to slow down my browsing speed. 

Therefore lynx.cfg settings, INFOSECS, MESSAGESECS, ALERTSECS, should be
implemented in following manners (following is INFOSECS psuedo-code, but
it should be trivial to replace it for MESSAGESECS and ALERTSECS designs):

showINFOSECS (int INFOSECS) {
  showmsg(errno)
  if INFOSECS < 0 then
    loop
      exit if a_key_is_pressed()
    end loop
  else
    timer = 0
    start_timer(timer)
    loop
      exit if timer > delay_time
      if a_key_is_pressed() then exit loop
    end loop
    stop_timer(timer)
  end if
  erasemsg()
}

This implementation allows all messages at the status line to be skipped
by a keystroke, without having to wait for the delay.  In addition, the
delay functions should not disrupt any other background activities such as
screen update or data transfers.  Negative value for INFOSECS,
MESSAGESECS, or ALERTSECS in lynx.cfg means the corresponding status line
message will not go away until a key is pressed, which I recommended for
the slowest to the fastest readers, under this implementation.

reply via email to

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