Subject: CVS commit: pkgsrc/www/lynx
To: None <pkgsrc-changes@netbsd.org>
From: Thomas Klausner <wiz@netbsd.org>
List: pkgsrc-changes
Date: 03/10/2007 09:14:11
Module Name:	pkgsrc
Committed By:	wiz
Date:		Sat Mar 10 09:14:11 UTC 2007

Modified Files:
	pkgsrc/www/lynx: Makefile PLIST distinfo options.mk
	pkgsrc/www/lynx/patches: patch-aa patch-ab patch-af
Removed Files:
	pkgsrc/www/lynx/patches: patch-ae patch-ag patch-ba patch-bb patch-bc
	    patch-bd patch-be patch-bf

Log Message:
Update to 2.8.6:

   New features (some are compile-time options):
     * INFO and Options pages are laid out properly for multibyte locales,
       accounting for character widths.
     * change configure option default for --enable-justify-elts to true.
       Change default for JUSTIFY to "false".
     * add PREFERRED_ENCODING to lynx.cfg, along with an options-menu
       selection for this, to set "Accept-Encoding:" string
     * add PREFERRED_MEDIA_TYPES to lynx.cfg, corresponding to the option for
       HTFilterPresentations(). A minimal set of media types is used by
       default, though the old behavior can be selected
     * add -nonumbers option, which modifies the output of -dump to suppress
       the link-numbering
     * add -listonly option, which modifies the output of -dump to show only
       the list of links
     * add -syslog-urls option and lynx.cfg settings (SYSLOG_TEXT,
       SYSLOG_REQUESTED_URLS) to allow syslog'ing of URLs to be optional.
       This cannot be set from the options menu
     * the -version option shows the version of ncurses, curses, etc., from
       runtime data when available.
     * add -notitle option to suppress title line and following blank line to
       maximize screen use for small displays
     * add -nomargins option to suppress left/right margins to maximize
       screen use for small displays
     * add NO_MARGINS and NO_TITLE to lynx.cfg
     * add NESTED_TABLES setting to lynx.cfg to allow site override of the
       built-in default
     * add DEFAULT_COLORS item to lynx.cfg to allow disabling the default
       colors feature at runtime, allowing better matching of old color
       scheme via a script
     * add -stderr option to write error messages when doing a -dump -or
       -source. Normally these are written to the status line but that does
       not exist when dumping to standard output
     * add configure --enable-largefile / --disable-largefile options.
     * add --enable-widec configure option to allow building lynx without
       wide character support using ncursesw, to accommodate users with older
       releases of ncurses
   Other enhancements:
     * improve SSL support:
          * updated README.sslcerts
          * update CF_GNUTLS macro to look for -lgnutls-openssl as well as
            the older -lgnutls-extra library
          * modify HTLoadHTTP() to interpret leading asterisks in common name
            fields as wildcards
          * suppress OpenSSL URL from version message if it happens to be
            built using GNU TLS (or other libraries which happen to define
            symbols to pretend they are OpenSSL).
     * improve HTML interpretation:
          * fix function, which was checking for the absence only of some
            nonstandard encodings (8bit, 7bit, binary) rather than for the
            presence of the encodings as specified in RFC 2068 (gzip,
            compress, etc). This makes lynx able to view a site which puts
            the charset as the Content-Type
          * add "deflate" to the encoding types which lynx implements. This
            consists of several parts
               * adapted logic from w3m's inflate.c to construct an internal
                 "deflate" decompressor. Tested this with

                         http://carsten.codimi.de/gzip.yaws/

               * add "deflate" to the options menu.
               * modify logic that builds "Accept-Encoding" value to omit
                 encodings which have no external decompressor associated.
                 The effect of this change is to allow lynx to behave as it
                 did before adding the (possibly incomplete) "inflate"
                 support.
               * add INFLATE_PATH to lynx.cfg, to optionally specify an
                 external program which can be used to decompress deflated
                 files. For testing, a shell script using w3m's utility,
                 e.g., /usr/lib/w3m/inflate, sufficed. NOTE: As currently
                 implemented, lynx requires the external decompression
                 programs to be specified even if it can decompress using
                 library calls.
               * use ".zz" for suffix of downloaded (but not inflated)
                 deflated files, mapped to application/deflate and
                 application/x-deflate.
          * modify source-view toggle to keep the current anchor visible.
            Toggling source view may change the line number on which the
            anchor is found, requiring some adjustment. This feature is
            implemented only for source cached pages
          * fixes to source-view of ftp:// and file:// URLs, i.e., eliminate
            redundant PRE's, add DOCTYPE and meta tags
          * correct parsing of embedded URLs which have parameters but no
            path, e.g., base

                         http://wj55.org/Minutes.php

            and embedded

                         ?date_meeting=2004-08-31

          * add presentation type for application/xml and text/xml mime types
            as per

                         http://www.w3.org/TR/xhtml-media-types/
                         http://www.w3.org/TR/2002/NOTE-xhtml-media-types-20020801

            which states that they may be used, though application/xhtml+xml
            is the preferred media type
          * add presentation type for application/xhtml+xml mime type as per
            RFC 3236
          * add presentation for text/css, to allow browsing ".css" files
          * force a newline in HTML_end_element() after a </pre>, which
            causes lines containing only whitespace before the </pre> to
            display a new line, rather than putting that whitespace before
            text that follows the </pre>
          * following a link consisting of a "#" fragment will move the
            cursor to the link containing the target rather than simply
            ensuring that it is visible
     * improvements to character sets and display:
          * new message files for localization: rw.po, vi.po
          * updated message files for localization: cs.po, da.po, de.po,
            et.po, fr.po, hu.po, nl.po, pt_BR.po, sv.po, tr.po
          * use puts() rather than printf() in some messages to avoid chance
            of "%" in the translation
          * modify HTConfirmCookie() to ensure the translator's note is
            copied into the lynx.pot file, by adding a gettext("Y/N/A/V")
            call after the comment
          * improve layout of options-menu and info-page for multibyte
            character sets by computing the extent of the labels. This works
            only for wide-character curses.
          * add ISO-8859-13 and ISO-8859-14 chrtrans tables, revise
            ISO-8859-10 based on

                         http://czyborra.com/charsets/iso8859.html

            Change display name for ISO-8859-10 to indicate the region
          * improve checking if the current character set does not match the
            character set inferred from the locale. This reduces the number
            of cases where line-drawing in the options menu does not work
          * improve recovery when a charset is found that cannot be
            translated. Before this change, the charset was not stripped from
            the format string, e.g.,

                         text/html; charset=big5

            and since there would be no match for the format, lynx would
            offer to simply download the page (if interactive), or refuse to
            format (for dumps). Although the content of the page is unusable,
            the user can still navigate the page using the links which may be
            there
          * modify logic for locale_charset configuration variable so it is
            not modified simply by saving the .lynxrc while in running in a
            non-locale configuration. That does not alter the display charset
            used by lynx
          * improve workaround for line-drawing characters with
            font-switching by checking if the loaded font has line-drawing
            characters in the same positions as the terminal description,
            rather than simply ignoring line-drawing when the codeset differs
          * workaround for codepage support on OS/2 by changing the effect of
            unctrl(). Add/use new preferred function use_legacy_coding() to
            ncurses which provides the same effect with the wide-character
            ncursesw
          * improve def7_uni.tbl substitutions for the symbols beginning at
            U+2600
          * add experimental option --enable-japanese-utf8 for using libiconv
            for Japanese and UTF-8
     * improvements to color-style:
          * change configure script --enable-color-style so it is enabled by
            default
          * add COLOR_STYLE setting to lynx.cfg
          * change default initialization of color-style code when no lss
            file is given to simulate the non-color-style code. There are
            some visual differences, e.g., links that contain a mixture of
            styles will display with mixed colors, but overall the visual
            effect matches the non-color-style code well enough to change the
            default configuration. If an empty string is given for the lss
            filename, this is treated as an empty style file, and lynx will
            not use its built-in default color style. To make the behavior
            easier to diagnose, lynx will now exit with an error if it cannot
            find the lss file.
     * improve interaction with user:
          * highlight the target and pause for 20 milliseconds when selecting
            a link with the mouse
          * modify behavior when user attempts to toggle a radiobutton off,
            to make the message that one radio button must be selected only
            in novice mode
          * modify column limits, allowing text to be written to the last
            column on the screen. This allows users to view text which is
            formatted for 80 columns without the last character of each line
            wrapping to the next line
          * prompt user, displaying the command that would be executed, to
            confirm that it should be. This makes it easier to notice when a
            local program would be run by activating a lynxcgi link. This is
            not done in advanced mode, since the URL is already visible in
            the status line
          * modify HTSaveAndExecute() to check first for result from
            HTFileSuffix() before choosing between BIN_SUFFIX and
            HTML_SUFFIX. This allows the PDF viewer on OS X to get the proper
            suffix (.pdf) rather than .bin
          * add check for failure to write to disk, e.g., on disk full, and
            report error condition via HTAlert()
          * modify suggested_filename() to strip bzip2's ".bz2" suffixes as
            well as ".zz" suffixes
          * modify INFO-page to list the rendered size in bytes if the
            Content-Length is not available
          * print the contents of image maps, if any, at the end of a dump
          * command-line options that toggle or set a boolean now accept
            "true" and "false" strings.
     * improve interaction with other programs:
          * strip special characters such as '%' from parameters passed to
            external programs for EXTERNAL mechanism on Windows platform.
            This is ifdef'd with WIN_EX
     * improve cookie support:
          * modify HTConfirmCookie() and statusline() to allow cookie prompt
            message in Japanese to not be truncated when using wide-curses
          * make the maximum number of cookies configurable in lynx.cfg,
            added MAX_COOKIES_DOMAIN, MAX_COOKIES_GLOBAL and
            MAX_COOKIES_BUFFER
     * improvements to debug/traces:
          * use symbol USE_VERTRACE in HTUtils.h to allow makefiles that do
            not use the configure script to turn on the equivalent --enable
            vertrace feature
     * improvements to scripting/logging:
          * make "lynx -version" work in the absence of ".cfg" or ".lss"
            files
          * modify print_wwwfile_to_fd() and print_crawl_to_fd() to ensure
            that no trailing blanks are written in a -dump, etc.
          * correct parsing of "key 0xNN" lines in command-scripts, had
            omitted a "!" to invert a check
          * modify initialization so that

                         cat options.txt | lynx -

            will allow interactive use
     * other improvements:
          * modify logic for -dump so it can dump all pages listed on the
            command line
          * lynx accepts multiple URLs on the command line; all are added to
            G)oto history. Documented this in manpage
          * add (ifdef'd with EXP_HTTP_HEADERS) code to display the full text
            of the HTTP headers in the INFO page.
          * modify treatment of symbolic links for ftp-URLs to show the link
            target, as with the local directory editor
          * correct sort-order of local directory listing, using the target
            of a symbolic link to determine whether it is grouped with files
            or directories
          * modified mailcap command and testcommand substitutions to provide
            for running the testcommand's after program initialization
          * read user's ".newsauth" file for news-server authentication
            information
          * escape "From " when it appears in a page which is mailed, to
            avoid confusing mail clients
          * add "Anonymous FTP Password" to Options menu, to allow user to
            override use of personal email address as the anonymous ftp
            password
   New/improved sample files:
     * add script samples/oldlynx, which gives the non-color-style scheme
       using an executable built for color-style
     * add scripts/tbl2html.pl, which can be used to generate test pages for
       the charsets from src/chrtrans/*.tbl
     * add test/special_urls.html
     * modify ".lss" files to work equally well on terminals setup with white
       text on black background, or the reverse. This also required fixing a
       few places in LYsubwindow() and curses_w_style() to make window
       backgrounds use the colors given in the ".lss" default- and
       normal-colors lines
     * make ".lss" example files somewhat readable by modifying parser to
       remove blanks from the color description lines and modifying the
       example files to use this feature
   New ports:
     * none
       (it seems to run everywhere, but there are a few possibilities)
   Improvements to existing ports:
     * UNIX:
          * improve configure script macro CF_XOPEN_SOURCE, ensuring that
            _POSIX_C_SOURCE is defined with a value.
          * revise configure script check whether _POSIX_C_SOURCE should be
            defined, taking into account the _POSIX_SOURCE definition
     * Linux:
          * add codepage 857 (DOSTurkish), since console-tools package
            provides a suitable font
          * update Linux console font support to use console-tools package.
            The configure script checks for consolechars and setfont programs
            (must find at least one). The corresponding SETFONT_PATH can be
            set in lynx.cfg to provide a choice between the two
          * modify configure script to check for Intel compiler 8.0 (and
            9.0).
     * some others [stripped]
   Improvements for maintainability and testing:
     * remove macros such as ARGS1, NOPARM which supported K&R compilers
     * make ANSI C required, drop support for K&R C.
     * add scripts/indent.sh, use this to reindent C source files
     * add tags rules to makefile.in's
     * modify makefile.in to ensure that scripts are prefixed with $(SHELL),
       in case packager has stripped executable permissions from scripts,
       e.g., by using CVS
     * modify configure script and makefiles to allow cross-compiling
     * add --with-system-type option to configure script to simplify testing
       the case-statements involving $host_os
     * change configure script to put the ".cfg" and ".lss" files by default
       in the --sysconfdir, e.g., $prefix/etc, and the help-files in lynx_doc
       and lynx_help directories under --datadir, e.g.,
       $prefix/share/lynx_doc, $prefix/share/lynx_doc. To obtain the old
       behavior, use configure --sysconfdir=/usr/local/lib
       --datadir=/usr/local/lib
     * add configure options --with-cfg-file and --with-lss-file to allow one
       to specify the names and paths of the default configuration and
       color-style files
     * filter out obsolete URLs from the customizations saved during install
       of lynx.cfg
     * rename test/iso8859-1.html and test/iso88592.html to
       test/iso-8859-1.html and test/isoi-8859-2.html, corresponding to the
       proper MIME names to simplify test-scripts
     * update test/iso8859-1.html (minor fixes) from

                         http://www.ramsch.org/martin/uni/fmi-hp/iso8859-1.html

     * applied lynx's changes to updated files from ftp.unicode.org to take
       advantage of less restrictive copyright
   As well as security-related changes:
     * eliminate fixed-size buffers in HTrjis() and related functions to
       avoid potential buffer overflow in nntp pages
     * eliminate fixed-size buffers in LYExpandHostForURL() to guard against
       buffer overflow resulting from too-long domain prefix/suffix data from
       lynx.cfg
     * reduce TRST_MAXROWSPAN and TRST_MAXCOLSPAN to 200, which is more
       plausible than 10000 by 1000.
     * limit TEXTAREA columns to the screen width, and rows to 3 times the
       screen height.
   And finally:
     * A lot of bug fixes
     * A lot of documentation changes.
     * A lot of dead code removed


To generate a diff of this commit:
cvs rdiff -r1.95 -r1.96 pkgsrc/www/lynx/Makefile
cvs rdiff -r1.9 -r1.10 pkgsrc/www/lynx/PLIST pkgsrc/www/lynx/options.mk
cvs rdiff -r1.22 -r1.23 pkgsrc/www/lynx/distinfo
cvs rdiff -r1.7 -r1.8 pkgsrc/www/lynx/patches/patch-aa
cvs rdiff -r1.8 -r1.9 pkgsrc/www/lynx/patches/patch-ab
cvs rdiff -r1.2 -r0 pkgsrc/www/lynx/patches/patch-ae
cvs rdiff -r1.3 -r1.4 pkgsrc/www/lynx/patches/patch-af
cvs rdiff -r1.1 -r0 pkgsrc/www/lynx/patches/patch-ag \
    pkgsrc/www/lynx/patches/patch-bb pkgsrc/www/lynx/patches/patch-bc \
    pkgsrc/www/lynx/patches/patch-bd pkgsrc/www/lynx/patches/patch-be \
    pkgsrc/www/lynx/patches/patch-bf
cvs rdiff -r1.3 -r0 pkgsrc/www/lynx/patches/patch-ba

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.