Subject: CVS commit: pkgsrc/www/lynx
To: None <pkgsrc-changes@netbsd.org>
From: Frederick Bruckman <fredb@netbsd.org>
List: pkgsrc-changes
Date: 12/21/2001 05:55:51
Module Name:	pkgsrc
Committed By:	fredb
Date:		Fri Dec 21 03:55:51 UTC 2001

Modified Files:
	pkgsrc/www/lynx: Makefile PLIST distinfo
	pkgsrc/www/lynx/patches: patch-aa
Added Files:
	pkgsrc/www/lynx/patches: patch-ae
Removed Files:
	pkgsrc/www/lynx/patches: patch-ab patch-ac

Log Message:
Update lynx to 2.8.4rel1, known to pkgsrc as 2.8.4.1. What follows is
an abridged change log back to 2.8.4dev19 (lynx-current, which see).
Only entries deemed likely to be visible to the user are reproduced
here. Code clean-ups, reverted interim changes, and changes that would
not affect NetBSD hosts were ommitted. Please see the CHANGES file in
the archive or on the web for a complete list.

Also, by popular demand, make native curses the default (ncurses and
libslang are still build-time options). The color scheme for native
curses under a NetBSD 1.5.* xterm is nearly the same as the libslang
version.

2001-07-10 (2.8.4pre.4)
* 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()

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
* 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 "<script>...</script>" to allow "<!-- ... -->" comments
  in SGML_character().  Though the HTML 4.0 spec is fairly clear, other
  browsers (and some webpages) assume that "</" does not have to be escaped
  when it appears in a script which is commented to avoid confusion with older
  browsers.  This change doesn't ensure that the comment is at the beginning
  of a line, since that's awkward to do with SGML_character(), and also leaves
  the script in a comment which works for lynx since lynx does not interpret
  it anyway -TD
* modify parse_attributes() in LYStyle.c to allow video attributes such as bold
  and reverse to be combined with colors, used this to debug problem with
  <script> 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., <ul>) 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 </td> (this is often the case with
  contents using horizontal formatting).
* updated URLs for ncurses (report by DK) -TD
* updated samples/bright-blue.lss -IZ
* 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-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
* change lynx.cfg entry for COLOR #6 to brightred/black, which is what
  Slackware uses, to make links more visible -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 <bjacke@suse.de>) -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
* 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 <mhatta@po.airs.net>)
* changed -DNCURSES in DOS makefile to -DPDCURSES -TD
* 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
* 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

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
* 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 <td></td> (this faking happens when line break
  happens in a non-first column of a table) -IZ
  For example:
    <TR>
      <TD>
             <FORM ACTION="FrameWork.class" METHOD="post">
          y
      </TD>
      <TD>
         <DIV>
              x
         </DIV></FORM>
      </TD>
    </TR>
  Note FORM which spans cells.  -trace'ing it gives very unintuitive
  results: it skips </TD> inside FORM, but not <TD>.  Then it supplied
  </TD> 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 <td> follows </tr>.
  Add error recovery for this case -IZ
* corrections for nested-table configuration -IZ
  + make trailing <BR> 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
* eliminate a few references to USE_HASH and LINKEDSTYLES in documentation -TD
* 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


To generate a diff of this commit:
cvs rdiff -r1.42 -r1.43 pkgsrc/www/lynx/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/www/lynx/PLIST
cvs rdiff -r1.2 -r1.3 pkgsrc/www/lynx/distinfo
cvs rdiff -r1.3 -r1.4 pkgsrc/www/lynx/patches/patch-aa
cvs rdiff -r1.1 -r0 pkgsrc/www/lynx/patches/patch-ab \
    pkgsrc/www/lynx/patches/patch-ac
cvs rdiff -r0 -r1.1 pkgsrc/www/lynx/patches/patch-ae

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