Changes since Lynx 2.8 release =============================================================================== 2005-10-29 (2.8.5rel.5 fixes from 2.8.6dev.15) * modify LYLoadCGI() to prompt user, displaying the command that would be executed, to confirm that it should be. This makes it easier to notice when a local program would be run by activating a lynxcgi link. This is not done in advanced mode, since the URL is already visible in the status line (report by vade79, comments by Greg MacManus) -TD 2005-10-25 (2.8.5rel.4 fixes from 2.8.6dev.14) * fix error in rel.3 patch (report by Klaus Singvogel) 2005-10-17 (2.8.5rel.3 fixes from 2.8.6dev.14) * eliminate fixed-size buffers in HTrjis() and related functions to avoid potential buffer overflow in nntp pages (report by Ulf Harnhammar, CAN-2005-3120) -TD 2004-04-22 (2.8.5rel.2 fixes from 2.8.6dev.1) * correct ifdef in LYgetattrs() to ensure that getattrs() is used only if the configure script actually found it (report/patch by Paul Gilmartin). * correct LYcommandList() to allocate data passed to HTList_addObject(), since LYRemoveFromCloset() may free it (report by FLWM) -TD * add a null-pointer check to parameter of HTQuoteParameter(), fixes bug introduced in 2.8.5pre.4 (report by FLWM) -TD * correct units shown by HTReadProgress() for very low rates - bug from 2.8.5pre.3 changes (report by PG) -TD * update current-version in README -LP 2004-02-04 (2.8.5rel.1) * build fixes for MINGW32 -DK * build fixes for OS/2 (reported by IZ) -TD 2004-02-02 (2.8.5pre.5) * MINGW32-specific changes to build with that configuration using the configure script in Cygwin and "-mno-cygwin" option -DK * move Cygwin defines for WIN_EX, _WINDOWS_NSL out of www_tcp.h, to the configure script to fix a definition-order problem with CAN_CUT_AND_PASTE (report by DK) -TD * improve workaround for ncurses to build with pre-4.0 versions that do not declare attr_t -TD 2004-01-28 (2.8.5pre.4) * workaround to build with ncurses 4.2 -TD * fixes from Thorsten Glaser: + use ${GNUSYSTEM_AUX_DIR}/mkinstalldirs if it exists. + use $ac_config_sub variable in CF_CHECK_CACHE macro. + add case in CF_XOPEN_SOURCE macro to prevent defining _XOPEN_SOURCE + use $(MKINSTALLDIRS) variable in generated makefile. + correct comment in lynx.cfg for the default value of FTP_PASSIVE + increase pattern length for mkdtemp() call. * add command-line & menu option/config variables to replace the compile-time UNDERLINE_LINKS definition (suggested by BL) -TD * correct ownership of installed lynx_doc directory (report by FLWM, PG) -TD * modify configure check for tar to test several common variants including star, modify makefile.in to use the configured 'tar' program (request by FLWM) -TD * compiler ifdef-fixes -BL * documentation updates for DJGPP and OpenSSL -DK * fixes/updates for DJGPP makefiles -DK * modify po/makefile.inn to substitute the PACKAGE and VERSION strings into lynx.pot automatically, and to remove the unused boilerplate header comment (suggested by LP) -TD * fixes for substituted project-version in configure script -TD 2004-01-24 (2.8.5pre.3) * update documentation's version numbers for release -TD * modify configure check for libbz2 to allow for older headers which do not include -TD * add configure option --enable-locale-charset, which adds configure settings and an option-menu checkbox telling lynx if it should use the function call nl_langinfo(CODESET) to find the display character set rather than rely on the user to set it via lynx.cfg or the options menu (discussion with Andreas Metzler) -TD * remove intl subdirectory (gettext-0.10.35), since some of the ".po" files have been modified to rely upon newer features of gettext. Modified configure script macro to report this properly -TD * add SSL_CERT_DIR, SSL_CERT_FILE to lynx.man (suggested by Stef Caunter) -TD * documentation updates for DJGPP -DK, LP, FLWM * update address for Free Software Foundation in COPYHEADER and COPYING (Atsuhito Kohda). * change CF_CHECK_IPV6 to warn rather than error-out if a working getaddrinfo() function cannot be found. The previous behavior would warn on Linux and error-out on other systems (report by RobertM) -TD * localized displayed strings used for popups in options menu -TD * add SHOW_KB_NAME to allow user to decide whether to display "KB" or "Kib" or even "Kilobytes" for the progress message (discussion on lynx-dev) -TD * correct form generated to select Visited Links page in LYHistory.c to match the values used in LYOptions.c with new function LYMenuVisitedLinks, and corrected ifdef to ensure that menu is generated when the forms-based option menu is configured (report by TH) -TD * modify configure check for ranlib to use AC_CHECK_TOOL, since AC_PROG_RANLIB does not do proper cross-compiling checks. This actually applies to autoconf 2.5x -- autoconf 2.13 does less in that area -TD * update config.guess (2004-01-05) and config.sub (2004-01-05). * ensure that freeaddrinfo() is only called if lynx has initialized its parameter, fixes a core-dump on IRIX6.5 -TD * change remaining references for lynx.browser.org to lynx.isc.org (reported by Frederic L W Meunier) -TD 2004-01-19 (2.8.5pre.2) * update URLs in docs/README.ssl (Stef Caunter, DK). * use http://search.lycos.com rather than the messy http://www.lycos.com -DK * update some URLs in lynx_help -FLWM (Frederic L W Meunier) * remove a few unnecessary #include's (reported by Frederic L W Meunier) -TD * fix some compiler warnings with casts -PG * add docs/ directory to "make install-doc" rule. If the help-files are compressed, the same will apply to the non-README files in that directory (reported by Frederic L W Meunier) -TD * minor fixes to allow compiling with K&R compiler, e.g.,SunOS 4.x with the 5lib curses -TD * split up remove_file() in LYLocal.c so directory removal is performed in a separate function remove_directory(). Neither will perform an "rm -rf", but only single operations "rm" and "rmdir". The original behavior can be obtained by setting RMDIR_PATH to point to a script which does "rm -rf" in lynx.cfg (suggested by Pat Walsh). * modify configure script so NetBSD does not define _XOPEN_SOURCE, since that makes the IPv6 code not compile. * modify configure script to prefer _SGI_SOURCE on IRIX6.5 to allow it to compile IPv6 support (report by RobertM) -TD * replace fixed-buffer Style_className[] with a dynamically-allocated buffer, needed for large pages which lack correctly-nested tags, e.g., http://www.aspas-nature.org/petitions/petition2.html (reported by Frederic L W Meunier) -TD * move OMIT_SCN_KEEPING definition to LYHash.h, to avoid mismatch between the LYCurses.c and HTML.c -TD * remove obsolete OPT_SCN ifdef from HTML.c since the inactive side does not compile -TD * fix a few out-of-bounds errors in LYSetHiText() and related functions, which were found by valgrind -TD 2004-01-07 (2.8.5pre.1) This version has been test-built on * Linux (ncurses, ncursesw, PDCurses, slang), * FreeBSD 4.9, 5.1 (ncurses, ncursesw), * Tru64 4.0d, 5.1 (cc, curses), * OpenVMS, * OS/2 EMX, * win32 (Visual C++ 6.0 and Borland C++, Cygwin), * AIX 4.3, 5.1, * HPUX 11, * Solaris 8, 9. Other recent builds include IRIX 6.5 (cc and gcc, curses/ncurses), FreeBSD 4.1, 4.8, NetBSD 1.5, 1.6 and OpenBSD 2.8 (curses/ncurses). 2004-01-07 (2.8.5dev.17) * fix initialization of LYlines and LYcols for curses configurations other than ncurses which implement pads -TD * fix ifdef's for alloca(), e.g., on AIX 4 -TD * fix misspelled LYGetEnv/LYgetenv in DJGPP configuration -DK * a few portability fixes to allow building on OS/2, AIX, Tru64 and HPUX -TD * add docs/README.rootcerts -IZ, Stef Caunter, Johannes Hromadka) * update po files (ca.po, da.po, de.po, et.po, hu.po, ru.po, sv.po, tr.po and zh_CN.po) from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ * correct some mismatches between INSTALLATION and "configure --help" (prompted by discussion with Stef Caunter) -TD * undef conflicting symbols "small" and FILE_DOES_NOT_EXIST which are misdefined in Cygwin's w32api headers (report by Frederic L W Meunier) -TD * amend check for refresh-URL to ensure it only prepends a link for text/html content type (report by Carlton Anderson). * do not strip parameters from refresh-URL (report by Carlton Anderson gave an example of their use) -TD * correct logic for resetting count of leading/trailing spaces in S_litteral case (report by TH) -TD * remove obsolete XMOSAIC_HACK defines -TD * adapted patch by Bjoern Jacke to ensure that toupper(), tolower() and isupper() macros are interpreted in POSIX locale. This is ifdef'd with EXP_ASCII_CTYPES -TD * improve check for Unix-style shell given in $SHELL by limiting the check to the base-name (discussion with GV, DK) -TD * modify increment_tagged_htline() to reallocate its HTLine parameter if the result would be larger than the allocation. This can happen when a large textarea is adjusted (report by Thorsten Glaser) -TD * add ifdef'd logic to change HTLine to calloc() rather than memory pools, making it possible to use valgrind, etc., for debugging -LP * modify version shown for SSL to be derived from runtime SSLeay_version() function if linked with OpenSSL or SSLeay. Add corresponding definition for GNU TLS (discussion by Frederic L W Meunier, GV) -TD * add check for broken ProFTPD 1.2.5rc1, e.g., at ftp://ftp.oldskool.org/pub, and force a reconnection if an error 550 is detected when doing RETR. This is ifdef'd with BROKEN_PROFTPD and checks version (reports by GV, DK) -TD * modify file-upload to not print a warning message if the form-field is empty (Frank Heckenbach). * add a few null-pointer checks to GridText.c (addresses symptoms reported by Frederic L W Meunier when nested-tables are toggled off) -TD * modify LYTrimNewline() to trim carriage-returns as well as line-feeds, making it possible to share cookie files between platforms that have different line-terminations (report by Frederic L W Meunier) -TD * rename EXP_PERSISTENT_COOKIES ifdef to USE_PERSISTENT_COOKIES -TD * rename EXP_READPROGRESS ifdef to USE_READPROGRESS -TD * rename SOURCE_CACHE ifdef to USE_SOURCE_CACHE -TD * change a few configure script defaults to "enable": source-cache, prettysrc and read-eta. Also change default for read-eta configuration flag to "Show KB/Sec" (requests by LP, Frederic L W Meunier) -TD * modify generated help_files.sed script to fix a couple of cases where the intermediate result had more than 2 ".gz" substrings to reduce (reported by IZ) -TD * change configure script to compile-in file-upload by default, change its corresponding ifdef to USE_FILE_UPLOAD -TD * use EXEEXT, OBJEXT substitutions in makefile.in -TD * update configure script check for getbegx(), etc -TD * revert table-layout changes from dev.15/dev.16 because of unresolved issues -TD * add configure option --with-bzlib -TD * modify bzip2/zlib ifdef's to make them independent -TD * implement support for bzip compression by internal calls to libbz2 -IZ * make usage of EDIT_A_PREV_SHORTCUT and EDIT_THE_PREV_SHORTCUT consistent (report by LP) -TD * if a document is in the cache (the rendering is in memory), on reload it should not be cleared from the cache until the connection to the server is opened; if the connection fails, the user will reuse the old version (request by IZ) -LP * for DJGPP, escape all backslashes in commands given to LYSystem() when a Unix-style shell is given in $SHELL -DK, TD * correct strings in LYOptions.c so ENABLE_LYNXRC works for bookmark_file and run_all_execution_links -DK * modify comparison in USE_CURSES_PAIR_0 ifdef of parse_attributes() to take into account the mono-attributes as well. This fixes a case where a color style might have the same color-attributes as the background, and would incorrectly fall-through to use the mono-attributes (report by DK) -TD * rewrote lynx_chg_color() to handle a COLORS value of 16 (report by TH) -TD * redefine PDCurses' COLORS value to 16, since it incorrectly uses 8. * add -scrsize option and corresponding SCREEN_SIZE value to lynx.cfg to allow lynx's screensize to be specified. To display background color properly, this also requires a patch to PDCurses: http://www.t3.rim.or.jp/~patakuti/tmp/lynx/PDCurses-2.5.patch.resize This requires PDCurses 2.5 and higher -TH * add a clean-rule to src/chrtrans/makefile.bcb -TD * fix pathname generated for "View temporary file" in LYDownload.c using new function LYAddPathToSave() (report by P.J.Walsh) -TD * comment-out --enable-libjs option since it is not used -TD * change code to match lynx.cfg description for FORCE_COOKIE_PROMPT and FORCE_SSL_PROMPT, making "prompt" rather than "default" the keyword to use when telling lynx to prompt (report by DK) -TD * really add FORCE_COOKIE_PROMPT setting to lynx.cfg (report by DK) -TD * change default of configure script options --enable-source-cache and --enable-prettysrc to non-experimental to "yes", so they will normally be compiled-in, but normally disabled in lynx.cfg (suggested by LP). * modify configure script and related ifdef's to build with gnutls 0.8.9 (report by Atsuhito Kohda) -TD * modify ifdef's to use mkdtemp() if it is available (prompted by MirBSD patch) -TD * several fixes from Thorsten Glaser (MirBSD): + workaround for invoking shell scripts when executable permissions are discarded as a result from using CVS. + adjust buffer-size used in a readlink() call in case the result is too long to include trailing null. + change default ftp mode to passive. + if ftp connection fails, automatically retry, switching between passive and active modes. Do this retry switching only when connecting to a different host. A new variable ftp_local_passive distinguishes this from the user preference in ftp_passive. + improved certificate handling (case-insensitive domain-comparison, strip port-numbers from comparison). + fix a few typos & compiler-warnings. * add PT154 charset support. See http://www.iana.org/assignments/charset-reg/PTCP154 for more information. (patch by Timur Birsh ) * integrate some improvements for configure script in CF_BUNDLED_INTL and CF_OUR_MESSAGES from tin and dialog -TD * remove #undef for UTF8 from UCMap.h, rename UTF8 variable, modify configure check for slang to test-compile with with the Debian slang-utf8 package -TD * modify configure script to not use "head -1", which does not work for some platforms when POSIXLY_CORRECT (sic) is set -TD * fix configure script check for term.h, which may be -TD * modify an ifdef in HTCheckForInterrupt() to allow compile with DJGPP -GV * add docs/README.sslcerts (Stef Caunter ). * modify LYLocalFileToURL() to allow for CurrentDir() returning a value that does not begin with a slash, e.g., with DJGPP which returns a drive-letter first -DK * amend change in dev.15 to HTParse() to escape spaces, to exclude non-URL strings such as absolute filenames (report by Patrick Ash) -TD * modify LYParseTagParam() (added in dev.13) to not stop on ';' (fixes a bug reported by LV which broke complicated refresh-URL containing "&") -TD * change default start page to lynx.isc.org, since lynx.browser.org is not maintained -TD * modify HTML_start_element() to work with a case where there is an HREF attribute without a value, fixes bug introduced after dev.9, e.g., for X-URL: http://bankr.tsr.ru/tv-6.shtml (also reported by Frederic L W Meunier for http://www.jacotei.com.br/) -LP * correct construction of link to temporary filename in download options, did not port to DOS-pathnames (report by LP) -TD 2003-06-01 (2.8.5dev.16) * add zh_CN.po from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ * updated obsolete link for nntp in users's guide -TD * add F_FILE_TYPE to F_TEXTLIKE() macro, and use it consistently in a few more places, making editing in filename fields consistent with other text input fields -TD * add LYAdjHiTextPos() to modify the behavior of color-style code, so leading blanks are not highlighted (reported by Frederic L W Meunier) -TD * modify CacheThru_new() to accept "https:" URLs for source-caching (report by Chuck Martin) -TD * adapt some of the SH_EX ifdef'd features: + add -delay option, to make progress messages slow, along with corresponding code for lynx.cfg -TD + show build date/time for systems that do not use a configure script. + use LYK_CHG_CENTER keycode bound to ^Q to control whether table cells are centered. The command-line -center option also controls this behavior. * add BIN_SUFFIX, TEXT_SUFFIX to userdefs.h -TD * modify BeginInternalPage(), adding a doctype to generated internal pages to allow validating them -TD * modify HTFWriter.c to use binary suffix for any file with an application presentation type, to better distinguish it from text and html. Use text suffix for any "text/" file other than "text/html". These changes cover the most common cases needed to make a link to view the temporary file useful in the download page -TD * modify LYdownload_options(), adding a link to view the temporary file if the downloaded file is text or html -TD * modify LYwouldPush(), omitting the download page from list of user-interface pages which should not be pushed onto the history stack when visiting another page, such as info or help. Otherwise the downloaded file is discarded (report by BL) -TD * simplify set_vi_keys() and related functions using table-driven set_any_keys() and reset_any_keys() -TD * HTAnchor_findAddress now returns HTParentAnchor, avoid casting -LP * change select timeout in HTCheckForInterrupt() to zero, allowing immediate return rather than waiting (DJGPP otherwise blocks for 50msec). For Unix platforms, the DontCheck() function limits the amount of polling which otherwise would be too much CPU usage -LP * modify configure check for gcc -Winline warning to work around defect in gcc 3.3 -TD * fix bug introduced recently in forms-submitting for TEXTAREA; the "%0d%0a" was put after each line rather than before, making the first and second lines joined (report by LV) -TD * reset the leading/trailing space counts in error-recovery logic added in 2.8.5dev.15 for S_litteral case in SGML_character(). Otherwise a mismatch, e.g., due to a stray "<" or ">" in , prevented a match on the -TD * do not free adult_table[] atexit - it should be perfectly empty after free'ing all HText's. (There is an error if it is not empty at exit) -LP * unnamed child anchors (`children_notag' list) now use HText memory pool. Links properly deleted when reparsing the document -LP * Use less memory for documents with many anchors: most anchors are never visited, just stored for the reference. So fill in adult_table[] with HTParentAnchor0 (36 bytes size) instead of full HTParentAnchor (~200 bytes). HTParentAnchor now allocated on demand, nearly 1:1 to HText. [more comments in HTAnchor.h, changes located in HTAnchor.c] -LP * HTParentAnchor0 stores its hash value, to avoid calling HASH_FUNCTION twice on the same anchor (Re: HTAnchor_delete()) -LP * fix a potential out-of-bounds bug in HTBEquivalent() -LP * change strrchr() calls to strchr() in a few src/*.c file when parsing "#fragment" left-to-right -LP * modify HTFWriter_abort() to remove file on error -IZ * added hot.paste style which puts a right-arrow at the UR corner (which is currently unused). Clicking on it initiates a GOTO to the current selection (same as PASTE_URL action). The hot.paste style is disabled unless STYLES and CUT_AND_PASTE are both enabled. Disabled and the user defines hot.paste in the ".lss" file -IZ * modify LYK_PASTE_URL case in LYMainLoop.c to allow pasting URLs of the form
and "" to lynx. This is useful when it is not easy to choose address without the surrounding "<>" or "" -IZ * make a minor memory saving (circa 15%) for table processing, improve yet another case of "ladder" (as in the top of google results), and fixes one case of "wrong indentation" (elements of a table which contained
were made too wide) -IZ * modify Stbl_trimFakeRows() to compensate for 2.8.5dev.15 changes to Stbl_addRowToTable() from 2.8.5dev.15 which caches shrinking cell arrays in a pool. It did not take into account reallocation of the same data, e.g., in Stbl_reserveCellsInRow(). For example: http://camden-sbc.rutgers.edu/FacultyStaff/Directory/default.htm (report by Patrick Ash) -IZ * add FORCE_COOKIE_PROMPT setting to lynx.cfg, allowing for manipulation in the options menu and (if LYNXRC_ENABLE is set) via the .lynxrc file. This lets the user decide whether to ignore prompting for cookies with invalid syntax. If the prompts are ignored, a corresponding message is displayed -TD * add FORCE_SSL_PROMPT setting to lynx.cfg, allowing for manipulation in the options menu and (if LYNXRC_ENABLE is set) via the .lynxrc file. This lets the user decide whether to ignore prompting for questionable aspects of an SSL connection. If the prompts are ignored, a corresponding message is displayed -TD * change select() calls to use the expected 1+descriptor value documented for that function rather than FD_SETSIZE. It is possible that some very old or unique platform would not work, but this is more efficient (discussion on lynx-dev) -TD * modify logic for S_litteral case in SGML_character() to recover from spaces between the '<', '>' and the corresponding end of the tag, e.g., < /style > < /style > match "" (report by TH) -TD * correct a check in HText_trimHightext() for the last line of the display, which left unhighlighted the portion of a multi-line anchor which fell in that place (report by TH) -TD * correct an off-by-one in redraw_lines_of_link() which left the link on the last line on a page highlighted when moving the cursor up (reported by Morten Bo Johansen) -TD 2003-04-27 (2.8.5dev.15) * change definition of docdir1, helpdir1 to avoid using ksh-semantics (see 2.8.5dev.2) -TD * update ja.po, uk.po, zh_TW.po from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ * improve layout of TRSTable.c, reducing "laddering" effect, where cells in different columns do not overlap by lines -IZ * modify SGML_new() to allow display charset-switching when reloading a document -IZ * fix a buffer-size in LYK_PASTE_URL case in LYMainLoop.c -IZ * various improvements to load-time for TRSTable.c -IZ As a test: . This is a simple table with 2 columns, one with bold contents, another with italic one. The total number of rows is 500K. With the patch and an acceptable malloc(), lynx should use the working set of about 110M to show the table. On my system with 128M memory, this leads to only 4M of the process space swapped. * add case LYK_TO_CLIPBOARD to HTCheckForInterrupt (not a good place), to allow COPY command to work during download (copying the location to clipboard). The best thing would be to get the location *after* redirects, but this will require some additional work -IZ * add popen-based support for cut/paste. This is a slightly reworked patch to GNU readline. If RL_PASTE_CMD and RL_CLCOPY_CMD are defined in the environment, lynx will use them as commands to do cut&paste. The simplest such commands could just store/retrieve things from /tmp/.clipboard_user-name; more advanced ones could use X clipboard -IZ * modify yawerty_kb.h to map U+0411 and U+0431 to 'B' and 'W' positions respectively. The map contained U+0412 and U+0432 at those positions, which are duplicated at other positons -IZ * fix HTLoadFinger() which was miscasting const data -TD * update Subir Grewal's Lynx links URL to the newest location http://www.subir.com/lynx.html -TD * add configure option --with-gnutls, to allow lynx to be built with gnutls. Used gnutls 0.8.6 on Redhat 8.0 to login at yahoo (gnutls is not very portable, so this is an experimental option) -TD * modify loop in HTInitProgramPaths() to convert enum ProgramPaths to an integer, to accommodate HPUX 11.22 compiler (report by JS) -TD * amend change in dev.13 to HTParse() to escape spaces, to exclude lynx's internal URL types such as lynxprog (report by P.J.Walsh) -TD * modified ifdef's to enable -connect_timeout option for DJGPP -GV In particular, in LYUtils.c, undef "select" in case Lynx is compiled with curses (and not S-Lang). Watt-32's select_s cannot be used on a stdin handle, so one must undef it and use DJGPP's select(). * modify ifdef in HTCheckForInterrupt() to work with MingW and PDcurses -GV * add version information for the macros in aclocal.m4 (request by Lars Hecking) -TD * modify file-upload to use actual binary-data rather than base64-format -TD * generate unique boundary for multipart data in HText_SubmitForm() -TD * reorganize HText_SubmitForm(), maintaining post data using bstring's -TD * modify HText_SubmitForm() to add field name for the fake coordinate pair when formatting a multipart submit (report by Peter Pilsl ) -TD * change post_data to a bstring; implement functions and macros for manipulating bstring data. This allows post_data to maintain embedded nulls, e.g., for file-upload -TD * fix ifdef's for -TD * fixes for file upload -IZ + modify logic for headers use write them even if MultipartContentType was not set. + change logic for base64 to be used ONLY if \0 was found. If a "strange" char is found, only change "text/plain" to "application/octet-stream". * change a couple of _user_message() calls to HTUserMsg2() calls so their content is saved in the "Messages" buffer -IZ, TD * undo 2002-11-11 SGMLFindTag optimization (problem with color styles, reported by IZ). Optimize the function by storing the previously found tags. Also use my_casecomp() to decrease AS_casecomp() calls by testing the first character manually -LP * optimize HTStyle comparison: just compare numbers from enum. It was previously implemented as a strcmp comparison with a fixed string. Used in a very inner loop, in HTML_put_character() -LP * LYEnsureAbsoluteURL() now absorbs LYFillLocalFileURL() call -LP * optimize LYLegitimizeHREF() -LP * in HTML.c, revise href resolving logic. HTAnchor_findChildAndLink now resolves href with respect to BASE internally; HTParse incorporates LYFillLocalFileURL call (after the parsing, and only when the related string is not empty and parse includes access, host, path and punctuation). This removes all LYFillLocalFileURL and most HTParse calls from HTML.c and makes code more consistent. (Previously, functions were called in a different order for document with/without BASE, which had the side effect in some cases, e.g., href="c:" on a DOS machine was resolved properly with _any_ base, and badly broken without:) -LP * add/use HTParseALL macro to simplify coding -LP * revise "internal links" logic (read KW 1997-11-03 notes, before v2.8). In HTML.c and HTAnchor.c, internal links code affects only parent lookup in the adults table (more correct in case of post data), now a mainline: we omit "#ifndef DONT_TRACK_INTERNAL_LINKS" condition in the two files. In HTML.c, avoid using internal links for unrelated `src=' attributes (BGSOUND_SRC, FRAME_SRC, IFRAME_SRC, OVERLAY_SRC, EMBED_SRC links:) -LP * refine HTAnchor_delete() vs deleteLinks() mutual recursion logic - LP * change ALIGN_SIZE in GridText.c to sizeof(double), which is probably more portable than "8" -LP * modify a syslog() call to guard against possible '%' in its parameter -TD * remove extra quotes from calling HTMake822Word() for form boundary names (addresses bug report for fastmail.fm by P.J.Walsh) -TD 2003-02-04 (2.8.5dev.14) * correct a missing ">" at the beginning of page sent as response to mailto -TD * simplify (clarify) anchor structure: links now moved from HTAnchor to HTChildAnchor (the only place they were used). By this we avoid unneeded casting in calls to HTAnchor_followMainLink, HTAnchor_followTypedLink, deleteLinks. [GridText.c, HTML.c, LYList.c, HTAnchor.c] -LP * as of 1998-11-21 "workaround for multiple anchors in the same (invalid) HTML document with the same NAME and different destinations (HTAnchor.c) - KW", along with skipping HTAnchor_link() call in this case now, we realize that HTChildAnchor may have only a single link. (Previously implemented by mainLink and links list). This simplifies HTAnchor.c -LP * simplify HTChunk.c -LP * optimize LYRemoveNewlines() and LYRemoveBlanks() -LP * check for no common name (CN) in certificate when connecting via SSL, fixes a SIGSEGV with https://web-shokai.tokyo-denwa.net/ (patch by patakuti@t3.rim.or.jp) * add uk.po (Ukranian) from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ * modify HTList_linkObject to avoid an infinite loop in HTList_unlinkObject due to relinking some node several times, corrupting the previous list chain -LP * increase ATEXITSIZE to 50, 40 was not enough -TD * ifdef-out call to Cygwin_Shell() in LYMainLoop.c, which does not work properly for some environments (report by Corinna Vinschen , forwarded by Frederic L W Meunier) -TD * correct a bug in HTAnchor_findChildAndLink() introduced in dev.13 handling USEMAP, e.g., http://www.sendas-delivery.com.br/topo_sendas.asp (reported by Frederic L W Meunier) -LP * minor fixes for K&R compiler on SunOS: prototype of HTDOS_slashes(), definition of LYLeakSequence -TD 2003-01-22 (2.8.5dev.13) * change new memory-allocation in HTString.c and GridText.c to provide pointers to data aligned to the host's pointer-size, to work on Tru64 where this happens to be 8 -TD * resync ".po" files using msgmerge -TD * remove quadratic complexity from insert_blanks_in_line() usage with large tables (Stbl). It occasionally cleans up split_line() a bit. CPU load anomaly reported by BL -LP * ALLOC_IN_POOL, POOL_NEW, POOL_FREE macros now became functions, suggested by BL -LP * define HAVE_ALLOCA for djgpp fixed-configuration -LP * add command-line option (--nested-tables) to help in testing this feature -TD * add command-line option (--find-leaks) to disable the memory leak checking code, allowing one to build an executable which is useful for both normal and leak-checking (request by Frederic L W Meunier) -TD * improve performance of HTParse() for very long strings -LP * fix memory leak in HTFileSaveStream() -LP * further optimization in HTAnchor.c - save 3 mallocs per HTChildAnchor by using new HTList_ functions: HTList_linkObject(), HTList_unlinkObject(), HTList_unlinkLastObject() which utilize external memory, no malloc/free -LP * modify "make install-help" rule to avoid warning message about keystrokes subdirectory (report by Martin Mokrejs) -TD * optimize !HText_TrueLineSize() expressions as HText_TrueEmptyLine() -LP * optimize is_url(), rewriting it as case-statements to avoid unnecesary comparisons, make similar optimization in HTParse() -LP, TD * corrected logic in is_url() where the "://" was not necessarily checked in the proper position - TD * for color-style configuration, add a link to lynx.lss from LYNXCFG: -TD * simplify setup of internal pages with new function InternalPageFP() -TD * modify parsing of refresh-URL to strip single quotes, to handle http://tovar.yandex.ru/ (reported by LP) -TD * investigated conflict between NSL_FORK and _WINDOWS_NSL ifdef's for Cygwin configuration in HTTCP.c; left them as-is since #undef'ing _WINDOWS_NSL in that case causes problems connecting (feedback by Frederic L W Meunier) -TD * corrected an off-by-one error in computing the location of the bottom line for mouse input in PDCurses configuration which made that area ignore mouse clicks. Merged almost-identical cases for mouse-input for NT/Windows95 -TD * ifdef'd out (USE_CURSES_PAIR_0) the ASSUMED_COLORS logic for the PDCurses configuration (reports by DK) -TD * LYSetHiText(), LYAddHiText(), and LYClearHiText() use HText memory pool -TD * add atexit-cleanup for history stack, removed incomplete code for this from cleanup(), since that gave misleading results in leak-checking. Fix a few small leaks as well (reported by LP) -TD * modify cleanup() to leave the trace file open if checking for leaks -TD * add some simple statistics to summary in Lynx.leaks report -TD * add malloc-sequence number to Lynx.leaks report, to help with debugging -TD * fix memory leaks in nested-tables logic, which did not free subtable data if there was an enclosing table (reports by Frederic L W Meunier) -TD * adapted change by LP to allocate HTLine's from memory pool -TD * move fallback definition of MAXHOSTNAMELEN from HTFTP.c to www_tcp.h so it can be used in HTTCP.c (Debian #140682). * improved configure script checks for ncurses -TD * correct description of XLOADIMAGE_COMMAND in lynx.cfg (report by Mats Peterson ) -TD * fix configure script so it does not compute basename of system mailer when none was found. Add check in LYMail.c, LYPrint.c to avoid using system mailer when it is not configured (report by Frederic L W Meunier) -TD * update several po files (da.po, de.po, et.po, hu.po, sv.po, tr.po) from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ * correct logic in recent HTAnchor_findChildAndLink() changes around internal links and fragments; avoid unneeded reallocations by using HTParseAnchor() instead of HTParse() -LP * trim some fat from HTML_start_element(), case HTML_A -LP * add optimized string functions StrAllocCopy_extra() [and paired FREE_extra()] which store string size and never shrink; for heavily reallocated strings in temp objects. Used in SGML.c for value[] fields currently -LP * in HTUtils.h, FREE macro was unsafe if happen before 'else' -LP * modify HTParse() to escape any spaces which remain from LYLegitimizeHREF() or other sources (report by Peter Rasmussen ) -TD 2002-12-18 (2.8.5dev.12) * remove a check in LYMain.c for Cygwin's console, which does not work with screen (report by Frederic L W Meunier) -TD * undo line/pool logic, fixing a memory leak -LP * changes proposed by Bela Lubkin, to optimize ALLOC_IN_POOL macro substitution, pack bitfields in HTStyleChanges to make them more compact on some systems -LP * correct logic of do_check_recall(), broken in dev.9 cleanup of pathname constants with LYIsDosDrive() (report by Frederic L W Meunier) -TD * update makelynx.bat, built with slang configuration -TD * turn on file-upload in makefile.msc -TD 2002-12-01 (2.8.5dev.11) * fix a typo in changelog date -TD * add project version & date to lynx.cfg -TD * document xxx_PATH variables in lynx.cfg -TD 2002-11-11 (2.8.5dev.10) * modify file-upload to provide content-type based on file-suffix. This is needed to validate local html files with current the W3C validation service webpage -TD * modify file-upload to warn but permit the filename or file contents to be missing (report by Clemens Fisher) -TD * workaround for compiler bug in fix_httplike_urls() -BL * change enumShowColor so SHOW_COLOR_NEVER is zero as in 2.8.3, which makes the result from LYChoosePopup() match the enum values. This fixes a bug which would make the slang configuration toggle back to color when accepting an options screen (report by Sean McGuire and Carlton Anderson) -TD * add a null-pointer check in content_is_compressed() -TD * in partial mode, load document with #fragment on the fly. Long awaited fix. LYMainLoop_pageDisplay() now returns BOOL -LP * calculate WWW_SOURCE once, it is now a constant, not a define -LP * use malloc instead of calloc in several places, particularly in HTList operations (each field initialized explicitely) -LP * fix a few typos in samples/mailcap (Carlton Anderson ). * ifdef'd default_fg and default_bg for PDCURSES to be 15, since that agrees with lynx's use of color names, and works around a bug exposed by the ASSUMED_COLORS change from 2.8.5dev.9 (report by DK) -TD * simplify pretty-source code in SGML.c using PUTS(), put_pretty_entity() and put_pretty_number() -TD * refine S_attr test in SGML.c to make pretty-source code handle the case where a blank precedes the '='. The misplaced markers made lynx omit newlines from the pretty-source view (report by LP) -TD * rewrote HTStat() to ensure that it does stat() for files on Windows -TD * HTTCP.c patch to make DJGPP/Watt-32 non-blocking connect in HTDoConnect(). This allows pressing 'z' to abort connections. Removed extra _HTProgress() for INET6; it overwrote previous progress message -GV, DK * in SGML.c, element stack now use a pool of 10 elements to avoid most of malloc/free calls -LP * in HTParse(), use single alloca instead of three malloc/free pairs -LP * in HTParse.c, avoid most strcasecomp calls in scan() - LP * modify GridText.c to store lines, anchors, and forms in the same HText memory pool as styles. This will optimize memory allocation/deallocation by 8Kb units. The down side: lines in TRST mode will be stored twice. Some structs are made a bit more compact -LP * add DJGPP to SINGLE_USER_UNIX special cases -DK * modify configure script to not strip the -g option from $CFLAGS if it was present in the user's environment rather than autoconf adding it (report by DK) -TD * add --with-curses-dir configure script option -TD * in SGMLFindTag, we translate string uppercase in-place and launch case insensitive search, add SGMLFindUprTag() to cover the cases where the string is readonly - LP, TD * DJGPP build restored. MV_PATH was undefined long ago by mistake. Fix recent DJGPP changes in HTTCP.c: move _resolve_hook few lines below, it will not compile otherwise. Remove minor warnings -LP * optimize parsing html with many relative links, href="#fragment" - HTAnchor_findChildAndLink() and HTML_start_element(), case HTML_A: now avoid significant overhead when link == HTInternalLink (e.g., resolving against base, lots of reallocations, parent lookup, etc., all are useless). Two functions affected. [HTAnchor.c, HTML.c]. The code works both with and without DONT_TRACK_INTERNAL_LINKS symbol -LP * optimize parsing of large html files - with thousands of anchors - LP + remove quadratic complexity from split_line() usage [GridText.c]. Because of some work with anchors on the last(=split) line, the anchors list was traversed from the beginning for each output line. Now we store last_anchor_before_split explicitly. [According to gprof, split_line() weight decreased from 33% down to 4%, with the following test file: 13,000 output lines, 3,100 anchors, ~800Kb] + remove quadratic complexity from HTAnchor_findChild() usage [HTAnchor.c]. HTParentAnchor::children list was traversed zillion times, now we split it into a tree (named anchors , fast search required) and a list (just a storage for the rest anchors, no search required). [The same file, gprof shows HTAnchor_findChild() weight decreased from 11% down to 0.1%] + remove quadratic complexity when generating a 'l'ist page, now traverse anchors list only once [LYList.c, GridText.c]. * add a search method to HTBTree implementation. - LP * amend check for refresh-URL to avoid adding a link if the retrieved page is compressed, since the link would be added to the compressed file, corrupting it (reported by Michel SUCH and Karl-Heinz Weirich ) -TD * strip parameters from refresh-URL -TD * correct misspelled $LYNX_LOCALEDIR variable in LYMain.c (reported by Michel Such) * change the install procedure for lynx.cfg to attempt to update the file with the user's customizations if any, and to save the old configuration information in a series, e.g., lynx.cfg-1, lynx.cfg-2, etc. -TD * re-fix the problem with config.cache not being removed at the beginning of the configure script - see 2.8.5dev.3 (report by Clemens Fisher) -TD 2002-10-06 (2.8.5dev.9) * improve ETA data shown in experimental read-progress (from Debian #117476) * modify -dump, -source and related options which set dump mode to also set -nopause (report by Benjamin Pflugmann ) -TD * correct indexing in LYStyle.c our_pairs[] array, which did not allow for use of default colors -TD * make ASSUMED_COLORS in lynx.cfg apply to normal curses implementations which do not implement assume_default_colors() (prompted by discussion with Bela Lubkin) -TD * make permanent an ifdef from HS which provides for truncating a too-long title with an ellipsis -HN * gettext'ify a few overlooked strings in LYOptions.c -HN * modify LYGetHostByName() for MSDOS/DJGPP/Watt-32 to enable terminating it by pressing 'z' (patch by Gisle Vanem) * update configure script macros for NLS to gettext 0.10.40 -TD * add PRCS version/date to lynx.cfg -TD * setup ifdef's for Unix-specific permissions checks to exclude single-user systems such as OS/2 EMX, Cygwin and BeOS, which otherwise act like Unix since we can run the configure script on those platforms -TD * re-order some tests in the configure script to allow pdcurses' X11 port to be recognized as supporting color and line-drawing characters -TD * work around a Cygwin bug which causes subprocesses of a full-screen program to dump core (perhaps reported by Frederic L W Meunier, but observed in running lynx in a bash shell spawned from my directory editor) -TD * fix an inequality in HTDirTitles() which made the "Up to" link omitted for the first level of an ftp listing, making it awkward to visit the parent directory if one first visited a subdirectory -TD * change HTURLPath_toFile() to keep local URLs distinct from remote ones, so win32 version will not display misleading drive letter on ftp listings -TD * rewrote Home_Dir(), adding checks for "My Documents" on Windows 2000, and ensuring that the resulting directory actually exists -TD * change ifdef's in LYwaddnstr() to use waddstr() consistently, since wide-character curses implementation treat the string in the given locale anyway, just like the waddnwstr() call -TD * reduce clutter with new macro LYIsDosDrive() -TD * add ifdef's for OS/2 EMX to existing DOSPATH code which checks for drive letter (Michel Such) * modify definitions of IsOurFile() and OpenHiddenFile() to allow trace file to be written when one already exists -TD * use new macros LYSameFilename(), LYSameHostname(), LYIsNullDevice() to hide platform-specific filename comparisons -TD * change sed delimiter in configure script to use '%' consistently, to avoid using '@', which may appear in AFS pathnames (report by Martin Mokrejs) -TD * narrowed accommodation for paths with embedded blanks in LYLegitimizeHREF() to exclude those containing newlines or tabs (report by Leslie Fairall for http://www.realtor.com) -TD * modified VMS build scripts to allow linking with OpenSSL, tested with OpenSSL-0.9.6g using UCX network libraries. It is reported (by ) that one can modify the scripts to also build with Multinet's UCX emulation, but the machine I used for testing has only UCX (comp.os.vms discussion with Christoph Gartmann ) -TD * modify UCSetBoxChars() to assume wide-character curses implementations can draw boxes -TD * reduce the number of strncasecomp() calls with associated constants by making macros for the lynx internal URL types, e.g., isLYNXCGI() -TD * modify logic that handles goto-fragment (e.g., G #foo) to update the URL shown in the info page (Debian #113734) -TD * reduce clutter using new macros findPoundSelector(), restorePoundSelector() and function trimPoundSelector() -TD * reduce clutter using functions for updating the strings in DocInfo, mainly in LYMainLoop.c -TD * renamed 'document' to 'DocInfo' -TD * reduce clutter by using NonNull() macro consistently -TD * define HistInfo struct in terms of document, to make it clearer -TD * add verification of SSL server certificates. It requires a "cert.pem" file or cert files in the "certs" subdirectory in your OpenSSL directory for CA verification. The mod_ssl distribution includes a "ca-bundle.crt" that has a good set of root certifying authority certs and works well for "cert.pem". Adding custom CA root certs can be done by either putting them in the server "cert.pem", or (for a normal user) copying "cert.pem", adding the cert, and setting the SSL_CERT_FILE environment variable before running Lynx (Chris Adams ). * add REPLAYSECS config value to allow slowing command scripts down, for testing -TD * implement a "set" command for command-scripts, allowing the script writer to manipulate the sleep-times for messages (prompted by discussion with Ville Herva) -TD * implement an "exit" command for command-scripts (Ville Herva) * modify logic for -cmd_script to stop reading from the command script when an end-of-file is detected (patch by Ville Herva ). * fill in a few descriptions of restrictions for the help message, as well as showing the on/off state of the "goto_xxx" restrictions -TD * correct inverted logic of restrictions table which made "-restrict=default" provide incorrect values for several items. This was broken in 2.8.4dev.19 (reported by Jeff Long and RobertM ) -TD * add environment variable LYNX_TRACE_FILE which, if given, overrides the compiled-in value of Lynx.trace (or LY-TRACE.LOG). This specifies the name of the trace file relative to the home directory -TD * treat empty string for most environment variables, e.g., those specifying a pathname, as null -TD * add environment variable LYNX_LOCALEDIR to simplify configuration on OS/2 EMX (from discussion with Michel Such) -TD * add alias for charsets "ISO-8859-8-I" and "ISO-8859-8-E" to "iso-8859-8" (request by Atsuhito Kohda) -TD * modify handling of HTML_SUP to always append '^'. It was checking if the preceding character was a valid hexadecimal code (reported by HN and Steve White ) -TD * correct check for calling endwin() to allow for curses implementations without newterm (report/patch by Brett Lymn). * add koi8-r.html as a test for non-ANSI 8-bit displays. * construct "Accept-Encoding" gzip/compress parameters based on whether lynx is built with zlib and/or gzip/compress paths are defined. The latter is assumed on Unix (by the configure script), though non-Unix environments may lack those utilities (report by Roy Langford , analysis by Frederic L W Meunier) -TD * modify mouse support in slang configuration (Eduardo Chappa): + Middle button takes you to the bookmarks file. + Clicking on empty parts of the screen makes the screen scroll. This is not 100% true, here are the caveats related to this: + When you click in the first line of the screen pine goes back one screen, the same happens when you click in the last line (this is normal Lynx behavior, I did nothing in this respect). With this patch, intermediate scrolling is enabled, which means that left clicking in different (empty parts) of the screen may move you half a screen or two lines. The idea is that close to the top you scroll more, close to the center you scroll less and you scroll in the direction up or down according to which half of the screen you click on. + If you click on an empty part of the screen, Lynx changed its behavior from doing nothing to moving the active link to the closest link near the click. This is not disabled by this patch, instead, if a closest link is not found, the screen will scroll, according to the position of the link. * improve check in LYgetEnum() for ambiguous/abbreviated names in the lynx.cfg file, e.g., to match the string "visited_links=first" without confusing it with "visited_links=first_reversed" (report by vortex5 , analysis by TH) -TD * use StrAllocCopy() rather than strdup() in parse_style() (LYStyle.c) to avoid false report from leak-checking (from report by Martin Mokrejs) -TD * share SSL handle between HTTP.c and HTAAUtil.c so that call of HTAA_shouldRetryWithAuth() from HTLoadHTTP() updates the handle used in that function. This makes lynx able to get the user/password prompt for https://enter.nifty.com/iw/ -TH * fix a highlighting problem in view-source mode, which left the final character of the target unhighlighted -TH * modify LYStringToKeycode(), which is used by -cmd_script option to decode characters, to handle hexadecimal codes written with -cmd_log option from dev.8 changes (reported by Gleb V Kotelnitskyy ) -TD * modify ifdef's in LYCurses.h to implement underline-links for slang configuration (report by TH) -TD * modify checks with WEXITSTATUS() and similar "result" macros to ensure that they consistently use corresponding "test" macros such as WIFEXITED() -TD * add a null-pointer check in GridText.c to cover a problem with http://209.1.58.86/store/ (reported by Walter Ian Kaye) -TD * add some more CTRACE's to LYCookie.c to help diagnose LV problem report -TD * updated nl.po (patch by Pieter-Paul Spiertz ) -JS * new (cs.po, hu.po, tr.po) and updated (da.po, et.po, it.po, ru.po, sv.po) po files from http://www.iro.umontreal.ca/contrib/po/maint/lynx/, used msgmerge to align with 2.8.4's lynx.pot and corrected some minor issues highlighted by check_po. Checking for a newer version of check_po (to handle patterns such as "%1$s") found none, but noticed a comment in gettext mailing list stating that msgfmt does checking. Comparing with "msgfmt -c -v", found that it does useful checks, but misses about 1/4 of what check_po finds. Will use both -TD * escape blanks and other non-7bit graphic characters in startfile and similar addresses to guard against interpreting the address as multiple lines during a GET, etc (report by Ulf Harnhammar ) -TD 2002-05-28 (2.8.5dev.8) * updated makelynx.bat (vtailor@gte.net). * recognize charset value in meta description even if content-type is not given, in LYHandleMETA() -VH * remove ifdef that disabled home/end keys with Cygwin configuration -DK * fix a problem when whereis target string, which includes Japanese and is top of the second line in the link string, is in the current link (patch by Hataguchi Takeshi). * fix a problem with highlighting Japanese string (patch by Hataguchi Takeshi). * modify LYDownload() to ensure that local addresses under DJGPP using the special form of path beginning "/dev/" are passed to external programs without stripping the initial slash from the path. This special form of path will be understood only by other DJGPP programs. Addresses of the form "/dev/x/" are equivalent to the DOS path "x:\". Addresses of the form "/dev/env/VARI" are equivalent to the environment variable "VARI" -DK * modify remove_bookmark_link() to assume that OS/2 EMX does not allow rename of a file overwriting an existing one -IZ * recognize local .php files as HTML files (patch by Karl Eichwalder ). * change LYCurses.c to not redefine gettext(), and use ScreenClear() instead of clrscr() for DJGPP -DK * the DJGPP port of Lynx once used to compile with DJ Delorie's tcp/ip library. It is no longer the case; Watt-32 is required. Changed to assume WATT32 is defined when DJGPP (or __DJGPP__) is defined (patch by Gisle Vanem). * change LYKeycodeToString() to provide a default translation for characters which are not key-symbols, etc., so they may be used in command scripts with the -cmd_script option (reported by Christoph Fabianek) -TD * new po files (ca.po, et.po, it.po, zh_TW.po) and updated de.po from http://www.iro.umontreal.ca/contrib/po/maint/lynx/, used msgmerge to align with 2.8.4's lynx.pot and corrected some minor issues highlighted by check_po script by Stefan Hundhammer -TD * some cleanup/restructuring of HText_SubmitForm(), incomplete - toward implementing correct MIME boundary -TD * revalidate user's guide and related files using W3C validator via file-upload facility -TD * simplify some loops in GridText.c using new function next_anchor() -TD * quote field-names used when submitting form-data as suggested in RFC 2068 (report by Lieven Tomme ) -TD * remove configure-check for mkstemp(), which is redundant given that lynx writes temporary files in a directory which is not readable by other users. On more than one system (e.g., Solaris), mkstemp() is not usable in the manner we attempted, since it does not necessarily choose a distinct name if the previously-chosen filename no longer exists (report/analysis by PG) -TD * correct a typo in configure macro CF_HEADER_PATH which told the script to look for header files in the user's $HOME/lib rather than $HOME/include directory -TD * update config.guess, config.sub -TD * add check for HTTP headers using Netscape extension "Refresh", and if found, add a corresponding refresh-URL at the beginning of the document. Fixes Debian #126723. * strip username from URLs used in an HTTP GET, and warn about this condition. The example given was "http://www.microsoft.com&item%3dq209354@212.254.206.213/1338825GHU_98.asp" the text of which could mislead a user into believe it was an official site (reported by Frederic L W Meunier) -TD * add limit checks in HText_trimHightext() to fix an infinite loop visiting this site (which contains a form with only hidden input fields): 1- http://www.ibazar.com.br/ 2- Click "Cadastro" and accept all cookies 3- Click "[accepte.gif]" (reported by Frederic L W Meunier) -TD 2002-01-06 (2.8.5dev.7) * ifdef'd new directory-sorting code to compile when configure --disable-dired is specified -TD * add (commented-out) definitions for building with OpenSSL in makefile.msc, tested with OpenSSL 0.9.6c and Visual C++ 5.0 -TD * correct call to HTGetLinkInfo() in follow_link_number() from 2.8.5dev.6 changes to fix uninitialized pointer (report by PW) -TD 2002-01-01 (2.8.5dev.6) * add configure options to link with dbmalloc and dmalloc debugging libraries which offer different features than --enable-find-leaks -TD * restructured LYhighlight() and logic related to highlighted text using new functions LYSetHilite(), LYAddHilite(), LYGetHiliteStr() and LYGetHilitePos() to allow more than two lines to be highlighted in links (Debian #114062) -TD * simplified some of LYCookie.c with new functions find_domain_entry(), alloc_attr_value() and parse_attribute() -TD * modify expansion of %s for WIN_EX EXTERN commands so that short names (used when the command begins with an uppercase character) are not quoted, and use backslashes. The normal %s expansion uses forward slashes and may quote the name if it contains a blank -TD * modify local directory sort by type to ignore leading '.' characters when looking for filetype -TD * modify logic of HTDirEntry() to avoid storing a trailing backslash (DOS-style path separator) in the anchor URL for local directory entries (from report by Hataguchi Takeshi) -TD * amend change in 2.8.5dev.2 to HTLoadHTTP() to omit "Accept-Encoding: gzip" ensuring that also -source or -dump option is used. Retesting excite.com shows that it no longer matters, since the page was replaced by a short javascript which is not sent compressed (request by Hataguchi Takeshi) -TD * correct a missing definition for COMPRESS_PROG in the configure script introduced by 2.8.5dev.5 changes (also noted by Stepan Kasal) -TD * several fixes from Stepan Kasal : + remove code in LYCurses.c which checks ttytype variable for "dec-vt" prefix. EWAN, a decent telnet program for M$ Windows, sets $TERM to dec-vt100. This is similar to vt102 but it is not appropriate to use vt100 settings for it. ncurses has in its terminfo database an entry for "dec-vt100|EWAN telnet's terminal" The terminfo file is successfully opened when ncurses is initialised and ttytype is set to the name mentioned above. After stripping "dec-" from it, lynx ends up searching for "/usr/share/terminfo/v/vt100|EWAN telnet's terminal" which cannot cannot be found and lynx crashes. + compress installed html files with the -9 option of gzip. + improved install-help makefile rule * fix some longstanding problems with the DOS port -DK + fix inability to break out of a hung nameserver lookup or hung connection attempt without aborting lynx entirely. Using the WATT-32 signal handler for this seems to work well. Change the default compile option for DJGPP to -DIGNORE_CTRL_C, causing lynx to ignore SIGINT, so CTRL-BREAK is completely disabled. With this patch CTRL-C stops current actions without quitting lynx. To have a way to abort lynx when necessary, bind ALT-X to SIGQUIT. (The unix default of CTRL-\ is not bound to the same scan code on different international keyboards, while ALT-X is familiar to DOS users for existing programs). Because the WATT-32 signal handler was not available to external programs, a patch to WATT-32 is necessary for the new lynx code to work. The patch for WATT-32 is shown in the INSTALLATION documentation. + added some fixes for "/" vs "\" handling in pathnames so that non-DJGPP programs will see standard DOS pathnames when called. The mailer code was ignoring the environment variable SHELL when calling the mailer, leading to a lack of environment space for the mailer to work -DK + add calls to _eth_release() and _eth_init(), which Gisle Vanem says should not be necessary in this part of lynx. But this seems to fix get intermittent hung nameserver lookup sessions after using CTRL-C. * simplified a loop in HTConfirmCookie() and added CTRACE's to demonstrate that this is working properly (addresses Debian #119751) -TD * add some CTRACE's to curses screen initialization and resizing to provide better diagnosis of problem reported by David Balazic on HP-UX 11.00) -PG * modify configure.in and aclocal.m4 to work with autoconf 2.52 patched with ftp://invisible-island.net/autoconf/autoconf-2.52-20011227.patch.gz * modify configure macros CF_CURSES_CPPFLAGS and CF_NCURSES_CPPFLAGS to ensure that the (n)curses.h header file is actually found, in case someone tries to build lynx without having installed the development files (based on anonymous posting on comp.os.linux.networking newsgroup) -TD * update config.guess, config.sub from http://subversions.gnu.org/cgi-bin/viewcvs/config/config/ 2001-11-18 (2.8.5dev.5) * modify prompt for file- or directory-name in rename/move operation to provide a default based on the selected file/directory -TD * add -DOK_OVERRIDE to makefile.msc, to allow rename/move of files in the local directory editor -TD * correct delay time for win32's HTAlert, etc., which was in milliseconds rather than seconds -TD * modify check for mbstate_t in CF_WIDEC_CURSES to define HAVE_MBSTATE_T if that type is found, use this ifdef in LYwaddnstr() to make that compile properly on Solaris 2.6 (report by PG) -TD * disable SUPPORT_MULTIBYTE_EDIT ifdef for EBCDIC (i.e., NOT_ASCII) -PG * collect names of lynx.cfg and .lynxrc variables into LYrcFile.h, to simplify checks for matching spelling, e.g., against the values used in LYOptions.c * modify dired support to allow sorting by a variety of things in addition to the existing sort into files versus directories. This is saved in ~/lynxrc as dir_sort_order -TD * if --disable-full-paths is specified, do not use full path for SYSTEM_MAIL (report by IZ) -TD * modify configure script to reduce the number of xxx_PATH definitions compiled into the code if --disable-dired was specified. Change configure script so that dired support for chmod, copy, mkdir, and touch to use built-in functions rather than external programs -TD * modify configure script tests for program pathnames so that if full pathnames are specified and the program is not found, no corresponding xxx_PATH symbol is defined -TD * eliminate duplicate LYGetEnum() in LYrcFile.c, using the variant from LYReadCFG.c which allows abbreviations -TD * change handling of tagsoup option in LYrcFile.c to invoke the corresponding HTSwitchDTD() function, so saved tagsoup initializes properly from ~/.lynxrc (report by Michel Such) -TD * modify some tag-names in LYOptions.c to correspond to the names used in lynx.cfg to make the corresponding names work properly when used in ~/.lynxrc via ENABLE_LYNXRC settings (report by Michel Such) -TD old new ---------------------------- assume_char_set -> assume_charset show_scrollbar -> scrollbar DTD_recovery -> tagsoup show_rate -> show_kb_rate user_agent -> useragent ---------------------------- * correct length passed by LYpaddstr() to LYwaddnstr(), which could be larger than allowed -TD 2001-11-08 (2.8.5dev.4) * if file-upload code is configured, suppress message that indicates it is not implemented, i.e., "[FILE Input] (not implemented)" -TD * modify file-upload submission to send plain text if the file is entirely printable text. Mime encoding is needed if the file contains nulls, etc., but reportedly may confuse some hosts -TD * suppress "charset=" clause on form submission if it is iso-8859-1 -TD * move case for F_FILE_TYPE in HText_SubmitForm() to obtain original behavior of fallthrough for F_SUBMIT_TYPE, F_TEXT_SUBMIT_TYPE, F_IMAGE_SUBMIT_TYPE to translate their character set, etc. (report by KW) -TD * revert 2.8.4dev.21 change to avoid truncating cookie path in LYSetCookie(). The server that wouldn't work with the current lynx behavior is identified as "Oracle_Web_Listener/4.0.8.2.3EnterpriseEdition" -DK * modify LYLegitimizeHREF() change from 2.8.4dev.21 to eliminate newlines from the HREF rather than converting them to spaces. This fixes a problem with www.ebay.com which splits up HREFs with newlines. Changing the newlines to spaces made the HREF no longer match, e.g., when it was built up from a CGI script (report by Morten Bo Johansen) -TD * add two test files for testing UTF-8, based on Markus Kuhn's demos (quickbrown.html and utf-8-demo.html). These work with ncurses 20011103 patch, for wide-characters except for combining characters (more work is needed in ncurses). Tested with XFree86 xterm (patch #163) -TD * modify select_multi_bookmarks() check for interrupt character to limit it to "hard" interrupt characters such as ^G. This fixes a case where "z" would have been treated as an interrupt character in advanced multibookmark mode (reports by Michael Warner, HN, as well as Debian #111463) -TD * modify SUPPORT_MULTIBYTE_EDIT logic in LYUpperCase() and LYLowerCase() to check for a null character following an upper-128 code. This is more likely to occur in EBCDIC, though the multibyte strings should not have a null at this position in any case (report by PG) -TD * for wide-character curses configuration, do not force repainting at the end of display_page() -TD * modify configure test for mkstemp() to check if that function returns distinct values (report by Fr3dY indicates that AmigaOS has a broken version of mkstemp() which always returns the same value) -TD * modify LYwaddstr() to use wide-character curses functions to make UTF-8 output work without relying upon side-effects of narrow-character functions. Note that this relies on the user having set a UTF-8 locale, e.g., en_US.UTF-8 -TD * modify HText_appendCharacter() to not use utfxtra_on_this_line when compiling with WIDEC_CURSES, since the curses library already does this adjustment -TD * correct the following names in LYrcFile.c which were added to allow ENABLE_LYNXRC lines in lynx.cfg to enable them to be saved in ~/.lynxrc old new where-used ------------------------------------- DTD_recovery tagsoup (command-line option and lynx.cfg) show_rate show_kb_rate (lynx.cfg) user_agent useragent (command-line option) ------------------------------------- (report by Michel Such ) -TD * modify LYRefreshEdit() to clear field before repainting (patch by Hataguchi Takeshi) * for CJK configuration, force clearing/repainting in HTUserMsg() (patch by Hataguchi Takeshi) * make HTInfoMsg() sleep condition consistent with other messages by using LYSleepInfo() -TD * reduce clutter with new function utf8_length() -TD * replace !isascii(ch) with new macro is8bits(ch), to reduce clutter, fix some sign-extensions and make it more portable -TD * change some of the "#if" statements to "#ifdef", to work around broken versions (2.96, 3.0.1) of gcc distributed with Mandrake 8.1 (though reportedly this is due to Redhat): the -C option passes through comments as usual, but some comments expand on preprocessor lines, which causes the preprocessor to report an expression error. This prevented "make install-help" from running, though the -C option is not needed for that. However, lacking a working -C option makes the C preprocessor useless for analyzing bugs -TD * modify configure script to accept --with-screen=ncursesw, to build with the wide-character version of ncurses -TD * modify configure script to look for mkdtemp(), to quiet another bogus linker message -TD 2001-10-06 (2.8.5dev.3) * add CF_MKSTEMP configure macro, from vile, to check for a working mkstemp(). This will quiet some bogus warning messages in recent runtime support, but (see 2.8.3) does not affect the security of temporary files in lynx -TD * updated CF_PATH_SYNTAX configure macro, from vile, to handle leading "\\" in a win32 pathname -TD * for configurations that provide scrollbar, add a checkbox to the Options menu to enable or disable it -TD * modify LYGetHostByName() in HTTCP.c to use the threaded _WINDOWS_NSL code for all Cygwin machines. The ability to interrupt nameserver lookup has not worked in Win98 using the Cygwin port, despite defining _WINDOWS_NSL. It looks like the threaded code was only for WinNT. At least under Cygwin, that code also seems to work fine under Win98 -DK * add FIELDS_ARE_NUMBERED as a possible value for DEFAULT_KEYPAD_MODE in lynx.cfg as well as keypad_mode in .lynxrc -TD * add NUMBER_FIELDS_ON_LEFT and NUMBER_LINKS_ON_LEFT to lynx.cfg, use these to control where field- and link-numbering is placed. Caveat: there are some cases where fields that do popup's are truncated, e.g., in the Options menu, when right-alignment is used -TD * support for DJGPP's two forms of file addressing, [a-zA-Z]:[/\\] and /dev/[a-zA-z]/ -DK * add samples/lynxdump script, to illustrate how to use lynx -dump with no link references (prompted by discussion with LV) -TD * add samples/keepviewer script, to illustrate how to retain a temporary file for use in an external viewer -TD * add ifdef's in is_url() to avoid recognizing URLs if they are disabled in the given configuration, i.e., bibp, finger, ftp, gopher, news (report by Frederic L W Meunier) -TD * modify LYrefresh() to take into account whether a popup window exists, so that a search prompt will not overwrite a popup. This bug was introduced by the curses pads (reported by Felicia Neff and Fr3dY ) -TD * add note in keystroke_help.html about CTRL-V as literal-next (lnext) for users who are unfamiliar with stty -TD * add NcFTP-style ftp-URLs which are supported by Netscape and wget (request by Martin Mokrejs) -TD * add traces in LYReadCFG.c and LYrcFile.c to report lines which are not found in the symbol table, to help diagnose when a user adds lynx.cfg information to .lynxrc -TD * define additional -trace-mask option, 8=config -TD * modify LYtouchline() to avoid using wredrawln() for ncurses, since the LYwin variable may be a pad much wider than the screen, which is not handled properly (report by Karl Eichwalder ) -TD * correct beginning of configure script, which was supposed to remove config.cache, but did not, due to a misplaced line when it was added 1998-06-04 (prompted by a report by Fr3dY that the checks for srand/rand did not work) -TD 2001-08-15 (2.8.5dev.2) * several small fixes to HTFile.c to make directory listings work properly on win32, e.g., stat'ing a directory with a trailing slash fails (reported by Hataguchi Takeshi) -TD * adjust definitions in LYCurses.h to get rid of slang-ifdef's for getyx() and wmove() -TD * change order of srandom/random versus srand48/lrand48 -DK * patch to get the DJGPP port to use the configure script -DK It seems to work well in the variations I have tried, including both PDCurses and SLang. revised INSTALLATION for DOS, giving a URL for my DOS patch to openssl. I dropped the reference to goto URL of the form file:///dev/c/path/filename, since this only works in certain parts of lynx (such as lynx.cfg). I'll try to get this working in the future. In fixing makefile.in, I patched the sed script for converting the path to docdir. As far as I can tell, however, from my examination of lynx.cfg, this isn't used for any platform. Does this part of the sed script do anything? Things still needing fixing for DOS: + support for both forms of file addressing, [a-zA-Z]:[/\\] and /dev/[a-zA-z]/. + support for gzipped help files. This works with long file names in a DOS box under Windows, but not in plain DOS, which doesn't allow double extensions. + better handling of local files in root directory. "file:///c:/" takes a long time to work, but "file:///c:/." works fine. I haven't really looked to see why. + no ability to break out of hung nameserver lookups or http requests without closing lynx with SIGINT. This is the biggest complaint I get by email. * modify ifdef for myGetChar() in LYStrings.c to build with PDCurses 2.3 e.g., to use a version which is modified for Japanese input (patch by Hataguchi Takeshi ). * review LYSafeGets() calls, stripping newlines from a few places where they were overlooked, and simplifying some places where LYSafeGets() would normally return a buffer ended with a newline (prompted by a report by Brian S Queen for LYTraversal.c) -TD * correct reallocation-size in ProcessMailcapEntry() * modify HTLoadHTTP() to omit "Accept-Encoding: gzip" if command-line "-base" option is given. This makes lynx -base -source excite.com work as expected. Otherwise, excite.com will transmit the document gzip'd, and the ensuing logic in HTSaveToFile() would see the mime-type as gzip rather than text/html, and not prepend the base URL (report by Kai Shih ) -TD * work around defect in move_anchors_in_region() and related logic by changing default for nested-tables to FALSE when Lynx is not configured for color-style. The problem is that when an anchor is shifted right by nested-table logic, if it has a
near the beginning of a table cell and it happens to be split across a line, its size will not be adjusted properly (report by Hataguchi Takeshi) -TD * correct logic used for trimming TEXTAREA introduced in 2.8.4pre.3, which did not trim carriage-return characters if TRIM_INPUT_FIELDS was false. (report by Hataguchi Takeshi ) -TD * correct a bug in search logic which happens with pages shorter than the screen, due to improper starting-line value sent to search function. Fixed by adding checks in www_search_backward() and www_search_foreward(), (report by -Frederic L W Meunier) -TD 2001-07-24 (2.8.5dev.1) * modify GetChar() definition for PDCurses to ignore key-modifiers which are passed back from getch() as if they were key codes. Those interfere with shifted commands such as 'Q' -TD * modify parse_style() function to operate on a copy of its parameter, to avoid changing it. Otherwise, when parse_style() is executed as a side effect of start_curses(), its data is modified and not valid on successive calls. This bug existed prior to 2.8.4dev.17 -TD * set return value of edit_current_file() to true if the file is edited. This forces a reload for example if one edits the current html file, and is needed to make PDCurses repaint the screen as well (report by vtailor@gte.net, bug introduced in 2.8.4dev.21) -TD * add ifdef for wresize() to accommodate FreeBSD 3.x which has resizeterm() but not wresize(). Also, use a 'long' rather than 'attr_t'. These changes are needed to build with the 1.8.6ache patches to ncurses (report by Matt ) -TD 2001-07-17 (2.8.4rel.1) * remove comment in README.ssl directing people to http://www.moxienet.com/lynx/, since that page is moot with 2.8.4 (report by DK) * add an ifdef in CF_CURSES_FUNCS configure macro to avoid confusing ncurses' term.h with other versions -TD * update URL for zlib -Frederic L W Meunier 2001-07-14 (2.8.4pre.5) * document CHARSETS_DIRECTORY and CHARSET_SWITCH_RULES in lynx.cfg -IZ * add a fallback in _Switch_Display_Charset() if no CHARSETS_DIRECTORY was specified -IZ * ensure that config variable names in LYReadCFG.c are in alphabetic order, though only the first character matters (report by IZ) -TD * updated notes on DOS in INSTALLATION -DK * modify ifdef in HTTP.c to build with configure --with-ssl --disable-news (report by Frederic L W Meunier) -TD 2001-07-10 (2.8.4pre.4) * correct red/blue color swapping for PDCurses when built on Unix, which uses X11 -TD * correct order of checks for wrapping in www_search_forward() and www_search_backward(), which would allow an infinite loop if there were no anchors on the current page (report by Frederic L W Meunier) -TD * add a missing chunk to reverted change of SGML_character() -nsh@horae.dti.ne.jp 2001-07-07 (2.8.4pre.3) * review/add descriptions of new command-line options in lynx.man, lynx.hlp and Lynx_users_guide.html -TD * update da.po, ja.po, ru.po, sv.po from http://www.iro.umontreal.ca/contrib/po/maint/lynx/ (report by JS) -TD * add command-line option -curses-pads which can be used to disable the left/right scrolling logic. This is used for testing, e.g., the repaint bug reported below -TD * remove logic in lynx_force_repaint() which reset the window background, since it does not work with the logic used to implement left/right scrolling. Retested older versions of ncurses and did not find a case where this was needed after all (report by IZ) -TD * revert dev.21 change to SGML_character() S_equals case, which has undesirable side effects regarding spacing around '=' (report by nsh@horae.dti.ne.jp) -TD * define additional -trace-mask option, 1=SGML -TD * add -trim_input_fields command-line option and corresponding TRIM_INPUT_FIELDS to lynx.cfg to suppress trimming of TEXT and TEXTAREA fields in forms. This does not retain trailing blank lines in a TEXTAREA; more work would be needed to do that (reported by VH, most browsers appear to retain trailing blanks) -TD * modify parsing of "" to allow "" comments in SGML_character(). Though the HTML 4.0 spec is fairly clear, other browsers (and some webpages) assume that " and comment -TD * improve logic for nested-tables to handle cases such as www.tin.org -IZ TRST ignores the horizontal alignment *inside* a multi-line cell of a table. This limitation, in conjunction with the nested-tables modifications does not work well when text with a horizontal alignment (e.g.,
    ) is put in a table cell. This patch introduces a *limited* logic to take this info into account. It should work OK as far as the last non-empty line of the cell is ended by a "line-end" command, not by a (this is often the case with contents using horizontal formatting). * updated URLs for ncurses (report by DK) -TD * updated samples/bright-blue.lss -IZ * make definition of $(SHELL) in makefile.in's consistent, in terms of CONFIG_SHELL, since the configure script no longer uses 'include', and this creates some problem with nonstandard shells (report by IZ) -TD * update/extend lists in lynx_help_main.html -Frederic L W Meunier * add note about lynx.cfg mouse and color configuration to user's guide -PW * document -cmd_log and -cmd_script options in user's guide (Michael Warner). 2001-06-10 (2.8.4pre.2) * corrected order of parameters of is_prefix() function in the scan_cookie_sublist() function, broken in dev.21 changes (report by Ken Scott ) -TD * add a fallback definition for SA_LEN(), to build with glibc 2.2 (report by Mark Sutton , patch by Arkadiusz Miskiewicz at http://cvs.pld.org.pl/SOURCES/lynx-SA_LEN.patch?rev=1.1) * modify ifdef in HTCheckForInterrupt() to build with DJGPP -DK * remove include for , use which is the default for PDCurses - DK * reviewed/reverted some changes from dev.20 which changed explicit "r", "w", and "a+" fopen modes to TXT_R, TXT_W and TXT_A, where they relied on the default mode set via SetDefaultMode(). With DJGPP, files containing special graphics such as README's might not otherwise display, for example (report by DK) -TD 2001-06-03 (2.8.4pre.1) This version has been test-built on Linux (BSD curses, ncurses, slang), Tru64 5.1 (cc, curses/ncurses/slang), OpenVMS, OS/2 EMX, win32 (both Visual C++ 4.1 and 5.0 as well as Borland C++), AIX 4, HPUX 11, Solaris 8. Recent builds include SunOS 4.1.4 (cc and gcc, curses/ncurses/slang), Solaris 2.5.1 (cc and gcc, curses/ncurses/slang) and IRIX 6.5 (cc and gcc, curses/ncurses). Less recently, FreeBSD 4.1, NetBSD 1.5 and OpenBSD 2.8 (curses/ncurses). 2001-06-02 (2.8.4dev.21) * regenerated lynx.pot and resync'd the .po files against it with msgmerge, formatted to 132 columns to minimize line-breaks, for ease of comparison -TD * add a few more #undef's to work with glibc 2.1.3 -TD * include before to work around bug in glibc 2.1.3, which apparently was not used to build a system before release. Note that the preferred solution is to patch /usr/include/sys/ucontext.h to avoid defining ERR, which is defined by all versions of curses.h (report by Karl Eichwalder ) -TD * change lynx.cfg entry for COLOR #6 to brightred/black, which is what Slackware uses, to make links more visible -TD * remove several chunks of dead (#if 0) or commented-out code, especially in TRSTable.c, except a few used for debugging -TD * add checks for potential buffer overflow in increment_tagged_htline() -TD * consolidate scattered calls to editor with function edit_temporary_file(), which fixes terminal modes when editing TEXTAREA -TD * modify LYisNonAlnumKeyname(), etc., using new functions LYindex2MBM() and LBMBM2index() so that it should work with EBCDIC, as well as similar case of translation in LYBookmarks.c which assume that there are no gaps in the coding for the alphabet -TD * workaround in lynx_nl2crlf() for ncurses, which did not refrain from using cursor-down if it was set to a newline when nonl() was specified -TD * replace permissions[] array in LYLocal.c because Cygwin (mis)implements the S_xxx values as a function -TD * add ENABLE_LYNXRC setting to lynx.cfg, which allows one to modify the list of values which are visible on the O'ptions form which can be saved to the .lynxrc file -TD * check the width of entries displayed by LYOptions.c non-forms boolean_choice(), to pad shorter ones with spaces -TD * change type of LYMultiBookmarks to integer, combine with LYMBMAdvanced, to use enumMultiBookmarks to set it, making its configuration more easily table-driven -TD * make the style of menu border/bg/entry/number/active-entry and scroll indicator settable -IZ The names in lynx.lss are menu.frame menu.bg menu.n menu.entry menu.active menu.sb * modify cookie path prefix-comparison to ignore a trailing slash, e.g., /group/sftvnews/ versus /group/sftvnews (workaround for LV visiting http://groups.yahoo.com/group/sftvnews) -TD * cookie path= should be a prefix of the request-URI path, so do not truncate request-URI path in LYSetCookie() [we got mistaken "invalid cookie path=..." prompt in some cases previously] -LP * parameterized the logic around URL_edit_history to add MAIL_edit_history, used to store addresses for Printing Options, mail file to user (request by LV) -TD * check, fix minor problems with some .po files based on check_po script (mentioned on mutt-dev mailing list by Bjorn Jacke ) -TD * fixes to build with U/Win -TD * check width in LYpaddstr(), truncate the string if needed. This fixes a case where items in very wide popup menus would wrap, e.g., the EXTERN_LINK menu -TD * add a configure checks for term.h, to work around broken package for ncurses on Cygwin -TD * combine checks for useragent into one function LYCheckUserAgent() -TD * add runtime toggle for EXP_NESTED_TABLES, bind this to "~" (see www.tin.org for comparison) -TD * regenerate ja.po from lynx-2.8.3rel1.ja.po using gettext 0.10.37 and libiconv 1.6.1 (updated by Masayuki Hatta ) * changed -DNCURSES in DOS makefile to -DPDCURSES -TD * changes for DOS makefiles with DJGPP -DK These changes are for DOS under DJGPP with Internationalization and SSL. The openssl port for DOS is dependent on WATT32, so the link order for libraries has to be set appropriately. Made EXP_NESTED_TABLES the default and changed the default locations for WATT-32 and PDCURSES to top-level directories. The DOS port of gettext is now dependent on libiconv.a to convert character sets as the .mo file is read. The format for the makefile in WWW/Library/DJGPP now reflects the changes previously made in the src makefile. * improve definition of CTRACE, making it an expression again as it was before dev.20 -PG * move logic for cookie_domain_flag_set() out of LYReadCFG.c into LYCookie.c rewriting it to make it table-driven, where it is now shared with LYrcFile.c -TD * rewrote LYrcFile.c, making it table-driven as is LYReadCFG.c -TD * reviewed/corrected several pointer-mismatches in PARSE_xxx() macro usage -TD * corrected return-types of several functions in LYLocal.c, which were given as BOOLEAN though they return a signed integer -TD * add DIRED support to makefile.bcb -TD * filter the list of mime types sent in "Accept:" header for GET, to eliminate repeated or shadowed types, using new function HTFilterPresentations() (addresses Debian bug report #41594) -TD * fix several typos in Lynx help-files -LV * change most configure script C-preprocessor assignments to $CFLAGS to $CPPFLAGS, and modify logic of $TRY_CFLAGS to use CF_ADD_CFLAGS, which does the same thing -TD * enable scroll indicators on the menus - shown if there is a part of menu before/after the visible area -IZ * modify the context-sensitive mouse-menu, making it easier to to configure by reorganizing the tables used to generate the popup menu -IZ * correct a couple of places in form_getstr() when keys were "generated" instead of actions, which broke mouse-navigation in input fields -IZ * fix return value of Stbl_finishTABLE(), retesting curpos whose value may have been altered, e.g,. in split_line(), causing a cell to overflow to the right of the visible area (even if line wrap is requested) -IZ * change the logic of -display-charset: before it was sometimes descriptive (here is the charset, behave as if it was used for display), sometimes prescriptive (make the display to use charset if you can). Now it is only descriptive. One is forced to use the 'O'ptions to manually load a different font -IZ * move $(DEFS) and $(CHARSET_DEFS) into $(CPP_OPTS) in src/makefile.in -TD * renamed -blink_is_boldbg command-line option to -blink, corrected ifdef's -TD * implement -blink_is_boldbg option for OS/2 EMX and ncurses, then integrated some ifdef's to merge with equivalent slang code -IZ * rewrote hardcoded if/then/else chains in handle_LYK_SHIFT_LEFT() handle_LYK_SHIFT_RIGHT() to repeat_to_delta() function -TD * implement a key-accelerator for shift-left/right commands, i.e., repeating the shift command increases the amount by which the screen is shifted -IZ * modify ifdef in handle_LYK_LINEWRAP_TOGGLE() to use popup menus for each configuration rather than limit it only to mouse-supported ones such as ncurses or PDCurses -TD * changes to left/right scrolling to limit its effect to tables (IZ): + rename LYlineWrap variable (used to denote the column at which content is wrapped) to LYwideLines (used to denote the opposite sense: true if wrapping is disabled). + add global variable LYtableCols to control the column-limit for tables. The two variables LYLineWrap and LYtableCols have the same effect as did altering LYlineWrap and LYcols, but are limited to table layout. + modify handle_LYK_LINEWRAP_TOGGLE(), use a popup menu to set LYwideLines and LYtableCols. The latter is set to a positive integer, in units of 1/12 of the physical screen width. + modify GridText.c, replacing LYcols with new macros DISPLAY_COLS and WRAP_COLS. + keep scrollbar on the right margin of the screen when the contents are shifted left or right. * modify makefile.bcb, add (tested) commented-out lines for building with color-styles -TD * modify makefile.msc and makefile.bcb, add (tested) commented-out lines for building with winsock2 -TD * add a configure check for napms(), use this if available to support subsecond delay times for INFOSECS, MESSAGESECS, ALERTSECS -TD * rewrote www_user_search() to support both forward and backward search. Bound backward-search to 'N' -TD * split-out anchor_has_target() and link_has_target() to separate the search loops from the search comparisons -TD * reduce some clutter with LYno_attr_strstr() and LYno_attr_mb_strstr() macros, which combine the caseless/case-sensitive functions -TD * modify S_equals in SGML_character() to recover when no attribute value is given, e.g., if "alt=" is followed by whitespace. Before, the next attribute was used for the missing value -TD * replace call to LYRemoveBlanks() from LYLegitimizeHREF(), which had the effect of removing all blanks from HREFs, with the less drastic step of reducing newlines and tabs to spaces and trimming leading/trailing blanks. Though they do not belong there, it is more likely that the HREF will work with embedded blanks retained -TD * add a configure check for BSD- and SYSV-style curses touchline function, needed to build with NetBSD 1.5 curses which has a partial implementation of X/Open curses (report by JS) -TD * correct insert_blanks_in_line(), which did not copy trailing style codes such as stop-underline, causing "lynx -dump -with_backspaces" to produce some odd effects -TD * modify configure script macro CF_NCURSES_VERSION to define NCURSES, in case it is used in the default screen setting, since lynx uses this definition in some places rather than NCURSES_VERSION to distinguish it from other curses implementations -TD * modify configure script macro CF_NCURSES_CPPFLAGS to check for ncurses.h before curses.h, and to specifically check for , to avoid spurious matches against a /usr/include/ncurses.h, to workaround problems with obsolete versions of ncurses on FreeBSD and NetBSD where the current version is often available only as a "port" (reports by Jim Spath, Michael Warner) -TD * add fallback definition for SLSMG_xxx_CHAR symbols which may be missing in older versions of slang (reported by Eduardo Chappa) -TD * update config.guess, config.sub 2001-04-01 (2.8.4dev.20) * rename KEYMAP 'EXTERN' to 'EXTERN_LINK', adding 'EXTERN_PAGE'. Existing keymaps should work since 'EXTERN_LINK' matches first. EXTERN_PAGE runs the external command on the current page. Map comma (,) to EXTERN_PAGE -TD * replace most calloc calls with typecalloc or typecallocn -TD * modify LYExtern.c to recognize if more than one EXTERN command has been defined in lynx.cfg for a given name, and allow the user to select one command from a popup menu -TD * split-out code that opens lynx.cfg and lynx.lss as LYOpenCFG() function, making that check if the given pathname is absolute. If not, it attempts to look in the same directory as the parent file (when processing includes), or the directory of the default config file -TD * replace some explicit "r", "w", and "a+" fopen modes with TXT_R, TXT_W and TXT_A, add/use corresponding BIN_R, BIN_W, BIN_A definitions. Correction to OpenHiddenFile(), which would have appended text to a binary file -TD * combined lynx_html_item_type and lynx_printer_item_type structs as lynx_list_item_type to simplify LYReadCFG.c and incidentally fixing a bug in add_printer_to_list by merging it with add_item_to_list -TD * implement a simple workaround for staircased messages from running xli as an external viewer, with lynx_nl2crlf() function -TD * add bright-blue.lss sample (from IZ) -TD * modify makefile.in's to use symbol _O for object suffix to allow simple override for OS/2 EMX -Zomf compiler option (request by IZ) -TD * add HAVE_LYHELP_H definition in config.hin and use that in LYGlobalDefs.h to workaround misuse of HAVE_CONFIG_H in makelynx.bat -TD * work-around in LYrefresh() when curses pads are used, for special case where cursor is not set properly when prompting with long subject line for mailto URL -TD * eliminate some pointer mismatch compiler warnings in LYEditInsert() for EXP_KEYBOARD_LAYOUT configuration -TD * improve handling of tables with respect to bad HTML. Also took an opportunity to macroize a couple of places which missed in unobfuscation-of-faking (this faking happens when line break happens in a non-first column of a table) -IZ For example:
    y
    x
    Note FORM which spans cells. -trace'ing it gives very unintuitive results: it skips inside FORM, but not . Then it supplied when the FORM ends. * repair treatment of colspans in TRST, making it work again in one of the special cases it worked before. Another bug was in interaction of justification and tables -IZ * marked more TRACEs in TRST as "BUG"s -IZ * TRST would sometimes produce non-intuitive results if follows . Add error recovery for this case -IZ * corrections for nested-table configuration -IZ + make trailing
    in table cells "behave well" again (the following cell would not be horizontally offset). + fix highlighting of multiline links inside tables, and a "80M tracelog" bug (due to a misprint update of the enclosing table was performed once-per-row instead of once-per-table). Extra updates would not hurt, but led to slowdowns and quadratic-size logs. + fix a special case with table-in-table for partial-display * resizing a window on a console may lead to a switch of the character-cell size. The "downloaded font" loaded during an auto-switch of display-charset may be no longer valid. In this case, force a re-download of the suitable font for the current charcell size -IZ * add reverse-video style for forwbackw.arrow to lynx.lss -TD * while an error in .lynx-keymaps is fatal, but a more or less equivalent error in the KEYMAP section of lynx.cfg is benign. Make them both benign -IZ * change remaining uses of lookup_keymap(LYK_xxx) to LAC_TO_LKC0(LYK_xxx) -TD * modify set_clicked_link() to return lynx keycodes rather than character values -IZ * remove line_for_char() function since it is used for HTLine.start computations -TD * several changes to GridText.c -IZ + '#' (shown at the UL corner when there is a toolbar) is shown even at the beginning-of-the document. + with mouse enabled, the first 6 chars in the UL corner were "always" sensitive to Click-1, behaving as PREV_DOC (usually on Left). This patch changes this logic (for color-style): If '#' is shown there, clicking on it behaves as pressing #; Clicking on the next 6 chars behaves as PREV_DOC/NEXT_DOC (3+3); + if you define a style for forwbackw.arrow, then suitable arrows are shown in these 3+3 positions; in fact they are shown only if it makes sense to do PREV_DOC/NEXT_DOC, providing additional feedback. + remove the first empty line shown on any HTML document. + correct an off-by-one error in the removal-of-zero-length-markup logic. Due to this bug, zero-length markup was never removed, which led to accumulation of style change entries, eventually to a buffer overflow. At this moment lynx color-style engine would give up, resulting in incomprehensible ocean of colors on the display. To demonstrate, make a select entry with more than 46 entries. [My auto-display-charset logic added 2 new encodings to the table of Lynx, bringing the number to 46 on the 'o'ption form. ;-] + fixes a bug with incorrectly calculated width of a numeric tag [12] as far as 12 is 10 or more (still fixes Debian #68542). + remove unused members from HTLine struct. + make variables underline_on and bold_on private. + rewrote insert_blanks_in_line(), splitting out move_anchors_in_region(). + make split_line() easier to maintain by adding variables to represent common subexpressions, e.g., s_post, s_pre. + use set_style_by_embedded_chars() in split_line() to simplify/improve test for whether lynx should add a bold/underline control. + recode to eliminate HTLine.start + recode to eliminate HTLine.chars + several changes to split_line(), using pointers to HTChangeStyle structs rather than array indices. * adjust some ifdef's to make configure --disable-trace compile -TD * correct allocation size in mailcap_substitute(), which did not count the trailing null -TD * add configure --enable-vertrace option, to put __FILE__ and __LINE__ into trace log -PG * improve description of USE_MOUSE in lynx.cfg -PW * fix a few warnings from antic (unreached statements due to quirks of ifdef's, incorrectly-indented code) -TD * eliminate a few references to USE_HASH and LINKEDSTYLES in documentation -TD * fix a couple of compiler warnings for SCO (report by BL) * fix a comparison in HTChunkPutUtf8Char() to work with EBCDIC -PG * fix a typo in LYCharUtils.c CTRACE macro, amend tracing to avoid suppressing a related user message -PG * change CF_TERMCAP_LIBS configure macro to warn rather than exit with an error if it cannot find the libraries it is looking for. This allows one to configure with the slang library on systems without a termcap library (report by Atsuhito Kohda) -TD 2001-02-26 (2.8.4dev.19) * add experimental configure option for post-dev.16 TRST changes by IZ (--enable-nested-tables), ifdef'd with EXP_NESTED_TABLES -TD * correct a couple of places that used attrset() rather than wattrset(), which caused the status line to lose color when configured for curses pads but not using color-style (report by Fr3dY ) -TD * add a restriction for the chdir command, so it is not normally enabled in anonymous mode -TD * reduce putenv logic for presetting $LINES and $COLUMNS to a special case for MVS -PG * enable pasting an URL into Lynx (similar to 'g'), and improves the code to copy an URL from Lynx -IZ * remove arbitrary restrictions on the size of text to be pasted. It also makes a quadratic algorithm into a linear one. Also, it may remove many bugs when the text to paste contains non-printable chars. Not tested with Unicode and on Win* -IZ * implement an action NEXT_DOC, which undoes what PREV_DOC (usually on the Left-arrow key) does -IZ Possible enhancements: a) make HISTORY show the position on the (no more!) "stack". b) several places in the source use the value of nhist (they scan history?). Make nhist_extra public, and check whether these places want nhist + nhist_extra instead. c) Currently LYpop() and (some) LYpush() erases "the tail" of the stack. Maybe some callers would prefer a different semantic... * correct some logic related to EXP_READPROGRESS -IZ * change LYE_xxx symbols to an enum LYEditCodes -TD * replace some WIN_EX ifdef's by CAN_CUT_AND_PASTE. Enable cut and paste on OS/2 -IZ For example, in the keymap file: setkey "\200\4" LAC:DO_NOTHING:PASTE # S-insert setkey "^(kIC)" LAC:DO_NOTHING:PASTE # S-insert * enable automatic switching of display charsets -IZ Currently, it is supported under OS/2 only. A couple of lines should make it work in LINUX too: express the semantic of _Switch_Display_Charset() in terms of the existing UCChangeTerminalCodepage. For example, in lynx.cfg: CHARSETS_DIRECTORY:I:/get/tfont10/dir1 CHARSET_SWITCH_RULES: koi8-r ISO-8859-5 windows-1251 cp866u KOI8-U :cp866, iso-8859-1 windows-1252:cp850 The first variable may be not needed outside of OS/2 (the directory which contains glyph tables, as generated/usable with tfont). [Used for full-screen sessions only.] The second variables may go at the future, when Lynx knows how to auto-deduce it itself. Format of CHARSET_SWITCH_RULES source1 source2 source3 : dest1, source4 source5 : dest2 * move a call for _scrsize() from LYSystem() to size_change(), to fix problem with OS/2 EMX related to screen-size changes -IZ * correct a bug in TRSTable.c which left a pointer into a chunk which was reallocated elsewhere (report by Robert Mognet ) -TD * make parse_restrictions() warn about keywords it does not recognize -TD * rewrote restrictions_fun() in LYMain.c, making it use print_help_strings(), to show the actual restriction values, and listing restrictions that are not documented in the -restrictions message -TD * if find-leaks if enabled, free the 'line' variable in HTReadProgress() -TD * if find-leaks is enabled, undefine SAVE_TIME_NOT_SPACE in HTString.c to avoid seeing spurious leaks in HTSprintf/HTSprintf0 -TD * add command-line option -trace-mask to specify optional traces. Defined these: 2=color-style, 4=TRST -TD * improve ifdef's for --disable-trace configure option, eliminating more unused code when NO_LYNX_TRACE is defined -TD * make ifdef's for NCURSES and resizeterm consistent -TD * add a call to wresize() after resizeterm() in case user resizes screen in ncurses pad configuration (report by IZ) -TD * change entry for "bibp" restriction to "goto_bibp" for consistency with the other goto_xxx restrictions, and use CAN_ANONYMOUS_GOTO_BIBP (report by Robert Cameron) -TD * add table entries for goto_xxx restrictions, which replace assignments overlooked in conversion to table in dev.18 (report by Robert Cameron) -TD 2001-02-12 (2.8.4dev.18) * change LYLineEditors[] to unsigned char since values are out of range for signed chars on Solaris -TD * correct a memory leak in HTStat() from mis-patch for Win32 -TD * modify fancy_mouse() logic for ncurses to allow the user to quit a menu by clicking outside the menu -IZ * allow a different approach to the problem: how to enter a keyboard navigation command when you are in an editing mode. A new EDIT-time action is introduced: LYE_STOP. Use it like this: KEYMAP:^[:INTERRUPT:STOP The action behaves as if -tna is temporarily switched on: your edit is committed, and you go into the non-edit mode - until you press Enter on an edit field again (or switch to a different document), when this temporary switch to -tna is terminated. If the "current" edit field has a different style than the "active" edit field, you get an additional feedback. Anyway, the status line shows a correct info about the current mode. In -tna mode this behaves as the usual end-of-edit action -IZ * make bindings for C-w and C-x C-w do not work for form input fields -IZ * add etags target to top-level makefile.in -IZ * add some traces to make color style code easier to debug -TD * restore commented-out call to HText_cancelStbl() in HTML_TABLE case in HTML_start_element() from IZ's changes, which is needed for nested table alignment. The colors shown in deja-news are incorrect however because color styles are not picking up the and tags properly, and a few tables are misaligned relative to dev.16, more analysis needed -TD * change LYHash.c to use const, eliminate redundant unsigned's and casts -TD * add a limit check for rand()/etc., result in LYUtils.c, which worked for Linux lrand48() but was not portable (report by PG) -TD * add missing definitions to make srand/rand code build for non-autoconf'd configurations such as win32 -TD * ifdef'd the mkdir() for lynx_temp_space in LYMain.c to make it apply only to Unix, to avoid prototype conflict with non-POSIX compilers (report by Mike Bledig ) -TD * adapt patch for FTP_PASSIVE from NetBSD CVS, to make it work with INET6 (from comp.unix.bsd.netbsd.misc newsgroup posting which stated that the patch had been forwarded to lynx-dev) -TD * remove unused code of HTParseInet() for INET6 from HTTCP.c -TD * updated some translations in fr.po and ru.po (report by JS) -TD 2001-02-08 (2.8.4dev.17) * implement left/right scrolling and line-wrap toggle using '{', '}' and '|' characters, respectively. This uses SVr4 curses/ncurses pads to make the whole screen treated as a viewport into a very wide screen -TD * make do_check_goto_URL() table-driven to simplify it as well as combine the related messages into GOTO_XXXX_DISALLOWED -TD * combine restrict_name[] and restrict_flag[] arrays to eliminate possibile ifdef mismatches, as well as to simplify the treatment of "default" restrictions -TD * eliminate redundant symbols for color-style ifdefs (USE_HASH and LINKEDSTYLES), using only USE_COLOR_STYLE -TD * simplify parse_style() by making most of it a table -TD * correct logic in arg_eqs_parse() for OPTNAME_ALLOW_DASHES ifdef which made incorrect match for -display if -display-charset were given (report by IZ) -TD * revert a commented-out call to HText_cancelStbl() in HTML_TABLE case in HTML_start_element() from IZ's changes, which had the effect of changing the article color in deja-news for color-style configuration -TD * fix off-by-one error in the END key handling (an empty line was shown at the end) -IZ * makes END key always show a full last page of the document. That is, even if the last line is already shown, it is moved to become the last line of the screen, so that as much as possible of the document is on the screen -IZ * add -display_chars cmdline option, and additionally allows autodetection of the charset on the system which allow it. This provides a way to switch the display charset other than via obscure manipulation with 'O'ptions. (.lynxrc is not viable if you have different charsets in different windows.) -IZ The logic: (1) first autodetect; (2) then read cfg file, and if it is not "AutoDetect ..." (as the saved version says), grant the cfg file charset; (3) then read the cmdline, if it is present, but not "auto", then grant it, otherwise switch back to the autodetected one. * allow TRST code to handle table-in-table. There are now two cases only (modulo bugs) when Lynx will not show a table in a table form no matter what is the screen width: when TABLE is inside PRE, and when there is a TAB inside a TABLE. Both look like deliberate decisions, so I did not change these places in HTML.c. But one may need to reconsider this at some moment... Example of usage: to process (my old copy of) DejaNews Power Search form (which has TABLE-in-TABLE, and multiline cells) you need screen width of 112 chars -IZ * enable
    and

    in TRSTables. The table still needs to fit into the screen width without line wrapping. A tiny bit of additional work may be needed to allow tables-inside-tables too; then any table should be rendable as a table after an appropriate screen resizing. This patch also should make around 70% of TRSTable.c unreachable. A lot of simplification can be made, and most of the current convoluted hackery may be removed. Since this algorithm tries to align *all* the display lines of the table, in some rare cases it may need larger screen width than the old algorithm (the old algorithm ignores all but one of the display lines corresponding to the given - and in most cases just gives up for the whole table if a multiline cell is but of the simplest form) -IZ * add several traces and comments to TRSTable.c -IZ * enable interrupting LYNX by any char bound to INTERRUPT -IZ * add configure check for srand()/rand() functions, or alternatives with similar interfaces. These are used in the SSL and experimental temporary file options -TD * allow binding ESC to perform some action (such as INTERRUPT:ABORT, or something else). It is useful only if the curses (or similar) package remaps all the reasonable escape sequences, so Lynx internal escape-sequence processing is not needed -IZ * enable showing the region between mark and point in the edit areas in a different style. The style names are edit.active.marked and edit.prompt.marked -IZ * add visible feedback for special case of unactive current text area which may exist with -tna. The corresponding style is edit.current -IZ * add FORW_RL and BACK_LL to edit bindings support to allow cursor forward and backward respectively to move to the next/previous link if done at the end of the edit-field -IZ * update several configure script macros to smooth over incompatibilities in autoconf 2.49c (alpha). In particular, this eliminates support for changequote(), and adds limited support for OS/2 -TD * add google to list of search engines in lynx_help_main.html -LP * minor formatting of help message -Michael Warner * modify GetStdin() function in LYMain.c to allow -stdin option to read past a line consisting of "---" (reported by Michael Warner) -TD * ifdef'd bibp: support, added configure option --disable-bibp-urls -TD * add experimental support for bibp: URLs as described in http://www.ietf.org/internet-drafts/draft-cameron-tatu-bibp-02.txt (patch by Rob Cameron ). * change sed delimiters in makefile.in to avoid using '@', which may appear in AFS pathnames (report by Martin Mokrejs ) -TD * fix missing call to LYCloseTempFP() in LYPrint.c, which caused attempt to mail a file from the PRINT menu to send an email with a blank body. It looks like this would happen for any platform not using LYPipeToMailer() -DK * change pointers for RFC's from ds.internic.net to rfc-editor.org, since the former appears outdated -Michael Warner * add undef for HAVE_DELSCREEN to config.hin, so the delscreen() ifdef from dev.16 works as intended -PG * workaround in CF_CURSES_FUNCS for overzealous compiler that optimized away the test code -TD * change order of checks by CF_NETLIBS and CF_SSL macros in configure script, since SSL libraries depend on network libraries (reports by Martin McCormick , IZ) -TD 2001-01-01 (2.8.4dev.16) * add ja.po message file (overlooked in dev.15, reported by Atsuhito Kohda ) * use C preprocessor at build-time to replace CF_EBCDIC configure macro -PG * integrated SSL patch from http://www.moxienet.com/lynx/ as a configure option, --with-ssl -TD * add configure check for delscreen(), which is not available in some older SVr3 curses libraries -TD * add configure check for socks5p.h, to allow socks5 build to use function prototypes -TD * updated config.sub, config.guess -TD * modify some configure macros to use CF_PATHSEP, for path-separator which is usually colon on Unix, and semicolon on MSDOS, etc. -TD * modify several configure macros to use $CFLAGS consistently for compiler options and $CPPFLAGS for C preprocessor options -TD 2000-12-21 (2.8.4dev.15) * add .po files to main distribution, remove stubs for files that were not implemented, use msgmerge to resync against the current lynx.pot (prompted by discussion with Morten Bo Johansen ) -TD * corrected dev.13 changes for EXP_READPROGRESS, to make the non-EXP_READPROGRESS configuration build and work with .lynxrc settings -DK * use EXIT_SUCCESS/EXIT_FAILURE in exit() and exit_immediately() calls -TD * improve check for lynx_temp_space by ensuring that the directory actually exists; attempt to create the directory if it does not, e.g., ~/tmp/, to resolve problem introduced by Mandrake's patch -TD * modify SetOutputMode() to flush stdout to work around buffering problem with Cygwin on error exit from Lynx (reported by Brad Town ) -TD * change definitions for LYCharINTERRUPT1 and LYCharINTERRUPT2 to not use FROMASCII() in the EBCDIC configuration, since those symbols are used in case statements which otherwise would not compile -PG 2000-11-03 (2.8.4dev.14) * restore initialization of LYlines, LYcols in setup() which was lost in dev.12 changes (reported by DK). * modify logic for -stdin option to redirect keyboard input to null device if lynx is not connected to a terminal, e.g., running under cron -TD * check in DontCheck() if Lynx is reading from a command-script, to avoid using those characters to interrupt the application -TD * add a cleanup handler for win32, since UNIX-style signal handlers do not work on that platform -TD 2000-10-25 (2.8.4dev.13) * fix missing ifdef for EXP_READPROGRESS in LYOptions.c (reported by Atsuhito Kohda) -TD 2000-10-25 (2.8.4dev.12) * add a configure check for video library on OS/2 EMX, needed to link with slang. Arrow keys do not work -TD * use macro UCH to fix gcc's char-used-as-subscript warnings, and to replace existing casts to unsigned char, making the code more readable -TD * merge variants of HTReadProgress() -TD * modify SHOW_KB_RATE in lynx.cfg to allow disabling logic that shows transfer rate during download. If EXP_READPROGRESS is defined, make this alterable from the command line and options menu as well (from discussion by Karen Lewellen ) -TD * add the pathname that caused a problem to the error message in CF_PATH_SYNTAX, lest someone be confused when tilde is not expanded (addresses a problem reported by Lawrence Kwan ) -TD * remove redundant leading newlines in "lynx -version" output (reported by Sven Guckes) -TD * add dependency in src/makefile.in for building chrtrans/makeuctb$x, used by UCdomap.o -IZ * fix CF_PATH_SYNTAX square brackets for OS/2 EMX case, lost by not disabling m4's quotes for that line (report by IZ) -TD * remove older/unused variant of code to set screen size in LYCurses.c by setting environment variables -PG * one of the ".po" files is zipped as type binary rather than ASCII, so it does not unzip on OS/390 with the "-a" option. The "-aa" works better since it forces text conversion regardless of the type of the archived file -PG * change definitions of LYCharINTERRUPT1 and LYCharINTERRUPT2 to accommodate EBCDIC -PG > the remainder (most of the functional changes in this patch) from IZ: * add "typeless" notion to color style logic: a) reverts to the style "foo" (from "foo.classname") if the style "foo.classname" was not configured; b) For input elements of type=typename uses style "input.type.typename" if this style is configured (but "input.classname" is not!); c) Same for typeless elements, with typename="". This allows the following: input.type.submit:normal:blue:black # match "link": input:normal:green textarea:normal:white:cyan # type-less input is the same as type=text (similar to textarea) input.type.:normal:white:cyan input.type.text:normal:white:cyan If your "link" is configured as normal:green, then input elements of types other than typeless, text, or submit will be shown in the same style as link. The textareas and text input elements are shown in the same style (but different from "link" style), and submit "buttons" are shown yet in another style. * implement styles in "dynamic areas" of documents. Three flavors of them are active text-edit fields, non-active ones, and links/radiobuttons, etc. This patch is concerned with the first flavor only. Two subflavors are document's text-edit areas, and Lynx's ones (such as where you input the URL after `g'). Each one of them has 3 elements: scroll symbols ("arrows"), after-the-end padding, and the actual input string. The patch a) makes styles for these 2*3 elements customizable; b) uses ACS chars (if available) for the arrows (instead of `{'/`}'). [It would be nice to make non-active text-areas to have customizable styles for padding, and have scroll arrows too...] Here is my customization for testing: edit.active:normal:red:cyan edit.prompt:normal:green:cyan edit.active.arrow:normal:yellow:cyan edit.prompt.arrow:normal:yellow:gray edit.active.pad:normal:gray:cyan edit.prompt.pad:normal:white:black * modify LYSystem() to allow changing size of lynx window with OS/2 EMX at runtime. Example: !mode 110,30;exit * use new macros LYCharINTERRUPT1, LYCharINTERRUPT2 and LYCharIsINTERRUPT() to make it simpler to find uses of ^C and ^G * modify key mappings so the keymap file overrides the terminfo/termcap description rather than the reverse * make unrecognized keynames emit diagnostic when tracing (but ignores them the same way the older code did). Trace info about each keycode received * provide better tracing of style choices, both when styles are assigned into text-lines, and when lss directives are converted to "numeric colors" * add similar tracing for links and contents of user-editable stuff * slightly expand the cache of colors to better accomodate 16-color terminals, and fixes a misprint in handling background-color == maxcolor * modify logic in color styles initialization using flag default_color_reset to override ncurses use_default_colors() logic if the "default" color style tag is found in lynx.lss 2000-10-18 (2.8.4dev.11) * include LYLeaks.h in LYPrettySrc.c to allow leak-checking -TD * modify configure script macro CF_RECHECK_FUNC to ensure that we add a given library only once to the resulting list. This fixes a longstanding bug which caused the nsl library to be repeated on some platforms (reported by BL for one of the SCO configurations, and Urs JanBen for SINIX-L 5.41 (i386-sni-sysv4)) -TD * modify "make install-doc" rule to first remove targets. Otherwise "ln -s" and "cp" fail to create the targets when installing with normal user permissions (reported by LV) -TD * fix for handle_LYK_DWIMEDIT() to ensure it does not dereference a null pointer, when trying to edit a text file with no links within it (report by Harri Tuominen) -DK * add fallback definitions to accommodate renaming of UCX$xxx symbols to TCPIP$xxx in recent versions of OpenVMS UCX (reported by Horst Drechsel ) -TD * add TRSTable.obj to src/descrip.mms objects -TD * modify configure script to omit LYExtern.o and LYLocal.o if the corresponding options (externs and dired) are disabled -TD * correct a typo that made configure script always define USE_EXTERNALS -TD * interpret ftp server type for VMS if a URL is given with "/~name", as a Unix-style server. This works for the following, at least: VMS V6.2 AlphaServer 2100 4/233 MadGoat System type. (reported by Rick Dyson ) -TD * make configure check for getaddrinfo() less strict, needed with --enable-ipv6 on IPv4-only system (patch by Munechika SUMIKAWA) 2000-09-21 (2.8.4dev.10) * modified www_tcp.h and makefile.msc to allow compile with winsock2 if USE_WINSOCK2_H is defined -TD * fix: the recently added code to enable external programs to replace normal lynx handling of individual URL types was not refreshing the screen after the external program finished (EXTERNAL set TRUE:TRUE) -DK * fixed two URLs in lynx_help_main.html -DK * add symbol USE_VMS_MAILER, use to distinguish VMS mail ifdef's for test compiles -TD * use new function LYSendMailFile() to consolidate details of non-VMS/non-piped email, e.g., DOS or Win32, and eliminate some minor inconsistencies in that area -TD * correct order of ifdef's in send_file_to_mail() which could leave unsent email on some systems without popen/pclose -TD * add some checks in LYhandlePopupList() to prevent popup of an empty list -TD * change a few messages written to stderr to end lines with \r\n rather than \n, since Lynx may already be in screen mode when they are written -TD * treat .Z, .gz and .bz2 suffixes more symmetrically using new function HTCompressFileType() for parsing them -TD * change mime type for bzip2 files to bzip2, x-bzip2 -HN * move IPV6 definitions in www_tcp.h to the end, to build on FreeBSD 4.1, since SIN6_LEN must not be checked before including netinet/in.h (patch by Munechika SUMIKAWA @ KAME Project ) * make HTParseInet() private, simplify some ifdef's -TD * change shell expression used to process stdin for mailcap to "(command)