[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LYNX-DEV development vs 2.7.2
From: |
T.E.Dickey |
Subject: |
LYNX-DEV development vs 2.7.2 |
Date: |
Sat, 14 Feb 1998 19:42:16 -0500 (EST) |
1998-2-14
---------
For ac #114, I reviewed the differences between 2.7.2 and the development
versions for the files having the largest differences. These contain some of
the changes (but not all) that Fote disagrees with. The larger chunks of
differences are Klaus's (mine are smaller, and usually isolated, and limited
to build/portability issues). I'm going down the list in decreasing order
by number of differences.
In particular, I looked at these:
src/LYCharUtils.c
WWW/Library/Implementation/HTMLDTD.c
src/GridText.c
src/HTML.c
but while preparing this, am also looking at
WWW/Library/Implementation/SGML.c
since that seems to cover much of the area of disagreement.
Here's what I see:
GridText.c
----------
(radically different)
HTML.c
------
Development version doesn't reset font when starting a new font,
in case FONT wasn't SGML_EMPTY.
Development version tests HTStyle.freeFormat in a number of places
not in 2.7.2
Development version maintains/tests HiddenValue.
Development version has (inline) some repeated logic to trim trailing
^M's, e.g., in HTML_end_element().
Some of the logic relating to LYHandleSELECT differs (I restored one
where 'start' is true, but haven't done the places where it is 'false')
HTML_Free(), HTML_abort() have a big chunk not in 2.7.2 (looks the
same - should have been a utility function)
HTMLPresentation name in development version is "Kynx_HTML_Handler",
vs the "text/html" in 2.7.2
Development version maintains a 'text_area_name_cs' datum.
Development version maintains a 'text_area_accept_cs' datum.
Development version maintains a 'skip_stack' datum, for error recovery.
HTML_new in 2.7.2 has a big chunk, beginning with comment "If the
anchor already has stage info, make sure that it"...
HTML_new in 2.7.2 calls UCSetTransParams(), in the development version
this is done in actually_set_style().
HTMLParsedPresent() function supports -preparsed option, not in 2.7.2
HTMLDTD.c
---------
The extra_entities[] table has different codes, mainly because LP just
changed it to reflect a newer source.
The font_attr[] table has an "END" entry in the development version,
which is not in 2.7.2
The form_attr[], input_attr[], textarea_attr[] tables have an
"ACCEPT-CHARSET entry, which is not in 2.7.2
The link_attr[] table has a "CHARSET" entry, not in 2.7.2
Function (possibly related to 1997-09-08 comments about -preparsed)
HTSwitchDTD(), which appears to be invoked by '\' keystroke.
Two tags tables ('tags_new' and 'tags_old'), to support HTSwitchDTD().
The latter matches 2.7.2's tags table, except for a column added on
the end (the TagClass and TagFlags). Aside from the non-portable (and
largely unmaintainable) way in which the values are initialized, I'm
not sure whether this is a Bad Thing, depending on what the tags are
used for: they seem to support the EXTENDED_HTMLDTD ifdef in SGML.c,
and are probably not used elsewhere.
The SGML start_element method passes a 'charset' parameter (usually
seems to be "-1", though).
LYCharUtils.c
-------------
(radically different)
development code has a big chunk that's testing explicit character
set names, around line 2800 in LYHandleMETA(), much more than in
2.7.2 (couldn't this be table-driven?).
SGML.c
------
Contains several chunks of code ifdef'd with EXTENDED_HTMLDTD
Some of the outUCLYhndl values are set differently (e.g., line 172).
Macro IncludesLatin1Enc is used in more places (applying the
development version's logic in cases that 2.7.2 does not).
A number of places in 2.7.2 handle special cases for hyphens and spaces
(e.g., in put_special_unicodes, handle_entity,
2.7.2 has a chunk in handle_entity() beginning with comment "If the
value is greater than 255". There's a similar chunk in
SGML_character().
handle_comment() uses a different 'anchor' reference in LYCheckForCSI
call, i.e., context->node_anchor vs context->target->anchor.
Logic with PASSHI8BIT is entirely different.
development version passes around context->current_tag_charset
2.7.2 follows calls on HTMLGetEntityName() with a binary search into
context->dtd->entity_names, and outputs the corresponding entry from
LYCharSets, while the development version uses handle_entity() for
outputting the entity-name. (This is in more than one place).
There's a big chunk in 2.7.2's SGML_character() which is not used
in the development version, dealing with Frontpage.
A small chunk in SGML_character() to support codes 8194, 8195, 8201,
not in 2.7.2
Several chunks in SGML_character() beginning "if (HTCJK == NOCJK",
not in 2.7.2
A chunk in SGML_character() commented "Treat a P end tag like a P start
tag" (probably obsolete, since it is credited to Fote, but not in
2.7.2).
In SGML_new(), both versions clear context->utf_buf[], entries 0 and
6 (which is odd), but 2.7.2 clears entry 7. (Isn't that a character
string?)
--
Thomas E. Dickey
address@hidden
http://www.clark.net/pub/dickey
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- LYNX-DEV development vs 2.7.2,
T.E.Dickey <=