lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lynx-dev lynx2.8.3dev.16


From: T.E.Dickey
Subject: lynx-dev lynx2.8.3dev.16
Date: Tue, 30 Nov 1999 22:41:57 -2900 (EST)

still on my backlog: the mail-related code from IZ.

1999-11-30 (2.8.3dev.16)
* ifdef'd some places for MINGW32 (diffs from Victor Schneider)
* remove 'host' variable in LYGetHostByName() that obscured module-level
  'host[]' array in HTTCP.c for _WINDOWS_NSL configuration (patch by HS,
  discussion by KW) -TD
* the Newline variable is now PRIVATE except the mouse code in LYStrings.c -LP
* modify HTDOS.c for Wattcp targets (Watt-32 and original wattcp).  When Lynx
  is sitting idle in getxkey() waiting for a keypress, no network functions are
  called.  Hence no sockets are procesessed, "ICMP Echo replies" is sent etc.
  This patch has been tested with SLang and '-DDJGPP_KEYHANDLER' I'm not sure
  how to hook into 'SLkp_getkey()' or keyboard polling in performed under raw
  PCcurses (Gisle Vanem <address@hidden>)
* update docs for -tna instead of --sticky_inputs -KW
* document extended KEYMAP syntax in lynx.cfg -KW
* update Users Guide for KEYMAP changes, especially the TEXTAREA-related
  sections -KW
* move text on ^V a bit to better place, provide a couple links to it -KW
* add blurb about TRST to Users Guide.  Also mention external scripts for table
  handling -KW
* revise section in Supported URLs on internal schemes.  Toned down, provide
  rationale, give examples -KW
* fix a few typos in README.TRST -LP
* use 'rand()' in NewSecureValue() -TD
* use a random number rather than a counter to name temporary files -TD
* change LYReadCFG.c to accept any leading punctuation in lynx.cfg as a comment
  delimiter -TD
* eliminate some clutter with typecalloc/typecallocn macros -TD
* eliminate some clutter with new function LYBadHTML() -TD
* add checks for null pointers in CTRACE statements in HTML.c (based on report
  by LV) -TD
* change realloc calls in SAVE_TIME_NOT_SPACE ifdef in StrAllocVsprintf() to
  HTalloc, since older machines (e.g., SunOS 4.x) do not necessarily handle a
  null pointer parameter to realloc -TD
* correct ordering of command-line options in LYMain.c -TD
* updates for files in lynx_help & keystrokes -PW
* clarify `General Configuration Instructions (all ports)' in INSTALLATION -PW
* remove "your lynx.cfg"/"compiletime settings" from '='Info Page -LP
* add a note to Lynx_Users_Guide.html#lynx.cfg on "g lynxcfg:" -LP,HN
* change LYNXCOMPILEOPTS: to a link from LYNXCFG:  -LP
* slightly reorganize partial mode logic:  'display_partial' variable is now
  initialized directly in HText_new(), no need for specialized semaphore any
  more -LP
* Allow KEYMAP directives in lynx.cfg of extended form
  KEYMAP:lynxkey:lynxaction:editaction[:sel], where lynxkey and lynxaction are
  as before, editaction is a line-editor action like FORW, BACK, ERASE etc.
  and sel selects the line-editor style to be affected (as a number, starting
  with 1 for the Default Binding; or 0 for all styles (the default); or a
  negative number -n meaning "all line-editor styles except n").  See Line
  Editor Help pages for keywords to use as editaction.  This includes PASS
  (which was already implemented), for "passing" on the key when line-editing
  form fields so that the normal lynxaction will be invoked.
  (KEYMAP:lynxkey:lynxaction:DIRED is also still possible for defining a Dired
  mode binding).
  This is based on a patch from IZ which introduced combined definitions
  in a .lynx-keymaps file in the form:
     setkey "\200s" LAC:LEFT_LINK/BACKW     # C-left
     setkey "\200t" LAC:RIGHT_LINK/FORWW    # C-right
  Combined definitions in .lynx-keymaps are also supported in this patch, but
  the syntax was changed to use another ':' instead of '/' as separator.  Note
  that there is no need to support .lynx-keymaps (i.e., compile with
  USE_KEYMAPS defined) for using the extended KEYMAP lynx.cfg directive with
  this patch -KW
* avoid access to uninitialized members in TRSTable.c -KW
* limit span values accepted for TRST with TRST_MAXCOLSPAN and TRST_MAXROWSPAN,
  which can be changed in userdefs.h.  Without imposing a limit, attempts to
  trick lynx into allocating huge blocks of memory (which might cause thrashing
  without apparent reason) with something like ROWSPAN=10000000 are just too
  easy -KW
* moved definition of SAVE_TIME_NOT_SPACE to userdefs.h.  You may want to
  undefine it for a platform where running out of memory is a frequent problem
  (DOS?), although the effect won't be very pronounced.  Used in TRST code to
  affect size of some allocations (also used as before for HTSprintf0/HTSprinf)
  -KW
* implement COLSPAN=0 and ROWSPAN=0 according to HTML 4.01 (not HTML 4.0).  The
  span extends until the end of the current column group and row group (i.e.
  next THEAD/TFOOT/TBODY), respectively; or until the end of the row or table,
  respecitively, if there is no containing group (thus acting as per HTML 4.0).
  Also cancel effect of all ROWSPANs at a THEAD/TFOOT/TBODY boundary (problem
  with other browser described and behavior proposed by G.  James Berigan in
  <http://www.war-of-the-worlds.org/html/span-vs-group.html>) -KW
* 'prev_target' is now PRIVATE to LYMainLoop.c [defined outside of mainloop()];
  this undoes some dev.15 changes.  -LP, KW
* replace HText_pageDisplay() calls from partial mode (LYUtils.c and
  HTFormat.c) with LYMainLoop_pageDisplay() function implemented in
  LYMainLoop.c, it simply calls HText_pageDisplay() but has access to
  LYMainLoop.c PRIVATE variables.  -LP, KW
* make ^X a prefix key in all Line Edit styles.  That means ^V should never be
  needed any more to invoke the special textarea commands (but it's still
  supported).  Updates to help files to reflect this change -KW
* don't produce a link from the KEYMAP page to a help file.  The one we used to
  use doesn't really help -KW
* correction in code executed after textarea external editing (that determines
  when to prompt for re-wrapping):  use start_anchor not anchor_ptr.  Without
  this correction, invalid memory access could occur.  (This was probably also
  responsible for producing the prompt when it shouldn't be produced in some
  cases, as has been reported.) -KW
* some tweaks of Novice mode help lines:  don't show wrong key "to delete all
  text in field" (FORM_NOVICELINE_TWO); replaced an occurrence of <delete> with
  <backspace>.  In some cases (e.g., disabled fields), prefer no info to wrong
  info -KW
* extended KEYMAP option:  additional field can specify DIRED to request
  mapping in the Dired mode key_override table rather than the normal keymap
  table.  Documented the DIRED field and default override mapping in lynx.cfg
  -KW
* corrected KEYMAP display for dired mode.  It could display the normal binding
  when that wouldn't actually be used, for example if a key is bound to
  DO_NOTHING for DIRED.  The logic deciding whether to show a separate line for
  uppercase letters was only looking at the normal keymap -KW
* reset the edit_mode flag (indication of Dired mode) in various places, so the
  flag doesn't stat TRUE after a new page has been loaded.  For example,
  invoking the forms based 'O'ptions page from a Dired directory view would
  leave the Dired key bindings enabled within the Options page -KW
* for LYNXMESSAGES:  page of recent statusline messages, removed setting of the
  LYforce_no_cache flag in getfile().  Set the flag in LYMainLoop.c instead,
  but only for following a link.  This makes the page act more like a normal
  no-cache document, for example returning to it via PREV_DOC does not cause an
  automatic update.  The special handling in LYMainLoop.c is necessary because
  the link to LYNXMESSAGES:  appears on the History Page, and following a link
  from the History Page (as well as some other generated user interface pages)
  normally implies overriding of no-cache behavior which we don't want in this
  case -KW
* in LYNXMESSAGES:  page, number recent statusline messages in historic order,
  starting with 1 for the oldest.  This should make it more obvious that they
  are listed latest-first.  Add "(No messages yet)" text if there are no
  messages.  Removed generation of invalid <pre> -KW
* use a temporary file instead of the normal .lynxrc file for saving and
  restoring current settings in reload_read_cfg().  This avoids unexpected side
  effects of lynx.cfg reloading (LYNXCFG://reload action), i.e.  silent
  modification or first-time generation of .lynxrc contents.  In principle this
  should make reloading of lynx.cfg usable for accounts that don't allow saving
  of personal settings (i.e.  option_save restriction, implied by -anonymous)
  if other restrictions don't forbid it; but currently the option_save
  restriction is still obeyed for saving to the temporary file (so that
  reloading of lynx.cfg is prevented) -KW
* tweaks for LYNXCFG:  and LYNXCOMPILEOPTS:  pages:  honor REUSE_TEMPFILES
  setting if pages need to be regenerated, and clean up the memory for holding
  the file URLs in free_lynx_cfg().  Recover if the tempfile has unexpectedly
  disappeared, by regenerating it.  Also regenerate tempfile if NOCACHE key
  ('x') is used.  Added extra checks before doing automatic uncaching of
  previous page in LYNXCFG://reload code, to test whether the previous page is
  really a LYNXCFG:  view -KW
* corrected problems with "show color" in forms Options page.  Omit "ON" choice
  if color is not possible (but saving allowed).  When option_save restriction
  was in effect, the ON/OFF initialisation was wrong (resulting in unwanted
  toggling of color each time options were changed in an anonymous account) -KW
* tweaks of reload_read_cfg() for retaining "show color" setting and for
  updating display_lines (user_mode may have changed) -KW
* change for HTParse: if there is a hostname part, recognize a '?' as ending
  it if there are no further slash characters -KW
* tweaks in configure.in and INSTALLATION: describe correctly what
  --disable-dired-override does.  Rename --disable-dired-archive to
  --disable-dired-dearchive.  Clarified INSTALLATION text for
  --disable-full-paths.  Changed some "define" to "prevent defining" -KW
* don't try to put cursor in last screen position for hiding in
  show_main_statusline if -show_cursor/SHOW_CURSOR is on.  The show_cursor
  behavior may have been turned on to avoid problems with curses libs or
  terminal types that cannot deal with it correctly.  On pages with no links,
  for example SOURCE display, this may leave the cursor at the end of the
  statusline message if show_cursor is on.  This just restores previous
  versions' behavior in that case.  On pages with links, the movement is
  unnecessary anyway since the cursor will move again to the current link -KW
* removed a bug in automatic textarea growing.  Textarea would grow by
  one line unnecessarily if enter was used on the last input line on a
  screen (if that was not actually the last line in the textarea).  New
  function HText_TAHasMoreLines() to help with this -KW
* revision of "nonsticky" behavior / options.  Got rid of "sticky" terminology.
  Renamed the controlling option to TEXTFIELDS_NEED_ACTIVATION and command line
  flag -tna.
  Compiling in of this mode can be disabled, see in userdefs.h under
  TEXTFIELDS_MAY_NEED_ACTIVATION.  Two versions of "Textfields Need
  Activation" mode are provided.  The default mode (simpler yet better IMO)
  highlights an inactive selected text input fields like a current normal
  anchor.  The alternative variant (may go away later?) behaves like VH's
  previous implementation and gets used when compiling with
  -DINACTIVE_INPUT_STYLE_VH.
  Many bugs that would occur in somewhat unusual circumstances are fixed, for
  both variants.  (Action of various commands on TEXT_SUBMIT_TYPE fields,
  interaction with mouse selection, ...) Selecting an inactive input field with
  the mouse will activate it.  Various tweaks to make sure selecting a field in
  this way will put the editing cursor at the right position (even if the line
  had been scrolled / might be scrolled on entering the line editor), at least
  with NCURSES mouse support.  Also, -show_cursor now in general works as
  expected.  (In the INACTIVE_INPUT_STYLE_VH variant, cursor may sometimes end
  up on the statusline after error messages.) -KW
* treat input lines of the same textarea more like one entity, as far as
  "Textfields Need Activation" is concerned, as long as movement among those
  lines is with PREV_LINK/UP_LINK/LPOS_PREV_LINK/NEXT_LINK/DOWN_LINK/
  LPOS_NEXT_LINK or ACTIVATE keys (the last one only if TEXTAREA_AUTOGROW is
  defined, for consistency with line-appending behavior).  I.e.  moving among
  textarea lines with those keys automatically activates ('enters') the new
  field for line editing if the previous one was activated -KW
* modified statusline messages to be more appropriate and specific on non-
  activated form fields.  (The additional messages are not used or compiled
  in if TEXTFIELDS_MAY_NEED_ACTIVATION isn't defined.)  Avoid unnecessary
  repainting/refreshing of the physical statusline in many cases of moving
  among fields and links.  Make sure the additional lines shown in Novice
  mode are also appropriate -KW
* modified line editor behavior on "disabled" form text fields:  instead of
  disabling all non-terminating edit keys, allow those that never modify the
  field contents.  The user can now scroll through a long value in a disabled
  field with the arrow keys, rather than being stuck at the end -KW
* the ncurses mouse popup window would overlap the statusline in Novice mode.
  Limit the overlap to border area (so at least no significant text gets
  corrupted) -KW
* modified code for stickiness of the second kind (ex-STICKY_FIELDS) according
  to preliminary proposal from Vlad.  Named LEFTARROW_IN_TEXTFIELD_PROMPT.
  Does not depend on any conditional compilation symbols, and is now unrelated
  to the other kind of "stickiness" discussed above.  See lynx.cfg.  This isn't
  optimal yet (LAKABOFTIF discussion etc..), but better than leaving it as it
  was -KW
* made default width of textarea fields (if no COLS attribute given) depend on
  window or screen width, instead of using a fixed default of "60".  I.e.  for
  wider windows make better use of available space, and for narrows windows
  avoid wrapped textarea lines.  Take the usual left/right margins (depending
  on current block style) into account.  But for -dump don't make fields longer
  than 60 anyway (they will just show up as blocks of underscores anyway, not
  showing text content) -KW
* changes in code used to create new bookmark file after a bookmark has been
  'R'emoved.  Change should only affect Unix.  Basically, revert back to
  behavior used before 2.8.1dev.8 for "normal" files (no symlinks or extra
  hard links).  I.e. use rename / maybe try "mv" instead of "cp", then change
  permission bits explicitly.  Using "cp" means running the risk of losing or
  truncating the user's bookmark file if for example the disk became full
  (although these occasions should be rare - the scratch file we are trying
  to copy or rename was written just before without error, usually on the
  same filesystem).  Some more comments in LYBookmark.c.  Note: if you like
  your bookmark files, make backup copies of them anyway... -KW
* changed F1 key bindings so it always invokes DWIMHELP, also in the Line
  Editor (for all three Binding tables).  This means that pressing F1 (if you
  have it, and it is correctly mapped and recognized) while in a text form
  field will now bring up the Line Editor Help Page for the currently selected
  line edit style.  Other keys bound to HELP by default ('?', 'h') remain
  unchanged, they still always go to the main Help Page -KW
* don't let DWIMHELP show Line Editor help for a text input field that is
  disabled -KW
* don't mangle a -cookie_file like /home/user/.lynx_cookies.~1~, only interpret
  the '~' as reference to HOME if it's right at the beginning and followed by
  '/' and then some more.  There are probably other instances where '~' gets
  mistreated (in addition to the intentional dropping of "user" from something
  like "~user/" in file URLs etc.) -KW
* changed type of EXP_KEYBOARD_LAYOUT tables to LYKbLayout_t.  They hold
  Unicode values, any similarity to LYKeymap_t is just accidental -KW
* changed EXP_KEYBOARD_LAYOUT logic so that input characters that are
  unrepresentable in the current display character set (unless it is UTF-8) get
  transformed into '?' instead of some accidentally chosen 8-bit character.
  For UTF-8, convert to UTF-8 encoding instead.  Note the Line Editor isn't yet
  UTF-8 aware; with some care it is possible to enter UTF-8 text, but the
  display will be messed up, esp.  the cursor position will be shown wrong -KW
* some corrections for TPOS, YANK enhanced lineedit functions -KW
* added back in a block in LYmbcsstrlen that got lost somehow -KW
* fix an array boundary accident in GridText.c -JB
* reiterate that LYNXCGI_LINKS is set by the configure script -PW
* note that patches should be generated by "diff -u" -PG
* modify HTReadProgress so that setting SHOW_KB_RATE false will let the
  amount read be shown in bytes/sec -DK
* modify mkdirs.sh to ignore DOS-style device -IZ
* modify CF_PATH_SYNTAX configure macro to accept DOS-style path syntax, for
  use in OS/2 EMX port -IZ
* fix some memory leaks in visited-pages tree -IZ
* correct recent change to LYEditmap.c for EBCDIC -PG
* change 'elf32ppc' to 'elf32ppc*' in config.guess to work on MkLinux DR3
  (reported by Christopher Conrade Zseleghovski (address@hidden>)
* add check to HTConfirmDefault() to ensure that NLS form of "yes" and "no"
  are distinct in the first character, revert to English if not -TD
* add configure test for wredrawln, and use CF_CURSES_FUNCS -TD
* improve CF_TERMCAP_LIBS configure test -TD

reply via email to

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