since the latter is
+ standard, correct IEFT version and supply 's as needed (Karl Eichwalder)
+* correct a couple of two documentation inconsistencies in the sources for
+ USE_PSRC and -prettysrc (Karl Eichwalder )
+* register free_messages_stack with atexit to fix some statusline leakage,
+ explicitly fill out a struct initializer -John Bley
+* fix a few html nits in the docs -John Bley
+* cleanup some gcc -Wundef warnings -TD
+* add logic to free_lynx_cfg() to unset environment variables (requested by
+ LP) -TD
+* modify SafeHTUnEscape() to work with EBCDIC (Paul Gilmartin)
+* remove dangling comma in UrlTypes enum (reported by Paul Gilmartin) -TD
+* make description of STARTFILE in userdefs.h agree with lynx.cfg -TD
+* fix: newline position when we come from the history stack and cached HText
+ is used (say, return from 'p'rint menu), was broken in dev23 -LP
+* remove numerous HTMLSetCharacterHandling() calls from getfile(), use single
+ call in mainloop instead -LP
+* #define PUTS() in LYCookie.c and LYMap.c to make code more readable -LP
+* fix: LYmouse_menu() in LYStrings.c calls popup_choice(), which is #ifdef'd
+ out when --disable-menu-options is used (patch by Sergey Svishchev)
+* modify generated src/makefile to omit include from intl directory if it is
+ not used. This in turn required fixing a redefinition of gettext on Solaris
+ when using cc, since the locale.h file includes Sun's libintl.h file which
+ prototypes gettext. Successfully built/ran using Sun's msgfmt utility, (had
+ to manually add -lintl to src/makefile) though the generated message objects
+ are incompatible, resulting in a core dump if not reinstalled (unnecessary
+ include reported by LP) -TD
+* change VMS WWW descrip.mms file to use prefix=all rather than prefix=ansi, so
+ that POSIX functions such as 'read()' are linked properly (reported by Andy
+ Harper) this is a detail I overlooked in dev.18 -TD
+* fixes to compile with SunOS K&R cc -TD
+
+1999-04-27 (2.8.2dev.25)
+* updates to INSTALLATION -HN
+* undo some redundant dev23 changes, in particular PSRC_TEST in HText_new
+ was responsible for a wrong line breaking in -prettysrc mode
+ (try "lynx . -prettysrc" and press "\" to see wrapping with altered
+ define). Also fix Visited Links for internal pages -LP
+* restore links in lynx-dev.html to original form, to make redirection work
+ properly -TD
+* add to MAKEFILE.W32 (untested - suggested by LP) -TD
+ * definitions for DISP_PARTIAL;SOURCE_CACHE;USE_PSRC
+ * lypretty.obj to the list of objects.
+* remove CF_MAKE_INCLUDE from configure script, since it is not needed -TD
+* merge WWW/Library/Implementation/CommonMakefile into WWW/.../makefile.in -TD
+* corrections/simplification of LYSafeGets(), and remove sizeof(buf) from
+ related code in LYCookie.c (analysis by KW) -TD
+
+1999-04-23 (2.8.2dev.24)
+* added overlooked WWW/Library/Implementation/makefile.in -TD
+1999-04-23 (2.8.2dev.23)
+* add/use new function LYSafeGets to replace reads into fixed-size buffers -TD
+* change xxxx_URL_TYPE definitions in LYUtils.h to a enum -TD
+* use HTSprintf0 in LYCurses.c, LYReadCFG.c -TD
+* implement restrictions on options that can be set via the lynx.cfg "include"
+ directive -VH
+ For example, admins may specify
+ include:~/.lynx/colors:COLOR
+ include:~/.lynx/keymap:KEYMAP
+ include:~/.lynx/viewers:VIEWER
+ safely - and be sure that no critical options were altered by those files.
+ The syntax is
+ include:[:[* ] ]
+ More samples:
+ include:~/.lynx/rc:COLOR KEYMAP VIEWER SUFFIX
+ include:/usr/local/lib/lynx-cfg.part: #all settings can be changed
+ The patch does this:
+ * It prints warnings to stderr about unknown options specified in the list of
+ allowed options in include command. When 'o'->'lynx.cfg'->'RELOAD THE
+ CHANGES' is activated, these warnings are also printed on stderr - so the
+ screen will be corrupted if lynx.cfg and included are incorrect.
+ * Only options, allowed for a given file are printed in
+ 'o'->'lynx.cfg'->'RELOAD THE CHANGES'.
+ * Fully backward compatible - lines of the form
+ include:filename
+ will work as they did(i.e., if the list of allowed options is not
+ specified, then the included file can use the same set of options, as the
+ file that contained that 'include' command).
+ * If you wish to allow an included file to
+ include others, you must specify 'include' in the list of allowed options.
+ Sample:
+ include:~/.lynx/suffixes:INCLUDE SUFFIX
+ so that users will be able to use 'include' command in '~/.lynx/suffixes'
+ (otherwise included file will be unable to include anything).
+ * Option sets are ANDed. If file lynx.cfg contains:
+ include:/usr/lib/lynx.cfg.0:COLOR SUFFIX VIEWER INCLUDE
+ and /usr/lib/lynx.cfg.0 contains
+ include:/usr/lib/lynx.cfg.1:SUFFIX VIEWER INCLUDE STARTFILE HELPFILE
+ then /usr/lib/lynx.cfg.1 can use the following options:
+ SUFFIX VIEWER INCLUDE
+* change the STARTFILE description in lynx.cfg to offer the user's home
+ directory as an alternative to lynx.browser.org (amended this to reflect
+ consensus that l.b.o should be the default) -TD
+* move a big chunk of code into print_status_message() -LP
+* also add numerous HTProgress messages to LYNXMESSAGES:/ page (but not
+ HTReadProgress) -LP
+* HTAlert, HTUserMsg and HTInfoMsg statusline messages are now stored in a
+ cycled buffer and accessible from the History Page as LYNXMESSAGES:/ link.
+ This allows us to decrease the messages delay in lynx.cfg when we feel
+ messages too annoying, but have a nice history list for diagnostic purposes.
+ Uses a 40-line buffer (suggested by Bela Lubkin) -LP
+* fix reloading with HTreparse_document() for LYK_MINIMAL, LYK_HISTORICAL,
+ LYK_SOFT_DQUOTES, LYK_SWITCH_DTD mainloop events (hope we work around replies
+ from POST properly) -LP
+* elaborate description in Lynx_users_guide.html for "comments" (Michael
+ Sobolev )
+* fix --disable-trace (by making the ifdef's directly depend on NO_LYNX_TRACE
+ rather than DEBUG), chop more unneeded #includes -John Bley
+* combine WWW/Library/unix and WWW/Library/Implementation to simplify make
+ dependencies, drop Makefile.old -TD
+* fixes for DOS port - DK
+ (a) When exiting with interrupt, the message was printed in binary mode,
+ leaving the cursor in the middle of the screen
+ (b) In the PDCurses build, the keypad enter key only worked when LYK_ACTIVATE
+ was utilized, but not in GOTOLINK or GOTOPAGE. This maps the keypad
+ enter to '\n', so it works in all situations, but keypad enter will no
+ longer be able to be mapped separately. CTRL-PADENTER and ALT-PADENTER
+ can still be separately mapped.
+* various changes to userdefs.h and lynx.cfg explanatory text -KW
+* corrected placement of "partial_thres" code in LYrcFile.c, removed an unused
+ prototype in LYUtils.h -KW
+* add a note about LYNX_SAVE_SPACE to INSTALLATION -JES
+* remove docs/*.old (request by HN) -TD
+* update INSTALLATION notes for DJGPP with PDCurses; a suggested patch is
+ no longer applicable -DK
+* fixes for control/C and control/BREAK handling on DJGPP -DK
+* tweak in HTML_start_element case HTML_DT: prevent generation of empty line
+ between multiple simple DT elements without intervening DD elements (Debian
+ bug #3846) -KW
+* add list of downloaders to lynx_help_main.html -PW
+* add attributes for {bq,blockquote}.cite,{frame,iframe,img}.longdesc,
+ {table,td}.background, td.{height,width} -VH
+* define DISP_PARTIAL for VMS (request by Andy Harper) -TD
+* include for DEC C, to prototype sleep() and alarm(). Ifdef'd
+ include of HTString.h by HTUtils.h, but keep include as general rule for
+ making headers standalone (report by Andy Harper) -TD
+* modified LYrcFile.c to avoid putting '#' characters at the beginning of
+ lines, since that confuses VAX C (report by Tony Bolton) -TD
+* fix redefinition of h_errno (report by Tony Bolton) -TD
+* ifdef'd print_local_dir in HTFile.c since this function does not compile on
+ VMS (report by Andy Harper, Tony Bolton) -TD
+* fix reload_read_cfg() to avoid persistent cookies mode changing at run time;
+ reload printers list, downloaders list, environments - as expected - LP
+* fixes for SOURCE_CACHE!=NONE mode, trying to accommodate HTreparse_document()
+ for mainloop() events:
+ - add/use flag "from_source_cache" for better mainloop maintenance
+ - add partial display mode for HTreparse_document() operations
+ - add warning when the reparsed document may lose its forms content
+ - fix options menu stuff to use HTreparse_document() when possible - LP
+* fix exit from postoptions() when the reloaded document was in source mode -LP
+* update flags to correct behavior with SOURCE_CACHE!=NONE: the length of the
+ re-rendered text may vary so the scrolling down is broken (especially nice
+ when switching to source). ("more" updated, "lines_in_file" inlined) -LP
+* use configure script macro CF_CHECK_CACHE to compile-in Unix SYSTEM_NAME,
+ for info screen (request by LP) -TD
+* minor fixes for uncaching document, other items missed in dev.22 -LP
+* merge the two versions of start_curses() function -LP
+* add -DSOURCE_CACHE and -DUSE_PSRC to djgpp makefiles -LP
+* add a few words for CHANGES and INSTALLATION -LP
+* add a configure option for prettysrc -TD
+* separate ifdef's for prettysrc from color-style -LP
+* fix for -prettysrc: when pressing '\' on non-local files, the prettysrc view
+ is shown, but there is no way out of this mode -VH
+* change all PUTS() with a string of length 1 to PUTC(), fix a uid_t/int
+ assumption in LYLocal.c, remove some unneeded #includes, remove some spurious
+ semicolons -John Bley
+* fix typo in configure --help for --disable-direct (reported by LV) -TD
+* update user's guide and lynx.cfg descriptions of jumps files - PW
+* fixes for related bugs tweaked by going to an internal page while viewing
+ source, and a few blurbs in the documentation -DSB
+* fixes to separate RAW_MODE from internal variable LYRawMode by adding new
+ variable LYUseDefaultRawMode -LP
+* add a missing null-pointer check in expand_tiname() (from report by KW) -TD
+
+1999-04-13 (2.8.2dev.22)
+* correct a missing include for LYLeaks.h in UCAuto.c -TD
+* implement HTML source caching. In this implementation, each document kept in
+ cache has associated with it a temporary file containing the HTML source for
+ the document (well, not all of them -- only those using the HTTP protocol, on
+ the premise that file:// documents are probably local and ftp:// documents
+ are probably not HTML). The temporary file is deleted when the document is
+ uncached. For certain operations, instead of reloading the document via
+ HTLoad(), the source file is reparsed with HTParseFile(). The cached
+ document also remembers certain parser settings (screen size, historical vs.
+ minimal vs. valid comment parsing, and the like), and is regenerated from
+ source if it is fetched out of cache under different settings. This behavior
+ is selectable by a configure option --enable-source-cache and by a lynx.cfg
+ option SOURCE_CACHE; I didn't add a command-line argument or an options menu
+ entry, as this didn't seem to be the sort of thing one would want to change
+ You had to challenge me, didn't you? ;) Okay, after some pfutzing around
+ with HTChunks, I think I've got a working version of memory caching of
+ source. The SOURCE_CACHE option now has settings FILE, MEMORY and NONE, with
+ the obvious meanings, defaulting to NONE. (DSB - Scott Bigham
+ )
+* amend HTConfirmDefault() logic so that a second character will cause the
+ default response to be returned, e.g,. so that pressing "qq" will make
+ Lynx exit (reported by John Bley) - TD
+* change the PUTS("\n") calls in HTFile.c to PUTC('\n') since that would be
+ a little more efficient (noted by KW) - TD
+* minor cleanup: remove obsolete parameters from command-line parsing functions
+ in LYMain.c, add newlines in HTFile.c for readability of html - LP
+* change default STARTFILE to the current directory, "." - PW
+* revised lynx-dev.html - PW
+* lynx.cfg and further included cfg files can be edited from LYNXCFG:/ page
+ with the default editor and changes can be activated for the same lynx
+ session. NOT allowed for restricted users (LYRestricted) and occasionally
+ for user mode other than ADVANCED. This is an *experimental* code
+ (reload_read_cfg() in LYMain.c - more work required): currently command-line
+ switches may be lost when overridden by lynx.cfg changes, file paths like
+ lynx_save_space and LYCookieFile should not be changed (unwanted results) -LP
+* retest PARSE_DEBUG ifdef's (LYMain.c, LYReadCFG.c), minor corrections
+ but found no specific reason for LP's problem with tables, except possibly
+ different effect from "&(value)" versus "(&value)" - TD
+* fix the problem of reading included lynx.cfg files by changing LYReadCFG.c
+ table signature (now it is more close to one in LYMain.c). The problem was
+ the ignoring of *some* values got from the included cfg file (at least for
+ DJGPP2.02/gcc2.8.1 build). Probably we calculate the addresses of variables
+ on a later stage now. - LP
+* DOSPATH changes: local directory style now configurable from lynx.cfg
+ (LONG_LIST defined). Unlike UNIX it is not "ls -l" by default
+ but a more compact form (date and size present, from lynx.cfg example) - LP
+* cookies: domains now match case insensitively (reported by Paul Wagner
+ ) - LP
+* correct an ifdef in LYGetFile.c for config-page - LP
+* reading of long local directories now benefits from partial mode and fully
+ interruptible. Split out print_local_dir() function from HTLoadFile() - LP
+* behave sanely if NSL_FORK fork() fails -BL
+* NSL_FORK try for dns_patience *seconds*, not dns_patience select() calls,
+ which might have been shortened by keyboard input -BL
+* fix some screwy comment indentation -BL
+* add section on editing TEXTAREA to user's guide - PW
+* add a null-pointer check in LYCookie.c (Bill Nottingham )
+* revise changes ifdef'ing LY_FIND_LEAKS by making atexit a no-op function
+ since the DOS port depends on atexit to keep the DOS BREAK function properly
+ set on exit. Put back atexit, and ifdef's each place where atexit isn't
+ needed except when finding leaks - DK
+* modify LYMain.c on DOS, fixing the determination of BREAK status to be
+ independent of SLANG or PDCurses - DK
+* spawn a new function, www_user_search_internals, to begin canceling the
+ effects of cut-n-paste coding in www_user_search. The body of
+ www_user_search_internals used to be duplicated at two points in
+ www_user_search. See comment in GridText.c for more details -John Bley
+* big pile of unneeded #includes removed -John Bley
+* remove obsolete files from the distribution -John Bley
+ WWW/Library/Implementation/HTWriter.*
+* one malloc check, fix --disable-ftp -John Bley
+* fixes for compiler warnings when building for OpenVMS 6.2 using DEC C and the
+ SOCKETSHR library (reported by Andy Harper) - TD
+* add cpp -H option for HPUX bundled C compiler, which otherwise does not
+ have enough symbol table space (reported by JES). Also, modify ifdef's
+ for vs to avoid including the former when ANSI_VARARGS
+ is not defined since HPUX had a broken - TD
+* changed OMIT_SCN_KEEPING ifdef to 0 (inactive) in LYCurses.c and in HTML.c,
+ still enabling the Style_className:HTML.c keeping and making lynx with lss
+ slightly slower than it could be (though faster then dev21). If somebody
+ wishes to fix a bug, here is a description: If contents of some tag that has
+ corresponding color style occupies more than 2 screens, after navigating to
+ the page, on which the content of that block starts, and then pressing PGDN
+ PGDN PGUP, the effect (color style) of that tag will be lost. The same
+ (losing style) happens when jumping to the anchor that is in such block and
+ is located not on the 1st page. IMO this is something with style stack. If
+ this will be fixed, then keeping of Style_className:HTML.c can be omitted
+ again -VH
+* fixed the bug in lynx with lss support -when displaying html pieces such as
+ A B C , only 'AB' was drawn in style corresponding to
+ -VH
+* added HTML source syntax highlighting (when option -prettysrc that is added
+ is given to lynx). It's available for lynx compiled with and without lss
+ support (it can be much more beautiful when compiled with lss support - read
+ lynx.cfg for description). The code is ifdef'ed with USE_PSRC.
+ This functionality coexists with old source view and with -preparsed logic
+ (ie different commandline options make source view logic different) -VH
+* HTChunkPutc was inlined in SGML.c for better performance -VH
+* keeping of Style_className was omitted in HTML.c to increase performance of
+ lynx compiled with lss support -VH
+* performance of lynx compiled with lss support is increased ~ by 15-20% for
+ normal documents, and by up to 50% for documents with a lot of tags -VH
+* fixed bug in lynx compiled with lss support that caused it to load local CSS
+ stylesheets - lynx didn't understand their syntax so it was exiting -VH
+* added type information for attributes in HTMLDTD.c (it's used in source
+ syntax highlighting mode) -VH
+* sample .lss files are updated to support source syntax highlighting -VH
+
+1999-03-30 (2.8.2dev.21)
+* disable LYatexit if memory-leak testing is not configured -TD
+* fixes for unhighlighting problems with color-style support (Vlad Harchev)
+* remove '(default: on)' and '(default: off)' strings from configure script
+ help message (much lynx-dev discussion) - TD
+* remove outdated link to the WebTechs HTML Validation Service from help menu
+ and change link to more suitable location for rfc1945 - PW
+* correct logic of --disable-full-paths configure option (reported by Georg
+ Schwarz) - TD
+* fix problems building on OpenVMS with DECC 6.2 -TD
+ (reported by Andy Harper )
+ + remove 'DEBUG' definition from build scripts since it is defined in
+ the source code.
+ + turn off code that tries to use getpwuid(), by defining NOUSERS, since
+ those functions are not present on VMS.
+ + provide a dummy location for h_errno for systems without that symbol.
+ + correct string syntax in VMSexit function
+ + ifdef'd use of lynx_version_putenv_command in LYMain.c
+ + correct spurious parenthesis in mailform function
+ + correct missing COPY_PATH definition for LYUtils.c
+* check for 'z' user interrupt in HTLoadHTTP before setting up the output
+ stream. This avoids doing unnecessary work, including possible creation of a
+ new HText structure that most likely is never displayed but still pushes
+ another document out of the. cache. Most commonly this occurs when a HTTP
+ error response is received and the user presses 'z' while the resulting alert
+ message is shown - KW
+* fix of HTUnEscapeSome in HTParse.c for non-ASCII - KW, PG
+* tidy up around ed_offset initialization in GridText.c - KED
+ (the patch as given did not compile on a non-ANSI compiler because it used
+ aggregate initialization - TD)
+* add samples/mild-colors.lss (Vlad Harchev)
+* add samples/blue-background.lss (from Sergey Svishchev )
+* documentation updates for INSTALLATION and PROBLEMS - PW
+* use HTConfirm and HTConfirmDefault to gettext'ify CONFIRM_BOOKMARK_DELETE,
+ CONFIRM_COMMENT, CONFIRM_LONG_PAGE_PRINT, CONFIRM_LONG_SCREEN_PRINT,
+ CONFIRM_MAIL_SOURCE_PREPARSED, CONFIRM_MAIN_SCREEN, FILE_EXISTS_HPROMPT,
+ FILE_EXISTS_OPROMPT, NO_OWNER_USE, PREV_DOC_QUERY, REALLY_EXIT_N,
+ REALLY_EXIT_Y, REALLY_QUIT_N, REALLY_QUIT_Y (based on report by LP) - TD
+* at LYNXCFG:/ page, add links for every included configuration file so we can
+ read and edit them (no, currently the changes will be active the next session
+ only. Minor reorganization of LYMain.c done, more required) - LP
+* correct test/spaces.html - it should not be in a mode by default - LP
+* undo recent changes so it is a single space as before (suggested by
+ KW) - LP
+* add ETag anchor element (currently not used, only for information) - LP
+* assign LYNXCFG:/ and LYNXCOMPILEOPTS:/ for internal pages of parsed lynx.cfg
+ and compile-time info. Now we will not see a temp file link name in a
+ statusline in advanced mode, also kill overhead since pages created only when
+ really accessed - LP
+* form-based options menu: the bug described in 1999-03-17 changes now finally
+ fixed - LP
+* fix expanding entities for x-transparent display charset
+ (was broken from 1999-03-04 changes) - LP
+* trimmed trailing blanks from *.tbl, fixed chrtrans/def7_uni.tbl and
+ chrtrans/viscii_uni.tbl, ensure that it produces correct result - TD
+* chrtrans/def7_uni.tbl - entries with trailing spaces now explicitly enclosed
+ in quotes to avoid problems with integrating the patches sent by e-mail,
+ more comments added - LP
+* attempt to implement --disable-ftp -John Bley
+* fix tiny memory leak in HTAAUtil.c -John Bley
+* chop useless #includes from LYHash.c, LYExtern.c, LYCurses.h -John Bley
+* --disable-news was also disabling ftp, --disable-finger without
+ --disable-gopher wasn't right -John Bley
+* remove a duplicate #include from HTFTP.c -John Bley
+* remove several obsolete files from the source distribution -John Bley
+ WWW/Library/Implementation/HTAAServ.*
+ WWW/Library/Implementation/HTAAFile.*
+ WWW/Library/Implementation/HTAuth.*
+ WWW/Library/Implementation/HTACL.*
+ WWW/Library/Implementation/HTPasswd.*
+ WWW/Library/Implementation/HTHistory.*
+* --disable-partial wasn't compiling because of a suppressed #include, replace
+ one more free() with FREE() -John Bley
+* correct typo LIsListpageTitle vs LYIsListpageTitle
+ (reported by Artur Frysiak and KED) -TD
+* don't append sed expression to help_files.sed if the $(COMPRESS_EXT)
+ variable is empty - TD
+
+1999-03-17 (2.8.2dev.20)
+* protect a couple of spaces with quotes in def7_uni.tbl (suggested by KW) - TD
+* add ifdef's for NO_RULES to HTAAServ.c - HN
+* add configure --disable-news option - JES
+* add configure --disable-finger option - JES
+* add malloc checks, remove some #includes that don't need to exist, and
+ cleanup where somebody decided to waste instructions setting fields to 0 when
+ he already memset()ed the whole struct to 0 -John Bley
+* remove obsolete/unmaintained SHORT_NAMES ifdef's -John Bley
+* add/use LYTrimStartfile function (suggested by LP) - TD
+* correct missing null-pointer check in add_printer_to_list function (forwarded
+ by BJP from Debian bug-reports) - TD
+* add notes about $CC variable to INSTALLATION and PROBLEMS - JES, PW
+* tweak for TABLE formatting: break line at end tag (don't wait
+ for next start tag), effective in SortaSGML mode only - KW
+* lots of color style changes, only effective if compiled with USE_COLOR_STYLE;
+ together they seem to make color styles act much more reliably and
+ consistently - KW
+ - Moved some extern definitions and declarations.
+ - Made extra handling for LINK REL (or TITLE) attributes consistent
+ with example lynx.lss file.
+ - More complete (and hopefully more consistent) setting of "normal"
+ attributes, especially background color, on screen refresh and after
+ statusline messages. Set normal attributes for statusline prompts.
+ - Various other small tweaks, mostly to not lose color changes in a
+ document and to avoid color leaking.
+ - Attributes for highlighting WHEREIS search targets can be controlled
+ by setting style for "whereis" in lynx.lss.
+ - Allow mono attribute field in lynx.lss to be a combination of several
+ attributes separated by '+' characters.
+ - Changes of example lynx.lss file: more logical ordering, added some
+ comments, document new stuff. Changed a few styles for demonstration
+ purposes or because text was really hard to read.
+* apply color styles to HTML source display, using the same methods as
+ for displaying the rendered version. This is done if and only if
+ the -preparsed flag is used (and lynx is compiled with -DUSE_COLOR_STYLE,
+ of course). Please remember that the source displayed with -preparsed
+ is *not* the same as the original text/html document, it has been
+ mangled by lynx (as the name implies) and may itself not be a valid
+ HTML document even if the original was - KW
+* changed some slightly suspicious casts in HText_endAnchor's casting hell;
+ prefer to cast a line's size element to (int), rather than various int
+ variables to (unsigned) - KW
+* remove some unnecessary use of dynamic buffers where there is no apparent
+ benefit for using them, for the sake of performance or to avoid a minor
+ memory leak - KW
+* stuffed small memory leak (MultipartContentType) - KW
+* absorb 'len' parameter into logic of argncmp, so it still achieves its
+ purpose of comparing prefixes of options without undue maintenance effort -TD
+* retain logic that uses final URL on command-line (request by KW) - TD
+* add/use new functions argcmp and argncmp to allow the use of '--' prefix as
+ well as '-' for commandline options. This means that '-localhost' and
+ '--localhost' mean the same thing for lynx. If EXTENDED_OPTION_LOGIC is
+ defined then the extended commandline option logic will be used. It means
+ that '--' will be accepted and will be treated as an end of options.
+ Anything after it will be treated as URL even if begins with '-' or '--'
+ (Vlad Harchev)
+* correct some typos in docs and in scripts (Vlad Harchev )
+* modify generated sed script to handle special case of alt_edit_help.html,
+ which was being rendered in --enable-gzip-help as alt_edit_help.html.gz.gz
+ (reported by KED) - TD
+* modify lynx_help/help_files.txt to update links to gzip'd versions of
+ alt_edit_help.html, environments.html, test_display.html - KED
+* tweak for SGML_LITTERAL (sic) parsing, so that the first nonmatching
+ character after the beginning of a putative end tag goes through character
+ translation - KW
+* add some more pieces of info (if available) to '=' page in advanced user
+ mode. Also show mode as "source" instead of "normal" if viewing SOURCE, in
+ all user modes - KW
+* minor FASTBACKW_LINK / FASTFORW_LINK tweaks - KW
+* removed documentation for nonimplemented chargen URLs - KW
+* remove num_n256 hack introduced in dev18 UCDomap.* - LP
+* forms-based options menu: fix reloading of previous document *only* when
+ necessary (was always, since early forms-based options menu days). Still
+ have a bug - while submitting the options menu lynx reload menu again, but
+ this is much faster to load small local file twice than fetch previous
+ (possible large) document over the net. - LP
+* — (—) now display as "--" (popular requests) - LP
+* are now displayed as two (popular requests),
+ previous definition of HT_EM_SPACE now renamed to HT_EN_SPACE - LP
+* minor tweaks in postoptions(), new flag added - LP
+* minor changes to make this build with SunOS K&R cc - TD
+* entities.h: clean HTML4.0 entities table added, it is #ifdef'ed with
+ ENTITIES_HTML40_ONLY (may be useful for page validation), file entities.h
+ moved to src/chrtrans directory - LP
+* save few KB of static memory by storing unicodes as 'u16' (was 'long') - LP
+* trace log toggle now really interruptible - LP
+* move entities.h to src/chrtrans - LP
+* fix display of -help output: (on/off) info was wrong for UNSET_ARG case - LP
+* ifdef'd recent changes to LYPrint.c to build with djgpp - LP
+* remove redundant -DDEBUG from djgpp makefiles - LP
+* remove nonstandard ISO-9945-2 - LP
+* eliminate a duplicate --enable-included-msgs in configure --help, (reported
+ by LV) - TD
+* redefine LY_BOLD_START_CHAR for EBCDIC platforms to avoid conflict, adjust
+ IsSpecialAttrChar() to take this into account - PG
+* rewrite LYKeymapCodes with leading commas to avoid accidental/illegal
+ use of trailing comma in an enum list - PG
+* modify UCdomap.h to avoid gcc-specific construct using cast to struct of
+ data aggregate - PG
+* modify makefiles to allow .c.i rule to work with --srcdir - PG
+* add a rule to makefile.in to generate patches - PG
+* correction to LYCookie.c, to get it to eat all cookies (reported by LV) - BJP
+* corrections/updates to entities.h (Jacob Poon):
+ HTML 4.0 compliance:
+ - Added support for Euro currency symbol.
+ - Fixed duplicated ◊ definitions.
+ Fixes:
+ - Fixed some typos in the old references. (fixed: b.delta)
+* update follow_help.html for LE's 123g changes - PW
+* further correction to 123g logic - LE
+
+1999-03-04 (2.8.2dev.19)
+* forgot to update PRCS when renaming src/chrtrans/iso9945uni.tbl - TD
+1999-03-04 (2.8.2dev.18)
+* modify configure script to recover if the intl and po directories are
+ missing, allow experimentation with --enable-nls --disable-included-msgs
+ --without-included-gettext options (request by HN) - TD
+* add sanity-check for EBCDIC FixCharacters() in LYMain.c - PG
+* ifdef'd the ADDRLIST code with EXP_ADDRLIST_PAGE, making this available as
+ a configure script option --enable-addrlist-page - TD
+* create a new command called ADDRLIST, which behaves exactly the same as LIST,
+ but which *should* always show only the URL's. Rather than make it a config
+ option (which would have taken me quite a bit longer to do), I've bound it to
+ the "A" key (that's a capital "A"). Why not "L" you ask? Because of the "vi
+ keys" option, whereby "l" is used for cursor movement, and "L" stays reserved
+ for L(ist) - KED
+* change the LYK_xxx keymap definitions to an enum, to simplify ifdef's - TD
+* add configure options --disable-gopher, to remove GOPHER code, and
+ --disable-trace to remove TRACE code - JES
+* modify trace log header to always inform us if anonymous restrictions are
+ set - LP
+* chartrans: old-style declarations of charsets which do not have Unicode
+ tables (CJK, x-transparent, also UTF-8) now moved from LYCharSets.c to
+ UCdomap.h and now included with UCInit() in UCdomap.c in a standard way - LP
+ (Please re-test CJK and UTF-8)
+* add configure --enable-libjs option (Lalo Martins )
+* add checks for some more LINK tags as listed in "6.12 Link types" of the HTML
+ 4.0 Specification (Masayasu Ishikawa )
+* changed the effect of some LINK tags with REL attribute of a very relative
+ character (Up, Next, Prev, ...) on titles as they appear e.g. on the LIST
+ page: the title of the target HTParentAnchor isn't being set when such a
+ LINK tag is parsed, but the relation is now stored as a property of the
+ link itself rather than its destination. The LIST page shows the relation
+ as additional info, not superseding a URL or title string obtained
+ otherwise - KW
+* move commands in top-level makefile.in which clean *.rej and *.orig from
+ 'distclean' rule to 'maintainer-clean', make distinct from the @SRCDIR_CLEAN@
+ substitution which is intended for use with the configure --srcdir option
+ (from reports by Glenn E Thobe and BL) - TD
+* correct LYRemoveTemp() to close file before attempting to remove it; else
+ the remove fails on some platforms, e.g., DOS/Windows (report by KW) - TD
+* improved documentation for the new cookie options, e.g,.
+ COOKIE_ACCEPT_DOMAINS, in lynx.cfg - BJP
+* fix some memory leaks in LYCookie.c - BJP
+* modify 123g (and similar movement) commands to allow for relative links,
+ e.g., by using a '+' or '-' after the 'g' - LE
+* modify help_files.sed to include '$', making regular expressions work for
+ HP-UX (Jens Schmalzing )
+* add a comment to aclocal.m4 to show where patches for autoconf, needed for
+ this configure script, can be found - JES
+* add toggling trace log on/off in partial mode, when the downloading is still
+ in progress - LP
+* more consistent docs for debugging of invalidly nested HTML: important trace
+ messages from actions on invalid tags now have '***' prefix such as "SGML:
+ ... ***ignored" (well: illegal, forced, assumed, etc.), -preparsed mode now
+ better documented - LP
+* minor code cleanup: remove redundant includes, fill in 0's for some static
+ data initialization -John Bley
+* add 'joe' editor, and variants, to list of those editors that are assumed to
+ position the file to a given line number using the "+line" command-line
+ option - IC
+* remove redundant "(y/n)" substrings from LYMessages_en.h - LV
+* add new command named GROWTEXTAREA which adds 5 new blank lines to the bottom
+ of a TEXTAREA when executed. It does not have a default binding, so you need
+ to add a KEYMAP for it in your lynx.cfg. The number of lines added is fixed
+ by a #define, but 5 seems to be a "reasonable" increment to use - KED
+* add new command named INSERTFILE, which (obviously) inserts a file's contents
+ into a TEXTAREA, just above the line the cursor is on when invoked (which
+ means you cannot insert a file *below* the final existing TEXTAREA line ...
+ but see 1) and 3) for easy ways to over- come this limitation). It too, has
+ no default binding, so a KEYMAP entry is also needed for it - KED
+* by default, when the cursor is on the last line of a TEXTAREA, if you hit the
+ ENTER key, a new line will be added to the TEXTAREA, with the cursor
+ positioned on it. If that should happen at the bottom of the screen, a
+ DOWN_HALF scroll operation is (effectively) performed - KED
+* ifdef'd this feature (since at least one person objected to this automatic
+ behavior when it was discussed awhile back - BL?), for easy disabling (and to
+ make adding a ./configure option easier). The symbol is AUTOGROW is
+ #define'd in LYMainLoop.h - KED
+* added an ifdef for the code that causes the external editor to be
+ invoked "automatically" on the TEXTAREA contents when ^Ve (or whatever
+ the EDIT binding is), rather than attempting to invoke it on the .html
+ source file. This should allow adding a ./configure option to control
+ this behavior, until we come up with a different binding/mechanism to
+ do the job, that we can all agree on. The symbol AUTOEXTEDIT is also
+ #define'd in LYMainLoop.h. The command EDITTEXTAREA is still available
+ for separate KEYMAP binding, per KW's suggestion - KED
+* check the range of chars between 0x80 and LYlowest_eightbit[current_char_set]
+ for validity against the charset in use. If such chars are detected in
+ edited or inserted data, a "." char is substituted for them, as with normal
+ control chars. (Suggested by LP) - KED
+* added KW's LYCloseTempFP bugfix - KED
+* add/use function GetFileName(), e.g., by INSERTFILE. It is fairly general
+ purpose, and can be used whenever the name of an existing file needs to be
+ input. It uses the same mechanism for filename expansion and "history" as
+ does the PRINT function - KED
+* reorganized a lot of the code into subroutines to provide for 1) and 2);
+ still need to do a bit more cleanup of some other (nearly) common code - KED
+* rename iso9945_uni.tbl to iso9945uni.tbl to accommodate 'make' programs on
+ old systems (such as CLIX 3.1) whose suffix rules fail for filenames longer
+ than 14 characters - TD
+* change VMS WWW build-script to use prefix=all rather than prefix=ansi,
+ so that POSIX functions such as 'stat()' are linked properly (reported by
+ Morris D Cox ) - TD
+* modify configure macro CF_EBCDIC to avoid using #error, since that is not
+ recognized by all compilers - TD
+* include in CF_INET_ADDR macro, to accommodate systems which
+ require that to compile test program with the socket.h, other network
+ headers - TD
+* removed a cast in free_lynx_cfg, on FREE's argument, which caused some
+ compilers to report that an rvalue was being modified (reported by PW) - TD
+
+1999-02-16 (2.8.2dev.17)
+* modify LYReadCFG.c to avoid duplicating data for cookies - BJP
+* modify HTConfirm to use gettext values for yes/no. Use HTConfirm in a few
+ more places, though completing this will require more work - TD
+* add note about resolv library to PROBLEMS - PW
+* minor clarification about DOS/Windows binaries in README - PW
+* modify ./makefile.in so that portions which are commented-out will be done
+ without a leading tab, since that confuses the make program on Digital Unix
+ 3.2 - TD
+* Unix: Don't accept HOME variable as valid if it does not begin with
+ a slash - KW
+* changed HTGetCharacter to be 8-bit clean, it could not distinguish between a
+ character value 255 and EOF. Changes affect several protocols: nntp,
+ gopher, finger, ftp. Most notably, news articles containing byte value 255
+ could not be completely read - KW
+* removed a memory leak in HTFTP.c for some directory data, added a few gettext
+ calls - KW
+* added ability to show file type description in local Unix directory listings.
+ New format codes for use in LIST_FORMAT %t, %T are not used by default - KW
+* modify "clean" makefile rule to allow for FreeBSD, which generates core
+ files such as lynx.core - KED, TD
+* correct sign-extension when converting characters after edit of TEXTAREA
+ (upper-128 characters were being translated to dots, reported by IC) - KED
+* worked with some pathological/boundary-case pages, and fixed some some edges
+ that could fail (eg, last line of document is also last line of a TEXTAREA,
+ and lines are being added; page containing *only* a one-line TEXTAREA field;
+ etc). While it was unlikely one would run into such beasts in real life,
+ they all work correctly now. Thanks to Greg Marr and Serge Munhov for
+ providing some very basic pages that I was able to easily modify for various
+ test cases - KED
+* added a few flags to the TextAnchor and HTLine struct's, to indicate an
+ expansion line. These were added to allow for line deletion when a TEXTAREA
+ is "reset" or shrinks (when we get around to tackling those tasks) - KED
+* the editor's cursor is now positioned on the same line in the edit file, as
+ it was on when the editor was invoked (relative to the beginning of the
+ TEXTAREA). At least for those editors that lynx knows support initial
+ positioning (emacs, vi, pico, jove, and jed for non-VMS platforms; sedt for
+ VMS) - KED
+* cleaned up and corrected a few comments; simplified a few small bits of
+ code - KED
+* added cookie_domain_flags enum to LYCookie.h, usage should be apparent with
+ patch applied - BJP
+* updated free_lynx_globals() for cookie variables - BJP
+* replaced cookie_add_acceptlist, cookie_add_rejectlist and
+ cookie_set_invcheck functions with cookie_domain_flag_set - BJP
+* saved a bit of memory by dropping useless pointer memory initialization
+ (exactly WHAT was I thinking?) - BJP
+* changed LYrcFile.c, LYReadCFG.c to call cookie_domain_flag_set - BJP
+* new lynxkeycode BACKTAB_KEY with value 0x10F. DO_NOTHING is and shall remain
+ 0x10E, as documented in lynx.cfg. Moved MOUSE_KEY out of the way - does it
+ need to be in the tables at all? BACKTAB_KEY will be recognized if the
+ (n)curses keypad() input handling returns KEY_BTAB, which happens if the
+ terminal description has the right kB or kcbt capability string and the
+ terminal actually generates that string (often "^[[Z", generated for
+ shift+tab). May also work with lynx-keymaps mechanism. Not tested with
+ slang, maybe this has to be added to some more of the various tables in
+ LYStrings.c - KW
+* new user-visible key commands FASTFORW_LINK and FASTBACKW_LINK, with
+ lynxactionscodes LYK_FASTFORW_LINK and LYK_FASTBACKW_LINK. By default mapped
+ from key (^I) and new BACKTAB_KEY, respectively. Previously was
+ mapped from NEXT_LINK, which has some special handling if the invoking key
+ was (and if FASTTAB was defined in LYMainLoop.c, which was the case by
+ default). The old behavior of is still available if it is mapped with
+ KEYMAP to NEXT_LINK in lynx.cfg - KW
+* these commands always go to a previous (or next) link if there is one,
+ and skip multiple lines that are part of the same textarea - KW
+* recognize the new key actions also during partial file display, for some
+ roughly corresponding movement - KW
+* new lynxeditactioncode LYE_FORM_PASS, to allow any lynxkeycode to end the
+ editing of a form field and be passed up to the caller - it will then
+ normally be mapped to a lynxactioncode. LYE_FORM_PASS keys are generally
+ ignored in non-forms line editing. This is used for BACKTAB_KEY, as well as
+ several other keys that were previously handled specially in form_getstr - KW
+* extended the maps in LYEditmap.c to cover the same range of lynxkeycodes as
+ the LYKeymap.c tables. Yes, this uses more space, but the tables need to be
+ consistent - KW
+* map lynxkeycode 0x00 to LYK_DO_NOTHING, as lynx.cfg said all the time - KW
+* some tweaks of displayed strings in 'K'ey Map page. Don't show CHANGE_LINK
+ binding if mouse not enabled (it may not be useful even when -use_mouse is
+ on) - KW
+* function expand_substring used with NCURSES for user-defined mapping keysyms
+ to byte sequences was parsing the "^(...)" construct wrong - KW
+* other small tweaks in key handling code - KW
+* changes to lynx.cfg to better reflect reality - KW
+* terminology note: lynxkeycode = what's between the colons in lynx.cfg
+ KEYMAP:...:..., lynxactioncode = LYK_* code for what's right of the second
+ colon, lynxeditactioncode = what's assigned in LYEditmap.c (and which may
+ differ between lineedit_mode Default Binding and alternative bindings) - KW
+* formatting tweak in HTML.c for not preceded by : Don't use wrong
+ indentation in that case - KW
+* changes from DK for DOS up to 1999-02-14 - KW
+* minor documentation tweaks - LP
+* replace most uses of free with FREE -John Bley
+* correct HTEndParam so that if fewer command-parameters are given than
+ expected, we still terminate the command properly (reported by
+ Michael Warner) - TD
+
+1999-02-08 (2.8.2dev.16)
+* minor documentation tweaks for EDITTEXTAREA - LP
+* correct uninitialized buffer variable in send_file_to_mail() which caused
+ core dump (reported by LV) - KW
+* recognize Subject and Message-Id in embedded comments in HTML documents, in
+ the form generated by MHonArc for mailing list archives (including lynx-dev).
+ Use these to generate a default Subject and an In-Reply-To header (currently
+ not for VMS) when replying by mail (sending a 'C'omment, or following a
+ mailto link) from such a page. The old methods to get a title other than the
+ fallback (the URL) still are there and have precedence, by in reality seem to
+ apply very rarely. If no suitable comment strings are found or they are
+ regarded as invalid (bad characters, not exactly right format) they are not
+ used, and the fallback (URL as Subject, no In-Reply-To) applies - KW
+* use the Message-Id of a news article to generate a References header when
+ posting a reply. Lynx's new article listing doesn't understand threading,
+ but this is nicer for other newsreader that do. The References header of the
+ referenced article is not used, so there will be only one message-id in the
+ generated References header, but this is better than nothing. The article's
+ message-id is appended as a parameter to the URL of the generated newsreply
+ link, in the form ";ref=...", so this extends the syntax of Lynx's newsreply:
+ URL scheme. Nothing should have changed for snews: and other s-versions of
+ the various URL schemes for news access - KW
+* Message-Id and Subject of a news article are also made available for replying
+ by mail - KW
+* LYNews.c: Don't post a message that is empty or has only '>'-quoted text - KW
+* HTNews.c: got rid of some suspicious fixed length buffers. Fixed minor
+ memory leaks. Added abort of the target stream which was missing in some
+ cases. Create mailto: hrefs in URL-escaped form if necessary, they will be
+ unescaped in LYMail.c. (News URLs still don't use escaping the right way,
+ especially for message-ids.) Recognize special meaning of "Followup-to:
+ poster" (don't treat "poster" as a newsgroup name). Other small tweaks - KW
+* add samples/cernrules.txt - KW
+* except for DJGPP, move lookup code for domain names (not dotted-quad IP
+ addresses) from HTParseInet into a new function: LYGetHostByName acts like
+ the normal gethostbyname, but includes the NSL_FORK logic. Interruption is
+ indicated in global variable lynx_nsl_status - KW
+* use LYGetHostByName instead of HTParseInet for URL guessing - KW
+* select on tty file descriptor in NSL_FORK loop also if compiled with slang.
+ This should make 'z' during lookup more responsive - KW
+* don't compile in the rules implementation code if NO_RULES is defined
+ (suggested by BL) - KW
+* fix special case of EDITTEXTAREA where the returned file is empty - BJP
+* write to .lynxrc values for COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAIN
+ when options screen is used - BJP
+* add lynx.cfg and .lynxrc support for a few new options (BJP):
+ COOKIE_STRICT_INVALID_DOMAINS,
+ COOKIE_LOOSE_INVALID_DOMAINS,
+ COOKIE_QUERY_INVALID_DOMAINS
+ They're the same sort as COOKIE_ACCEPT_DOMAINS, comma-delimited lists.
+* modify LYOpenTemp() to report unusual errors, i.e., other than if the
+ temporary file could not be created because it already exists - PG
+* more fixes to CF_INET_ADDR - TD
+* modify README to indicate where win32 binaries are found - JES
+* add chrtrans tables for Ukrainian Cyrillic: koi8-u, cp866u, iso-9945-2
+ (patch by Serhii Hlodin )
+* patch for TEXTAREA edit feature - KED
+ 1. Handles the renumbering of link number tags [nnn], when the tag itself is
+ split across two lines (see below).
+ 2. Scrolling down, going to the bottom of the document, etc, now work
+ properly, when the TEXTAREA is expanded beyond the bottom of the
+ (original) screen display.
+ 3. Hitting the reset button is now handled properly WRT the "old" text in
+ expansion lines (now *always* empty).
+ 4. Attempting to edit (^Ve) a TEXT field (not a TEXTAREA), is now blocked,
+ with the user getting an error msg.
+ 5. The function call now returns the number of lines that the cursor should
+ be moved from its current position, to end up on the first blank line of
+ any trailing empty lines in the TEXTAREA (there will always be one).
+* bug fixes for TEXTAREA edit feature - KED
+ 1. Thanks to a suggestion by Bela, your regular EDIT keybinding ("e" by
+ default), will now bring up the editor within a TEXTAREA, so there's no
+ need to "waste" a separate keybinding (though you can still additionally
+ bind the function separately, if desired).
+ 2. Converts any tab chars in the edited file, to spaces in the TEXTAREA
+ anchor line. The tabstop is currently #define'd to the quasi-standard
+ value of 8. (If anyone thinks that needs to be user configurable, feel
+ free to add that to the o(ptions) form/menu,
+ cmd-line-arg/lynx.cfg/.lynxrc/userdefs.h, whatever ...
+ I recommend against doing so though, as tabstops that are not set at 8,
+ are a PITA to deal with, generally speaking. I dunno if tab chars in a
+ TEXTAREA form are prohibited "by spec", or if it is just a "lynxism" that
+ they cause rendering problems (as well as downstream problems with
+ submit/etc, I think), but I felt I needed to do something to make lynx
+ behave rationally if they are present in the edited data (quite possibly
+ from an arbitrary file that one pulled into the editor). Filtering them
+ to spaces, seemed the most reasonable thing to do.
+ 3. Replaces any embedded control chars with something printable (I chose a
+ "." char, since it is less "intrusive" than some other choices, like "*",
+ "+", "#", etc). As with tabs, when some of these chars *are* rendered
+ into the TEXTAREA, strange things may happen. This shouldn't be much of a
+ limitation, since many of these chars perform line-editing or
+ system/job-control functions, when entered directly while one is in the
+ TEXTAREA. They currently cannot be "escaped" and entered as actual text
+ chars, so far as I can tell. Anyway ... I don't know of any "legitimate"
+ reason for them to be used as TEXTAREA data, so for now, you get "dots" in
+ their place.
+ 4. Cleans up a few comments, and such.
+* update some linked in lynx_help_main.html (Heikki Kantola )
+* add checks for null return from malloc to HTInit.c, LYMain.c, LYReadCFG.c,
+ LYUtils.c -John Bley
+* add telnet, tn3270 and rlogin program paths to configure script
+ (patch by George Lindholm ).
+
+1999-01-28 (2.8.2dev.15)
+* correct calls to HTAddParam() in LYDownLoad.c to handle optional second
+ parameter (reported by KW) - TD
+* change HTAddXpand() to assume its parameter (an environment variable) is
+ already expanded and simply is not quoted (reported by Ryan Hung
+ ) - TD
+* add configure --disable-included-msgs option to allow suppressing of bundled
+ ./po directory for the NLS message library contents. If no ./po directory
+ is found, the configure script assumes it is preinstalled anyway (request
+ by HN) - TD
+* add pattern to script which customizes pathnames in lynx.cfg to support
+ GLOBAL_MAILCAP:/PATH_TO/lynx_doc/samples/mailcap
+ (request by PG) - TD
+* export $PATH when calling cfg_defs.sh - PG
+* add a simple test to check if the temporary directory is actually writable
+ if we cannot create a temporary file in LYOpenTemp (reported by PG) - TD
+* miscellaneous DOS/DJGPP compile/build fixes - LP
+* enabled CERN-style rules, there are two new lynx.cfg options, RULESFILE and
+ RULE. No example file or documentation yet beyond comments in lynx.cfg. The
+ rules mechanism itself is unchanged from what was present for a long time
+ (but never used), except for some memory cleanup. Use -DNO_RULES at compile
+ time to disable - KW
+* add changes to invoke external editor on textarea, can be invoked by adding a
+ KEYMAP entry for EDITTEXTAREA area to lynx.cfg (originally from
+ aldomel@ix.netcom.com, but much rework) - KED
+* use HTSprintf0 in HTTCP.c - TD
+* added PARSE_STRICTPATH and PARSE_QUERY to interface of HTParse(), for
+ requesting only the relevant part of what is returned for PARSE_PATH. This
+ isn't yet used anywhere - KW
+* changes to StrAllocVsprintf() to take width and precision in most format
+ specifications into account, and to correct the memory allocation logic.
+ This was tested by setting GROW_SIZE to a small value of 8, so far no
+ crashes, but it is certainly not right for all possible formats, especially
+ involving floating point conversions - KW
+* changed HTSprintf0() to pass a string already existing in its output buffer
+ on, this should save a few realloc's in StrAllocVsprintf() - KW
+* changes to code handling LIST_FORMAT to avoid some unnecessary reallocations,
+ to recognize some more format flags, and to treat invalid formats somewhat
+ better - KW
+* corrected recent HTFile.c change for systems without S_ISVTX - KW
+* added memory cleanup for uid/gid cache functions in HTAAProt.c - KW
+* increased ATEXITSIZE to 40 - KW
+* added TRACE output to HTAnchor.c's free_adult_table. If this shows anything
+ at program exit (if TRACE is on then), it means that HTAnchor structures have
+ been missed by the normal automatic cleanup (walking the history list and
+ following links) - KW
+* changed more status codes in HTUtils.h to libwww5-like values - KW
+* added new function to check for a valid Internet hostname - KW
+ Use it before actually trying to resolve an address, it should
+ a. avoid the overhead of NSL_FORK if it would fail anyway,
+ b. prevent DNS queries for invalid names, which may unnecessarily
+ consume time, bandwidth, and DNS server cache memory, and
+ may confuse some resolver libraries and servers,
+ c. speed up address guessing sometimes if something was mistyped,
+ d. thwart some attempts to crash Lynx with invalid URLs.
+* this time really make "Alert" statusline prefix localizable - KW
+* new function HTAlwaysAlert(), which can be called even when LYCursesON isn't
+ true and should always produce a visible message - KW
+* use new valid_hostname to also check telnet, tn3270, and rlogin hostnames
+ before calling the external program (after most invalid character have
+ already been stripped). Added a fflush(stdout) to make sure messages are
+ visible before external program is called - KW
+* made changes equivalent to the 1998-12-31 HTSACopy and HTSACat modification
+ to the LY_FIND_LEAKS versions of those functions. Having source and target
+ string for StrAllocCopy or StrAllocCat overlap (or being equal) should be
+ considered a programming error, but at least one place in LYEdit.c currently
+ seems to do it and rely on the new behavior. (Editing current file sometimes
+ didn't work with LY_FIND_LEAKS) - KW
+* closed memory leaks in LYKeymap.c, provided for memory cleanup at exit of
+ LYCgi.c environment strings - KW
+* explicitly put HTTP_ACCEPT_LANGUAGE and HTTP_ACCEPT_CHARSET strings into
+ lynxcgi environment only if they are non-empty, i.e., set to something in
+ lynx.cfg or the personal configuration or Options screen. This makes the
+ environment a lynxcgi scripts sees resemble more closely that of a remote CGI
+ script handling a request from Lynx with the same configuration - HTTP.c also
+ only sends Accept-{Language,Charset} headers if preferred language and
+ preferred charset (respectively) have been set to non-empty strings.
+ (Strictly speaking, an empty Accept-* header has a different meaning from a
+ non-existing one, but it doesn't make much sense to generate empty Accept-*
+ headers, since they mean "nothing is accepted".) There are other differences
+ in the lynxcgi environment (e.g. HTTP_ACCEPT isn't set, ",iso-8859-1;q=0.01"
+ etc. isn't appended to HTTP_ACCEPT_CHARSET, apart from missing
+ redirections), but apparently nobody has needed a more exact CGI emulation
+ for real scripts - KW
+* removed sending of "Negotiate: trans" in HTTP.c since it violates transparent
+ content negotiation specs, added comments - KW
+* correct error handling in CF_INET_ADDR, which did not restore $LIBS when no
+ applicable library was found for inet_addr (reported by IC) - TD
+* correction to CF_TERMCAP_LIBS, which used inconsistent spelling for the cache
+ variable, so predefined termcap/terminfo library was not necessarily
+ detected - TD
+* resolved autoconf 2.13 problem, resync configure script with patched
+ autoconf 2.13 - TD
+
+1999-01-18 (2.8.2dev.14)
+* use HTSprintf0 in LYCurses.c, LYForms.c, LYGetFile.c, LYJump.c - TD
+* modify LYCheckMail so it does not continue to report new mail when the mail
+ file's modification time differs from its access time (reported by LV) - TD
+* add check for inet_addr function, and (preferred) inet_aton. The first
+ function is reported to be sometimes in -lresolv, or -lbind when it is not
+ present in the conventional network libraries (from report by
+ mattack@area.com and comments by HN) - TD
+* resync config.sub, config.guess with autoconf 2.13.19990117 (not yet
+ configure, since autoconf 2.13 contains some new bugs) - TD
+* modified handling of untranslatable charsets, after noticing that a page
+ with charset=ISO-2022-JP produced an alert message with a truncated
+ "iso-2022-j". Looking more closely, the code could also result in memory
+ corruption in some cases. Compared with older versions, then changed the
+ code to something somewhat like what was intended there. But we don't have
+ an "Other ISO Latin" display character set any more; maybe those `else'
+ blocks should just have disappeared completely - KW
+* minor changes to SortaSGML DTD for PARAM, THEAD - KW
+* make "Alert" statusline prefix localizable - KW
+* extend fixtext.sh to also change continued lines - KW
+* changed LYCheckForProxyURL to act more like it appears to have been indented,
+ and clarify comment. Minor change in is_url - KW
+* prevent removal of hidden link number from bookmark document in a very
+ obscure case of a bookmarked ISMAP link - KW
+* HText_SubmitForm: make sure query is always allocated, even if the set of
+ form fields to be sent turned out to be empty - KW
+* some comments corrected in HTML.c, LYCharSets.c - KW
+* tweak in curses_w_style for display without color - KW
+* remove minor memory leak in LYDownload.c - KW
+* changed error handling in LYTraversal.c to make sure terminal gets restored
+ to sane mode before showing error message and exiting - KW
+* increased VALUE_SIZE for buffer in HTMIME.c from 1024 to 5120. Someone
+ needed increase for long Set-Cookie headers - KW
+* two new functions in HTList.c to reverse and to combine lists - KW
+* Lynx was using the wrong precedence for entries within a mailcap (relative to
+ other entries from the same file): RFC 1524 says "The configuration
+ information will be obtained from the FIRST matching entry in a mailcap
+ file[...]", but Lynx effectively gave precedence to the last match. Recent
+ Debian packages of lynx have had a patch applied to change this, but that
+ patch also seems to affect the precedence order relative to viewers defined
+ in other places, i.e., lynx.cfg and HTInit.c. The patch here instead changes
+ the precedence of mailcap entries form the same files to RFC-like behavior,
+ by reordering the list generated from a mailcap file after we have finished
+ reading it in. It leaves the order relative to viewers from other sources
+ unchanged. Maybe it should be made configurable whether Lynx's traditional
+ precedence or the new one is used; currently there is just a #define in
+ HTInit.c which could be changed to revert to traditional behavior - KW
+* add checks for null return from malloc to LYCurses.c, LYStrings.c,
+ (patch by John Bley)
+* add support for HP Roman8 as a display character set. HP Roman8 is used by
+ Hewlett-Packard terminals and hpterm, HP's version of xterm. The character
+ repertoire is largely similar to ISO Latin 1 but the code points are all
+ mixed up (patch by Christian Weisgerber)
+* modify WWW/Library/Implementation/HTAAUtil.c::HTAA_setupReader(): to use
+ malloc'd buffer rather than static buffer, to avoid overflow (patch by Thomas
+ Braun )
+* modifications to allow building the DOS lynx port with support of gettext for
+ producing messages in various languages. The DOS port of the gettext package
+ still needs minor tweaking to get it to function properly, but this shouldn't
+ be a problem for most people trying to compile lynx for DOS themselves.
+ Rather than put yet more DOS-specific makefiles in the distribution, I put
+ the changes to the makefiles within comments, which can easily be removed to
+ enable the changes - DK
+* add a comment about LYUCcharset struct "UChndl" field. Tweak trace
+ messages - LP
+* fix parsing of ALT=value attribute when the value is not quoted. When the
+ first character is not us-ascii it was corrupted by chartrans in all versions
+ of lynx. Fix case S_equals in SGML_character() - LP
+* chartrans: ignore RAW_TOGGLE key and do not change LYUseDefaultRawMode if
+ current document's charset specified explicitly, add status message. (Let
+ user switch toggle only when necessary, to avoid future problems :-) - LP
+* chartrans: change the default value of PREPEND_CHARSET_TO_SOURCE in lynx.cfg
+ from FALSE to TRUE (better safe than sorry) - LP
+* reorder forms-based options menu (cosmetic): rename "HTML error tolerance"
+ to "HTML error recovery", reorganize "Character Set Options" section -
+ "Display character set" went to "Personal preferences" section, "Assume
+ character set" and "Raw 8-bit or CJK mode" went to "Document Layout" section;
+ "Execution Links" went to "File management" section. (Hope this helps to
+ reduce confusion) - LP
+* remove "environment variables" section from INSTALLATION, change references
+ to Lynx User Guide in all docs. Minor tweaks on help files - LP
+* add a comment to mime.types and lynx.cfg on SUFFIX definition: "This has an
+ effect for ftp and local files only, http server does specify MIME type in
+ the Content-Type header" - LP
+
+1999-01-13 (2.8.2dev.13)
+* correct a missing trailing newline in caselower.h (this may be a problem
+ patching since 'diff' does not like that) - TD
+* fix off-by-one alignment download options (reported by LV) - IC
+* use HTSprintf/HTSprintf0 in UCAuto.c - TD
+* remove stop/start curses calls around UCChangeTerminalCodepage() in
+ GridText.c, since they are not necessary, and are a little distracting
+ when running Lynx in xterm - TD
+* correct handling in getfile() of ~/ expansion - KW
+* modify NSL_FORK logic to prevent child process from running any signal
+ handlers the parent may have installed - KW
+* the logic added to display_page for avoiding unnecessary screen redraw with
+ partial display (see 1998-12-03) is now disabled if enable_scrollback is set.
+ Otherwise displayed pages could appear as empty (or with only the current
+ link drawn) - KW
+* modify conditions under which screen style cache is reset (only relevant for
+ color style in combination with partial display) - KW
+* update the INSTALLATION file, reflecting the changes between the two DJGPP
+ versions of GCC in use. Also, change optimization to -O2 in the other two
+ DOS makefiles - DK
+* add support for ISO 8859-15, i.e., "Latin 9", make corrections to DEC
+ Multinational character translations (patch by Christian Weisgerber
+ )
+* modify po/makefile.inn to use mkdirs.sh rather than mkinstalldirs script
+ (reported by LV) - TD
+* modify print_help_and_exit() to print values for the simple options, i.e.,
+ toggle, integer and string, as part of "lynx -help" (request by
+ mattack@area.com) - TD
+* correct sense shown for Old_DTD variable in LYOptions.c (reported by DK) -TD
+* correct order of params for non-Unix use of HTAddParam in LYBookmark.c
+ (reported by DK) -TD
+
+1998-12-31 (2.8.2dev.12a)
+* delete unused 'PREVAIL' color-style code from HTML.c, merge a couple of
+ sections of logic with TrimColorClass, and change Style_className to
+ a dynamically-allocated string - TD
+* modify fmt_tempname() to check for buffer overflow - TD
+* check/modify for potential buffer overflows: HTAlert.c, LYBookMark.c,
+ LYKeymap.c, LYPrint.c (including splitting it up into functions) - TD
+* change GetOptValues to return status separately from the decoded value, in
+ case the options form is damaged (suggested by LP) - TD
+* add new function HTAddXpand to use in special case where Lynx is building
+ shell command using data from user's configuration, which should not be
+ quoted. Use this in LYEdit.c to allow $EDITOR to be given as the editor
+ name (request by PG) - TD
+* add new function LYOpenTraceLog, to combine logic in LYMain.c and
+ LYMainLoop.c, including Lynx's version message - TD
+* fix some discrepancies between the code and the documentation (help files),
+ for the alternate line edit keybindings, that were first included in the
+ distribution somewhere around -dev.3, or so - KED
+* added a delete-to-beginning-of-line (for the alt bindings only), and a help
+ page that describes the alternate bindings - KED
+* improved description of "HTML error tolerance" - KW
+* changes for handling lynxcgi: handle failure of execve(), by showing the
+ system error and then _exit()ing the child process. Make sure REQUEST_METHOD
+ is always set. Added checks for EINTR and other errors from read() - KW
+* DOSPATH or EMX: remove strange code dealing with root of local drive from
+ is_url() and HTDOS_name()/HTDOS_wwwname(), add right code at the earlier
+ stage in LYFillLocalFileURL() - LP (thanks KW)
+* relax warning from HTAlert to HTUserMsg on REFRESH_URL_NOT_ABSOLUTE - LP
+* more tweaks on transfer rate calculation - LP
+* modify HTSACopy and HTSACat in case the source and destination are the same
+ pointer - TD
+* tested/removed redundant OS/2 EMX adjustment to filename from LYEdit.c - TD
+* optimized LYEdit.c by moving calls on HTSYS_name(filename) to a single place
+ near the top - LP
+* forms-based options menu: prevent spoofing attempts from possible overruns
+ (e.g., user can doing 'e'dit in 'o'ptions and get core dump if
+ display_char_set gets an illegal number such as 50, or hang the keyboard with
+ illegal Line edit style) - LP
+* forms-based options menu: add new logical section - Document Layout,
+ currently with "HTML error tolerance" (TagSoup/SortaSGML), "Pop-up for select
+ fields", "Show images" (no_alt/labels/links) and "Verbose images". New
+ switches added for information purposes mostly, they duplicate hot keys but
+ not so hidden from user's view. Documentation updated also. (Oh yes, "Line
+ edit style" option is now available when we have a real choice >1) - LP
+* split cfg_defs.sh into two script based on revised script from PG - TD
+* minor fixes for top-level makefile.in - PG
+* fixes for makefiles with gcc 2.8.1 using DJGPP 2.02 (do not use "-c -o"
+ combination, strip trailing blanks from makefile.sla, change optimization
+ level to -O2) - DK
+* rename New_DTD variable to Old_DTD, change logic for -tagsoup option to be
+ consistent with sense in lynx.cfg (reported by LP) -TD
+
+1998-12-26 (2.8.2dev.12)
+* use HTSprintf0 in LYCgi.c - TD
+* add tab-completion on URL's, by using previously-entered strings for
+ matching (patch by Kari Davidsson ) - TD
+* add version number to trace log (patch by IC)
+* modify HTDOS_name to be consistent with HTVMS_name, which does not modify
+ its parameter (reported by LP). Also, modify HTDOS_name and HTDOS_wwwName
+ so they allocate space for the result rather than using a static buffer - TD
+* modify LYEdit.c to use HTAddParam - TD
+* make HREF/NAME for "Environment" consistent in Lynx_users_guide.html
+ (reported by LP) -TD
+* correct DOS/EMX logic in LYEdit.c which incremented 'filename' pointer when
+ its length was greater than 1 rather than recopying the string, causing a
+ core dump when 'filename' was freed (reported by LP, this applies to
+ 2.8.1rel.2) - TD
+* correct sense of 'already_exists()' function from dev.11, which caused
+ various file-menu operations to stop working (reported by IC) - TD
+
+1998-12-24 (2.8.2dev.11)
+* use HTSprintf/HTSprintf0 in about half of the WWW library files where
+ applicable: HTAABrow.c HTAAServ.c HTAAUtil.c HTAccess.c HTAnchor.c HTDOS.c
+ HTFTP.c HTFWriter.c HTFile.c HTFinger.c HTFormat.c HTGopher.c - TD
+* eliminate most duplicate gettext parameters, reduced the number of files
+ listed in po/POTFILES.in to a size that may allow build with the Solaris
+ xgettext utility - TD
+* correct rule for remaking po/makefile - TD
+* workaround for HPUX sed program, providing '$' anchors for ".*" expressions,
+ which is redundant, but should be harmless (suggested by Jean-Yves Levesque
+ )
+* add new help file, keystrokes/environments.html - LP
+* fix HTReadProgress(): more accurate transfer rate calculation - LP
+* update slang makefile.dos, and corresponding INSTALLATION notes - DK
+* correct my integration of IZ's LY_CHANGE_LINK code, which resulted in an
+ out-of-bounds index into revmap (reported by LP, LV) - TD
+* add note about sendmail for Win32 to lynx.cfg - JES
+* add note for successful build on NeXT to INSTALLATION (Christian Jensen
+ )
+* add checks for null return from malloc to HTInit.c, LYMainLoop.c, LYUtils.c,
+ (patch by John Bley)
+* remove reference to 'persistent_cookies' in LYCookie.c which prevented
+ compile when persistent cookies configure option was disabled (report
+ by PG) - KW
+* move assignment to SHELL back from WWW/Library/makefile.in to CommonMakefile,
+ and revert use of $CONFIG_SHELL in configure script, since this appears to
+ stop auto-configure from finding working include feature of 'make' on CLIX
+ (reported by Alex Matulich) - TD
+
+1998-12-16 (2.8.2dev.10)
+* FROM_FILE is not used any more for a domain (although it is currently still
+ defined. Renamed COOKIE_FLAG_PERSISTENT to COOKIE_FLAG_FROM_FILE. Don't
+ change a domain's "behavior" (ACCEPT_ALWAYS, REJECT_ALWAYS, or QUERY_USER)
+ just because there was a persistent cookie for it. Users who want to always
+ accept cookies from a domain without prompting should use
+ COOKIE_ACCEPT_DOMAINS - KW
+* FREE domain_entry objects when they are not used any more. Other minor leak
+ removed - KW
+* some (few) changes for draft-ietf-http-state-man-mec-10.txt. Don't accept
+ invalid port lists (this may need more tweaking). Added some comments - KW
+* try to preserve cookies (within a domain) in the same order in which they
+ were received, although this is probably not necessary after all. There is
+ no difference any more w.r.t. insertion into the list between cookies from
+ the file and cookies from response headers - KW
+* use <= instead of < comparison when checking whether a cookie has expired -KW
+* don't write expired cookies, cookies with discard attribute, or cookies
+ without expiration date to persistent file - KW
+* don't call HTConfirmCookie for cookies read from file. This doesn't change
+ the logic since previously HTConfirmCookie allowed all file cookies
+ anyway - KW
+* don't delete the domain_list if it becomes empty. Doing this could result in
+ unnecessary multiple atexit()'s - KW
+* write the cookie file even if we now have no cookies, if we have previously
+ read cookies from the file. The file should be updated if all cookies that
+ were in it are expired or superseded or deleted - KW
+* when reading file cookies, set attributes in a way that (hopefully) makes
+ more sense than just ignoring them. See comments in LYLoadCookies.
+ We are restricted a lot by the choice of a Netscape-compatible cookie file
+ format, some version 1 properties just cannot be stored in it AFAIK. Some
+ more tweaking in LYLoadCookies - KW
+* setting a domains behavior to accept "A)lways" didn't actually work, it had
+ the same effect as "P)rompt". Corrected this simple (probably cut-and-paste)
+ error - KW
+* some changes in what is displayed on Cookie Jar page: FROM_FILE is a
+ property of individual cookies, not of domains as previously. Cookies from
+ file (which haven't been updated) are shown as "(from a previous session)".
+ Show expiration time ("Max. Gobble Date") whenever we have one. The state
+ of the "discard" attribute is already displayed separately - KW
+* made color styles code work much better with TagSoup parsing mode. A new
+ flag bit is set for some tags in HTMLDTD which indicates that, even though
+ they may be otherwise handled as SGML_EMPTY, this emptiness is fake. This
+ can only work reasonably for elements that require an end tag (not for LI,
+ for example) - KW
+* added SUMMARY attribute for TABLE element to HTMLDTD (but we don't do
+ anything with it) - KW
+* split_line: Try to account for changes in anchor position and extent in all
+ possible cases. This improves some cases where the selectable text could
+ become too short and, in extreme cases, a link could become erroneously
+ "hidden" - KW
+* split_line: color style changes after the split position are moved to the
+ correct position in the new line - KW
+* set TextAnchor's line_num in HText_beginInput, so that split_line can adjust
+ the input field's position properly if a split moves it to the next line.
+ Should solve problem reported for www.lycos.com - KW
+* don't refuse to read from file-descriptor 0 in HTDoRead for Unix if it is not
+ a tty. The socket fd from HTDoConnect can be 0 if fd 0 was not open when
+ lynx was started non-interactively - KW
+* increase INIT_LINE_SIZE in HTTP.c slightly from 1024 to 1536, so that for a
+ typical ethernet MTU the first packet of a response can more often be read in
+ with a single read() - KW
+* add a missing FREE() in HTTP.c - KW
+* use case mapping from ftp.unicode.org /Public/UNIDATA for case-insensitive
+ user search (thanks "Kari E Hurtta" ), new file
+ src/chrtrans/caselower.h added. This is used instead of UPPER8 assumption
+ introduced in 2.8 release (see 1998-02-27). There is no difference in speed
+ though - LP
+* fix links in History/Visited Links page for documents with blank
+ , also remove leading spaces from titles to make output a
+ little better - LP
+* use djgpp's file, which contains default values for autoconf
+ style definitions - LP
+* updated lynx.man, lynx.hlp for "SEE ALSO" sections - KED, JES
+* optimize the test commands specified in the mailcap file by remembering which
+ tests have been run already. (patch by Marc Huber )
+* add lint rule to makefile.in, as well as corresponding rule in WWW/... - LV
+* update version in makefile.in to 2-8-2 - PG
+* fix makefiles to build with DJGPP (problem introduced in dev8) - LP
+* use new symbol KEYMAP_SIZE to get rid of various constants relating to the
+ size of keymap[] array, e.g, 0x293, 659 - TD
+* add new mouse and keymap functionality to lynx (IZ):
+ a) If one clicks mouse *near* a link, the "point/focus" is moved to this link
+ (without actual activation);
+ b) One can bind keys with ordinals larger than DO_NOTHING;
+ c) Primitive context sensitive menu added to the middle button of a mouse
+ (currently ncurses only);
+ Current micro-problem with "c" is that I do not know how to refresh a screen
+ before triggering the action, so if the action chosen from the menu would
+ not redraw the screen, the menu outline is left on the screen.
+* modify LYKeymap.c so that it can show internal keymaps above 0400 as
+ hexadecimal codes even if they do not appear in the function-key table -IZ
+* add HTOptParam to avoid spurious quoting of blanks in rlogin URLs by
+ HTAddParam - TD
+* correct missing assignment in remote_session(), from dev.9 changes for
+ HTAddParam, which broke telnet/rlogin URLs (reported by IC) - TD
+
+1998-12-12 (2.8.2dev.9)
+* change location-not-absolute message from an alert to user-message - TD
+* check for EINTR from read() call in HTDoRead, and retry if necessary. This
+ change only for Unix. Interrupted read() system calls should be rare (or
+ impossible, depending on the system implementation?) since the read() is only
+ done after a successful select(), but checking can't hurt - KW
+* check for read read() errors in HTDoRead and HTCopy, and generate alert
+ messages for unexpected errors. HTCopy still returns HT_LOADED to indicate
+ success if any data have been received before an unexpected error or
+ disconnection. Previously this happened without any indication to the user
+ that something was wrong and a document or file might be incomplete. These
+ changes currently only for Unix - KW
+* added/enhanced comments in HTFormat.c to document current behavior of HTCopy,
+ HTFileCopy, HTGzFileCopy, HTParseSocket, HTParseFile, and HTParseGzFile - KW
+* moved definition of HT_NO_DATA to HTUtils.h, changed value of some status
+ codes to libwww5-like values while we're at it - KW
+* correct uninitialized de variable in LYCookie.c when dump_output_immediately
+ is set. Also, made a slight change to this mode in LYMain.c, so that cookies
+ received will also be written to the cookie file; cleanup() is not called in
+ -dump mode (reported by Elwin Oost) - BJP
+* correct include-path for chrtrans makefile to allow builds outside the
+ source tree (Masashi Fujita)
+* minor cleanup of LYCookie.c, add some traces - BJP
+* add support for content encoding for x-bzip2, bzip2 for suffix "bz2" - HN
+* add po directory to install-bin and uninstall rules - TD
+* modify the environment variable logic to avoid freeing string given to putenv
+ until after giving it a new string - TD
+* add several environment variables to LYPrint.c - KED
+* add ENVIRONMENT section to lynx.man and lynx.hlp - KED
+* add installation note about --enable-gzip-help - KED
+* update installation notes for WAIS - DK
+* add/use new functions for building up command-string for shell commands,
+ which quote parameters as needed: HTAddParam(), HTEndParam(). Moved the
+ logic in quote_pathname to HTQuoteParameter, extending that function to quote
+ the parameter only if it contains characters which are problems with various
+ shells (e.g., wildcards), and to escape backslashes. In particular, use
+ these functions to ensure that the user and port strings in HTTelnet.c are
+ quoted (fixes a hole reported by Art Mulder - TD
+* modify print-to-file logic to permit writing to pipe, provided that the
+ user does not have no-shell restriction - TD
+* split-out logic for LYValidateFilename() from printfile() and LYDownload - TD
+* whitespace fixes - BJP
+* add configure option --with-nls-datadir, to allow installer to specify
+ alternate locale data directory. A separate option from --datadir is
+ required because the GNU gettext code is usually installed under
+ $(prefix)/share rather $(prefix)/lib - TD
+* add configure check for gettimeofday, to implement 0.1 second interval
+ for skipping HTCheckForInterrupt() - TD
+* modify configure script to generate references to $CONFIG_SHELL rather than
+ /bin/sh, to allow some testing with alternate shells. Autoconf uses this
+ variable for a similar purpose - TD
+* correct missing case for 'o', octal in StrAllocVsprintf (reported by IC) - TD
+* fix -restrictions=bookmark check in forms-based options menu (reported by KW
+ & Rodiger Geys) - LP
+* fix memory leaks in LYPrint.c and UCdomap.c - KW
+* when printing HEAD to email use URL in the subject, was title. (it was
+ especially annoying when we have 8bit title being sent as 7bit: no charset
+ information is supplied for letters with 7bit message body) - LP
+* remove "temp fix for HText_trimHightext side effect from partial mode by
+ introducing a flag in HText_beginInput()" from 1998-09-12 since it is now not
+ needed after KW's changes in HText_trimHightext. - LP
+
+1998-12-03 (2.8.2dev.8)
+* use HTSprintf/HTSprintf0 in LYCookie.c, LYLocal.c - TD
+* correct logic in OpenHiddenFile, which did not check if a failure to open a
+ file for append was due to the file's not existing and hence causing
+ IsOurFile to return failure. This caused the -traversal option to fail
+ (reported by Francis Irving , applies to
+ 2.8.1rel.2) - TD
+* fixed line number removal code in HText_endAnchor in several places, it was
+ modifying the wrong line which could lead to memory corruption - KW
+* tweaks in HText_startAnchor and HText_endAnchor for handling link numbers.
+ Don't swallow space after number if line was split. Find link number on
+ previous line even it it is at the very end. Adjust line split position after
+ number removal. Generate TRACE output in interesting cases - KW
+* prevent havoc (access to already freed memory etc.) caused by multiple
+ recursive invocations of HTAnchor_delete on the same HTParentAnchor. This
+ does not seem to actually happen normally during a session, but can occur
+ when the HTAnchor structures are cleaned up while handling a terminating
+ signal or outofmem condition - KW
+* reset the HTAnchor "underway" flag during final cleanup, so structures are
+ not prevented from being freed. This also should only make a difference when
+ handling a terminating signal or outofmem condition - KW
+* show sticky-bit in directory listings - LV
+* correct options-message on Print page - IC
+* update installation note about freewais library (reported by Chris Maden
+ ) - TD
+* improvements to mouse code, ncurses-based, from IZ (Ilya Zakharevich):
+ a) Mouse navigation inside text entry fields;
+ b) Mouse navigation to a text entry field (including an empty one)
+ c) Mouse navigation to a specific position of a text field (since I do not
+ know which fields are text fields, I implemented "b" and "c" for
+ F_TEXTAREA_TYPE and F_TEXT_TYPE only, search for these symbols in the
+ patch);
+ d) Mouse navigation in menus: To scroll, one can click on top/bottom border
+ (single=byline, double=bypage, triple=beg/end), or above/below menu
+ (single=bypage, double=beg/end)) mouse-3 ==> quit;
+ e) Double-click-1 on the first and last row are interpreted as goto-
+ start/end/main-window (depending on the location of the click).
+ Other Changes:
+ a) Ask ncurses for all mouse events, but increase mouseinterval() to simulate
+ current behavior (which is effectively an infinite mouseinterval() +
+ masking of repeated clicks);
+ b) Earlier clicking to the left of a link would activate the link. I see no
+ use for this, so consider this a bug.
+* HText_trimHightext (GridText.c): don't apply final adjustment repeatedly to
+ an anchor that has already been handled by this function; the function may be
+ called repeatedly if partial display is enabled. Some other changes in this
+ function, to interact better with the other GridText.c functions, especially
+ for partial display mode. We don't have to handle all anchors if the new
+ parameter "final" is not set.
+ Also empty anchors should now generally not any more move down over empty
+ lines, if they happen at a line end. Made some trace messages give more
+ information - KW
+* color styles: reset screen style cache to avoid random coloring when a link
+ is unhighlighted - KW
+* tweak in HText_setLastOptionValue: if an OPTION tag was directly followed by
+ several newlines, characters could be dropped - KW
+* tweak havevisible() function in LYBookmark.c to compare against Unicode
+ value rather than ASCII when checking for blanks - LP
+* ifdef user/group function caching calls so that this builds with djgpp, which
+ doesn't need/support this (patch by Gisle Vanem)
+* documentation updates for NLS - HN
+* separate some html from gettext in LYCgi.c, LYHistory.c, LYLocal.c - JES
+* avoid setting recent_sizechange during the very first start_curses call for
+ ncurses. This would result in an unnecessary refresh after loading the first
+ document - KW
+* added logic to display_page to avoid repainting the full screen contents in a
+ specific situation: if it has been called before (for the same lines in the
+ same document) during partial display, and is now being called normally (not
+ during partial display). If this applies, the normal line content is not
+ redrawn, but the title line and form fields are still repainted, and updating
+ of the links structures is always done. There are additional checks for
+ recent_sizechange and a text->stale flag (which was already implemented but
+ unused) to do the full redraw if that may be needed. This should avoid
+ unnecessary screen 'blinking' with curses when partial display is used (which
+ didn't seem to happen with slang) - KW
+* modify SGML.c to check for SGML_ELEMENT tag contents, fixing a case where an
+ entity that appears within a TABLE but outside of any table row TR will be
+ displayed by Lynx _without_ its entities being interpreted (analysis by Alan
+ J Flavell , applies to 2.8.1rel.2) - KW
+* check that stdin is really a tty before trying to select from it in the
+ NSL-FORK logic in HTParseInet(), file HTTCP.c (reported by Kim DeVaughn, for
+ someone who was unable to run lynx -dump in a cron job, applies to
+ 2.8.1rel.2) - TD, BL
+* updates for lynx_help_main.html (JES, IC).
+* change fopen for write in LYCookie.c to LYNewTxtFile so that the resulting
+ file will be readable by only the owner (Bill Nottingham
+ suggested using umask, but that may not be portable enough) - TD
+* use CONST in some places in UCdomap.c and makeuctb, to make more tables
+ shareable (suggested by LP) - TD
+* fixes for SunOS K&R compiler with/without unproto wrapper, i.e., definition
+ of 'const' - TD
+
+1998-11-23 (2.8.2dev.7)
+* convert KEY_ENTER to newline in LYgetch() to make Lynx work with IRIX's
+ iris-ansi terminfo description, which equates the kent capability with
+ carriage return. Doing this will allow lynx to use the keypad "enter" key as
+ an alias for carriage return on most terminals - KW
+* correct a few missing ifdef's for disabling the partial-display logic - TD
+* add/use new functions HTAA_UidToName(), HTAA_NameToUid(), HTAA_GidToName()
+ and HTAA_NameToGid() to hide details of code which uses pwd.h and grp.h,
+ as well as to cache the returned user/group names, improving performance
+ in the dired screen - TD
+* modify HTCheckForInterrupt() to check for interrupt no more than one per
+ second, since this check is comparatively slow - TD
+* modify ANSI_VARARGS case for HTSprintf() and HTSprintf0() to always use
+ ANSI prototypes, since __STDC__ may not necessarily be defined on some
+ systems, resulting in an inconsistent definition - PG
+* add install-full rule to makefile.in - LV
+* modify PutDefs macro in LYShowInfo.c to check for nonnull table[N].value,
+ which may be null due to limitations of cfg_defs.sh script on some
+ platforms where an empty string was intended (reported by LV, PG, applies
+ to 2.8.1rel.2) - TD
+* correct typo in 'make distclean' rule; an extra '-' prevented removal of
+ .orig and .rej files (patch by LV).
+
+1998-11-21 (2.8.2dev.6)
+* add call on dbug_init to LYMain.c, allowing use of the debugging code built
+ into the WATTCP code which is included in the DJGPP port of lynx. This is
+ activated by placing lines in the WATTCP.CFG file for:
+ DEBUG.MODE= (choices are HEADERS, DUMP, or ALL)
+ DEBUG.PROTO= (choices are TCP, UDP, or ALL)
+ DEBUG.FILE= (name of log file. Defaults to WATTCP.DBG)
+ This adds about 2K to the size of the stripped, compressed executable. You
+ get a log of the headers and/or a binary dump of the packets sent and
+ received. Maybe this will help in determining where ftp is failing in this
+ port - DK
+* correct definitions for ANSI_VARARGS, HAVE_STDARG_H in HTUtils.h (reported
+ by LP, for djgpp) - TD
+* correct logic in StrAllocVsprintf(), remove spurious test on dst_len
+ (analysis by LV) - TD
+
+1998-11-21 (2.8.2dev.5)
+* modify HTLoadFile() to make compressed files work with OS/2 EMX and
+ LYSystem() to convert forward slashes in pathnames to backslashes, also for
+ EMX (patches by Ilya Zakharevich).
+* documentation nits (apostrophes) in lynx.cfg and userdefs.h - LV
+* fix inconsistent newlines in po/it.po (report by Irving_Wolfe@Wolfe.net) - TD
+* modify config.guess, added Intergraph 2430 CLIX machines (reported by Alex
+ Matulich ) - TD
+* minor fix in LYCharSets.c according to recent changes in UCDefs.h introduced
+ by IBM OS/2 codepage number - LP
+* modify configure script to work with --enable-nls built into a subdirectory
+ of the source tree (reported by PG) - TD
+* disable regeneration of intl/po2tbl.sed and po/POTFILES if --disable-nls
+ configure option is specified - TD
+* add configure test for stdarg.h vs varargs.h - TD
+* fixes to work with SunOS K&R compiler - TD
+* don't trim trailing and leading spaces from unformatted text lines in some
+ cases (split_line in GridText.c). Prevents corruption of some uuencoded
+ files when they are displayed and then 'P'rinted (although 'D'ownload should
+ be used instead) - KW
+* some changes in HText_appendCharacter (GridText.c). Splitting of long SOURCE
+ lines now works with color styles - KW
+* workaround for multiple anchors in the same (invalid) HTML document with the
+ same NAME and different destinations (HTAnchor.c) - KW
+* check for 'z'ap while constructing local directory listings (non-VMS only, in
+ HTFile.c) - KW
+* added a couple outofmem checks (HTAnchor.c). Minor TRACE message change in
+ GridText.c for -tlog / USE_TRACE_LOG disabled - KW
+* when adding bookmark entries, don't accept a title string which appears to
+ consist only of blank characters (LYBookmark.c). When rendering a bookmark
+ file, use hiddenlinks=merge counting, so that numbers after entries with
+ empty titles don't get out of whack (GridText.c). This should prevent 'R'
+ from removing the wrong bookmark entry - KW
+* prevent generation of some unnecessary temp files when constructing mailcap
+ file test commands (HTInit.c) - KW
+* include LYLeaks.h in UCdomap.c for memory leak detection - KW
+* fixed various memory leaks (UCdomap.c, LYShowInfo.c, LYReadCFG.c, LYMain.c,
+ LYDownload.c, LYBookmark.c, HTML.c, DefaultStyle.c) - KW
+* escape '&' and '<' in HTML generated to display current lynx.cfg option
+ values (LYReadCFG.c) - KW
+* revert logic in split_line. Emphasis highlighting that should extend over
+ several lines was being lost at line breaks (GridText.c). (IsSpecialAttrChar
+ probably shouldn't return true for LY_SOFT_NEWLINE since in most places it
+ tests whether to skip a character position, but as long as this special char
+ is only used in SOURCE mode it cannot mess up any anchor positions so it
+ should be ok. - KW
+* correct character counting in SOURCE display continuation lines. A
+ highlighted search target would be shown shifted left by one character
+ position because the LY_SOFT_NEWLINE special was displayed as '+' but not
+ counted (GridText.c) - KW
+* prevent generation of invalid/unparsable comments if
+ UCSaveBookmarksInUnicode is in effect, other minor changes in
+ LYBookmark.c - KW
+* correction for color styles in HText_appendCharacter (GridText.c). At some
+ point a memmove was replaced by a for loop, but source and destination were
+ reversed and the counter was wrong - KW
+* modify HTSprintf/HTSprintf0 to use a more generic approach to varargs by
+ using only va_alist in the parameter list - TD
+* correct html expression in LYShowInfo.c of dev.3 which did not allow the temp
+ file with the lynx.cfg settings to be accessed from the Configuration
+ Definitions page (patch by IC (Ismael Cordeiro)).
+* correct "Exiting" message format in cleanup_sig(), which had unexpanded %d
+ (reported by BJP) - TD
+* add to config.hin the definitions set by AM_GNU_GETTEXT macro (PG pointed
+ out that this also sets 'inline', needed for GNU gettext) - TD
+* modify MakeNewTitle() to check for null pointer, fixing core dump with
+ verbose images when value[src_type] is null (reported by John Bley
+ for 2.8.1rel.2) - TD
+
+1998-11-18 (2.8.2dev.4)
+* change default for configure option of NLS (gettext) to disabled until we
+ finish porting it to implementations other than GNU gettext. Also,
+ change default for include-gettext configure option to "with" - TD
+* suppress cookie-storing if the value is null - BJP
+* ifdef'd alternative set of line-edit bindings with EXP_ALT_BINDINGS, add
+ configure option --enable-alt-bindings, rename DELEOL to DELEL, remove
+ binding of DELEL to '\' - TD
+* add alternative set of line-edit bindings to change the behavior of the ^B
+ and ^F line editor bindings to provide emacs/tcsh like behavior (cursor
+ left/right), instead of "word" deletes. Corrected a bug in the ^R (LYE_DELN)
+ function, which is described as "delete next character", but was in fact
+ performing identically to ^D (LYE_DELC) "delete current character". Added a
+ function called LYE_DELEL, which does the expected thing, and deletes
+ from the current cursor position, to the EOL.
+ New bindings:
+ ^B = LYE_BACK cursor backwards
+ ^F = LYE_FORW cursor forwards
+ ^K = LYE_DELEOL delete to end-of-line
+ ^T = LYE_DELNW delete next word
+ ^X = LYE_DELPW delete previous word
+ ^^ = LYE_UPPER upper case line (not active when kbd-layout binding is)
+ ^_ = LYE_LOWER lower case line
+ KED (Kim DeVaughn ).
+* modify to show address to submit to on the statusline when in advanced user
+ mode. Also fixes one small typo in LYMainLoop.c. (suggested by
+ ) - BJP
+* modify HTParseInet() so that it works if stdin has been redirected to
+ /dev/null, e.g., when running a cron job (reported by John H DuBois III
+ ) - BL
+* minor documentation updates to lynx.cfg (Larry Virden).
+* change some character constants from '\hex' and '\octal' form to decimal,
+ to persuade compilers that upper-128 compares are legal - TD
+* ifdef'd KEYBOARD_LAYOUT with EXP_KEYBOARD_LAYOUT, add configure option
+ --enable-kbd-layout - TD
+* implement EXP_CHARTRANS_AUTOSWITCH for OS/2 EMX (Sergey Svishchev).
+* add 'a' response when printing a file to allow append rather than overwrite
+ (Sergey Svishchev).
+* add KEYBOARD_LAYOUT to lynx.cfg, to support character-translation on input,
+ add missing line editing style selection to Options form. This is enabled
+ and disabled by the line edit control/uparrow (Sergey Svishchev
+ ).
+* use exit_immediately() to reduce some signal-function clutter - LP
+* correct dependency in src/makefile.in for cfg_defs.h (Masashi Fujita
+ )
+* change quoted includes in intl directory to bracketed includes - TD
+
+1998-11-16 (2.8.2dev.3)
+* misc documentation updates for the gettext/internationalization - LP
+* rename po/makefile.in.in to po/makefile.inn, and modify distclean rule to
+ remove the remaining generated files - TD
+* preliminary changes to support port to OS/390, some ifdef'd with __MVS__,
+ some with EBCDIC and NOT_ASCII -PG
+* modify LYCookie.c to accept cookies with no value, in case the site resets a
+ cookie by nulling out the value (reported by Larry Virden) - BJP
+* modify cookie parsing to ignore comment lines beginning with a '#' (reported
+ by Jonathan Bobin indicates that Netscape adds comments back, confusing
+ Lynx) - BJP
+* highlight option letters in old options screen (adapted from patch by Ismael
+ Cordeiro) - TD
+* use HTSprintf functions in HText_SubmitForm(), user_message(),
+ LYLoadIMGmap(), HTTelnet.c. (The HTTelnet.c modifications fix a security
+ hole reported by Martin Mokrejs) - TD
+* add HTSprintf, HTSprintf0 functions, to use in resolving potential buffer
+ overflows - TD
+* modify HTVMS_purge() to rename the remaining file to version 1 unless a
+ permissions problem was encountered - TD
+
+1998-11-10 (2.8.2dev.2)
+* some testing against Solaris gettext implementation, enough to see that it is
+ not really compatible either source or binary with GNU gettext. For the time
+ being, I recommend building NLS support only with GNU gettext (and
+ --with-included-gettext to avoid conflict with Solaris' gettext in the
+ standard library). Otherwise use the --disable-nls configure option - TD
+* various changes to configure script and makefiles to make this build with and
+ without NLS - TD
+* undo spurious substitutions such as gettext("") - TD
+* modify some gettext() expressions to avoid embedding HTML in them - TD
+* restore definitions in LYMessages_en.h - TD
+* first cut of integrating Jim Spath's changes to incorporate message library
+ support - JES, TD
+
+1998-09-20 (2.8.1dev.29-intl)
+* edited files for language hooks (JES):
+ src/HTAlert.c src/HTInit.c src/HTML.c src/LYBookmark.c src/LYCgi.c
+ src/LYClean.c src/LYCookie.c src/LYCurses.c src/LYDownload.c src/LYEdit.c
+ src/LYForms.c src/LYGetFile.c src/LYMail.c src/LYMain.c src/LYMainLoop.c
+ src/LYMap.c src/LYNews.c src/LYPrint.c src/LYUpload.c src/LYUtils.c
+ src/LYexit.c
+ WWW/Library/Implementation/HTAABrow.c WWW/Library/Implementation/HTAAProt.c
+ WWW/Library/Implementation/HTAccess.c WWW/Library/Implementation/HTFTP.c
+ WWW/Library/Implementation/HTFWriter.c WWW/Library/Implementation/HTFinger.c
+ WWW/Library/Implementation/HTFormat.c WWW/Library/Implementation/HTGopher.c
+ WWW/Library/Implementation/HTMIME.c WWW/Library/Implementation/HTNews.c
+ WWW/Library/Implementation/HTRules.c WWW/Library/Implementation/HTStyle.c
+ WWW/Library/Implementation/HTTCP.c WWW/Library/Implementation/HTTP.c
+ WWW/Library/Implementation/HTVMSUtils.c WWW/Library/Implementation/HTWAIS.c
+ WWW/Library/Implementation/HTWSRC.c
+
+1998-09-08 (2.8.1dev25-intl)
+* Resynch with dev tree - JES
+
+1998-09-07 (2.8.1dev.21-intl p3)
+* About half through language hooks in WWW/Lib... - JES
+ Integrated part of Chebucto's French translations - JES
+* Included latest ABOUT-NLS from GNU project,
+
+1998-08-27 (2.8.1dev.21-intl p2)
+* Tested language hooks using src/LYNews.c and Italian messages file
+ provided by Sabato De Rosa . Made changes to
+ LYMain.c, LYMainLoop.c, LYNews.c and HTNews.c - JES
+1998-08-27 (2.8.1dev.21-intl p1)
+* add hooks to GNU gettext for international language support - JES
+ (This is an experimental modification that will be patched into
+ the main Lynx release after other platform testing. I've only done
+ NetBSD.)
+
+1998-11-05 (2.8.2dev.1)
+* relax the cookie sanity checking for version 0 (old) cookies _only when_ the
+ user has accept_all_cookies set (patch by Risto Widenius
+ )
+* modify get_listen_socket() to check if master_socket is set before attempting
+ to use it in FD_CLR (patch by Karl-Andre Skevik )
+* minor documentation fixes - DK
+* use $(LIBS) symbol in src/chrtrans/makefile.in (reported by Alois Maier
+ ) -TD
+* Fix core dump which may happen after printing-to-email - LP
+* Move read_rc() before parsing any command-line arguments (except -help)
+ so the latter will override any .lynxrc settings. In particular, the problem
+ was detected with -cookie_file= which was ignored after saving values
+ from Options menu - LP
+* Chartrans bug: LYNXIMGMAP now shows the text in right charset.
+ (The page was converted twice, fixed by adding META charset to this internal
+ page. The bug was in all versions of Lynx starting from 2.7.1ac) - LP
+* Oops, my typo from pre3 back to 27-09-98: windows-1252 appears twice
+ in the list of character sets in options menu, was also typo in docs - LP
+* modify HTDOS.c to permit compile with K&R compiler - TD
+
+1998-10-27 (2.8.1rel.2)
+* tidy up version numbers - TD
+* modify HTDOS.h to permit compile with K&R compiler - TD
+
+1998-10-24 (2.8.1rel.1)
+-----------------------
+* reorganize lynx_help_main.html - PW
+* minor change to WWW/.../tcp.h to eliminate redefinition warning by DEC C - TD
+* move checking for command-line "-head" and related options before curses
+ initialization so that program exits with correct terminal settings
+ (report by LV) -BL
+* correct uninitialized index into id_append in makeuctb, which causes problems
+ with def7_uni.tbl (analysis by LP)
+* add TAGSOUP flag to lynx.cfg to set initial state of Tag Soup vs SortaSGML
+ (request by LP) - TD
+* add PERSISTENT_COOKIES flag to lynx.cfg to allow disabling the persistent
+ cookies feature in a Lynx executable (request by BJP) - TD
+* modify read_cfg so that it does not display included-file information when
+ NO_CONFIG_INFO is defined (reported by LP) - TD
+* minor/cosmetic fixes for comments and documentation - LP
+* revised patch for nsl-fork, which does not rely on WNOWAIT definition - BL
+* include termio.h in LYCurses.c only #ifdef TERMIO_AND_CURSES (Philippe
+ De Muyter )
+* modify cfg_defs.sh to work when the 'set' command emits double-quotes
+ (Paul Gilmartin)
+* update obsolete copy of HTFWriter.c to add content-encoding for HTFileSuffix
+ (reported by David Helder )
+* modify add_item_to_list() so that if the restriction flag is omitted from
+ a download/upload/extern line in lynx.cfg, it is assumed true. Also check
+ for null command string in LYExtern.c (bug report by HN) - TD
+* modify logic in forms-options menu so that assume_char_set now works
+ correctly for any LYRawMode value by synchronizing gen_options() and
+ postoptions() via rawmode memory - LP
+* correct ifdef'ing in LYShowInfo.c for non-Unix platforms - LP
+* modify nsl_fork logic to handle a case where child exits successfully
+ right after parent's select timed out (reported by Serge Munhoven) - BL
+* small updates to lynx_help files and other documentation (BJP, PW, LV).
+* add #define's for later work to simplify configuring the maximum number
+ of cookies (suggested by BJP) - TD
+* flush output in makeuctb, as possible fix for build problems on systems that
+ do not implement POSIX 'exit()' call (reported by Serge Munhoven
+ and Jan Hlavacek) - TD
+* put GOTOBUFFER, JUMPBUFFER and QUIT_DEFAULT_YES back the way they used to be
+ (majority decision) - TD
+
+1998-10-14 (2.8.1pre.10)
+* add/use HTSYS_purge and HTSYS_remove functions (based on report by Tony
+ Bolton and patch by BJP dealing with removing older versions of cookie
+ files) - TD
+* add --disable-config-info option - TD
+* change configure script --enable-forms-options to --disable-forms-options,
+ add --disable-menu-options - TD
+* comment-out FM's code to fold cookie headers and force cookies to be
+ presented in the same order that they were received - BJP
+* use full "Implementation" directory name in include path in WWW djgpp
+ makefile - DK
+* use HTDOS_name() to force DOS temporary-directory into consistent form - DK
+* include HTVMSUtils.h and HTDOS.h from LYUtils.h, consolidate some ifdef's
+ using macro HTSYS_name - TD
+* another fix for HTTCP.c, for lookups with Lynx/32 - WB
+* add fallback to $TMPDIR for Lynx temporary directory on Unix - TD
+* remove verbose_links variable due to popular demand - TD
+
+1998-10-10 (2.8.1pre.9)
+* add verbose_links variable to lynx.cfg and userdefs.h to control whether Lynx
+ should show "(LINK)" before links (request/patch by Moshe Zadka
+ ) - TD
+* change defaults in lynx.cfg and userdefs.h, add comments - PW
+ (a) defaults are stated for `verbose' & `KB';
+ (b) GOTOBUFFER & JUMPBUFFER defaults to TRUE;
+ (c) QUIT_DEFAULT_YES defaults to FALSE
+* restore suggested file name in download menu: it is really useful for other
+ download methods which should be available in menu when `save to disk' is
+ disabled. Remove local_path/ prefix (LYNX_SAVE_SPACE if any) from visible
+ suggested file name string near the top instead - LP
+* restore newline position when toggling comments parsing (at least we could
+ return to previous screen to try comments toggling twice) - LP
+* add a link from keystrokes help for edit_help.html (input line keys) - LP
+* corrected to make -nostatus command-line option override HTReadProgress - TD
+* updates to lynx-dev.html (Al Gilman).
+* modify NSL-fork support in HTTCP.c to use waitpid call to reap child
+ processes which may otherwise become orphaned. The new variable
+ "dns_patience" represents how many seconds we're willing to wait for DNS to
+ respond (should later make it configurable) - BL
+* modify PutTextInput and PutDefs macros in LYOptions.c and LYShowInfo.c to
+ avoid pre-ANSI compilers attempting to substitute macro parameters in
+ coincidental matches within quoted strings - BL
+ gcc -Wtraditional reports the first, but not the second, which is "n"
+ substituted into "\n" - TD
+* add an error-check for fg/bg values to lynx_chg_color function in case
+ lynx.cfg specifies color names not in Lynx's table - BL
+* modify IsOurFile function to accommodate links-to-links, so that users whose
+ home directory is reached by that type of path can save .lynxrc file
+ (reported by PW) - TD
+
+1998-10-04 (2.8.1pre.8)
+* modify HTTCP.c to copy soc_in from phost in HTParseInet, making Lynx/32 do
+ lookups again - WB
+* modify LYCurses.c to compile mouse-code with Borland C and PDCURSES 2.3 - WB
+* correct backward logic in CF_TERMIOS_AND_CURSES (reported by LE) - TD
+
+1998-10-04 (2.8.1pre.7)
+* add special-case CF_TERMIOS_AND_CURSES configure macro (fixes problem
+ reported by Philippe De Muyter) - TD
+* update/reorganize option_help.html - PW
+* restore newline position when return from the Print menu or follow a link
+ from History page (was broken for partial display mode only): LYPop() and
+ LYPop_num now reinitialize Newline_partial if it happens on getfile stage.
+ Also remove changes from 1998-06-11 (case LYK_DOWNLOAD) since this is now
+ protected by HText_new() which never starts. - LP
+* tweak suggested filename for download menu: now it we have URL
+ terminated with "/" (e.g., a directory or possibly root) do one more try -
+ remove terminating "/" - LP
+* download menu: do not show "Suggested file name" when "save to disk disabled"
+ (requested by HN) - LP
+* more tweaks on LYshow_kb_rate - LP
+* move fallback definitions for POSIX S_ISLNK, etc., to allow build with
+ VAX C (reported by Tony Bolton) - TD
+* add parentheses to eval-expression in CF_MAKE_INCLUDE configure test to
+ accommodate bash2 (Tadayoshi Okuma )
+
+1998-10-01 (2.8.1pre.6)
+* add EMX to special cases for SetOutputMode, to force stdout to O_BINARY mode
+ so that downloading binary files will not corrupt them (reported by Ilya
+ Zakharevich ) - TD
+* correct missing "\n\" in change to LYrcFile.c for pre.4 (reported by David
+ Eaton) - TD
+* reorder HTCheckForInterrupt() so that partial display mode will work for
+ VMS (reported by LP) - TD
+* fix LYK_DOWNLOAD to restrict downloading remote links for local_host_only,
+ like it was done for mailto: links recently, see comments where in - LP
+* replace few statusline messages with ones from LYMessages.en.h -LP
+
+1998-09-30 (2.8.1pre.5)
+* force compile on VMS to use stdarg.h; it was ifdef'd for __STDC__ which
+ VAX C does not define, though it does support stdarg.h (reported by Tony
+ Bolton). Test-compile HTVMS_WaisUI.c on Linux to check... - TD
+* update url for tcplib in INSTALLATION - DK
+* fix HTDOS_name trace massage - LP
+* expand "~" in include-statements in lynx.cfg (reported by LP) - TD
+* remove some obsolete stuff from INSTALLATION - HN
+* DOSPATH fix: user input URL like c:/path/file.ext (begins with drive letter)
+ now resolved as local path and will not be passed to DNS search in any case
+ (was running URL guessing process for host "c:" if file.ext not found...)
+ fix LYFillLocalFileURL() - LP
+* fix HTUserMsg2 trace massage - LP
+* add user's guide documentation for COOKIE_ACCEPT_DOMAINS and
+ COOKIE_REJECT_DOMAINS - BJP
+* change default Unix cookie-file name to "~/.lynx_cookies" - BJP
+* customize incremental rendering (Eric Brun ):
+ - add -partial_thres[=NUMBER] option to set the number of lines
+ - add PARTIAL_THRES config variable in lynx.cfg to set the number of lines
+ - add partial_thres variable in .lynxrc to set the number of lines.
+ Selecting save to disk and hitting Accept Changes in options menu will save
+ this variable to the current value. Haven't looked into making a form
+ entry for this yet. With -partial_thres command line option, probably not
+ necessary.
+* fix some text in lynx.man and Lynx_user_guide.html. The man change includes
+ changes to "h" and "k" so they work whether or not vi keys are on - DK
+* workaround for inconsistency between slang ports to DOS and other platforms
+ by suppressing test of SLtt_Use_Ansi_Colors. This fixes a problem where
+ colors change in the slang DOS port when the forms_based option menu is
+ accepted - DK
+
+1998-09-28 (2.8.1pre.4)
+* tentative fix for HPUX sed problems (reported by jones.peter@uqam.ca) - TD
+* update lynx.man and lynx.hlp to reflect new command-line options - TD
+* minor documentation fix - LP
+* miscellaneous fixes for build on VMS (reported by Tony Bolton) - TD
+* tweak 'const' assignment for VMS (in LYReadCFG.c and LYPrint.c) - LP
+* clarify discussion of download in Lynx user's guide (Al Gilman).
+* trim trailing newline from lines read from cookie file so that Lynx does
+ not send embedded newlines in the cookie list - BJP
+
+1998-09-27 (2.8.1pre.3)
+* fix a place in cookie_add{accept,reject}list() where cookies would be deleted
+ from memory if a persistent cookie had the same domain as an entry in
+ COOKIE_{ACCEPT,REJECT}_DOMAINS - BJP
+* move Lynx's writing of persistent cookies to COOKIE_FILE from happening when
+ you enter the Cookie Jar page to quit time, before cleaning up temporary
+ files - BJP
+* Lynx_user_guide.html: add text about lynx.cfg - LP
+* forms-options: options names moved 2 columns to the right (is it good?) - LP
+* fix reading .lynxrc "character_set" (trim trailing spaces in fullname) - LP
+* fix ReadProgress message for LYshow_kb_rate (while <1024 bytes received
+ we showed byte-transfer rate even in KB mode), extra dot removed - LP
+* DOS text files: opening text mode switch now incorporated in LYNewTxtFile/
+ LYAppendToTxtFile and hope for the best - LP
+
+1998-09-25 (2.8.1pre.2)
+* fixed forms submission charset: was broken by me in dev26 (HText_SubmitForm()
+ in GridText.c) - LP
+* documentation updates for verbose images - LP
+* minor fix for trace message in TrimHightext() -LP
+* add compatibility with 2.8/2.7.2 lynx.cfg and (especially) .lynxrc - old
+ "character_set" parameter now acceptable - LP
+* add OUTGOING_MAIL_CHARSET symbol to lynx.cfg to make mail more recognizable
+ by remote recipient, it may be "US-ASCII" for 7 bit approximation as the
+ safest case or any other value. If blank, use display character set
+ (default, compatibility). Currently implemented only for "subject" in
+ "print-to-email" - LP
+* fix SGML.c so invalid characters are not dispalayed in hex UHHHH but just
+ omitted as already done for plain/text mode - LP
+* fix download' suggested file name (8bit) - LP
+* correct logic error in "Change Location" command, and allow "~" there in
+ addition to the existing "~/" prefix (reported by Ismael Cordeiro) - TD
+* ifdef'd out "don't replace '\n' with ' ' if Chinese or Japanese" from dev.23,
+ with symbol EXP_JAPANESE_SPACES, FIX_JAPANESE_SPACES based on discussion with
+ HN, LP - TD
+* correct missing '\' in generated sed-script for "make install-help" rule,
+ which changed a couple of "/html" substrings to ".html" (reported by BL) - TD
+* modify cfg_defs.sh script to handle empty token in config.cache, e.g., a line
+ such as "foo=${foo=}" (reported by Philip Chong ) - TD
+* modify so that lynx_cfg_infopage() and lynx_compile_opts() pages are not
+ invoked when Lynx is running -anonymous - TD
+
+1998-09-22 (2.8.1pre.1)
+* correct logic error in parse_restrictions() which caused infinite loop,
+ probably from changes in dev.8 (reported by HN) - TD
+* add SHOW_KB_RATE symbol to lynx.cfg to allow user to control whether
+ HTReadProgress should show KB/sec or bytes/sec - TD
+* modify HTReadProgress to allow user to display KB/sec or bytes/sec - BL
+* add/use new function LYstyles(), to force initialization of styles[] array
+ when it is used outside HTML.c; fixes a problem with Lynx not using styles
+ for files listed on the command line - TD
+* correct keymap strings for F1 and DO_KEY - TD
+* add keymap table entries for F1, to accommodate slang which appears to ignore
+ terminal description when keymaps are defined - TD
+
+1998-09-20 (2.8.1dev.29)
+* add checks/warnings for user agent string in forms-options menu - TD
+* change render_item to force a '/' before substituted path or directory
+ strings if (as in OS/2 EMX) absolute filenames do not normally begin with a
+ '/' -TD
+* modify HTnameOfFile_WWW() to interpret an empty acc_method as a local file,
+ allowing its use in permit_location(), making OS/2 EMX dired-mode change
+ permissions work - TD
+* make download and print menus a little more compact in intermediate/advanced
+ user modes - TD
+* correct filename shown in download menu - LP
+* change behavior of configure --enable-forms-options switch. By default, both
+ old and new options menu are available via a command-line toggle
+ "-forms_options" or lynx.cfg statement "FORMS_OPTIONS:TRUE/FALSE". Configure
+ --enable-forms-options now _disables_ old-style code, which is
+ ifdef'ed with "#ifndef EXP_FORMS_OPTIONS" - LP
+* add more pointer-checks in GridText.c so that "lynx LYNXDOWNLOAD://" does
+ not crash (reported by Wilson Cheung) - TD
+* add special case to handle NNTPSERVER environment variable, which had been
+ lowercased as part of LYReadCFG.c cleanup (reported by Wilson Cheung
+ ) - TD
+* modify info-page to add link to new internal page showing the noncomment
+ lines from lynx.cfg - LP, TD
+* use function wwwName to reduce clutter - LP
+* create "lynx.cfg Information" page, comments skipped, "include" OK.
+ The link is available from '='InfoPage and 'O'ptions menu.
+ Since DJGPP/Win32 binary have no built-in absolute path for distributions
+ lynx.cfg those ports will look for a copy of lynx.cfg in lynx_help/
+ for most advanced info/comments (if you made http:// depository for lynx help
+ please care of it) - LP
+* tweak helpfilepath URL (for DOSPATH only) - LP
+* some cleanup of cp852, cp850, cp775 - LP
+
+1998-09-17 (2.8.1dev.28)
+* minor fix to make PRCS ProjectDate print in "dd mmm yyyy" form - TD
+1998-09-17 (2.8.1dev.27)
+* minor fixes for recent (dev24 and dev25) chartrans changes - LP
+* add LYNX_DATE definitions in userdefs.h; Info Page now shows the date of your
+ lynx along with version number and a link to the latest sources. - LP
+* use ECHO_CC symbol in install-help rule to control whether the sed commands
+ are echoed - TD
+* corrected install-help rule to avoid getting compress-suffix repeated in
+ the generated/updated files - TD
+* documentation nit for COLLAPSE_BR_TAGS (Michael Warner)
+* use getsockname_s rather than getsockname for djgpp (from patch by Gisle
+ Vanem) - DK
+* add .bz2 suffix to lynx.cfg and HTInit.c, for bzip2 utility - DK
+* modify store_cookie to suppress warning message for invalid domain if Lynx is
+ setup to accept all cookies - LV
+* modify/expand LYLocalFileToURL() function, getting rid of most places where
+ inline concatenation is used for "file://localhost/", as well
+ as eliminating a number of static buffers - TD
+* move fallback definitions for POSIX S_ISLNK, etc., out of NeXT ifdef's, to
+ make this compile on Apollo (reported by David Eaton) - TD
+* restructured pathname-tests in LYLocal.c, using common utility functions
+ ok_stat, ok_lstat, ok_file_or_dir to simplify freeing pointer allocated
+ by HTfullURL_toFile - TD
+* modify HTLocalName, making it a macro around a more flexible function
+ HTnameOfFile_WWW, to reuse logic for stripping off "file://localhost" and
+ "file:" prefixes, fixing some places where a spurious '/' would be left in
+ EMX local filenames (other macros: HTfullURL_toFile, HTpartURL_toFile) - TD
+* modify configure script macro CF_PATH_PROGS for OS/2 EMX, so that compiled-in
+ utility pathnames work - TD
+* use HTDOS.c module for OS/2 EMX, since it has similar device syntax - TD
+* correct logic for wrapping long lines, to not use the rightmost column of the
+ screen, fixes a problem with duplicated character (reported by LP) - TD
+* correct logic for dumping screen to file, so that blank lines are retained,
+ not counted in the logic for pruning soft-newlines which supports wrapped
+ lines - TD
+* add info and user messages to traces - TD
+
+1998-09-12 (2.8.1dev.26)
+* change behavior of NSL_FORK and related I/O (BL):
+ - Make URL guessing (www.huh.com? www.huh.org? www.huh.net?) interruptible.
+ - Make URL guessing from the command line interruptible.
+ - Use select() instead of FIONREAD. This makes it work on OSes where
+ previously it only *looked* like it was working.
+ - select() on stdin as well as the child pipe, when using [n]curses (not
+ SLANG). This allows interrupt to be processed instantly, without
+ up-to-1-second delay.
+ - While looping, 1 second at a time, bail out after "too many" (currently 50)
+ loops: just in case something weird happens, like select() returning some
+ unexpected error that we ignore.
+ - Make sure child processes are always killed and reaped.
+ - Close pipe ends as soon as possible.
+ - Now write the length down the pipe (using a known-to-the-program length of
+ sizeof(int)) first -- this both helps workaround old CMU TCP bugs and the
+ fact that select() doesn't let us get number of bytes ready, like FIONREAD
+ does.
+* change default for NO_ANONYMOUS_EMAIL to TRUE (patch by HN)
+* use url for "W3C HTML Validation Service" rather than "A Kinder, Gentler HTML
+ Validator" -TD
+* update url for HTML Quick Reference Guide (report by LE) - TD
+* modify verbose images to show ISMAPs and USEMAPs (patch by LE).
+* fix typos in AttrList.h, LYStrings.h (reported by LV & HN) - TD
+* Chartrans recovery and cleanup: by introducing an invariant
+ "current_char_set and UCLYhndl_for_unspec always valid charsets" we solve
+ possible problems with invalid/undeclared charsets. Use
+ 'safeUCGetLYhndl_byMIME()' for reading charset information from
+ lynx.cfg/userdefs.h/command line switches to recover possible typos by
+ fallback to ISO-8859-1; If UCLYhndl_for_unrec or UCLYhndl_HTFile_for_unspec
+ not set explicitly - now fallback to UCLYhndl_for_unspec (was before, but
+ not clear in certain places). Add comments to UCMap.h, add comments on
+ chartrans initialization in LYMain.c. UCAssume_localMIMEcharset and
+ UCAssume_unrecMIMEcharset now removed (UCLYhandl_* do all the stuff). - LP
+* LYCharSets.c: LYRawMode code simplified and comments added. It was realized
+ that UCAssume_MIMEcharset may differ from its handler as LYRawMode history.
+ Also: HTMLSetRawModeDefault() moved into HTMLUseCharacterSet() to reduce
+ clutter, declare HTMLSetCJKCharacterSet() as PRIVATE. - LP
+* more "big5" bugs fixed (in HTMIME.c and HTFile.c); function Set_HTCJK() added
+ to LYCharSets.c - LP
+* LYCharUtils.c: META charset code corrected against 2.7.2, obsolete code
+ removed - LP
+* partial mode now repaint the screen in one stage with a complete display
+ ('display_lines' received, fix in HTPartialDisplay()). Incremental rendering
+ of the first page may be annoying on slow connection (reported by Nelson
+ Henry Eric ) - LP
+* temp fix for HText_trimHightext side effect from partial mode by introducing
+ a flag in HText_beginInput(), so this side effect still only happens for long
+ documents with forms input mixed with normal href= link. - LP
+* print menu: fixed document URL near the top (was temp file name) - LP
+* forms-options menu: fixed screen size in Novice mode - LP
+* limit length of strings copied via tok_values[] in LYCookie.c - TD
+* clean up a few memory leaks in cookie_add_acceptlist() and
+ cookie_add_rejectlist() in LYCookie.c. These were leaking 4 bytes for each
+ entry in COOKIE_ACCEPT_DOMAINS - BJP
+* fix to LYLoadCookies() which was causing duplicate invalid cookies to be
+ loaded - BJP
+* split out install-doc rule in top-level makefile to install extra
+ documentation files in $(libdir)/lynx_doc (request by HN) - TD
+* improved algorithm to set 'secure_value', used in forms-options to circumvent
+ spoofing (based on comments from Mike Castle) - TD
+* integrate WB's mouse changes (see 1997-04-24) for page-up/down into the Unix
+ flavors of mouse support (e.g., ncurses and slang) - TD
+* use ncurses define_key to implement lynx-keymaps (see dev.10) - TD
+* modify slang keymap code to work with slang 0.99-38 - TD
+* replace several ifdef'd pathname constructions to use LYAddPathToHome() - TD
+* make keymaps file consistently named on Unix and VMS - TD
+* remove redundant "Lynx" from internal-page titles (suggested by LP) - TD
+* remove install-log makefile target, generate cfg_defs.h file directly from
+ lynx_cfg.h and config.cache, to compile-in the configuration-definitions
+ rather than rely on external file lynx_site.txt - TD
+
+1998-09-06 (2.8.1dev.25)
+* corrected compiled-in path for lynx_site.txt - TD
+* implement logic for exec-links in forms-options page - TD
+* add configure options --enable-exec-links and --enable-exec-scripts - TD
+* correct logic for show-color in forms-options page (reported by DK) - TD
+* implement logic to set $DISPLAY in forms-options page - TD
+* add/use functions LYsetXDisplay() and LYgetXDisplay() to reduce clutter - TD
+* retain help-link on internal pages only for those where the pages would be
+ pushed onto the history stack, and only in novice mode - TD
+* absorb LYSystem.h into LYUtils.h, adding LYSystem() and LYSysShell functions
+ to LYUtils.c to hide djgpp clutter - TD
+* limit strings passed to mailer in LYMail.c to 7-bit ASCII, converting other
+ characters to '?'. This guards against trash on the end of the mailing
+ address in a mailto link (from Duncan Simpson ).
+* add fallback definitions for S_xxx macros to tcp.h (from report
+ by Francisco A Tomei Torres that OpenStep 4.0
+ lacks definition for S_IWOTH) - TD
+* modify quote_pathname() so that for DJGPP it does not put single-quotes
+ around the result - DK
+* correct a missing assignment to turn bold off in split_line (GridText.c) - LE
+* Fixed: forms input in display_partial mode! Previously hightext was printed
+ at wrong positions while loading was in process (try -debug_partial to see
+ the bug). Fix made in HText_pageDisplay: we call HText_trimHightext() which
+ was the main part of HText_endAppend() before. Seems no more problems
+ reported from incremental rendering mode! - LP
+* set PARTIAL mode ON by default, unless it disabled in lynx.cfg or by
+ configure --disable-partial option - LP
+* restore temporary -debug_partial switch, broken in dev.23 - LP
+* made trace in HText_appendCharacter() a little more readable
+ for lynx special characters - LP
+* chartrans: human-readable character set names in Options Menu now changed
+ according to Netscape 4.x style - "language (MIMEname)", it looks more useful
+ and reduce chaos in people's heads. Documentation corrected
+ (option_help.html/Lynx_User_guide.html). Minor tip: "Central and Eastern
+ European" was truncated to "Eastern European" because of space limitation in
+ popup menu. (Changes in chrtrans/*.tbl, LYCharSets.c, also docs including
+ userdefs.h/lynx.cfg). Since names were changed, users on display other than
+ iso-8859-1 should go to options menu and resave .lynxrc (and probably correct
+ lynx.cfg - character_set now uses MIME notation in sync with other charset
+ settings, although complete name string is still acceptable for this
+ field) - LP
+* an attempt made to tweak the code replacing lynx internal 'main' charset '0'
+ (iso-8859-1 in fact) with its MIME name - LP
+* rename ifdef EXP_8BIT_TOUPPER in favor of lynx.cfg switch
+ FORCE_8BIT_TOUPPER - LP
+* remove a lot of "(char **)" casts from HTML.c which obscured some type
+ mismatches - TD
+* add/use functions LYIsHtmlSep, LYAddHtmlSep, LYTrimHtmlSep, LYIsPathSep,
+ LYAddPathSep, LYTrimPathSep to reduce clutter - TD
+* fix a bug, present at least since dev.17, where lynx can't download files if
+ it is started from one of the root directories of a disk drive, since it is
+ trying to write to "c:\\file.ext", rather than "c:\file.ext" - DK
+* correct a comment in userdefs.h; commercial Japanese sites are named with
+ co.jp, not com.jp (LV).
+* correct some debug messages in LYCookie.c - BJP
+* fix a missing in ShowInfo.c - SKY
+* modified '+'->' ' conversion to allow Unix commands to have '+' beginning
+ options - TD
+* sorted all option items (i.e., static variables, postoptions(),
+ gen_options()) according to the sections they are in - SKY
+* added '+'->' ' conversion for forms-options values - SKY
+* centered 'save to disk' and put a dash between 'accept' and 'reset' for
+ clarity - SKY
+* add "-cookie_file=" commandline option to specify cookie file - BJP
+* add "cookie_file=" option to .lynxrc - BJP
+* add "cookie_file:" option to lynx.cfg - BJP
+* change default cookie file to "Home_Dir()/cookies" (or sys$login:cookies
+ for VMS, which may or may not work, DOS also needs to be checked) - BJP
+* add cookies switch to options menu - LP
+* Security considerations and form-based options: items restricted in
+ gen_options() should be ALSO restricted under the same conditions in
+ postoptions() to prevent a limited access user to edit option's HTML code
+ manually and submit a restricted items. This may be not a good idea to have
+ two functions in sync but those functions are synchronized anyway. Please
+ read comments inside the functions if change something! - LP
+* add new functions BeginInternalPage and EndInternalPage to reduce clutter in
+ code that sets up internal pages (email from LP).
+* change version in makefile.in to 2-8-1 -DK
+* the code in GridText that adds control characters to the current line
+ does not test for buffer overflow. Normally Lynx gets away with this because
+ it will wrap the current line as soon as the line exceeds the display width,
+ but if you have a file with nothing but control characters with no
+ displayable text in-between (a few thousand hidden links will do), then Lynx
+ bombs. Modified to silently ignore excess control characters as well as add
+ a few extra bytes when allocating the line buffer to allow for a bunch of
+ control characters followed by a kanji or utf-8 sequence. (patch by Dick
+ Wesseling )
+* remove WWW/Library/Implementation/HTInit.c, which is not used, since
+ src/HTInit.c has this functionality - TD
+* change ID="" in Lynx_users_guide.html to ID="" to appease
+ weblint; tested with IE&NS - TD
+* Al's convention of '#' into '#' in Lynx_users_guide.html is
+ included - SKY
+
+1998-08-31 (2.8.1dev.24)
+* re-correct DH's patch for COLLAPSE_BR_TAGS (reported by LV) - TD
+
+1998-08-29 (2.8.1dev.23)
+* make interim fix for gzip'd html files until we can resolve portability
+ issues raised by SKY's renaming - TD
+* implement LY_SOFT_NEWLINE, to mark places where wrapping is done in
+ HText_appendCharacter, to allow printing to join lines back together
+ (reported by LP) - TD
+* correct missing assignment in change to HText_appendCharacter, fix a core
+ dump - TD
+* removed SKY's change that attempted to skip help-links, since it causes a
+ core dump, e.g., when viewing source - TD
+* use LYCloseTempFP in forms-options code and LYPrint.c where file was opened
+ with LYOpenTemp, to fix a core dump - TD
+* All XYZ_TITLE defines of UIPs (User Interface Page) are collected in
+ LYMessages_en.h for multi language support - SKY
+* Head and H1 of each UIP is standardized; reduced to 1 line. In this line a
+ context sensitive Help anchor introduced which is skipped by default; i.e.,
+ 'd' will directly goto 'Save to Disk' not to the help anchor - SKY
+* Download and Print UIPs are divided into 'Standard' and 'Local additions'.
+ Current and Suggested Filenames are printed on the page which was hidden on
+ the status line or accessed only by '=' - SKY
+* Information page now has links to either development or lynx home pages
+ depending on LYNX_RELEASE define. Besides compile options can also be
+ accessed on this page: $helpdir/lynx_site.txt. A file derived from
+ 'config.cache'. Its corresponding makefile macro is 'install-log' - SKY
+* New Form-based options page is re-organized; logical sections are introduced
+ and sorted alphabetically (except for 'User Mode' - SKY
+* All links in the help files are marked, i.e., each
+ 'href="../_filename.html_#section"' is converted to
+ 'href="../@FILENAME@#section"'. This is useful if a help filename or
+ link has to be changed through out whole package - SKY
+* 'lynx_help/help_files.txt' is introduced which contains
+ FILENAME=_filename.html_ definitions. Format and details are given in the
+ file - SKY
+* All help files are renamed from '.html' -> '.html_' - SKY
+* For context sensitive help links in UIPs 'src/LYHelp.h' is created with all
+ the filenames marked like the help files. It will be included from
+ LYGlobal.h. In 'src/makefile.in' necessary changes are done to load the
+ filenames from 'lynx_help/help_files.txt' - SKY
+* To be able to compress help files '--enable-gzip-help' option is added in
+ configure script. In 'makefile' 'install-help:' is updated.
+ If COMPRESS_PROG and COMPRESS_EXT are *both* left empty (default) no
+ compression will be carried. For the moment compression is restricted only
+ to 'gzip'. Necessary updates are done in configure.in - SKY
+* documentation fixes for nsl-fork, print screen - PW
+* don't replace '\n' with ' ' if Chinese or Japanese - HN
+* use title information rather than suggested filename as a subject line when
+ printing a page to email - LP
+* add verbose_images to old-style options menu, and the .lynxrc - LE
+* add verbose_images and useragent to forms-based options menu - LP
+* disable download of "mailto:" links (reported by SKY (Sinan Kaan Yerli)
+ ) - LP
+* Change HTUserMsg to HTInfoMsg for "ALREADY_AT_BEGIN" and "ALREADY_AT_END"
+ messages to make it less annoying - LP
+* reduce clutter in mainloop by inserting LYpop() in postoptions() - LP
+* makefile.dos: split long lines - LP
+* Fix bug with TAIPEI big5 charset in src/LYCharUtils.c
+ (this typo also found in lynx2.7.2: "big-5" instead of "big5"),
+ patch by Shou-Chuan Lai - LP
+* Add -debug_partial command line switch so we got MessageSecs dely
+ between incremental rendering stages if partial display mode is ON.
+ (MessageSecs available from lynx.cfg and set to 2 sec by default).
+ The problem in incremental rendering of forms input was reported by SKY
+ (Sinan Kaan Yerli) ), still not fixed
+ but now we may enter form-based options menu in -debug_partial mode
+ and rerender the page with Cntrl-R to see what is happening in fact - LP
+* Serious bug fixed for DISP_PARTIAL: two asynchronous processes synchronized.
+ HTDisplayPartial() synchronized by flag against HText_new() which create
+ the new HTMainText object. Otherwise HTDisplayPartial() sometimes was
+ matching old HTMainText (with its own line counter) and repaint previous doc,
+ not a new one. TRACE log now got a message from HText_pageDisplay - LP
+* fixed last chartrans changes, lines such as
+ #0x99 #NOTDEFINED
+ should not be commented with leading comment symbol because they are ignored
+ by makeuctbl in fact - LP
+* modify DH's patch for COLLAPSE_BR_TAGS to only modify the nonstandard case,
+ thereby making that more restrictive, and restoring standard behavior
+ (reported by HN) - TD
+
+1998-08-21 (2.8.1dev.22)
+* correct test for -std1 compiler option on Digital Unix (reported by Michael
+ Warner) - TD
+* modify treatment of COLLAPSE_BR_TAGS, so that if it is set TRUE, two or more
+ concurrent BRs will be collapsed into a single blank line. Note that the
+ valid way to insert extra blank lines in HTML is via a PRE block with only
+ newlines in the block (David Henderson )
+* clarification in userdefs.h - HN
+* MS Windows codepages updated for EURO SIGN (0x20AC), from ftp.unicode.org -LP
+* minor fix for DISP_PARTIAL, disable scrolling when HTTP request already sent
+ but the new document not displayed on the screen yet - LP
+* ifdef DOS/WINDOWS to open lynx.trace in text mode - LP
+* rearrange text in lynx.cfg concerning character_set - LP
+* correct miscellaneous typos - LP
+* Fixed: Verbose images now work with [IMAGE]-Submit. Also, fixed the core
+ dump when clickable_images is on. The problem was an oversight in
+ MakeNewTitle() - LE
+* reviewed the INSTALLATION file as it relates to DOS and updated it for the
+ newly released version of PDCurses 2.3. Added the HAVE_GETBKGD define to
+ makefile.dos, fixes some of the unusual background color handling that was
+ present in the PDCurses DOS port - DK
+* correct ifdef: LYOptions.c fails to build with -DEXP_FORMS_OPTIONS but
+ _without_ -DDIRED_SUPPORT (e.g., djgpp) - LP
+* redesigned cookie_add_{accept,reject}list in LYCookie.c -- they work now -BJP
+* added COOKIE_{ACCEPT,REJECT}_DOMAINS in .lynxrc handling to LYrcFile.c - BJP
+* slight spacing fix in lynx.cfg - BJP
+* added blurb in lynx.cfg about COOKIE_{ACCEPT,REJECT}_DOMAINS - BJP
+* -accept_all_cookies on the commandline works as a toggle now (against
+ lynx.cfg value -- NOT against .lynxrc value) - BJP
+* change HTAlert for bad partial reference to an HTUserMsg to make it less
+ annoying (request by Philip Webb, Jason F McBrayer)
+
+1998-08-15 (2.8.1dev.21)
+* correct pathname for help file in forms-options screen - TD
+* reduce clutter in LYOptions.c with SELECTED, DISABLED, NOTEMPTY macros,
+ PutOptValues, GetOptValues functions - TD
+* modified LYOptions to include MBM support from form-based options,
+ by making a link href="LYNXOPTIONS://MBM_MENU" like it was in LYPrint.c and
+ calling edit_bookmarks() from postoptions() - LP
+* add/use HTUserMsg to encapsulate most of the important messages - TD
+* add/use HTInfoMsg to encapsulate most of the informational messages - TD
+* make most of the alert messages use HTAlert, for consistency - TD
+* exclude forms-options pages from Visited Links page - LP
+* The current keymapping for the DOS Slang ports maps the keys directly to lynx
+ actions via keymap.c. There are several places in the code that test for
+ arrow keys, page up or down, home and end for special handling that depend on
+ the lynx definition of the keys. Hence, the keys in the DOS Slang ports were
+ failing the tests and not working as expected. The following patch now maps
+ these special keys. They can no longer be mapped individually via the KEYMAP
+ mechanism in lynx.cfg. Arrows should now work in GOTO fields. Tested the
+ patch against the binaries maade by makefile.dos, makefile.dsl, and
+ makefile.wsl - DK
+* The wsl port seems to be working well with DISP_PARTIAL, make this the
+ default - DK
+* correct spelling in lynx.cfg - DK
+* modify HText_appendCharacter to wrap long lines when displaying HTML document
+ source - TD
+* add configure option --enable-cgi-links - TD
+* clarify discussion of no_proxy in lynx.cfg (Al Gilman).
+* Multilingual bookmarks: now we store characters >127 in bookmark titles with
+ a more consistent and independent way, by keeping in unicode as UUUU
+ (NCR=numeric character reference). The idea belongs to Klaus Weide & Andrey
+ Chernov (long ago). It may be useful if we need switching display charset
+ frequently. This is the case when you use lynx on different platforms, e.g.
+ on UNIX and from remote PC, but want to keep common bookmarks file valid.
+ Compatibility: NCR as part of I18N and HTML4.0 specifications supported
+ starting with Lynx 2.7.2, Netscape 4.0 and MSIE 4.0. New option to lynx.cfg
+ added: NCR_IN_BOOKMARKS which is FALSE by default. - LP
+* Tweak "print options menu" to exclude choices which are not available under
+ the certain conditions (print to the screen and lpansi on DOS/WINDOWS, print
+ to e-mail for local_host_only). - LP
+* Forms options menu: add a link on option_help.html; synchronize
+ option_help.html against Lynx_User_guide.html and lynx.cfg. Rename label
+ "raw 8-bit or CJK Mode" with "CJK Mode" for CJK people and "raw 8-bit" for
+ others. Cleanup postoptions() by introducing flags - LP
+* Force HTuncache_current_document if gen_options() invoked. This is a
+ dirty fix until we uncache previous document only when necessary. - LP
+* Add time/date in addition to X-URL and BASE (PrependBaseToSource), (request
+ by Hans-Joachim Gurt ) - LP
+* Turn partial_display off if we are not interactive (reported by Ari Moisio
+ ) - LP
+* more fixes/refinements for auto-configuring socks5 on AIX (report by Brian
+ Hauber) - TD
+
+1998-08-06 (2.8.1dev.20)
+* rename eat_all_cookies to accept_all_cookies everywhere - BJP
+* added ACCEPT_ALL_COOKIES lines to the dist lynx.cfg with the appropriate
+ description - BJP
+* added COOKIE_ACCEPT_DOMAINS and COOKIE_REJECT_DOMAINS to lynx.cfg. These are
+ comma delimited lists of the domains to handle - BJP
+* added cookie_add_acceptlist and cookie_add_rejectlist to LYCookie.c, which
+ are passed the list of domains from lynx.cfg and add them to the global
+ cookie list. These may be subject to change, as I might not be handling the
+ LYstrsep() right -- it works with dev19's LYstrsep(), but hasn't been tested
+ with Bela's... - BJP
+* added a big ugly ifdef'd out section to LYrcFile.c with what I have so far on
+ the .lynxrc handling of COOKIE_{ACCEPT,REJECT}_DOMAINS. Don't use it. Makes
+ nasty segfaults - BJP (Brian J Pardy)
+* fix a bug where the DJGPP_KEYHANDLER version doesn't allow movement by arrow
+ keys within a text area. Undo previous patch to LYGetFile.c, with LYgetch
+ now changed where it is defined in LYStrings.c, rather than at each place
+ where it is used. The patch in LYStrings.c regarding Windows should fix the
+ problem with keymapping that occurred when we got rid of RAWDOSKEYHACK - DK
+* turn on DISP_PARTIAL in makefile.dos - DK
+* correct typo in LYOptions.c - BL
+* corrected logic of LYstrsep - BL
+* Few minor typos and forgotten notes in man/hlp/cfg files; also quote Bela's
+ note on lynx.cfg INCLUDE facility - LP
+* correct typos in makefile.wsl, makefile.dsl - LP
+* correct typos, fix character set problems in recent changes of
+ LYOptions.c - LP
+* move include for socks.h past tcp.h, to allow for redefinition of some
+ symbols on AIX (report by Brian Hauber) - TD
+* adjust headers so that each can be compiled separately, eliminating order
+ dependencies - TD
+* include tcp.h always from within HTUtils.h, to enforce ordering of headers
+ needed for socks5 definitions - TD
+* use S_ISREG, S_ISDIR macros to reduce clutter - TD
+* make test for OpenHiddenFile to overwrite user's file more stringent by
+ ensuring that the given pathname is not a link from a world-writable
+ directory (reported by BL, with suggested patch) - TD
+* add/use LYPathLeaf() function to reduce clutter of pathname-leaf parsing - TD
+* eliminate redundant definition of 'FREE() - TD
+* ifdef'd LYOptions.c to reduce unneeded code wrt --enable-forms-options - TD
+* check in OpenHiddenFile to ensure that we overwrite only regular files,
+ since we also force the file's permissions to 0600 - TD
+
+1998-07-31 (2.8.1dev.19)
+* modify OpenHiddenFile so that it can overwrite files owned by the real
+ user if the O_EXCL open fails because the file already exists - TD
+* add experimental forms-based options screen (Mike Castle):
+ This is ifdef'd with EXP_FORMS_OPTIONS and configured with
+ --enable-forms-options.
+* add option -eat_all_cookies and corresponding config variable
+ EAT_ALL_COOKIES - BJP (Brian J Pardy )
+* correct spurious 'Content' string versus newline after X-URL in LYMail.c
+ (Bela Lubkin, LV).
+* updated versions of config.guess and config.sub based on automake 1.3 - TD
+* updated experimental persistent-cookie support based on RP's patch: Replaced
+ the call to strsep with a home-rolled one for those people who don't have it.
+ (Reported by Bela Lubkin, Mon, 27 Jul 1998 16:51:14 -0700 on the mailing
+ list.) Bela's modification to make some character arrays static is also
+ included -TD
+* nits/spelling in LYPrint.c, LYUtils.c (reported by Mike Castle) -TD
+* changed LYGetFile.c to build lynx2.8.1dev.18 with SLANG and the
+ DJGPP_KEYHANDLER for DOS - DK
+* fix a couple of places where the return-value of calloc was not checked
+ (reported by Mike Castle ) - TD
+* correct typo in command-line parsing of -lss option (reported by Chris
+ Kottaridis ) -TD
+* define _AIX if needed for socks5 (request by Brian Hauber) - TD
+* improved configure test for getgroups array type - TD
+
+1998-07-24 (2.8.1dev.18)
+* improved test for socks5, to account for special cases on AIX (reported by
+ Brian Hauber) - TD
+* several changes to reduce the number of gcc cast-qual warnings, by adding
+ CONST, removing casts - TD
+* add configure option --enable-syslog to enable system logging of requested
+ URL's - TD
+* add RP's experimental persistent-cookie support, and configure option
+ --enable-persistent-cookies, ifdef'd with EXP_PERSISTENT_COOKIES - TD
+* removed references to DOSRAWKEYHACK, which is no longer used. Modified the
+ dos makefile for libwww and makefile.dsl to default to using display_partial.
+ Modified INSTALLATION to reflect the successful use of slang with the dos
+ port and the now confusing alternatives when compiling the dos port, along
+ with some other updates - DK
+* modify lynx_enable_mouse() for pdcurses configuration so that mouse support
+ is disabled unless -use_mouse is specified. This is ifdef'd with
+ __BORLANDC__ for the time being (WB).
+* resync build-slang.com, against build.com - TD
+* add $(MMSQUALIFIERS) to top-level descrip.mms, e.g., to use options such as
+ /FROM, /IGNORE, /NOACTION, etc., and $(INCLUDES) definitions to lower-level
+ descrip.mms files. Improve error-recovery in build.com (patches by Liam
+ Davis )
+* use memset to clear soc_in fields before doing a connect, needed for BSD/OS
+ (patch by Jeffrey C Honig ).
+* remove spurious sprintf params when using FIXED_RECORD_COMMAND_MASK which has
+ only one parameter, change VMSsignal from void* to void (report by Mike Xun
+ Ma ) - TD
+* use open(O_CREAT|O_EXCL) to open new hidden files - TD
+* eliminate_*putenv_cmd variables used by LYReadCFG.c as placeholders for
+ putenv calls - TD
+* disable include of for VMS, from report by Chris Doran) - TD
+* fixes for VMS: mismatched curly brace, etc., from CTRACE and buffer-overflow
+ changes (reported by chris.doran@gblis.mail.abb.com) - TD
+* correct a loop in HTML_start_element that strips 7 leading characters from
+ an href, fixes a core-dump in traversing ".." to "/" - TD
+* use new macro SetOutputMode to reduce some clutter - TD
+* modify interface of LYCachedTemp so fileCache member is reset to null, fixes
+ bug in my recent cleanup of temp-files, which caused a core-dump - TD
+* add kb/sec rate to HTReadProgress message - TD
+* modify computation in HTReadProgress to interpolate rate - LP
+* One more fix for DISP_PARTIAL: to avoid blinking while reloading document
+ with Newline_partial > 1 (say, we press '*' and noproxy) we repaint the page
+ only when Newline_partial <= HText_getNumOfLines() - LP
+* add "-verbose" command-line switch - LP
+* DOS fix: open stdout in TEXT mode for -help and startup error message - LP
+* correct use of $mapname variable in CF_ALT_CHAR_SET (Tomas Vanhala)
+
+1998-06-25 (2.8.1dev.17)
+* add configure option --with-socks5 (request by Brian Hauber
+ ) - TD
+* define symbols HAVE_CURSESX_H, HAVE_JCURSES_H (report by Georg Schwarz
+ ) - TD
+* modify logic that reports progress of download to update screen no more than
+ once per second, fix an overrun problem (reported by Jacob Poon
+ ) - TD
+
+1998-06-11 (2.8.1dev.16)
+* modify configure script to check for special compiler options which are
+ assumed for particular platforms (suggested by BL) - TD
+* modify display_page in GridText.c so that TRACE does not cause a repaint,
+ since that causes colors to be incorrectly rendered when tracing - TD
+* fix a few of the signed/unsigned mismatch warnings in GridText.c - TD
+* correct pathname in LYOpenScratch call for bookmarks (reported by DK) - TD
+* DISP_PARTIAL: fix initialization of newdoc.line (case LYK_DOWNLOAD,
+ mainloop) to correct display while 'd'ownloading files (it was initialized
+ _after_ the download completed and was good enough without display_partial
+ mode). - LP
+* correct some ifdef's for DISP_PARTIAL - LP
+
+1998-06-04 (2.8.1dev.14)
+* minor formatting fixes and documentation for upload screen - LP
+* remove config.cache at beginning of configure script - TD
+* eliminate cast for GetChar in LYStrings.c (from bug report by Michael Warner,
+ analysis by BL) - TD
+* shorten logs from WWW/* by disabling echo of compiler options as in src/* -TD
+* add configure test for types pid_t and uid_t - TD
+* add configure test for array type used in getgroups call, to distinguish
+ between BSD and POSIX variations which use different sizes - TD
+* modify configure script to compile DISP_PARTIAL code by default - TD
+* fix compiler warnings dealing with unreached statements - TD
+* change 'keymap[] array to unsigned char, move logic that relies on its size
+ into LYKeymap.c - TD
+* make LYOpenScratch() work properly for 8.3 names (reported by DK) - TD
+* DISP_PARTIAL: introduce separate variables Newline_partial and
+ NumOfLines_partial, initialize them in mainloop and synchronize with Newline
+ later when the reload completes (case NORMAL). To reduce the CPU usage while
+ downloading, call HText_pageDisplay only if NumOfLines_partial is in the
+ current display page or any Scroll key pressed by the user. We disable
+ partial_display if requested URL have #fragment, otherwise user will see the
+ top page first (yes, s/he will be moved to #fragment when the download
+ completed, but only if no scroll keys were pressed before!). Processing of
+ "END" key changed from MAXINT to real number of lines in the document
+ (important for display_partial mode) - LP
+* correct problem that caused DGJPP version built with slang 1.2.2 to lose its
+ socket whenever the rendering of a http URL is interrupted with "z". This is
+ in HTCheckForInterrupt in LYUtils.c (reported by John Lewis) - DK
+* add files pdcurses.key, slang.key, djgpp.key to document the keybindings
+ used for DJGPP version - DK
+* allow mapping of ALT and Function keys with the DOS port for both the
+ PDCurses version and the SLANG version with the DJGPP keyhandler. The
+ extended keys to be mapped have to be specified numerically according to the
+ definitions in curses.h (for PDCurses) or in keys.h (for SLANG with DJGPP
+ keyhandler). DJGPP maps keys up to 0x293, while PDCurses maps keys up to
+ 0x1c0 - DK
+* don't try to use -std1 option for gcc on Digital Unix (reported by Michael
+ Warner ) - TD
+
+1998-05-23 (2.8.1dev.13)
+* use new function LYLocalFileToUrl to cleanup some pathname references - TD
+* eliminate 'tempname()' function, using LYNewTxtFile, etc., with new functions
+ LYOpenTemp, LYCloseTemp, etc., so that temporary files are opened with
+ appropriate permissions - TD
+* correct use of cache variable in CF_ALT_CHAR_SET (reported by BL) - TD
+* spell out the logic in HTPlain.c against 2.7.2: there was a certain problem
+ with chartrans in text/plain mode (LYRawMode was wrongly interfering,
+ problem reported by Jacob Poon & FM). - LP
+* modify logic for zero-width spaces in conv_uni_to_pc to exclude 0x200a - LP
+* supply missing "break", which was forcing raw utf-8 output in URLs (NOT hex
+ escaped) - LP
+
+1998-05-14 (2.8.1dev.12)
+* remove unneeded definition used in testing dev.11 from config.hin) - TD
+1998-05-14 (2.8.1dev.11)
+* fixes for function-keys with slang configuration on DOS (patch by DK).
+* correct missing '&' in command-line options entry for syslog (reported by
+ HN) - TD
+* correct initial value for NoColorvideo with PDCurses, from my error in
+ 1998-05-10 integration (reported by DK) - TD
+
+1998-05-10 (2.8.1dev.10)
+* eliminate assignment to stderr for trace-file by making tfp a function - TD
+* added keymaps/keysym patch (it really should be integrated with the normal
+ lynx.cfg file (John E Davis).
+* tweak chartrans, "Convert the octet to Unicode": incoming symbols >127 but <
+ LYlowest_eightbit[IN-charset] now ignored, previously displayed as UFFFD.
+ (SGML.c, HTPlain.c, LYCharUtils.c) - LP
+* removed conflicting/unused declaration of 'bzero()' from tcp.h (from report
+ by Ashraf Zorkani ) - TD
+* modify the set/unset/toggle options to allow "on" and "off" values also - TD
+* apply the "partial display" patch, modified from
+ http://www.flora.org/lynx-dev/html/month0398/msg00993.html
+ The behavior is controlled by a compile-time option (DISP_PARTIAL), by a
+ command-line argument (-partial), and by a lynx.cfg option (PARTIAL). - BL
+* extend command-line option processing of set/unset/toggle options
+ -toggle- (set that toggle to FALSE)
+ -toggle+ (set that toggle to TRUE)
+ e.g.,
+ lynx -show_cursor+ -case-
+ or with explicit 1/0 values, e.g.,
+ -toggle=0 (set that toggle to FALSE)
+ -toggle=1 (set that toggle to TRUE)
+ NOTE: this allows you to change a few flags that would previously have been
+ controlled by lynx.cfg, and are security-related, such as -locexec or
+ -telnet. I believe there is no issue, because if the user can control the
+ command line to Lynx, he could have run `lynx -cfg my_cfg_file` and
+ circumvented those settings anyway. - BL
+* fix for buffer-overrun in LYMail.c when processing a mailto:very-long-address
+ URL - BL
+* correct, for OS/2 EMX, a place in LYConvertToURL() which must not use
+ HTDOS_wwwName() (patch by Jason F McBrayer )
+* similar changes to LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.wsl,
+ for building DOS version with slang - Bill Schiavo
+* modify LYCurses.c, LYMain.c, LYStrings.c, add src/makefile.dsl, for building
+ DOS version with slang - DK
+* fix to improve reloading if user changed assume_charset in options menu
+ using ^A, which sometimes did not work - LP
+* add several chartrans-related files to test/ directory: spaces.html,
+ c1.html, raw8bit.html - LP
+* fixes to compile on SunOS with K&R compiler - TD
+
+1998-05-03 (2.8.1dev.9)
+* correct missing counter increment in tempname(), from cleanup - TD
+
+1998-05-02 (2.8.1dev.8)
+* Fix for CGI-related URLs processing (syntax: ?x=1&yz=2). To avoid interfere
+ with SGML we restrict '=' as terminator for a named entity, this only applied
+ for HREF= attribute translation (LYCharUtils.c). (reported by Alex Matulich
+ alex@unicorn.us.com & FM). - LP
+* restore information in the INSTALLATION file for the DOS port on patching
+ tcplib. Also, clarifies the location of nullpkt. It also clarifies
+ that the PDCurses beta has incorporated some of the patches we made for
+ the lynx DOS port - DK
+* modify logic that updates bookmark file after removing a link to use copy
+ rather than rename, to solve file-ownership problems (patch by Paul
+ Gilmartin, though I kept the permissions check) - TD
+* reduce a little of the clutter in tempname() with fmt_tempname, and
+ bad_tempname functions. Though this doesn't address the security problems it
+ does fix the problem with signed getpid values. - TD
+* simplify LYUtils.c with compare_type() function - TD
+* add/use string functions LYLowerCase, LYUpperCase, LYRemoveBlanks (replaces
+ collapse_spaces), LYTrimLeading, LYTrimTrailing (incidentally fixes core-dump
+ in LYCookie.c) - TD
+* rewrite read_cfg function to make it more table-driven (reworked from a
+ patch by John E Davis) - TD
+* rewrite parse_arg function to make it more table-driven (reworked from a
+ patch by John E Davis) - TD
+* omit -Olimit compiler option on Digital UNIX 4.0 (patch by Tomas Vanhala).
+* modify configure test for acs_map[] array to work on Digital UNIX 4.0
+ (reported by Jim Spath and Tomas Vanhala ). - TD
+
+1998-04-23 (2.8.1dev.7)
+* fix core-dump when pressing '.' on a page with no links (patch by
+ Jan Hlavacek ).
+* initial changes to use macros CTRACE and tfp to replace explicit use of
+ stderr for the trace log. Remaining work is required for some complex
+ expressions, switching file pointers and for perror-substitute - TD
+* ifdef's for OS/2 EMX, mostly pathname tweaks (patch by Jason F McBrayer
+ ).
+
+1998-04-18 (2.8.1dev.6)
+* correct misplaced ifdef in LYMail.c, which caused Cc to not work (patch
+ by LE).
+* convert \x escapes to octal form (reported by Claude Soma) - TD
+* modify configure script to check for cursesX before curses library, for
+ ultrix 4.3 (reported by Claude Soma ) - TD
+* incorporate lpansi into LYPrint.c (patch by HN).
+* modify top-level makefile to use INSTALL_PROGRAM and INSTALL_DATA
+ consistently, rather than installbin and installdoc (reported by
+ ). - TD
+* modify treatment of -auth and -pauth options to allow setting a blank
+ password, e.g., -pauth=user: specifies a blank password, and -pauth=user
+ leaves the password unspecified (patch by Frederick P Herrmann
+ ).
+* Change documentation to indicate "Lynx.trace" file rather than
+ "lynx.trace" -TD
+* Change default for USE_TRACE_LOG in userdefs.h to TRUE, to make behavior
+ consistent with 2.7.2 - TD
+* Rename no_color_video symbol in LYCurses.c to NoColorVideo, to avoid conflict
+ with term.h, which is included by curses.h on some systems (reported by Paul
+ Gilmartin) - TD
+* modify include-path in djgpp makefile to avoid conflicting tcp.h - DK
+* Add -tagsoup option, for initializing parser directly to TagSoup - TD
+* Modify HTML.c, ifdef'ing some of the logic involved in unstacking tags. It
+ appears to be not completely necessary: makes Lynx a little faster, at the
+ cost of making the tagsoup parser do the wrong thing. Some entries in the
+ tagsoup DTD table versus the sortasgml table have SGML_EMPTY versus
+ SGML_MIXED. This information is used to control unstacking (in the
+ color-style configuration as well). There is still a problem evidenced
+ when toggling between the two parsers in the Lynx main help page, but that
+ appears to be missing logic in 2.8's version of the tagsoup parser. - TD
+* Modify HTTCP.c to check the length returned from gethostbyname(), which
+ returns 0 on error on a SunOS 4 system (reported by Paul Gilmartin) - TD
+
+1998-03-29 (2.8.1dev.5)
+* Fixed my typo for FNAMES_8_3 define - WB
+* Added SYSTEM_MAIL and SYSTEM_MAIL_FLAGS defines for DOSPATH target - WB
+* Better kluge to set terminal type for DOSPATH - WB
+* Restored DOSPATH kludge to get to root of directory - WB
+* Added a bit of missing _WINDOWS_NSL ifdef'ing - WB
+* Minor DOS dirent mod to work with Tom's rearrangements - WB
+* Changed #if XYZ to #ifdef XYZ in tcp.h for dumb (?) compilers - WB
+
+1998-03-25 (2.8.1dev.4)
+* restore original string in LYUtils.c when user enters a badly formed or
+ nonexistent URL when prompted for Goto/history list. Otherwise Lynx would
+ always attempt to load a local file if the original string omits scheme://
+ prefix but guessing fails (patch by Randall ).
+* tweak formatting of .message in HTFTP.c so it has leading/trailing blank
+ lines (patch by Ismael Cordeiro )
+* retested 'make depend' rule (for LV (Larry Virden)) - TD
+* eliminate (except for absolute pathnames, as in VMS) quoted includes - TD
+* remove WWW/Library/Implementation/HTAlert.[ch], since they conflict with
+ src/HTAlert.[ch], and are not used - TD
+* replace the [LINK], [INLINE] and [IMAGE] comments (for images without ALT)
+ with filenames of these images. This feature can be enabled or disabled by
+ setting VERBOSE_IMAGES in lynx.cfg and/or userdefs.h (patches by
+ Helen Sommer ,
+ Bill Schiavo )
+* consistently use ${cf_cv_ncurses_header-curses.h} rather than
+ $cf_cv_ncurses_header in configure script, as noted by JES - TD
+* tweak include of HTML.h in HTFile.h to fix compile problem on VMS (we really
+ should not use quote-style includes) - TD
+* fixes to LYStyle.c to make color-style code work on Digital Unix 4.0 - TD
+
+1998-03-20 (2.8.1dev.3)
+* Added death for Win/DOS clients that don't have a TMP space defined - WB
+* Added _WINDOWS_NSL to provide interruptible lookups in Win32 per a
+ patch from afn06760@afn.org. (modified hopefully for borland AND Cygwin and
+ hard defined in tcp.h). I had to recompile everything in multithread
+ mode for borland, including my zlib library - WB
+* Added _WINDOWS as a target for FNAMES_8_3 in userdefs.h to allow for 16
+ bit helper apps that can't handle LFN's. (report by afn06760@afn.org) - WB
+
+1998-03-18 (2.8.1dev.1)
+* correct an ifdef that caused inconsistent pathname separators on Windows
+ (reported by afn) -DK
+* correct a missing AC_MSG_RESULT in configure.in (also MM) - TD
+* guard against illegal (e.g., zero) value for DEFAULT_CACHE_SIZE, when it is
+ read from lynx.cfg (reported by Martin Mokrejs
+ ) - TD
+* implement simple 'include' facility for lynx.cfg - BL
+* change TagClass and TagFlags to #define's to accommodate older compilers
+ which do not accept initialization of enums from data that do not correspond
+ to the declared values, e.g., CLIX (which complains) and Apollo (which fails
+ to compile, reported by Dave Eaton). - TD
+* remove some obsolete definitions from userdefs.h, tcp.h and HTUtils.h - TD
+* remove obsolete files from WWW/Library - TD
+
+1998-03-12
+* UPPER8: a separate function HTMLSetDisplayCharsetMatchLocale() introduced
+ (LYCharSets.c). Locale mismatch assumed for DOS/WINDOWS display charsets. -LP
diff --git a/COPYHEADER b/COPYHEADER
new file mode 100644
index 0000000..aa22cd4
--- /dev/null
+++ b/COPYHEADER
@@ -0,0 +1,84 @@
+Copyright 1997-2023,2024 Thomas E. Dickey
+
+This copyright notice must be included in all copies or substantial
+portions of Lynx. It outlines rights and restrictions for Lynx which
+override the guidelines given in the COPYING file.
+
+Most of the content of the Lynx release (and corresponding copyright) is
+the work of developers on the lynx-dev mailing list, who have agreed to
+distribute their work under the terms and conditions of the GNU General
+Public License (Version 2). Note that the License text after the terms
+and conditions is advisory in nature, and contains neither terms nor
+conditions. You may choose to follow that advice.
+
+The copyright owners and developers for Lynx grant their express
+permission for using any version of these common libraries (which are
+known to have problematic licensing issues) with any operating system or
+platform, regardless of the manner in which the libraries are
+connected to the Lynx program:
+
+ GNUTLS
+
+ libbsd http://libbsd.freedesktop.org/releases/
+
+ libidn
+
+ OpenSSL http://www.openssl.org
+
+Additionally, the developers understand that these additional libraries
+have no licensing issues. Permission is in any case granted to use Lynx
+without restriction for these as well:
+
+ libbz2 http://www.bzip.org/
+
+ libiconv
+
+ libutf8 http://www.haible.de/bruno/packages-libutf8.html
+
+ nss_compat_ossl http://fedoraproject.org/wiki/Nss_compat_ossl
+
+ zlib http://www.gzip.org/zlib/
+
+The list given is by no means exhaustive and may not be interpreted to
+limit the set of libraries with which Lynx can be used.
+
+The granted right to "use" (besides the obvious ability to run the
+program as a user) covers all development activities such as of building,
+modifying, distributing modified versions.
+
+Any licensing questions should be directed to the mailing list:
+
+ lynx-dev@nongnu.org
+
+or to the developer/maintainer (Thomas E. Dickey):
+
+ dickey@invisible-island.net
+
+------------------------------------------------------------------------------
+For reference, below is the original copyright notice for Lynx (2.4.2).
+------------------------------------------------------------------------------
+/* Copyright (C) 1995 University of Kansas.
+
+ This file is part of Lynx, a text-based WWW browser.
+
+ Lynx is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License, version 2, as
+ published by the Free Software Foundation.
+
+ Lynx is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Lynx; see the file COPYING. If not, write to the Free
+ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ Any licensing or usage questions should be directed to Michael
+ Grobe .
+*/
+------------------------------------------------------------------------------
+-- vile:txtmode fc=72 noti
+-- $LynxId: COPYHEADER,v 1.22 2024/01/07 11:13:00 tom Exp $
+------------------------------------------------------------------------------
diff --git a/COPYHEADER.asc b/COPYHEADER.asc
new file mode 100644
index 0000000..62044a1
--- /dev/null
+++ b/COPYHEADER.asc
@@ -0,0 +1,15 @@
+-----BEGIN PGP SIGNATURE-----
+Comment: See https://invisible-island.net/public/public.html for info
+
+iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmWah7YACgkQzCr0RyFn
+vgM/iQv/TQ45IusNm11KgkZb24cG3tUC/IP5BlFzZDBe1N+/7l4aaWQyFXn2hbue
+WHI/Y+dRk0LYjYtZtuJjcn04mchWMrsNtVgr5NvEO9tHTxNShSCD+mJd4oDxe780
+vTol8JUTpYhUzhX/jgqB4+KCJ0HCZ212mC4b+BVlh/xlVDivSzbZFvk48/0n335d
+MI62PlovHgHvZgmgpXzGX6gYvjq/bV56/M70fWiPncrq0Qzk1t5fZxKF6b3jDLnU
+frRb2ZBmLtFbqjKmplbjP6BYdLZEDVe30vtLhLl0ZTpK7ESueesd75F/BCGzicuD
++4QcnfR3kbhjDyd+bcS82+ueBSA05VGdx9MmomtznuW/jIB5hv20LWUwuBde3sO5
+odt1wxlbRqbOU7ih49qWk845WucvT96Y5wszbiFfg3dil+aPwOsrsorvDGOHDH5r
+id2entz0UTjv1e6ZSU6JejMQSova74pukoxG2snoirgcO8pYVQ3JCIBBlX66rXqw
+PsgP7UDz
+=kZ32
+-----END PGP SIGNATURE-----
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..01b6151
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,341 @@
+See the COPYHEADER file which gives copyright information for Lynx.
+------------------------------------------------------------------------------
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ , 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/COPYING.asc b/COPYING.asc
new file mode 100644
index 0000000..38c04ff
--- /dev/null
+++ b/COPYING.asc
@@ -0,0 +1,15 @@
+-----BEGIN PGP SIGNATURE-----
+Comment: See https://invisible-island.net/public/public.html for info
+
+iQGzBAABCgAdFiEEGYgtkt2kxADCLA1WzCr0RyFnvgMFAmEia9gACgkQzCr0RyFn
+vgPpfAv/QpeczbpaxNOT50ZUUPOvYCOmGVewLwDo4jEwp5nljJ8rfU0miT1uie/M
+pXmH/dv3T6WLiEINeGy+ytsJzGWsiB4Cm/lGspsA9/U39ERro875In2Bx9W9z0VZ
+T/c0JyoVc3yEX1h+C29t2YoiUjcFsx4frHHZNZTnCbB8B8NKJCkoeDu8EZf/PWRW
+lMbYAf6KcGO3CX/Jd20l9Z4mRD+Y3+wb8MtmdQ8zpqIJOJDAXcnA/NxFMsB/W3fI
+thS9Dp8rh2pbL04+yGnds2PGfNp5aQ/iGucn48Xg/+mWYAPA5C4y5lo9ZsdMMaHk
+PpK8ZNR/Qlb8YIoA3JMG7bFFFlKO0Gbh48TjxA07Fpvp9KsshRzdV6N6jkWs91SY
+huwxoKVMqZ72qNRrdrDsEdJpGE4ALExvPUVVK+NYUuBC/LRmpxrdj5S1wllVOwky
+48agdOeN3fp0HZ03Qbstw6ae5B4xUT0/C4arCFfobbMO47M1o5CVoBnNIgdmj2Wk
+VpnF+OEU
+=VMQC
+-----END PGP SIGNATURE-----
diff --git a/INSTALLATION b/INSTALLATION
new file mode 100644
index 0000000..68acdbb
--- /dev/null
+++ b/INSTALLATION
@@ -0,0 +1,1506 @@
+
+ Lynx Installation Guide
+
+This file describes how to compile and install Lynx. A description of Lynx
+can be found in the README file. Lynx has been ported to UN*X, VMS, Win32
+and 386DOS. The procedures for compiling these ports are quite divergent
+and are detailed respectively in Sections II, III, IV and V. General
+installation, problem solving and environment variables are covered in
+Sections VI and VII. There is also a PROBLEMS file in the same directory
+as INSTALLATION which contains advice for special problems people have
+encountered, especially for particular machines and operating systems.
+
+If you still have difficulties, send an e-mail message to the Lynx-Dev mailing
+list (see the README file). Try to include information about your system,
+the name and version of your compiler, which curses library you are using
+and the compile-time errors. Be sure to say what version and image-number
+of Lynx you are trying to build (alternately the top date of the CHANGES file).
+
+If you don't understand what one of the defines means, try the README.defines
+and *.announce files in the docs subdirectory. The docs/CHANGES* files record
+the entire development history of Lynx and are an invaluable resource for
+understanding how Lynx should perform.
+
+First, you must configure Lynx for your system regardless of the port you use.
+Follow the instructions given immediately below to configure for your system,
+and then go to the respective section concerning the port you wish to compile.
+
+-------------------------------------------------------------------------------
+
+I. General configuration instructions (all ports).
+
+Step 1. Compile-time Variables.
+
+ There are a few variables that MUST be defined if Lynx is to build
+ and there are others you may want to change.
+
+ Lynx MUST be able to find lynx.cfg at start-up: using configure
+ (e.g. with UNIX or Cygwin), its location is best set with --sysconfdir ;
+ you can check in lynx_cfg.h after configure has run, if you wish.
+ otherwise, you can use LYNX_CFG_FILE in userdefs.h ,
+ environment variable LYNX_CFG or the -cfg command-line option.
+
+ If you are using configure, you need not make any changes in userdefs.h .
+ There are a few variables you can't define with configure --options
+ but can define in userdefs.h , e.g. numbering fields as well as links.
+ Many variables which can be defined with configure or userdefs.h
+ can also be defined in lynx.cfg or via the Options Menu.
+
+ Lynx implements Native Language Support. Read "ABOUT-NLS", if you want
+ to build an international version of Lynx or tailor status-line prompts,
+ messages and warnings to the requirements of your site.
+
+Step 2. Run-time Variables.
+
+ Read lynx.cfg thoroughly, as many Lynx features and how to use them
+ are explained there, in some cases ONLY there. Set up local printers,
+ downloaders, assumed character set, key mapping and colors in lynx.cfg .
+ Also see the sample mime.types, mailcap and jumps files
+ in the samples subdirectory.
+
+Step 3. Alternative Character Sets.
+
+ You may skip this, if you are not interested in special characters
+ and all local files or WWW pages you will view will use the ISO-8859-1
+ "ISO Latin 1" Western European character set.
+
+ If you will be running Lynx in an environment with different incompatible
+ character sets, configure CHARACTER_SET (the Display character set)
+ and ASSUME_LOCAL_CHARSET to work correctly before creating bookmark files
+ and other such items: read lynx.cfg for detailed instructions.
+ Additional character sets and their properties may be defined with tables
+ in the src/chrtrans directory: see the README.* files therein.
+
+Step 4. News.
+
+ Set NNTPSERVER in lynx.cfg to your site's NNTP server
+ or set the environment variable externally. For posting to be enabled,
+ NEWS_POSTING must be TRUE in userdefs.h or lynx.cfg.
+ Also define LYNX_SIG_FILE in userdefs.h or lynx.cfg ,
+ so that it points to users' signature files for appending to messages.
+
+Step 5. Anonymous Accounts *** VERY IMPORTANT!!!!! ***
+
+ If you are building Lynx for personal use only, you can skip this.
+
+ If you are setting up anonymous accounts to use Lynx captively,
+ i.e. making Web access publicly available to users who should not
+ be allowed any other type of access to your system,
+ you are STRONGLY advised to use the -anonymous command-line option:
+ if you do not use this option, users may be able to gain access
+ to all readable files on your machine!
+
+ Many implementations of telnetd allow passing of environment variables,
+ which might be used to modify the environment in anonymous accounts,
+ allowing mischief or damage by malicious users, so make sure the wrapper
+ uses the -cfg and -homepage switches to specify lynx.cfg and start-file,
+ rather than relying on variables LYNX_CFG, LYNX_CFG_FILE and WWW_HOME.
+
+-------------------------------------------------------------------------------
+
+II. Compile instructions -- UNIX
+
+1a. Auto-configure. The auto-configure script uses autoconf2.13 to generate a
+ Bourne shell script, configure, which creates "makefile" and "lynx_cfg.h".
+
+ If you are on a UNIX platform, the easiest way to build Lynx is to type:
+
+ ./configure
+ and
+ make
+
+ NOTE: Configure has a number of useful options. Please see below.
+
+ NOTE: The 'configure' script generates auxiliary files "config.status"
+ "config.cache" and "config.log". Normally you will not notice these;
+ they are created automatically and removed by a "make distclean".
+
+ + If you wish to rebuild Lynx with a new host, or change ANY of the
+ parameters which are stored in config.cache, you MUST first remove
+ the config.cache file before running configure; its options do NOT
+ override the settings in that file.
+
+ + The config.status file is a script which creates (or regenerates)
+ the files created by the configure script.
+
+ Please report problems in the configure/make process by including a copy
+ of config.status, config.cache and config.log, as well as the pertinent
+ compiler diagnostics.
+
+ See the note in aclocal.m4 for special instructions if you must modify the
+ configure script.
+
+ NOTE: Lynx is a curses-based application, so you must have a curses
+ library available to link to. Native curses (on the system when it was
+ installed) are often broken, so you may get superior performance if you
+ have either
+
+ "ncurses" ("https://invisible-island.net/ncurses") or
+ "slang" ("https://www.jedsoft.org/slang/").
+
+ If you install these libraries in your home directory or a non-default
+ location, you may need to set the CPPFLAGS (full path to include files) and
+ LIBS (full path to library files) environment variables BEFORE running
+ configure. See "1d. Environment". Use the "--with-screen=ncurses" or
+ "--with-screen=slang" option.
+
+ Note that while lynx will build with a variety of versions of curses and
+ ncurses, some will be less satisfactory. Versions of ncurses before
+ 1.9.9g will not render color properly. Some other versions of curses do
+ not display color at all. Likewise, lynx may not build with old versions
+ of slang, e.g., before 0.99-38, because slang's interfaces change
+ periodically.
+
+ Note compiler/system specific problems below. See also:
+ https://invisible-island.net/ncurses/ncurses.faq.html
+
+1b. Platforms. Configure should work properly on any Unix-style system.
+ It has been tested on the following platforms.
+
+ AIX 3.2.5 (cc w/ curses) BeOS 4.5 (gcc w/ ncurses)
+ CLIX (cc w/ curses & ncurses) DGUX
+ Digital Unix 3.2C and 4.0 (gcc & cc w/ curses, ncurses & slang)
+ FreeBSD 2.1.5, 3.1 (gcc 2.6.3 w/ curses & ncurses)
+ HP-UX (K&R and ANSI cc, gcc w/ curses, ncurses & slang)
+ IRIX 5.2 and 6.2 (cc & gcc w/ curses, ncurses & slang)
+ Linux 2.0.0 (gcc 2.7.2 w/ curses, ncurses & slang)
+ MkLinux 2.1.5 (gcc 2.7.2.1) NetBSD
+ NEXTSTEP 3.3 (gcc 2.7.2.3 w/ curses)
+ OS/2 EMX 0.9c (ncurses) SCO OpenServer (cc w/ curses)
+ Solaris 2.5, 2.6 & 2.7 (cc & gcc w/ curses, ncurses & slang)
+ SunOS 4.1 (cc w/ curses, gcc w/ ncurses & slang)
+ OS390 and BS2000.
+
+ NOTE: SunOS and HP-UX come with a bundled K&R compiler, which is only
+ useful for compiling with the bundled curses. Both ncurses and slang
+ require a compiler that recognizes prototypes.
+
+1c. Options
+ To get a list of the configure script's options, type "./configure --help".
+ Below is an alphabetical listing of the Lynx-specific options. The actual
+ order shown by the -help option is different. See "docs/README.defines"
+ for information on defines for which there are no option switches.
+
+ --datadir
+ Defines the location where you want the documentation files installed.
+ The configure script constructs makefile actions to install lynx.cfg
+ modified to reflect this in the HELPFILE setting. (For platforms which
+ do not support a configure script, such as MS-DOS, Win32 and VMS, you
+ must edit lynx.cfg).
+
+ --disable-addrlist-page (prevent defining USE_ADDRLIST_PAGE)
+ Turn off code that displays an alternative list-page, bound to 'A'
+ rather than 'l', which always lists URLs rather than titles.
+
+ --disable-alt-bindings (prevent defining USE_ALT_BINDINGS)
+ Compiles-in an alternative set of line-edit bindings, in addition
+ to the default bindings.
+
+ --disable-bibp-urls (define DISABLE_BIBP)
+ Disable (do not compile code) support for bibp: URLs.
+
+ --disable-cjk (define CJK_EX)
+ Disable logic for supporting CJK documents.
+
+ --disable-color-style (define USE_COLOR_STYLE)
+ Use this option to disable optional color style. This is implemented
+ for modern curses implementations, e.g., those that support color.
+
+ Before lynx 2.8.6dev.18, this option was disabled by default.
+ You can achieve a similar color effect to match the non-color-style
+ (but still allowing users to use color-style) by using the
+ --without-lss-file option.
+
+ --disable-config-info (define NO_CONFIG_INFO)
+ Use this option to disable extended browsable configuration information
+ (a screen that shows the result of the configuration script, as well
+ as extended lynx.cfg viewing with a pointer to the lynx.cfg file and
+ additional functionality).
+
+ --disable-dired (prevent defining DIRED_SUPPORT)
+ Use this option to disable the optional directory-editor.
+
+ Lynx supports directory editing (DirEd) for local directories.
+ This allows users to do things like view, copy and remove files
+ using a tabular display of the directory and single-keystroke
+ commands instead of using the command line. From inside Lynx, the
+ keystroke sequence "g." switches Lynx to DirEd mode on the
+ current directory. If you're building a Lynx that is to be used as
+ a kind of restricted shell for users who do not have access to the
+ command line and should not have access to equivalent capabilities,
+ you probably want to disable DirEd with this option. You can also
+ disable some DirEd functions while allowing others. If you have
+ disabled DirEd completely, you can ignore all the more specific
+ DirEd options.
+
+ All DirEd menu functions that were enabled on compilation can be
+ disabled or modified at run time via DIRED_MENU symbols in lynx.cfg.
+
+ --disable-dired-dearchive (define ARCHIVE_ONLY)
+ Use this option to prevent DirEd from extracting files from an
+ archive file.
+
+ --disable-dired-gzip (prevent defining OK_GZIP)
+ Use this option to prevent DirEd from using gzip and gunzip.
+
+ --disable-dired-override (prevent defining OK_OVERRIDE)
+ Normally, in DirEd directory viewing mode some key mappings are
+ overridden. Use this option to disable DirEd keymap overriding.
+
+ --disable-dired-permit (prevent defining OK_PERMIT)
+ Use this option to prevent DirEd from changing the permissions
+ on directories or files (i.e., from doing what the Unix chmod
+ command or the DOS attrib command does).
+
+ --disable-dired-tar (prevent defining OK_TAR)
+ Use this option to prevent DirEd from using the tar program.
+
+ --disable-dired-uudecode (prevent defining OK_UUDECODE)
+ Use this option to prevent DirEd from using uudecode.
+
+ --disable-dired-xpermit (define NO_CHANGE_EXECUTE_PERMS)
+ Use this option if you do not disable out the dired-permit
+ option, but want to restrict changes of the eXecute permission
+ to directories (i.e., not allow it to be changed for files). If
+ you don't do this, you can still block changes of the eXecute
+ permission for files but not directories via the
+ "change_exec_perms" command line restriction.
+
+ --disable-dired-zip (prevent defining OK_ZIP)
+ Use this option to prevent DirEd from using zip and unzip.
+
+ --disable-echo
+ Use this option to suppress the "compiling" commands during a build.
+ Doing this makes it easier to find and read warning messages.
+
+ --disable-extended-dtd (define NO_EXTENDED_HTMLDTD)
+ disable extended HTML DTD logic. This should revert to old-style
+ (2.7.1/2.7.2) behavior, but is not well-tested.
+
+ --disable-file-upload (define USE_FILE_UPLOAD)
+ Compile-in support for form-based file-upload.
+
+ --disable-finger (define DISABLE_FINGER)
+ Do not compile-in code used to connect to "finger" URLs.
+
+ --disable-forms-options (define NO_OPTION_FORMS)
+ Disable the Form-based Options Menu (see --disable-menu-options).
+ The default is to compile key-based & form-based Options Menu code,
+ allowing users the final choice via FORMS_OPTIONS in lynx.cfg
+ or the -forms_options command-line switch.
+
+ --disable-ftp (define DISABLE_FTP)
+ Do not compile-in code used to connect to FTP servers.
+
+ --disable-full-paths
+ Use this option to control whether full pathnames are compiled in for
+ various utilities invoked by lynx as external commands. By default,
+ full pathnames are compiled in for the the locations where configure
+ finds these commands at configure time.
+
+ Affected commands include
+ chmod compress cp gzip install mkdir mv rm tar touch gunzip
+ unzip brotli bzip2 uudecode zcat zip telnet tn3270 rlogin
+ (Not all commands are used on all systems or in all configurations.)
+
+ This option makes Lynx simpler to install, but potentially less secure,
+ since the commands are then set in the user's $PATH. All of these
+ commands may also be overridden individually by setting environment
+ variables before configuring. For example, you can disable the telnet
+ command by doing this:
+
+ setenv TELNET /bin/false
+
+ --disable-gopher (define DISABLE_GOPHER)
+ Do not compile-in code used to connect to GOPHER servers.
+
+ --disable-idna
+ By default, the configure script searches for the GNU idn library,
+ which lets lynx translated URLs which are in UTF-8 to ASCII. The
+ latter is needed for most network accesses. Use this option to
+ suppress the feature, e.g., to reduce size.
+
+ --disable-included-msgs
+ Do not use included messages, for i18n support. If NLS support is
+ requested, the configure script will otherwise use the messages in the
+ ./po subdirectory.
+
+ --disable-japanese-utf8 (define USE_JAPANESEUTF8_SUPPORT)
+ use Japanese UTF-8 logic, which uses iconv to convert pages with
+ charset euc-jp, shift_jis to utf-8.
+
+ --disable-justify-elts (define USE_JUSTIFY_ELTS)
+ Do not use element-justification logic.
+
+ --disable-largefile (prevent defining LONG_LIST)
+
+ Use this option to disable the compiler and linker options that
+ provide largefile interfaces.
+
+ --disable-locale-charset (define USE_LOCALE_CHARSET)
+ Use nl_langinfo(CODESET) to determine initial value for display
+ charset, overrides character_set value in .lynxrc file.
+
+ --disable-long-list (prevent defining LONG_LIST)
+ Use this option to disable long "ls -l" directory listings (when
+ enabled, the actual directory style is configurable from lynx.cfg).
+
+ --disable-menu-options (define NO_OPTION_MENU)
+ Disable the Key-based Options Menu.
+ See --disable-forms-options (above) for further details.
+
+ --disable-news (define DISABLE_NEWS)
+ Do not compile-in code used to connect to NNTP (netnews) servers.
+
+ --disable-parent-dir-refs (define NO_PARENT_DIR_REFERENCE)
+ Use this option to disable "Up-to" parent-links in directory listings.
+
+ --disable-partial (prevent defining DISP_PARTIAL)
+ Turn off code that lets Lynx display parts of a long page while loading
+ it.
+
+ --disable-persistent-cookies (prevent defining USE_PERSISTENT_COOKIES)
+ Turn off support for saving cookies to a file, for subsequent reuse.
+ Persistent cookie support will use (or create) the file specified by
+ the 'COOKIE_FILE' option, or default to ".lynx_cookies" in the home
+ directory. (Currently there is no protection against conflict if
+ several lynx sessions are active from the same account).
+
+ --disable-prettysrc (define USE_PRETTYSRC)
+ Turn off support for colorizing the source view of HTML pages. If
+ compiled-in, new source view mode is available with -prettysrc command
+ line option.
+
+ --disable-progressbar (define USE_PROGRESSBAR)
+ Turn off support for a "progress bar" which displays at the bottom
+ of the screen when doing downloads and other time-consuming (but
+ interruptible) processes. This feature can be selected in the
+ options menu.
+
+ --disable-read-eta (define USE_READPROGRESS)
+ Turn off enhanced read-progress message showing ETA (estimated time to
+ completion), as well as the amount of time stalled without any data
+ transferred.
+
+ --disable-rpath-hack
+ The rpath-hack makes it simpler to build programs, particularly with
+ the *BSD ports which may have essential libraries in unusual places.
+ But it can interfere with building an executable for the base system.
+ Use this option in that case.
+
+ --disable-scrollbar (define USE_SCROLLBAR)
+ Turn off support for scrollbar on the right-margin of the screen.
+ If you configure with ncurses, this works with the mouse on xterm,
+ etc.
+
+ --disable-session-cache (define USE_CACHE_JAR)
+ Turn off support for saving/restoring session information in files.
+ Configurable from lynx.cfg
+
+ --disable-sessions (define USE_SESSIONS)
+ Turn off support for sessions, which allows the user to automatically
+ save and restore history information.
+
+ --disable-source-cache (define USE_SOURCE_CACHE)
+ Turn off support for caching HTML pages locally,
+ in files or in memory. Configurable from lynx.cfg
+
+ --disable-trace (define NO_LYNX_TRACE)
+ Turn off code that lets you trace internal details of Lynx's operation.
+ We recommend that you leave this enabled, since we need this
+ information to diagnose problems with either Lynx or the sites to which
+ you connect.
+
+ --enable-ascii-ctypes (define USE_ASCII_CTYPES)
+ Compiles-in alternative case-conversion functions which ensure that
+ configuration names, etc., are compared in POSIX locale. This is
+ important for operating in some locale such as Turkish.
+
+ --enable-cgi-links (define LYNXCGI_LINKS)
+ Allows lynx to access a cgi script directly without the need for
+ a http daemon.
+
+ --enable-change-exec (define ENABLE_OPTS_CHANGE_EXEC)
+ Allow users to change the execution status within the options screen.
+ See EXEC_LINKS and EXEC_SCRIPTS.
+
+ --enable-charset-choice (define USE_CHARSET_CHOICE)
+ Add logic for ASSUMED_DOC_CHARSET_CHOICE and DISPLAY_CHARSET_CHOICE in
+ lynx.cfg, allowing user to configure a subset of the compiled-in
+ charsets for normal use.
+
+ --enable-chinese-utf8 (define EXP_CHINESEUTF8_SUPPORT)
+ use Chinese UTF-8 logic, which uses iconv for converting pages with
+ charset gb2312 (aliased to euc-cn), big5 to utf-8. The Korean charset
+ euc-kr happens to work with this setting.
+
+ --enable-debug (The symbol DEBUG is always defined.)
+ Use this option to compile-in support for debugging.
+ Note that this flag is ignored if the CFLAGS environment
+ variable is set, in that case "-g" (or whatever) has to
+ be included in the CFLAGS value to get debugging.
+ Autoconf normally adds -g and -O options to CFLAGS if CFLAGS
+ was not set, and if the compiler supports those options.
+
+ --enable-default-colors (define USE_DEFAULT_COLORS)
+ Enable use of default-color background (ncurses/slang). Either
+ configuration supports the use of 'default' for colors even without
+ this option. That is, 'default' is interpreted as white (foreground)
+ or black (background) according to the context. When the default
+ colors configuration is built, the actual values for foreground and
+ background colors are determined by the terminal.
+
+ --enable-exec-links (define EXEC_LINKS)
+ Allows lynx to execute programs by accessing a link.
+
+ --enable-exec-scripts (define EXEC_SCRIPTS)
+ Allows lynx to execute programs inferred from a link.
+
+ --enable-externs (define USE_EXTERNALS)
+ Use this option to enable external application support. (See lynx.cfg.)
+
+ --enable-find-leaks (define LY_FIND_LEAKS)
+ Use this option to compile-in logic for testing memory leaks.
+
+ --enable-font-switch (define EXP_CHARTRANS_AUTOSWITCH)
+ Allow Lynx to automatically change the Linux console state (switch
+ fonts) according to the current Display Character Set. (Linux console
+ only. *Use with discretion.* See docs/README.chartrans.)
+
+ --enable-gnutls-compat (define USE_GNUTLS_FUNCS)
+ When --with-gnutls is used, tell whether to use GNUTLS's OpenSSL
+ compatibility library or use GNUTLS's low-level API directly.
+
+ --enable-gzip-help
+ Install the lynx help files in gzip'd format [*.gz] to save space.
+
+ --enable-htmlized-cfg
+ generate an HTMLized copy of lynx.cfg which will be installed with
+ the other help files.
+
+ --enable-internal-links (define TRACK_INTERNAL_LINKS)
+ With `internal links' (links within a document to a location within
+ the same document) enabled, Lynx will distinguish between, for example,
+ `' and `' within a document whose
+ URL is `foo'. It may handle such links differently, although practical
+ differences would appear only if the document containing them resulted
+ from a POST request or had a no-cache flag set. This feature attempts
+ to interpret URL-references as suggested by RFC 2396, and to prevent
+ mistaken resubmissions of form content with the POST method. An
+ alternate opinion asserts that the feature could actually result in
+ inappropriate resubmission of form content.
+
+ --enable-ipv6 (define ENABLE_IPV6)
+ use IPV6 (with IPV4) logic.
+
+ --enable-kbd-layout (define EXP_KEYBOARD_LAYOUT)
+ Disabled by default, this option allows you to use translation
+ tables on the input keystrokes. Current tables include
+ ROT13'd keyboard layout
+ JCUKEN Cyrillic, for AT 101-key kbd
+ YAWERTY Cyrillic, for DEC LK201 kbd
+
+ --enable-local-docs
+ On install, modify link from help-page to point to the local
+ doc-directory, e.g., with README files. Normally this points
+ to the current release directory.
+
+ --enable-nested-tables (define EXP_NESTED_TABLES)
+ Extends TRST to format nested tables, as well as be smarter about
+
and tags in table cells.
+
+ --enable-nls (several definitions)
+ use Native Language Support (i.e., gettext).
+
+ This relies upon external programs (msgfmt and xgettext) to format
+ the message catalogs:
+
+ + Unless you set the environment variables MSGFMT and XGETTEXT to
+ the full pathnames of these utilities, the configure script will
+ search for the GNU versions of these utilities.
+
+ It will also search for the GNU version of the corresponding
+ gettext() runtime function. On some platforms (such as Solaris),
+ this search gives misleading results.
+
+ + If you set those environment variables to full pathnames, the
+ configure script will warn if they are not the GNU versions of
+ the utilities.
+
+ --enable-nsl-fork (define NSL_FORK)
+ Disabled by default, this allows interruption of NSL requests,
+ so that `z' will stop the `look-up' phase of a connection.
+
+ --enable-stdnoreturn (define HAVE_STDNORETURN_H)
+ Check for C11 _Noreturn feature, using that rather than gcc-specific
+ __attribute__((noreturn)), to improve compiler diagnostics.
+
+ --enable-syslog (define SYSLOG_REQUESTED_URLS)
+ Use this option to log NSL requests via syslog().
+
+ --enable-underlines (define UNDERLINE_LINKS)
+ Use this option to underline links rather than using boldface.
+
+ --enable-vertrace (define LY_TRACELINE)
+ Turn on code that prefixes trace output lines with source filename
+ and line number.
+
+ --enable-warnings
+ Use this option to turn on GCC compiler warnings.
+
+ --enable-wais
+ Use this option to turn on configure check for freeWAIS library.
+
+ --enable-wcwidth-support (define EXP_WCWIDTH_SUPPORT)
+ use experimental wcwidth/UTF-8 logic.
+
+ --enable-widec
+ Use this option to allow the configure script to look for wide-curses
+ features. If you do not specify the option, the configure script
+ will look for these features if --with-screen=ncursesw is given.
+ For this release of Lynx, we recommend the ncursew library built from
+ ncurses 5.5.
+
+ --sysconfdir (affect LYNX_CFG_FILE)
+ Defines the location where you want the lynx.cfg file installed.
+ The configure script defines the symbol LYNX_CFG_FILE to correspond
+ with the $sysconfdir environment variable. (For platforms which do not
+ support a configure script, such as MS-DOS, Win32 and VMS, you must
+ edit userdefs.h if you wish to specify the location of lynx.cfg).
+
+ --with-Xaw3d
+ This option allows you to specify the X libraries used if you
+ are configuring lynx to use PDCurses on a Unix platform.
+
+ --with-XawPlus
+ This option allows you to specify the X libraries used if you
+ are configuring lynx to use PDCurses on a Unix platform.
+
+ --with-brotli[=XXX] (define USE_BROTLI)
+ Use brotli decompression.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ --with-build-cc=XXX
+ If cross-compiling, specify a host C compiler, which is needed to
+ compile a utility which generates tables for lynx.
+ If you do not give this option, the configure script checks if the
+ $BUILD_CC variable is set, and otherwise defaults to gcc or cc.
+
+ --with-build-cpp=XXX
+ This is unused by lynx.
+
+ --with-build-cflags=XXX
+ If cross-compiling, specify the host C compiler-flags. You might need
+ to do this if the target compiler has unusual flags which confuse the
+ host compiler.
+
+ --with-build-cppflags=XXX
+ If cross-compiling, specify the host C preprocessor-flags. You might
+ need to do this if the target compiler has unusual flags which confuse
+ the host compiler.
+
+ --with-build-ldflags=XXX
+ If cross-compiling, specify the host linker-flags. You might need to
+ do this if the target linker has unusual flags which confuse the host
+ compiler.
+
+ --with-build-libs=XXX
+ If cross-compiling, the host libraries. You might need to do this if
+ the target environment requires unusual libraries.
+
+ --with-bzlib[=XXX] (define USE_BZLIB)
+ Use libbz2 for decompression of some bzip2 files.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ --with-charsets=list (define ALL_CHARSETS)
+ Limit the number of charsets that are compiled-in to the specified
+ list of comma-separated MIME names.
+
+ --with-cfg-file (define LYNX_CFG_FILE)
+ Specify the default configuration file's name. Use --without-cfg-file
+ to force the user to specify the configuration file on the command
+ line. The filename can be overridden by using the LYNX_CFG environment
+ variable.
+
+ --with-cfg-path (define LYNX_CFG_PATH)
+ Specify the default configuration file(s) directory search-list. Use
+ --without-cfg-path to limit this to the location of the lynx.cfg file.
+ The search-list can be overridden using the LYNX_CFG_PATH environment
+ variable.
+
+ --with-curses-dir
+ Specify directory under which curses/ncurses is installed. This
+ assumes a standard install, e.g., with an include and lib subdirectory.
+
+ --with-dbmalloc
+ use Conor Cahill's dbmalloc library
+
+ --with-destdir=XXX
+ set DESTDIR variable in makefiles. This is prefixed to all directories
+ in the actual install, but is not really part of the compiled-in or
+ configured directory names. It is convenient for packaging the
+ installed files. If you do not provide the option, the configure
+ script uses your $DESTDIR environment variable.
+
+ --with-dmalloc
+ use Gray Watson's dmalloc library
+
+ --with-gnutls[=XXX] (define USE_SSL, USE_GNUTLS_INCL)
+ Use this option to configure with the GNU TLS library.
+ See docs/README.ssl for additional information.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory. The default
+ is /usr/local/gnutls.
+
+ See the "--enable-gnutls-compat" option.
+
+ --with-libiconv-prefix=DIR
+ search for libiconv in DIR/include and DIR/lib
+
+ --with-libintl-prefix=DIR
+ search for libintl in DIR/include and DIR/lib
+
+ --with-lss-file{=path} (define LYNX_LSS_FILE)
+ Specify the default style-sheet file's name. Use --without-lss-file
+ to make the default behavior match the non-color-style (if no --lss
+ option is given, and no COLOR_STYLE setting is in lynx.cfg).
+
+ --with-mime-libdir=list (define MIME_LIBDIR)
+ Use this option to specify the system directory containing the
+ mime.types and mailcap files.
+
+ --with-neXtaw
+ This option allows you to specify the X libraries used if you
+ are configuring lynx to use PDCurses on a Unix platform.
+
+ --with-nls-datadir=DIR
+ Use this option to override the configure script's NLS data directory,
+ under which the locale (i.e., language) files are installed. The
+ default value is derived at configure time, and depends on whether GNU
+ or native gettext is used.
+
+ --with-nss-compat[=XXX] (define USE_NSS_COMPAT_INCL)
+ Use this option to configure with the NSS library's OpenSSL-compatible
+ interface.
+ See docs/README.ssl for additional information.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ --with-pkg-config[=XXX]
+ Use pkg-config, if available, to tell how to build with certain
+ libraries, e.g., openssl and gnutls. If pkg-config is not used,
+ or if those libraries are not known to pkg-config, then the configure
+ script will search for the libraries as described in the --with-ssl
+ and --with-gnutls options.
+
+ The optional value XXX specifies the pathname for pkg-config, e.g.,
+ "/usr/local/bin/pkg-config".
+
+ Note: The pkg-config program is used only if no explicit directory
+ parameter is provided for the --with-ssl or --with-gnutls options.
+
+ --with-screen=XXX
+ Use this option to select the screen type. The option value, XXX
+ must be one of curses (the default), ncurses, ncursesw, pdcurses or
+ slang. Specifying a screen type causes the configure script to
+ look in standard locations for the associated header and library
+ files, unless you have preset the $CFLAGS and $LIBS variables.
+
+ --with-screen=ncursesw (define NCURSES, WIDEC_CURSES)
+ --with-screen=ncurses (define NCURSES)
+ --with-screen=pdcurses (define PDCURSES)
+ --with-screen=slang (define USE_SLANG)
+
+ Note that some systems may have a default curses library which
+ does not support color, while on others, ncurses is installed as
+ the curses library. The variant ncursesw is the wide-character
+ version of ncurses. See also the --enable-widec option.
+
+ For the ncurses/ncursesw options, the script also accepts variants
+ such as "ncursesw6", which helps it to find a specific ncurses config
+ script.
+
+ The pdcurses selection supported by the configure script is a UNIX-only
+ library which uses X11. If you are configuring with DJGPP, the likely
+ choice is "curses", since that is how PDCurses is normally installed.
+
+ --with-socks[=XXX] (define SOCKS)
+ Use this option to configure with the socks library.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ --with-socks5[=XXX] (define USE_SOCKS5, SOCKS)
+ Use this option to configure with the socks5 library.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ If you make a SOCKSified lynx, you may have trouble accessing FTP
+ servers. Also, instead of SOCKSifying lynx for use behind a firewall,
+ you are better off if you make it normally, and set it up to use a
+ proxy server. You can SOCKSify the proxy server, and it will handle
+ all clients, not just Lynx. If you do SOCKSify lynx, you can turn off
+ SOCKS proxy usage via a -nosocks command line switch.
+
+ --with-ssl[=XXX] (define USE_SSL)
+ Use this option to configure with the OpenSSL library, or SSLeay.
+ See docs/README.ssl for additional information.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+ --with-system-type=XXX
+ For testing, override the derived host system-type which is used to
+ decide things such as special compiler options. This is normally
+ chosen automatically based on the type of system which you are
+ building on. We use it for testing the configure script.
+
+ --with-textdomain[=XXX] (define NLS_TEXTDOMAIN)
+ Set the NLS textdomain to the given value. This is normally "lynx".
+
+ --with-zlib[=XXX] (define USE_ZLIB)
+ Use zlib for decompression of some gzip files.
+
+ The optional value XXX specifies the directory in which the library
+ can be found, and may be either the path of the "lib" directory,
+ or one level above. In either case, the corresponding header files
+ are assumed to be in the parallel "include" directory.
+
+1d. Environment variables
+ The configure script looks for programs and libraries in known/standard
+ locations. You can override the behavior of the script by presetting
+ environment variables. If they are set, the script will try to use these
+ values rather than computing new ones. Useful variables include:
+
+ CC - the C compiler. If you do not override this, configure
+ will try to use gcc. For instance, setting CC=cc and
+ exporting this value will cause configure to use cc instead.
+
+ CFLAGS - the C compiler options. These also include C
+ preprocessor options (such as -I), since the $CFLAGS and
+ $CPPFLAGS variables are maintained separately.
+
+ CPPFLAGS - the C preprocessor options. For some configuration
+ tests, you may need to set both $CFLAGS and $CPPFLAGS if
+ you are compiling against header files in nonstandard
+ locations.
+
+ LDFLAGS - linker/loader options.
+
+ LIBS - the libraries to be linked, with -L and -l options. If
+ you are linking against libraries in nonstandard locations
+ unrelated to the install prefix (that you can specify in
+ the configure script) you may have to specify these via
+ the $LIBS variable.
+
+ Lynx has compiled-in the pathnames of various programs which it executes.
+ Normally the full pathnames are given, rather than the program name
+ alone. These may be preset in the environment by the capitalized version,
+ e.g., INSTALL for "install". The corresponding internal definitions
+ are suffixed "_PATH", e.g., "INSTALL_PATH".
+
+
+-- 1997/7/27 - T. Dickey
+
+1e. Examples
+ If you are compiling Lynx for your personal use and are restricted to your
+ home directory, a simple method for building would be to choose some
+ directory, say ".lynx", and then type:
+
+ ./configure --prefix=~/.lynx --exec-prefix=~/.lynx
+ and
+ make install
+
+ Now you only need to add "~/.lynx/bin" to your PATH and edit "~/.lynx/lib/
+ lynx.cfg" as described above.
+
+ I personally use the following csh shell script to set environment
+ variables and configure options rather than type them each time.
+ #!/bin/csh -f
+ setenv CPPFLAGS "-I$HOME/slang -I$HOME/.usr/include"
+ setenv LIBS "-L$HOME/.slang/lib -L$HOME/.usr/lib"
+ ./configure --exec-prefix=$HOME --bindir=$HOME/.lynx \
+ --mandir=$HOME/.usr/man --sysconfdir=$HOME/.usr/lib \
+ --with-screen=slang --with-zlib
+
+ CPPFLAGS in this example defines the full path to the slang and zlib
+ header files, which are not kept in standard directories. Likewise, LIBS
+ defines the nonstandard locations of libslang.a and libz.a. Setting the
+ option --bindir tells the configure script where I want to install the
+ lynx binary; setting --mandir tells it where to put the lynx.1 man page,
+ and setting --sysconfdir tells it (while at the same time defining
+ LYNX_CFG_FILE) where to put the configuration file "lynx.cfg", when I type
+ "make install". The --with-screen=slang and --with-zlib options are
+ explained above.
+
+2. Wais support (optional)
+ To add direct WAIS support, get the freeWAIS distribution from
+ "ftp://ftp.cnidr.org/pub/NIDR.tools/freewais", and compile it. The
+ compile process will create the libraries you will need, wais.a and
+ client.a. Edit the Makefile in the top level directory and add the
+ library locations under the DIRECT WAIS ACCESS heading. Edit the Makefile
+ for the WWW Library in "WWW/Library/Implementation/makefile" to point to
+ the include directory for the freewais distribution. Precompiled
+ libraries are available for many platforms if you don't wish to compile
+ one yourself.
+
+-------------------------------------------------------------------------------
+
+III. Compile instructions -- VMS
+
+Step 1. Downloading binary files.
+ Lynx must handle all IO as streams, and on VMS, output files are always
+ created with Stream_LF format via the C RTL's fopen(). The file headers
+ indicate Implied Carriage Control, even when the transfer was in binary
+ mode, which can confuse downloading software and cause corruption of
+ the file contents. To deal with this, you should define the symbol
+ USE_FIXED_RECORDS as TRUE in userdefs.h and/or lynx.cfg. This will
+ instruct Lynx to correct the header information to indicate FIXED 512
+ records, with No Implied Carriage Control. If Lynx fails to do the
+ conversion (because the file wasn't mapped to a binary MIME type) you can
+ execute FIXED512.COM externally to correct the header information. The
+ command file uses Joe Meadow's FILE utility, or the SET FILE/ATTRIBUTES
+ command on current versions of VMS, to modify the headers. See the
+ comments in FIXED512.COM, userdefs.h and lynx.cfg for more information.
+
+Step 2. Passive FTP
+ If your system requires the PASV FTP code instead of the standard PORT FTP
+ code (e.g., to deal with a firewall) then set the FTP_PASSIVE option in
+ lynx.cfg
+
+Step 3a.
+ Lynx uses the VMS port of gzip for uncompressing streams which have
+ Content-Encoding headers indicated compression with gzip or the
+ Unix compress. If you do not have gzip installed on your system
+ you can get it from "ftp://ftp.wku.edu/" in the fileserv directory.
+ The command Lynx uses to uncompress on VMS is "gzip -d".
+
+ If you are using the SOCKETSHR library, read SOCKETSHR.announce and
+ make sure you have defined SOCKETSHR and SOCKETSHR_LIBRARY as explained
+ therein.
+
+ A "build.com" and "build-slang.com" script for building Lynx with curses
+ or slang is in the top level directory. All you have to do is type
+ "@build" or "@build-slang" and answer its prompt for your system's TCP-IP
+ software. Current choices are:
+ MULTINET (default)
+ UCX
+ WIN_TCP
+ CMU_TCP
+ SOCKETSHR_TCP
+ TCPWARE
+ It will autosense whether you have VAXC, DECC or GNUC on VAX or AXP and
+ build appropriately. If a WWWLib already exists for that TCP-IP software,
+ it will prompt you for whether you want to rebuild it. If you want to
+ build a WWWLib separately, you can type "@libmake.com" with your default
+ directory set to [.WWW.Library.vms] instead doing it via "build.com" in
+ the top directory. You may need to modify "build-slang.com", as described
+ in its header, so that it can find slang.olb on your system. If you have
+ both DECC and VAXC, it will use DECC to benefit from the newer and more
+ efficient memory management functions.
+
+Step 3b. (optional compilation method)
+ If you have and want to use MMS, read the header of descrip.mms in the
+ top directory and be sure you include the appropriate macro definitions
+ when you invoke it:
+
+ $ MMS /Macro = (MULTINET=1) for VAXC - MultiNet
+ $ MMS /Macro = (WIN_TCP=1) for VAXC - Wollongong TCP/IP
+ $ MMS /Macro = (UCX=1) for VAXC - UCX
+ $ MMS /Macro = (CMU_TCP=1) for VAXC - OpenCMU TCP/IP
+ $ MMS /Macro = (SOCKETSHR_TCP=1) for VAXC - SOCKETSHR/NETLIB
+ $ MMS /Macro = (TCPWARE=1) for VAXC - TCPWare TCP/IP
+
+ $ MMS /Macro = (MULTINET=1, DEC_C=1) for DECC - MultiNet
+ $ MMS /Macro = (WIN_TCP=1, DEC_C=1) for DECC - Wollongong TCP/IP
+ $ MMS /Macro = (UCX=1, DEC_C=1) for DECC - UCX
+ $ MMS /Macro = (CMU_TCP=1, DEC_C=1) for DECC - OpenCMU TCP/IP
+ $ MMS /Macro = (SOCKETSHR_TCP=1,DEC_C=1) for DECC - SOCKETSHR/NETLIB
+ $ MMS /Macro = (TCPWARE=1, DEC_C=1) for DECC - TCPWare TCP/IP
+
+ $ MMS /Macro = (MULTINET=1, GNU_C=1) for GNUC - MultiNet
+ $ MMS /Macro = (WIN_TCP=1, GNU_C=1) for GNUC - Wollongong TCP/IP
+ $ MMS /Macro = (UCX=1, GNU_C=1) for GNUC - UCX
+ $ MMS /Macro = (CMU_TCP=1, GNU_C=1) for GNUC - OpenCMU TCP/IP
+ $ MMS /Macro = (SOCKETSHR_TCP=1,GNU_C=1) for GNUC - SOCKETSHR/NETLIB
+ $ MMS /Macro = (TCPWARE=1, GNU_C=1) for GNUC - TCPWare TCP/IP
+
+ If you just type "MMS" it will default to the MULTINET and VAXC
+ configuration. MMS will build the WWW library and Lynx sources, and
+ link the executable. However, not all of the header dependencies are
+ specified. If you are not a developer, and need a clean build, you
+ should use build.com instead of the MMS utility.
+
+ If you want SOCKS support on VMS, you must add SOCKS as a compilation
+ definition, and the SOCKS library to the link command. However, instead
+ of SOCKSifying Lynx for use behind a firewall, you are better off if you
+ build Lynx normally, and set up Lynx to use a proxy server (see below).
+ You instead can SOCKSify the proxy server, and it will handle all clients,
+ not just Lynx.
+
+-------------------------------------------------------------------------------
+
+IV. Compile instructions -- Win32 (Windows95/98/NT)
+
+Borland C:
+---------
+
+Simplified:
+----------
+
+Sources:
+ Download the current sources (choose a zip-file) from
+ https://lynx.invisible-island.net/
+ and unzip them into a directory where you will build Lynx.
+
+Compiler:
+ Download the Borland C/C++ 5.51 compiler from
+ http://forms.embarcadero.com/forms/BCC32CompilerDownload
+
+ This is a file named "freecompilertools.exe".
+
+ Run that to install the compiler, e.g., in
+ c:\app\bcc55
+
+ Do not install into a directory with spaces in its name, such as
+ c:\program files
+
+Libraries:
+ Download these "setup" files from http://gnuwin32.sourceforge.net
+ libiconv-1.9.2-1.exe (libiconv)
+ libintl-0.14.4.exe (libintl)
+ openssl-0.9.8h-1-setup.exe (openssl)
+ pdcurses-2.6.exe (pdcurses)
+ zlib-1.2.3.exe (zlib)
+
+ Install all of the packages in the same directory, "c:\app\GnuWin32".
+
+ A fix is needed in GnuWin32 include/zconf.h: change line reading
+ #if 1 /* HAVE_UNISTD_H -- this line is updated by ./configure */
+ to
+ #ifdef HAVE_UNISTD_H
+
+ Prepare import-libraries using Borland's implib program. The ".lib"
+ files that it uses are a different format than the import libraries
+ distributed with GnuWin2. From Lynx's source directory run
+ bcblibs
+
+Environment:
+ At this point, the bin-directory for the compiler and for the GnuWin32
+ libraries should be in your path.
+
+Building:
+ From Lynx's source directory
+ cd src\chrtrans
+ makew32 clean
+ makew32
+ cd ..\..
+ makew32 clean
+ makew32
+
+-------------------------------------------------------------------------------
+
+Detailed:
+--------
+ The original Win32 port was built with Borland C++ 4.52, but later
+ versions reportedly can be used. Before compiling the Lynx sources, you
+ need a curses library, and it is recommended that you have the zlib
+ library. Get pdcurses2.3 from "http://pdcurses.sourceforge.net/". I
+ have modified it so that mouse support is no longer broken for Lynx (see
+ "http://www.fdisk.com/doslynx/"). You will want to get zlib from
+ "http://www.zlib.net/ ". Compile these libraries, and
+ put them in a convenient place (pdcurses inside the Lynx directory).
+
+ Unpack the latest Lynx source distribution, and make an obj directory
+ under the source root to contain the compile output. Copy in your
+ IDE file. A sample IDE file and helper libraries are available at
+ "http://www.fdisk.com/doslynx/wlynx/source/".
+
+ First build the .h files in src\chrtrans using "makew32.bat". Double
+ check for new .tbl files; hand edit in any new ones, and then do "makew32".
+ Jump into Borland C++, load the project (IDE file) and compile Lynx.
+ Alternately, after compiling the chartrans tables, you can come back to
+ the top directory and compile manually, i.e., do "make -f makefile.bcb".
+
+ I also have a binary available at "http://www.fdisk.com/doslynx/". This
+ binary was compiled with pdcurses 2.3, hacked so win32 mouse support works,
+ and with zlib, so Lynx can do gzip routines internally. More hints and
+ information can be found in "http://www.fdisk.com/doslynx/lynxport.htm".
+
+-- 1997/10/12 - W. Buttles
+-- 2010/11/27 - URL's updated by Doug Kaufman
+
+-------------------------------------------------------------------------------
+
+Cygwin:
+ It is possible to compile under the cygwin system, which will allow you to
+ use the configure script described above for Unix. Type, for example,
+ "./configure --with-screen=ncurses --with-libz" in a Dos window running the
+ cygwin bash$ shell. You also have the choice of using either pdcurses or
+ slang. You will need a launch program such as sh.exe to call helper
+ applications. Paths may need to be in cygwin style, rather than Windows
+ style (e.g., TMPDIR=/cygdrive/d/cygwin/tmp, rather than
+ TMPDIR=d:\cygwin\tmp).
+
+Visual C++:
+ You must have compiled zlib and PDCurses with the -MT (threaded code)
+ option. This is not the default with zlib (see Makefile.msc).
+
+ Copy into lib the following
+ zconf.h
+ zlib.h
+ zlib.lib
+
+ from the zlib build-tree, and
+ curses.h
+ pdcurses.lib
+
+ from the PDCurses build-tree.
+
+ Then
+ make-msc
+
+ to build lynx.
+
+-------------------------------------------------------------------------------
+
+V. Compile instructions -- 386 DOS
+
+ Compiling for DOS with DJGPP has traditionally been a multistep
+ procedure. Now, if you have a full installation of DJGPP you can
+ also install using the configure script, just as in the UNIX
+ section. This needs to be done under a BASH shell. Use a shell
+ script to run configure as in the example at the end of this
+ section. Otherwise you can follow the below instructions. The
+ multistep procedure for DOS may not be supported in the future
+ and use of the configure script is recommended. The information
+ about required libraries and unpacking applies to both methods of
+ compiling.
+
+ First install the C compiler and its libraries (see readme.1st from
+ DJGPP distribution).
+
+ Originally, lynx makefiles come with the initial -O2 optimization
+ level. If you experience compilation process too slow due to paging
+ to the disk (DPMI server provide virtual memory, when in lack of
+ RAM), you may change optimization to -O1 or turn the optimization
+ off entirely.
+
+ If using optimization level -O2 or -O3 with older versions of DJGPP
+ and GCC, you may need to "stubedit" your "cc1.exe" file to enlarge
+ compiler stack size. For instance, if using DJGPP 2.02 and GCC 2.8.1,
+ to compile with -O3 optimization, the stub needs to be edited to give
+ a larger stack. To do this go into djgpp\lib\gcc-lib\djgpp\2.81 and
+ either type the command:
+ "stubedit cc1.exe bufsize=63k minstack=2M",
+ or edit interactively with: "stubedit cc1.exe". Current versions of
+ DJGPP and GCC generally work with the standard stack.
+
+ Unpack the source code using a DOS program like UNZIP386. If you are
+ using PKUNZIP to unpack the .zip archive, you must use the -d command
+ line switch to restore the directory structure contained in the archive,
+ i.e., do "pkunzip -d lynx-cur.zip". No switch is required if you use
+ unzip386 or unzip. If you are trying to compile the 386DOS port under a
+ WinNT DOS shell, be sure to unpack the source with a DOS program so
+ that all directories will be adjusted to the DOS 8.3 file format necessary
+ for compiling with DJGPP. Do NOT use Winzip, because that will create
+ long filenames that will not be recognized by DJGPP tools.
+
+ If you wish to compile with "USE_ZLIB" (recommended), you must have the
+ zlib library. Get the source from
+ http://www.zlib.net
+ and compile it. Put libz.a in the lib subdirectory of DJGPP, and put
+ zlib.h and zconf.h in the include subdirectory.
+
+ In addition to the files in the Lynx distribution, you will need a curses
+ package and a TCP package. You can use PDCurses (available at
+ "http://pdcurses.sourceforge.net/") and the DJGPP port of WATTCP. The
+ updated version of WATTCP is known as WATT-32, and is available at
+ "http://home.broadpark.no/~gvanem/". You can also use slang (available at
+ "http://www.jedsoft.org/slang/") as your screen library. You must
+ compile these before you go any further. If you wish to use PDCurses 2.6,
+ you need to first apply the following patch:
+
+--- dos/gccdos.mak.ori 2002-01-11 20:11:18.000000000 -0800
++++ dos/gccdos.mak 2003-12-13 21:29:28.000000000 -0800
+@@ -40,11 +40,11 @@
+ CFLAGS = -c -g -Wall -DPDCDEBUG
+ LDFLAGS = -g
+ else
+- CFLAGS = -c -O -Wall
++ CFLAGS = -c -O2 -Wall
+ LDFLAGS =
+ endif
+
+-CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS
++CPPFLAGS = -I$(PDCURSES_HOME) -I$(CCINCDIR) -D_NAIVE_DOS_REGS -DHAVE_STRING_H
+
+ CCFLAGS = $(CFLAGS) $(CPPFLAGS)
+
+@@ -64,10 +64,10 @@
+ all: $(PDCLIBS) $(DEMOS)
+
+ clean:
+ -del *.o
+- -del curses.lib
+- -del panel.lib
++ -del pdcurses.a
++ -del panel.a
+
+ demos: $(DEMOS)
+
+@@ -287,33 +287,27 @@
+ #------------------------------------------------------------------------
+
+ firework.exe: firework.o $(LIBCURSES)
+- $(LINK) $(LDFLAGS) -o firework firework.o $(LIBCURSES)
+- $(COFF2EXE) firework
++ $(LINK) $(LDFLAGS) -o firework.exe firework.o $(LIBCURSES)
+ strip $@
+
+ newdemo.exe: newdemo.o $(LIBCURSES)
+- $(LINK) $(LDFLAGS) -o newdemo newdemo.o $(LIBCURSES)
+- $(COFF2EXE) newdemo
++ $(LINK) $(LDFLAGS) -o newdemo.exe newdemo.o $(LIBCURSES)
+ strip $@
+
+ ptest.exe: ptest.o $(LIBCURSES) $(LIBPANEL)
+- $(LINK) $(LDFLAGS) -o ptest ptest.o $(LIBCURSES) $(LIBPANEL)
+- $(COFF2EXE) ptest
++ $(LINK) $(LDFLAGS) -o ptest.exe ptest.o $(LIBCURSES) $(LIBPANEL)
+ strip $@
+
+ testcurs.exe: testcurs.o $(LIBCURSES)
+- $(LINK) $(LDFLAGS) -o testcurs testcurs.o $(LIBCURSES)
+- $(COFF2EXE) testcurs
++ $(LINK) $(LDFLAGS) -o testcurs.exe testcurs.o $(LIBCURSES)
+ strip $@
+
+ tuidemo.exe: tuidemo.o tui.o $(LIBCURSES)
+- $(LINK) $(LDFLAGS) -o tuidemo tuidemo.o tui.o $(LIBCURSES)
+- $(COFF2EXE) tuidemo
++ $(LINK) $(LDFLAGS) -o tuidemo.exe tuidemo.o tui.o $(LIBCURSES)
+ strip $@
+
+ xmas.exe: xmas.o $(LIBCURSES)
+- $(LINK) $(LDFLAGS) -o xmas xmas.o $(LIBCURSES)
+- $(COFF2EXE) xmas
++ $(LINK) $(LDFLAGS) -o xmas.exe xmas.o $(LIBCURSES)
+ strip $@
+
+
+--- dos/pdckbd.c.ori 2002-09-01 00:13:30.000000000 -0800
++++ dos/pdckbd.c 2004-01-19 20:30:02.000000000 -0800
+@@ -362,7 +362,7 @@
+ return ((int) (0xb8 << 8));
+ if (ascii == 0xe0 && scan == 0x53 && pdc_key_modifiers & PDC_KEY_MODIFIER_SHIFT) /* Shift Del */
+ return ((int) (0xb9 << 8));
+- if (ascii == 0x00 || ascii == 0xe0)
++ if (ascii == 0x00 || (ascii == 0xe0 && scan != 0x00))
+ return ((int) (scan << 8));
+ return ((int) (ascii));
+ }
+@@ -522,7 +522,7 @@
+ _watch_breaks();
+ #else
+ # ifdef GO32
+- (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN));
++/* (void*)signal(SIGINT,(setting ? SIG_DFL : SIG_IGN)); */
+ /* __djgpp_set_ctrl_c(setting);*/
+ setcbrk(setting);
+ # else
+--- pdcurses/kernel.c.ori 2002-11-27 03:24:32.000000000 -0800
++++ pdcurses/kernel.c 2003-12-13 21:22:38.000000000 -0800
+@@ -27,6 +27,10 @@
+ #include
+ #endif
+
++#ifdef HAVE_STRING_H
++#include
++#endif
++
+ #ifdef UNIX
+ #include
+ #include
+--- pdcurses/pdcutil.c.ori 2001-01-10 00:27:22.000000000 -0800
++++ pdcurses/pdcutil.c 2003-12-13 21:24:58.000000000 -0800
+@@ -49,7 +49,7 @@
+ # include
+ #endif
+
+-#ifdef STDC_HEADERS
++#if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
+ # include
+ #endif
+
+--- pdcurses/pdcwin.c.ori 2002-05-25 17:13:32.000000000 -0800
++++ pdcurses/pdcwin.c 2003-12-13 21:26:02.000000000 -0800
+@@ -27,6 +27,10 @@
+ # include
+ #endif
+
++#ifdef HAVE_STRING_H
++#include
++#endif
++
+ #ifndef HAVE_MEMMOVE
+ # define memmove PDC_memmove
+ #endif
+
+ If you wish to compile with SSL enabled, you need to get and compile
+ OpenSSL. The DJGPP port has been successfully compiled with the
+ development version of OpenSSL. DJGPP can compile OpenSSL from the
+ standard source distribution (http://www.openssl.org/). See the file
+ "INSTALL.DJGPP" in the OpenSSL distribution.
+
+ If you have trouble applying the patches, try using the "patch" program,
+ ("http://www.delorie.com/pub/djgpp/current/v2gnu/pat261b.zip").
+ To read the Unix man style documentation, use, for example, "less"
+ ("http://www.delorie.com/pub/djgpp/current/v2gnu/lss374b.zip").
+ Compile or place your compiled PDCurses library in /djgpp/pdcur26, and
+ compile or place your compiled WATT-32 library in /djgpp/watt32. If
+ using the SLANG library, put libslang.a in your DJGPP/lib directory and put
+ slang.h in your DJGPP/include directory, or in the appropriate directories
+ specified by LIBRARY_PATH and INCLUDE_PATH in your DJGPP.ENV file.
+
+ Move to the "lynx2-*/WWW/Library/djgpp" directory. If compiling with
+ PDCurses, do "make". If using SLANG, do "make -f makefile.sla". This
+ should compile libwww.a. Next move to the "lynx2-*/src/chrtrans" directory
+ and do "make -f makefile.dos" to compile the character tables. Then move
+ to the "lynx2-*/src" directory. There are three choices for compiling at
+ this point. You can do "make -f makefile.dos" to compile with PDCurses,
+ "make -f makefile.wsl" to compile with SLANG, or "make -f makefile.dsl" to
+ compile with SLANG and the DJGPP keyhandler. At the time of this writing,
+ it is not clear what the advantages and disadvantages of each version are.
+ The PDCurses version has the most experience and allows remapping of ALT
+ and Function keys. The SLANG version seems to have better screen handling.
+ It allows mapping of function keys, but not ALT keys. The SLANG with DJGPP
+ keyhandler allows mapping of ALT and Function keys, but has the risk of
+ incompatibilities from mixing different programs.
+
+ If you wish to compile with support for internationalization of messages,
+ you first need to install the DOS ports of the GNU gettext and libiconv
+ packages, available from any DJGPP mirror site. Then uncomment the lines
+ for INTLFLAGS in src/makefile.dsl and in WWW/Library/djgpp/makefile.sla,
+ and remove the "#" from the LIBS line in src/makefile.dsl. Make similar
+ changes if using one of the other DOS makefiles. See the gettext
+ documentation for information on creating and using message files for
+ different languages.
+
+ If all goes well, you will have a lynx.exe file. If you have trouble,
+ check to be sure djgpp.env is the way it came in the original package.
+
+ To test Lynx_386 you must have a packet driver installed. The simplest
+ method is to use a null packet driver that just allows Lynx to start
+ up, but doesn't do anything else. One such executable driver has been
+ posted, uuencoded, to the lynx-dev mailing list in January 1998,
+ but is corrupted in the mailing list archive. You can get this at
+ "http://www.ncf.ca/ncf/pda/computer/dos/net/nullpkt.zip". Start the
+ dummy packet driver with "nullpkt 0x60", and take it out of memory with
+ "nullpkt -u". You can also use slip8250.com. See the CRYNWR package
+ "ftp://ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip". Usage
+ is "slip8250 0x60", but you may have to invoke it as, for example,
+ "slip8250 0x60 6 3 0x2F8" so that it uses COM2 and IRQ 3, in order to
+ avoid an IRQ conflict with a mouse or some other device. Another packet
+ driver is slipper.exe, which is available from many sites, including
+ "http://www.cavazza.it/file/bbs/intsoft/slippr15.zip". To remove it from
+ memory use termin.com (usage "termin 0x60"), available in the CRYNWR
+ package. To connect over a dialup PPP connection you need dosppp or klos'
+ pppshare. (Find at:
+ "http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/net/dosppp/dosppp06.zip"
+ "http://www.ncf.carleton.ca/ncf/pda/computer/dos/net/dosppp06.zip"
+ "http://www.cavazza.it/file/bbs/intsoft/dosppp06.zip"
+ "http://www.cavazza.it/file/bbs/intsoft/pppshare.exe")
+
+ File access looks like this:
+
+ file:///c:/
+ file:///c:/dos
+ file:///c:/dos/command.com
+ file://localhost/c:/
+ file://localhost/c:/dos
+ file://localhost/c:/dos/command.com
+
+ See "http://www.fdisk.com/doslynx/lynxport.htm" for more hints and
+ some precompiled libraries. One problem you can encounter is editing
+ userdefs.h and lynx.cfg, which have unix-style end of lines. You would
+ be well advised to use an editor that can handle end of lines terminated
+ with a single LF character. You can also unpack the source code using
+ unzip386 or unzip with the -a or -aa switch to convert unix LF to dos CRLF.
+ That will make texts more readable under DOS. If you compile lynx
+ regularly, you may automate the procedure by creating a batch file such
+ as the following.
+
+ cd djgpp\watt32\src
+ configur djgpp
+ make -f djgpp.mak
+ cd ..\..\..\www\library\djgpp
+ make
+ cd ..\..\..\src\chrtrans
+ make -f makefile.dos
+ cd ..\..\src
+ make -f makefile.dos
+ strip lynx.exe
+ cd ..
+
+ This batch file expects the DJGPP port of WATT-32 to be installed in the
+ lynx2-* directory. Place a copy of this batch file, named "djgpp.bat",
+ in the lynx2-* directory, move to that directory and type "djgpp". A more
+ complete batch file with error checking and annotation can be found at:
+ "http://lists.nongnu.org/archive/html/lynx-dev/1997-11/msg00250.html".
+
+ If you use the configure method, remember that if you configure with
+ the option "--enable-nls", you also need to set LIBS="-liconv". A
+ sample shell script to run configure using PDCurses follows. If you
+ compile to use SLANG, note that the DJGPP keyhandler will be used
+ instead of the SLANG keyhandler unless you define "NO_DJ_KEYHANDLER".
+
+ #!/bin/sh
+ CFLAGS="-O2 -I/djgpp/pdcur26 -I/djgpp/watt32/inc" \
+ LIBS="-L/djgpp/pdcur26/lib -L/djgpp/watt32/lib -liconv" \
+ ./configure --prefix=d:/djgpp/lynx-rel/lynx-cnf \
+ --with-screen=curses \
+ --disable-full-paths \
+ --enable-addrlist-page \
+ --enable-change-exec \
+ --enable-cgi-links \
+ --enable-charset-choice \
+ --enable-color-style \
+ --enable-exec-links \
+ --enable-externs \
+ --enable-file-upload \
+ --enable-nested-tables \
+ --enable-nls \
+ --sysconfdir=d:/djgpp/lynx-rel/lynx-cnf \
+ --with-bzlib \
+ --with-zlib \
+ --with-ssl
+
+-- 1997/9/29 - D. Kaufman
+-- 1997/10/3 - B. Schiavo
+-- Last update - 2010/11/27
+
+-------------------------------------------------------------------------------
+
+VI. General installation instructions
+
+ Once you have compiled Lynx, test it out first on a local file. Be sure
+ Lynx can find lynx.cfg. A _sample_ test command line would be:
+ 'lynx -cfg=/usr/local/lib/lynx.cfg .'. Once you are satisfied that
+ Lynx works, go ahead and install it. For Unix, type "make install".
+
+ For VMS, you need to have the executable in a public place, make it
+ accessible, define it as a foreign command, and copy lynx.cfg to
+ "Lynx_Dir". Look at lynx.com in the samples directory as a model for
+ installing Lynx. To include lynx.hlp in the system HELP library, use
+ the command: "$ library/replace sys$help:helplib.hlb lynx.hlp".
+
+ Local copies of the Lynx online help should be made accessible in response
+ to the Lynx 'h'elp command by defining HELPFILE in userdefs.h and/or
+ lynx.cfg to an appropriate file://localhost/path URL. On Unix, all you
+ need to do is type "make install-help." If you are installing manually,
+ copy the files "COPYHEADER" and "COPYING" into the lynx_help directory
+ BEFORE moving the lynx_help tree to its final location. These files are
+ referenced hypertextually from help documents.
+
+ If you have old, pre-existing bookmark files from earlier versions of
+ Lynx, those files may have to be updated. Conversion may just consist
+ of adding one META line near the top, or may require creating new book-
+ mark files and editing in bookmarks from outdated files.
+
+ IMPORTANT! Be sure you have read the warnings about setting up an
+ anonymous account with Lynx if you plan to give public access to Lynx.
+
+ After applying patches or editing files to correct for an unsuccessful
+ build, be certain to do a "make clean" (or "make distclean" for those
+ using auto-configure) before attempting to compile again.
+
+-------------------------------------------------------------------------------
+
+VII. Setting environment variables before running Lynx (optional)
+
+1. All ports
+
+ The Lynx Users Guide describes all of the environment variables used by
+ Lynx. This should be checked later along with reading lynx.cfg after you
+ have installed Lynx.
+
+2. Win32 (95/98/NT) and 386 DOS
+
+ These ports cannot start before setting certain environment variables.
+ Here are some environment variables that should be set, usually in a
+ batch file that runs the lynx executable. Make sure that you have enough
+ room left in your environment. You may need to change your "SHELL="
+ setting in config.sys. In addition, lynx looks for a "SHELL" environment
+ variable when shelling to DOS. If you wish to preserve the environment
+ space when shelling, put a line like this in your AUTOEXEC.BAT file also
+ "SET SHELL=C:\COMMAND.COM /E:4096". It should match CONFIG.SYS.
+
+ HOME Where to keep the bookmark file and personal config files.
+ TEMP or TMP Bookmarks are kept here with no HOME. Temp files here.
+ USER Set to your login name (optional)
+ LYNX_CFG Set to the full path and filename for lynx.cfg
+ LYNX_LSS Set to the full path and filename for lynx.lss
+ LYNX_SAVE_SPACE The (modifiable) location for downloaded file storage.
+ SSL_CERT_FILE Set to the full path and filename for your file of trusted
+ certificates
+
+ 386 version only:
+ WATTCP.CFG Set to the full path for the WATTCP.CFG directory
+ RL_CLCOPY_CMD Command to copy a URL to a "clipboard" file
+ RL_PASTE_CMD Command to go to a URL in your "clipboard" file
+
+ Define these in your batch file for running Lynx. For example, if your
+ application line is "D:\win32\lynx.bat", lynx.bat for Win32 may look like:
+ @ECHO OFF
+ set home=d:\win32
+ set temp=d:\tmp
+ set lynx_cfg=d:\win32\lynx.cfg
+ set lynx_save_space=d:\download
+ d:\win32\lynx.exe %1 %2 %3 %4 %5
+
+ For lynx_386, a typical batch file might look like:
+
+ @echo off
+ set HOME=f:/lynx2-8
+ set USER=your_login_name
+ set LYNX_CFG=%HOME%/lynx.cfg
+ set WATTCP.CFG=%HOME%
+ f:\lynx2-8\lynx %1 %2 %3 %4 %5 %6 %7 %8 %9
+
+ You need to make sure that the WATTCP.CFG file has the correct information
+ for IP number, Gateway, Netmask, and Domain Name Server. This can also be
+ automated in the batch file.
+
+ Adapted from "readme.txt" by Wayne Buttles and "readme.dos" by Doug
+ Kaufman.
+
+VIII. Acknowledgment
+
+ Thanks to the many volunteers who offered suggestions for making this
+ installation manual as accurate and complete as possible.
+
+-- 1999/04/24 - H. Nelson
+-- vile:txtmode
+-- $LynxId: INSTALLATION,v 1.140 2024/05/29 22:41:52 tom Exp $
diff --git a/LYHelp.hin b/LYHelp.hin
new file mode 100644
index 0000000..6e7a7f5
--- /dev/null
+++ b/LYHelp.hin
@@ -0,0 +1,26 @@
+/*
+ * $LynxId: LYHelp.hin,v 1.4 2008/01/10 23:26:53 tom Exp $
+ * vile:cmode
+ */
+/* definitions for help files */
+
+#ifndef LYHELP_H
+#define LYHELP_H
+
+#define ALT_EDIT_HELP "keystrokes/@ALT_EDIT_HELP@"
+#define BASHLIKE_EDIT_HELP "keystrokes/@BASHLIKE_EDIT_HELP@"
+#define COOKIE_JAR_HELP "@LYNX_USERS_GUIDE@#Cookies"
+#define CACHE_JAR_HELP "@LYNX_USERS_GUIDE@#Cache"
+#define CURRENT_KEYMAP_HELP "keystrokes/@KEYSTROKE_HELP@"
+#define DIRED_MENU_HELP "keystrokes/@DIRED_HELP@"
+#define EDIT_HELP "keystrokes/@EDIT_HELP@"
+#define DOWNLOAD_OPTIONS_HELP "@LYNX_USERS_GUIDE@#RemoteSource"
+#define HISTORY_PAGE_HELP "keystrokes/@HISTORY_HELP@"
+#define LIST_PAGE_HELP "keystrokes/@FOLLOW_HELP@"
+#define LYNXCFG_HELP "lynx.cfg"
+#define OPTIONS_HELP "keystrokes/@OPTION_HELP@"
+#define PRINT_OPTIONS_HELP "keystrokes/@PRINT_HELP@"
+#define UPLOAD_OPTIONS_HELP "@LYNX_USERS_GUIDE@#DirEd"
+#define VISITED_LINKS_HELP "keystrokes/@VISITED_HELP@"
+
+#endif /* LYHELP_H */
diff --git a/LYMessages_en.h b/LYMessages_en.h
new file mode 100644
index 0000000..7014be6
--- /dev/null
+++ b/LYMessages_en.h
@@ -0,0 +1,901 @@
+/*
+ * $LynxId: LYMessages_en.h,v 1.82 2019/08/24 00:37:02 tom Exp $
+ *
+ * Lynx - Hypertext navigation system
+ *
+ * Copyright 1997-2019 Thomas E. Dickey
+ * Copyright 1992, 1993, 1994 University of Kansas
+ * Released 1995 using GNU General Public License
+ */
+
+#ifndef LYMESSAGES_EN_H
+#define LYMESSAGES_EN_H
+
+/*******************************************************************
+ * The following definitions are for status line prompts, messages, or
+ * warnings issued by Lynx during program execution. You can modify
+ * them to make them more appropriate for your site. We recommend that
+ * you extend these definitions to other languages using the gettext
+ * library. There are also scattered uses of 'gettext()' throughout the
+ * Lynx source, covering all but those messages which (a) are used for
+ * debugging (CTRACE) or (b) are constants used in interaction with
+ * other programs.
+ *
+ * See ABOUT-NLS and po/readme for details and location of contributed
+ * translations. When no translation is available, the English default is
+ * used.
+ */
+#define ALERT_FORMAT gettext("Alert!: %s")
+#define WELCOME_MSG gettext("Welcome")
+#define REALLY_QUIT gettext("Are you sure you want to quit?")
+#ifdef VMS
+#define REALLY_EXIT gettext("Really exit from Lynx?")
+#endif /* VMS */
+#define CONNECTION_INTERRUPTED gettext("Connection interrupted.")
+#define TRANSFER_INTERRUPTED gettext("Data transfer interrupted.")
+#define CANCELLED gettext("Cancelled!!!")
+#define CANCELLING gettext("Cancelling!")
+#define NO_CANCEL gettext("Excellent!!!")
+#define OPERATION_OK gettext("OK")
+#define OPERATION_DONE gettext("Done!")
+#define BAD_REQUEST gettext("Bad request!")
+#define PREVIOUS gettext("previous")
+#define NEXT_SCREEN gettext("next screen")
+#define TO_HELP gettext("HELP!")
+#define HELP_ON_SEGMENT gettext(", help on ")
+#define HELP \
+ gettext("Commands: Use arrow keys to move, '?' for help, 'q' to quit, '<-' to go back.")
+#define MOREHELP \
+ gettext("-- press space for more, use arrow keys to move, '?' for help, 'q' to quit.")
+#define MORE gettext("-- press space for next page --")
+#define URL_TOO_LONG gettext("URL too long")
+
+/* Forms messages */
+#ifdef TEXTFIELDS_MAY_NEED_ACTIVATION
+/* Inactive input fields, messages used with -tna option - kw */
+#define FORM_LINK_TEXT_ADV_MSG_INA \
+ gettext("(Textfield \"%s\") Inactive. Press to activate.")
+#define FORM_LINK_TEXT_MESSAGE_INA \
+ gettext("(Text entry field) Inactive. Press to activate.")
+#define FORM_LINK_TEXTAREA_ADV_MSG_INA \
+ gettext("(Textarea \"%s\") Inactive. Press to activate.")
+#define FORM_LINK_TEXTAREA_MESSAGE_INA \
+ gettext("(Textarea) Inactive. Press to activate.")
+#define FORM_LINK_TEXTAREA_ADV_MSG_INA_E \
+ gettext("(Textarea \"%s\") Inactive. Press to activate (%s for editor).")
+#define FORM_LINK_TEXTAREA_MESSAGE_INA_E \
+ gettext("(Textarea) Inactive. Press to activate (%s for editor).")
+#define FORM_LINK_TEXT_SUBMIT_MESSAGE_INA \
+ gettext("(Form field) Inactive. Use to edit.")
+#define FORM_TEXT_SUBMIT_MESSAGE_INA_X \
+ gettext("(Form field) Inactive. Use to edit (%s to submit with no cache).")
+#define FORM_TEXT_RESUBMIT_MESSAGE_INA \
+ gettext("(Form field) Inactive. Press to edit, press twice to submit.")
+#define FORM_TEXT_SUBMIT_MAILTO_MSG_INA \
+ gettext("(mailto form field) Inactive. Press to change.")
+#define FORM_LINK_PASSWORD_MESSAGE_INA \
+ gettext("(Password entry field) Inactive. Press to activate.")
+#endif
+#define FORM_LINK_FILE_UNM_MSG \
+ gettext("UNMODIFIABLE file entry field. Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_FILE_MESSAGE \
+ gettext("(File entry field) Enter filename. Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_TEXT_ADV_MSG \
+ gettext("(Textfield \"%s\") Enter text. Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_TEXT_MESSAGE \
+ gettext("(Textfield \"%s\") Enter text. Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_TEXTAREA_ADV_MSG \
+ gettext("(Textarea \"%s\") Enter text. Use UP/DOWN arrows or TAB to move off.")
+#define FORM_LINK_TEXTAREA_MESSAGE \
+ gettext("(Textarea) Enter text. Use UP/DOWN arrows or TAB to move off.")
+#define FORM_LINK_TEXTAREA_ADV_MSG_E \
+ gettext("(Textarea \"%s\") Enter text. Use UP/DOWN arrows or TAB to move off (%s for editor).")
+#define FORM_LINK_TEXTAREA_MESSAGE_E \
+ gettext("(Textarea) Enter text. Use UP/DOWN arrows or TAB to move off (%s for editor).")
+#define FORM_LINK_TEXT_UNM_MSG \
+ gettext("UNMODIFIABLE form text field. Use UP or DOWN arrows or tab to move off.")
+#define FORM_LINK_TEXT_SUBMIT_MESSAGE \
+ gettext("(Form field) Enter text. Use to submit.")
+#define FORM_LINK_TEXT_SUBMIT_MESSAGE_X \
+ gettext("(Form field) Enter text. Use