lynx-dev
[Top][All Lists]
Advanced

[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

reply via email to

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