lynx-dev
[Top][All Lists]
Advanced

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

Re: LYNX-DEV ac81 chartrans problems


From: Klaus Weide
Subject: Re: LYNX-DEV ac81 chartrans problems
Date: Tue, 14 Oct 1997 14:58:35 -0500 (CDT)

On Tue, 14 Oct 1997, Leonid Pauzner wrote:

> > > Klaus,
> > >
> > > I just tested ac81 for DOS, there are several chartrans problems found.
> > > They are not new, but now "time".
> >
> > (What do you mean by 'now "time"' ?)
> time for drink...

Your messages get more and more mysterious... :)

> > > 1) if I fill up the input form from keyboard
> > > few characters in cyrillic not displayed properly (cp866 keyb&display):
> > > cyrillic small "p" replaced by "/"
                                     ^^^
> > > cyrillic small "a" replaced by space
> > > cyrillic caps "Che" replaced by nothing
> > > cyrillic caps "yer~I" override the next coming character
> >
> > I'll look into those, but please give more info: what was the charset of
> > the document you were looking at?  was it explicit (META etc.) or
> > "assumed"?  A local file?  Try to give all the relevant settings.
> > Also if it's on the web give a URL; even if you see the problem
> 
> 
> URL:
> http://www.nagual.pp.ru/~ache/form.html
> document charset koi8-r, four letters above
> in cp866 have codes E0, A0, 97, 9B in HEX respectively.

Ok.  A0, 97, and 9B are accounted for in 2.7.1ac-0.82.
9B (CSI) and 97 (an AIX key) were being treates as control
chars, this is now disabled IF the display character set seems
to indicated that those are valid character codes.
(So AIX users, and users of VTxxx's which send 8-bit controls
better get their display character set right...)
A0 was being entered, just not displayed, this should work right
now.  I could not reproduce your problem with E0.  That may be
something specific to the DOS/Windows problems.  Somebody else
needs to look at that.  I note the following section in LYgetch()

#ifdef DOSPATH
        if (c == 0) c = '/';
        if (c > 255) {      /* handle raw dos keys */
                switch (c)
     ...

But I don't know whether that has anything to do with it.

 ...
> > > 3) if I "print" the html source to local file,
> > > it saves in "current display charset",
> > > but META charset (if exist on the page) not changed.
> > > Therefore later I got messed up html file.
> >
> > Yes.  You have to change it by hand.
> > Of course if people would specify the charset in the HTTP header where it
> > belongs, instead of a META tag which is just a hack, this problem wouldn't
> > occur in this form...
> >
> > I have an idea how do work around that.  It probably won't be perfect.
> >
> > It's just a fact of life that, if you copy a HTML document to your local
> > disk, not everything will work as in the original context.  Especially
> > if you use 'P' instead of 'D'.  Another thing that needs adjustment after
> 
> "P" print the current document, while "D" the current link.
> So you should return to the previous document which point out to the current.
> But if the current is first and even have not an up link ?

The standard trick is  '<-' (HISTORY), 'D'.

> May be it is better just to remove line with META charset
> from the printed output, but still show it on screen as now.

More hidden manipulation of documents the user may not be aware of,
which may fail; -- I don't like it.

In order to "remove" the META tag (and just that, no more or less) in
a way that is always valid, Lynx probably would have to do a full
parsing of the text - which it doesn't do for SOURCE.  If you want a
"works in most cases" solution for removing the META (and maybe
inserting your own), you could configure an alternative PRINTER
command as some script (or batch file etc) which does the
manipulations you want, with sed (I am sure ther is a DOS version) or
perl or whatever you like.

> > > 4) a known problem with history mechanism for "assumed" charset
> > > while browsing the source "/".
> > > I think "history" should come from the state if you press "/" again,
> > > not from any other file witch was looked before, as you explain:
> >
> > (/ == \)
> >
> > That might require a significant change :(
> > It wouldn't work anyway for "lynx -source" since then there never IS any
> > previous charset information that could be remembered.
> 
> Does lynx ask server by different way if it retrieves source?

No.

And if you are curious about such things: Lynx doesn't hide them from
you!  Just familiarise yourself with TRACE (and -trace, -tlog, ';'),
and you'll get more than you probable ever wanted to know...

> Anyway, people usually look sources only if they not satisfied by lynx output,
> so it is *after* the state you need to keep as a "history".

Well if we are going to make guesses about when people are most likely
to look at SOURCE, then I can just as validly guess that "people
usually follow a link to get to some document". :)

> But maybe the real "history of Lynx" is orthogonal to this obvious argue...

I wasn't really referring to the "history" (HISTORY list etc.) per se,
but rather to the HTParentAnchor stuff etc implemented by libwww-FM/2.14 + 

additions.  Which is where the charset info is kept, and which has its
own logic for when to expire things that I don't want to fiddle around
which too much at this point.  Maybe I come up with a workaround that
isn't too bad.  But it wouldn't work in all cases, at least not with
-source.

        Klaus


;
; To UNSUBSCRIBE:  Send a mail message to address@hidden
;                  with "unsubscribe lynx-dev" (without the
;                  quotation marks) on a line by itself.
;

reply via email to

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