diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2024-03-13 20:52:04 +0000 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2024-03-13 22:08:33 +0000 |
commit | 66e0a52ae6c09f8fc5a821f4374ed748de418155 (patch) | |
tree | d550aa536de882725afd1e7f64ecefa2e2dd9b6f | |
parent | 8ed5d3b5bf97f5a459c5bbe7f9264903cb728d88 (diff) | |
download | lynx-snapshots-66e0a52ae6c09f8fc5a821f4374ed748de418155.tar.gz |
snapshot of project "lynx", label v2-9-0a
-rw-r--r-- | CHANGES | 6 | ||||
-rw-r--r-- | PACKAGE/debian/changelog | 6 | ||||
-rw-r--r-- | PACKAGE/lynx.nsi | 6 | ||||
-rw-r--r-- | PACKAGE/lynx.spec | 4 | ||||
-rw-r--r-- | PACKAGE/version.iss | 2 | ||||
-rwxr-xr-x | config.guess | 7 | ||||
-rwxr-xr-x | config.sub | 27 | ||||
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | lynx.cfg | 6 | ||||
-rw-r--r-- | lynx.man | 5 | ||||
-rw-r--r-- | src/LYIcon.rc | 10 | ||||
-rw-r--r-- | src/LYMainLoop.c | 40 | ||||
-rw-r--r-- | userdefs.h | 6 |
14 files changed, 77 insertions, 58 deletions
diff --git a/CHANGES b/CHANGES index 6b8e03f8..3cd75c2a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,8 +1,12 @@ --- $LynxId: CHANGES,v 1.1159 2024/01/15 21:41:51 tom Exp $ +-- $LynxId: CHANGES,v 1.1161 2024/03/13 16:23:10 tom Exp $ =============================================================================== Changes since Lynx 2.8 release =============================================================================== +2024-03-13 (2.9.0a) +* fix special case of main status line on a page without links, broken by fix + for UBSAN/ASAN issue -TG + 2024-01-15 (2.9.0) * change version of OpenSSL used in Windows installers to 3.x and 1.1.1x, for new/old respectively -TD diff --git a/PACKAGE/debian/changelog b/PACKAGE/debian/changelog index 048e3cfd..69e763e1 100644 --- a/PACKAGE/debian/changelog +++ b/PACKAGE/debian/changelog @@ -1,8 +1,8 @@ -lynx-dev (2.9.0) unstable; urgency=high +lynx-dev (2.9.1) unstable; urgency=low - * new release + * maintenance updates - -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Jan 2024 17:15:53 -0500 + -- Thomas E. Dickey <dickey@invisible-island.net> Wed, 13 Mar 2024 12:45:26 -0400 lynx-dev (2.8.8dev.16) unstable; urgency=high diff --git a/PACKAGE/lynx.nsi b/PACKAGE/lynx.nsi index 7071db25..130b39f9 100644 --- a/PACKAGE/lynx.nsi +++ b/PACKAGE/lynx.nsi @@ -1,4 +1,4 @@ -; $LynxId: lynx.nsi,v 1.63 2024/01/07 11:13:00 tom Exp $ +; $LynxId: lynx.nsi,v 1.64 2024/03/13 16:45:26 tom Exp $ ; Script originally generated with the Venis Install Wizard, but customized. ; The Inno Setup script is preferred; but this can be built via cross-compiling. @@ -9,8 +9,8 @@ !define VERSION_EPOCH "2" !define VERSION_MAJOR "9" !define VERSION_MINOR "0" -!define VERSION_LEVEL "1013" -!define VERSION_PATCH "dev.13" +!define VERSION_LEVEL "2001" +!define VERSION_PATCH "a" !define SUBKEY "Lynx" diff --git a/PACKAGE/lynx.spec b/PACKAGE/lynx.spec index a11a9a02..8806b548 100644 --- a/PACKAGE/lynx.spec +++ b/PACKAGE/lynx.spec @@ -1,7 +1,7 @@ -# $LynxId: lynx.spec,v 1.72 2024/01/15 11:47:26 tom Exp $ +# $LynxId: lynx.spec,v 1.73 2024/03/13 20:52:04 tom Exp $ Summary: A text-based Web browser Name: lynx-dev -Version: 2.9.0 +Version: 2.9.1 Release: 1 License: GPLv2 Group: Applications/Internet diff --git a/PACKAGE/version.iss b/PACKAGE/version.iss index e3fe613b..8235a2bd 100644 --- a/PACKAGE/version.iss +++ b/PACKAGE/version.iss @@ -1,6 +1,6 @@ ; version used for Inno Setup files. -#define LYNX_VERSION "2.9.0" +#define LYNX_VERSION "2.9.0a" #define MyAppProg "Lynx" #define MyAppName "Lynx - web browser" diff --git a/config.guess b/config.guess index cdfc4392..f47d666d 100755 --- a/config.guess +++ b/config.guess @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-08-22' +timestamp='2023-10-19' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -165,6 +165,8 @@ Linux|GNU|GNU/*) LIBC=dietlibc #elif defined(__GLIBC__) LIBC=gnu + #elif defined(__LLVM_LIBC__) + LIBC=llvm #else #include <stdarg.h> /* First heuristic to detect musl libc. */ @@ -1593,6 +1595,9 @@ EOF *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; + *:Ironclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad + ;; esac # Do we have a guess based on uname results? diff --git a/config.sub b/config.sub index 51394d32..e4c4e09b 100755 --- a/config.sub +++ b/config.sub @@ -4,7 +4,7 @@ # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-09-15' +timestamp='2023-12-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -1222,6 +1222,7 @@ case $cpu-$vendor in | moxie \ | mt \ | msp430 \ + | nanomips* \ | nds32 | nds32le | nds32be \ | nfp \ | nios | nios2 | nios2eb | nios2el \ @@ -1253,6 +1254,7 @@ case $cpu-$vendor in | ubicom32 \ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ | vax \ + | vc4 \ | visium \ | w65 \ | wasm32 | wasm64 \ @@ -1597,7 +1599,7 @@ case $cpu-$vendor in os= obj=elf ;; - mips*-*) + mips*-*|nanomips*-*) os= obj=elf ;; @@ -1721,7 +1723,7 @@ fi case $os in # Sometimes we do "kernel-libc", so those need to count as OSes. - musl* | newlib* | relibc* | uclibc*) + llvm* | musl* | newlib* | relibc* | uclibc*) ;; # Likewise for "kernel-abi" eabi* | gnueabi*) @@ -1766,12 +1768,19 @@ case $os in | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* | mlibc* | cos* | mbr* ) + | fiwix* | mlibc* | cos* | mbr* | ironclad* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) # Don't forget version if it is 3.2v4 or newer. ;; + # This refers to builds using the UEFI calling convention + # (which depends on the architecture) and PE file format. + # Note that this is both a different calling convention and + # different file format than that of GNU-EFI + # (x86_64-w64-mingw32). + uefi) + ;; none) ;; kernel* | msvc* ) @@ -1818,16 +1827,18 @@ esac # As a final step for OS-related things, validate the OS-kernel combination # (given a valid OS), if there is a kernel. case $kernel-$os-$obj in - linux-gnu*- | linux-dietlibc*- | linux-android*- | linux-newlib*- \ - | linux-musl*- | linux-relibc*- | linux-uclibc*- | linux-mlibc*- ) + linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \ + | linux-mlibc*- | linux-musl*- | linux-newlib*- \ + | linux-relibc*- | linux-uclibc*- ) ;; uclinux-uclibc*- ) ;; managarm-mlibc*- | managarm-kernel*- ) ;; - windows*-gnu*- | windows*-msvc*-) + windows*-msvc*-) ;; - -dietlibc*- | -newlib*- | -musl*- | -relibc*- | -uclibc*- | -mlibc*- ) + -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \ + | -uclibc*- ) # These are just libc implementations, not actual OSes, and thus # require a kernel. echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2 diff --git a/configure b/configure index 3de5c353..8ccfe0ae 100755 --- a/configure +++ b/configure @@ -191,8 +191,8 @@ mandir='${datarootdir}/man' # Identity of this package. PACKAGE_NAME='lynx' PACKAGE_TARNAME='lynx' -PACKAGE_VERSION='2.9.0' -PACKAGE_STRING='lynx 2.9.0' +PACKAGE_VERSION='2.9.0a' +PACKAGE_STRING='lynx 2.9.0a' PACKAGE_BUGREPORT='lynx-dev@nongnu.org' ac_prev= diff --git a/configure.in b/configure.in index 29081036..1e6fe579 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -dnl $LynxId: configure.in,v 1.355 2024/01/14 22:24:38 tom Exp $ +dnl $LynxId: configure.in,v 1.356 2024/03/13 19:53:39 tom Exp $ dnl dnl Process this file with autoconf to produce a configure script. dnl @@ -27,10 +27,10 @@ dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. dnl --------------------------------------------------------------------------- dnl -AC_REVISION($Revision: 1.355 $) +AC_REVISION($Revision: 1.356 $) AC_PREREQ(2.52.20231210) -AC_INIT(lynx,2.9.0,lynx-dev@nongnu.org) +AC_INIT(lynx,2.9.0a,lynx-dev@nongnu.org) AC_CONFIG_SRCDIR(userdefs.h) diff --git a/lynx.cfg b/lynx.cfg index c92a39c7..aeb1c54f 100644 --- a/lynx.cfg +++ b/lynx.cfg @@ -1,10 +1,10 @@ -# $LynxId: lynx.cfg,v 1.335 2024/01/15 11:31:00 tom Exp $ +# $LynxId: lynx.cfg,v 1.337 2024/03/13 20:06:44 tom Exp $ # lynx.cfg file. # The default placement for this file is /usr/local/lib/lynx.cfg (Unix) # or Lynx_Dir:lynx.cfg (VMS) # -# LYNX_VERSION "2.9.0" -# LYNX_DATE "15 Jan 2024" +# LYNX_VERSION "2.9.0a" +# LYNX_DATE "13 Mar 2024" # # Definition pairs (configuration settings) are of the form # VARIABLE:DEFINITION diff --git a/lynx.man b/lynx.man index 464078d2..bb02a349 100644 --- a/lynx.man +++ b/lynx.man @@ -1,7 +1,6 @@ -.\" $LynxId: lynx.man,v 1.147 2024/01/14 20:53:14 tom Exp $ +.\" $LynxId: lynx.man,v 1.149 2024/03/13 20:47:12 tom Exp $ .\" ************************************************************************** -.TH LYNX 1 2024-01-14 "Lynx 2.9.0" "Lynx \(en the \fItext\fP web browser" -. +.TH LYNX 1 2024-03-13 "Lynx 2.9.0a" "Lynx \(en the \fItext\fP web browser" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq diff --git a/src/LYIcon.rc b/src/LYIcon.rc index 001af562..d37abe73 100644 --- a/src/LYIcon.rc +++ b/src/LYIcon.rc @@ -1,12 +1,12 @@ -// $LynxId: LYIcon.rc,v 1.57 2024/01/07 11:13:00 tom Exp $ +// $LynxId: LYIcon.rc,v 1.58 2024/03/13 16:45:26 tom Exp $ #include <windows.h> 100 ICON "../samples/lynx.ico" VS_VERSION_INFO VERSIONINFO -FILEVERSION 2,9,0,1013 -PRODUCTVERSION 2,9,0,1013 +FILEVERSION 2,9,0,2001 +PRODUCTVERSION 2,9,0,2001 FILEFLAGSMASK VS_FFI_FILEFLAGSMASK FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -19,12 +19,12 @@ BEGIN BEGIN VALUE "CompanyName", "https://invisible-island.net/lynx" VALUE "FileDescription", "Lynx - web browser" - VALUE "FileVersion", "2.9.0.1013" + VALUE "FileVersion", "2.9.0.2001" VALUE "InternalName", "Lynx" VALUE "LegalCopyright", "©1997-2024 Thomas E. Dickey" VALUE "OriginalFilename", "lynx.exe" VALUE "ProductName", "Lynx - web browser" - VALUE "ProductVersion", "2.9.0.1013" + VALUE "ProductVersion", "2.9.0.2001" END END BLOCK "VarFileInfo" diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c index 55be2054..d580c5da 100644 --- a/src/LYMainLoop.c +++ b/src/LYMainLoop.c @@ -1,5 +1,5 @@ /* - * $LynxId: LYMainLoop.c,v 1.254 2024/01/15 19:10:04 Gisle.Vanem Exp $ + * $LynxId: LYMainLoop.c,v 1.255 2024/03/13 13:51:20 Thorsten.Glaser Exp $ */ #include <HTUtils.h> #include <HTAccess.h> @@ -177,7 +177,7 @@ HTAtom *WWW_SOURCE = 0; static void exit_immediately_with_error_message(int state, int first_file); static void status_link(const char *curlink_name, int show_more, int show_indx); -static void show_main_statusline(const LinkInfo curlink, int for_what); +static void show_main_statusline(const LinkInfo *curlink, int for_what); static void form_noviceline(int); static int are_different(DocInfo *doc1, DocInfo *doc2); @@ -1061,7 +1061,7 @@ static int handle_LYK_ACTIVATE(int *c, F_TEXTLIKE(links[curdoc.link].l_form->type)) { textinput_activated = TRUE; - show_main_statusline(links[curdoc.link], FOR_INPUT); + show_main_statusline(&links[curdoc.link], FOR_INPUT); textfields_need_activation = textfields_activation_option; return 0; @@ -6769,8 +6769,8 @@ int mainloop(void) * If help is not on the screen, then put a message on the screen to * tell the user other misc info. */ - if (!show_help && curdoc.link >= 0) { - show_main_statusline(links[curdoc.link], + if (!show_help) { + show_main_statusline(curdoc.link >= 0 ? &links[curdoc.link] : NULL, ((curlink_is_editable && textinput_activated) ? FOR_INPUT @@ -7109,13 +7109,13 @@ int mainloop(void) #ifdef TEXTFIELDS_MAY_NEED_ACTIVATION if (textfields_need_activation) { - show_main_statusline(links[curdoc.link], FOR_PANEL); + show_main_statusline(&links[curdoc.link], FOR_PANEL); #ifdef INACTIVE_INPUT_STYLE_VH textinput_redrawn = FALSE; #endif } else #endif - show_main_statusline(links[curdoc.link], FOR_INPUT); + show_main_statusline(&links[curdoc.link], FOR_INPUT); } else if (more_text) { HTInfoMsg(MOREHELP); } else { @@ -7930,7 +7930,7 @@ void HTAddGotoURL(char *url) * When help is not on the screen, put a message on the screen to tell the user * other misc info. */ -static void show_main_statusline(const LinkInfo curlink, +static void show_main_statusline(const LinkInfo *curlink, int for_what) { /* @@ -7954,16 +7954,16 @@ static void show_main_statusline(const LinkInfo curlink, } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0) { #else #ifdef NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES - } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 && - !(curlink.type & WWW_LINK_TYPE)) { + } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 && curlink && + !(curlink->type & WWW_LINK_TYPE)) { #else - } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 && + } else if (lynx_mode == FORMS_LYNX_MODE && nlinks > 0 && curlink && !((user_mode == ADVANCED_MODE || user_mode == MINIMAL_MODE) && - (curlink.type & WWW_LINK_TYPE))) { + (curlink->type & WWW_LINK_TYPE))) { #endif /* NORMAL_NON_FORM_LINK_STATUSLINES_FOR_ALL_USER_MODES */ #endif /* INDICATE_FORMS_MODE_FOR_ALL_LINKS_ON_PAGE */ - if (curlink.type == WWW_FORM_LINK_TYPE) { - show_formlink_statusline(curlink.l_form, for_what); + if (curlink->type == WWW_FORM_LINK_TYPE) { + show_formlink_statusline(curlink->l_form, for_what); } else { statusline(NORMAL_LINK_MESSAGE); } @@ -7980,18 +7980,18 @@ static void show_main_statusline(const LinkInfo curlink, lynx_stop_reverse(); } - } else if ((user_mode == ADVANCED_MODE) && nlinks > 0) { + } else if ((user_mode == ADVANCED_MODE) && nlinks > 0 && curlink) { /* * Show the URL or, for some internal links, the fragment */ char *cp = NULL; - if (curlink.type == WWW_INTERN_LINK_TYPE && - !isLYNXIMGMAP(curlink.lname)) { - cp = findPoundSelector(curlink.lname); + if (curlink->type == WWW_INTERN_LINK_TYPE && + !isLYNXIMGMAP(curlink->lname)) { + cp = findPoundSelector(curlink->lname); } if (!cp) - cp = curlink.lname; + cp = curlink->lname; status_link(cp, more_text, is_www_index); } else if ((user_mode == MINIMAL_MODE) && nlinks > 0) { /* @@ -8037,7 +8037,7 @@ static void show_main_statusline(const LinkInfo curlink, void repaint_main_statusline(int for_what) { if (curdoc.link >= 0 && curdoc.link < nlinks) - show_main_statusline(links[curdoc.link], for_what); + show_main_statusline(&links[curdoc.link], for_what); } static void form_noviceline(int disabled) diff --git a/userdefs.h b/userdefs.h index 0c50d59f..5ea3883e 100644 --- a/userdefs.h +++ b/userdefs.h @@ -1,5 +1,5 @@ /* - * $LynxId: userdefs.h,v 1.373 2024/01/15 11:31:22 tom Exp $ + * $LynxId: userdefs.h,v 1.375 2024/03/13 20:06:44 tom Exp $ * * Lynx - Hypertext navigation system * @@ -1451,10 +1451,10 @@ */ #define LYNX_NAME "Lynx" -#define LYNX_VERSION "2.9.0" +#define LYNX_VERSION "2.9.0a" #define LYNX_WWW_HOME "https://lynx.invisible-island.net/" #define LYNX_WWW_DIST "https://lynx.invisible-island.net/current/" -#define LYNX_DATE "15 Jan 2024" +#define LYNX_DATE "13 Mar 2024" #ifdef UNICODE #define W32_STRING(s) L##s |