about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES10
-rw-r--r--INSTALLATION88
-rw-r--r--WWW/Library/Implementation/HTTP.c2
-rw-r--r--lynx.cfg34
-rw-r--r--src/LYReadCFG.c40
-rw-r--r--src/UCAuto.c3
-rw-r--r--userdefs.h4
7 files changed, 122 insertions, 59 deletions
diff --git a/CHANGES b/CHANGES
index 8fec3409..a017772d 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,16 @@
 Changes since Lynx 2.8 release
 ===============================================================================
 
+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
diff --git a/INSTALLATION b/INSTALLATION
index cce23068..98919fe3 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -479,7 +479,7 @@ II. Compile instructions -- UNIX
 
   --with-screen=XXX
 	Use this option to select the screen type.  The option value,
-	XXX must be one of curses (the default), ncurses or slang.
+	XXX must be one of curses (the default), ncurses, pdcurses or slang.
 	Specifying a screen type causes the configure script to look in
 	standard locations for the associated header and library files,
 	unless you have preset the $CFLAGS and $LIBS variables.
@@ -491,12 +491,22 @@ II. Compile instructions -- UNIX
 	does not support color, while on others, ncurses is installed as
 	the curses library.
 
-  --with-socks				(define SOCKS)
+  --with-socks[=XXX]			(define SOCKS)
 	Use this option to configure with the socks library.
 
-  --with-socks5				(define USE_SOCKS5, SOCKS)
+	The optional value XXX specifies the directory in which the library
+	can be found, and may be either the path of the "lib" directory,
+	or one level above.  In either case, the corresponding header files
+	are assumed to be in the parallel "include" directory.
+
+  --with-socks5[=XXX]			(define USE_SOCKS5, SOCKS)
 	Use this option to configure with the socks5 library.
 
+	The optional value XXX specifies the directory in which the library
+	can be found, and may be either the path of the "lib" directory,
+	or one level above.  In either case, the corresponding header files
+	are assumed to be in the parallel "include" directory.
+
 	If you make a SOCKSified lynx, you may have trouble accessing FTP
 	servers.  Also, instead of SOCKSifying lynx for use behind a firewall,
 	you are better off if you make it normally, and set it up to use a
@@ -506,10 +516,15 @@ II. Compile instructions -- UNIX
 	SITE_LYDEFS and SITE_DEFS.  If you do SOCKSify lynx, you can turn off
 	SOCKS proxy usage via a -nosocks command line switch.
 
-  --with-ssl				(define USE_SSL)
-	Use this option to configure with the OpenSSL library.
+  --with-ssl[=XXX]			(define USE_SSL)
+	Use this option to configure with the OpenSSL library, or SSLeay.
 	See docs/README.ssl for additional information.
 
+	The optional value XXX specifies the directory in which the library
+	can be found, and may be either the path of the "lib" directory,
+	or one level above.  In either case, the corresponding header files
+	are assumed to be in the parallel "include" directory.
+
   --with-zlib				(define USE_ZLIB)
 	Use zlib for decompression of some gzip files.
 
@@ -715,16 +730,14 @@ Borland C:
 -- 1997/10/12 - W. Buttles <lynx-port@fdisk.com>
 
 Cygwin:
-    It is possible to compile under the cygwin system, which will allow you
-    to use the configure script described above for Unix.  Type, for example,
+    It is possible to compile under the cygwin system, which will allow you to
+    use the configure script described above for Unix.  Type, for example,
     "./configure --with-screen=ncurses --with-libz" in a Dos window running the
     cygwin bash$ shell.  You also have the choice of using either pdcurses or
     slang.  You will need a launch program such as sh.exe to call helper
-    applications. Paths may need to be in cygwin style, rather than Windows
-    style (e.g., TMPDIR=/d/cygwin/tmp, rather than TMPDIR=d:\cygwin\tmp).  You
-    will not be able to use the cygwin1.dll that comes with the standard b20
-    distribution of cygwin. Substitute the cygwin1.dll from:
-    "ftp://sourceware.cygnus.com/pub/cygwin/snapshot-19990115/cygwin1-19990115.dll.gz"
+    applications.  Paths may need to be in cygwin style, rather than Windows
+    style (e.g., TMPDIR=/cygdrive/d/cygwin/tmp, rather than
+    TMPDIR=d:\cygwin\tmp).
 
 Visual C++:
     You must have compiled zlib and PDCurses with the -MT (threaded code)
@@ -751,10 +764,10 @@ V. Compile instructions -- 386 DOS
     Compiling for DOS with DJGPP is a multistep procedure. First install
     the C compiler and its libraries (see readme.1st from DJGPP distribution).
 
-    Originally, lynx makefiles come with the initial -O1 optimization level.
+    Originally, lynx makefiles come with the initial -O2 optimization level. 
     If you experience compilation process too slow due to paging to the disk
-    (DPMI server provide virtual memory, when in lack of RAM),
-    you may turn the optimization off entirely.
+    (DPMI server provide virtual memory, when in lack of RAM), you may change
+    optimization to -O1 or turn the optimization off entirely.
 
     Alternatively, to get the last bit of run-time performance you may try
     -O2 or -O3, in this case you may need to "stubedit" your "cc1.exe" file
@@ -779,19 +792,19 @@ V. Compile instructions -- 386 DOS
     long filenames that will not be recognized by DJGPP tools.
 
     If you wish to compile with "USE_ZLIB" (recommended), you must have the
-    zlib library.  Get the source from "http://www.cdrom.com/pub/infozip/zlib/"
+    zlib library.  Get the source from
+	    http://www.info-zip.org/pub/infozip/zlib/
     and compile it.  Put libz.a in the lib subdirectory of DJGPP, and put
     zlib.h and zconf.h in the include subdirectory.
 
-    In addition to the files in the Lynx distribution, you will need a
-    curses package and a TCP package. You can use PDCurses (available
-    at "http://www.lightlink.com/hessling/") and the DJGPP port of
-    WATTCP. The updated version of WATTCP is known as WATT-32, and
-    is available at "http://www.bgnett.no/~giva/". You can also
-    use slang ("ftp://space.mit.edu/pub/davis/slang") as your curses
-    library. You need to compile these before you go any further. If
-    you wish to use PDCurses 2.4, you need to first apply the following
-    patch:
+    In addition to the files in the Lynx distribution, you will need a curses
+    package and a TCP package.  You can use PDCurses (available at
+    "http://www.lightlink.com/hessling/") and the DJGPP port of WATTCP.  The
+    updated version of WATTCP is known as WATT-32, and is available at
+    "http://www.bgnett.no/~giva/".  You can also use slang (available at
+    "ftp://space.mit.edu/pub/davis/slang") as your screen library.  You must
+    compile these before you go any further.  If you wish to use PDCurses 2.4,
+    you need to first apply the following patch:
 
     --- dos/pdckbd.c.ori	Sun Dec 26 23:15:04 1999
     +++ dos/pdckbd.c	Fri Mar  3 00:20:14 2000
@@ -815,9 +828,9 @@ V. Compile instructions -- 386 DOS
      # else
 
     If you have trouble applying the patch, try using the "patch" program,
-    ("http://www.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/pat25b.zip").
+    ("ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/pat253b.zip").
     To read the Unix man style documentation, use, for example, "less"
-    ("http://www.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/lss332b.zip").
+    ("ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/lss358b.zip").
     Compile or place your compiled PDCurses library in lynx2-*/curses, and
     compile or place your compiled WATT-32 library in lynx2-*/djgpp/watt32.  If
     using the SLANG library, put libslang.a in your DJGPP/lib directory and put
@@ -841,13 +854,13 @@ V. Compile instructions -- 386 DOS
     incompatibilities from mixing different programs.
 
     If you wish to compile with support for internationalization of messages,
-    you first need to install the DOS port of the GNU gettext package,
-    available from any DJGPP mirror site.  You may wish to recompile with DJGPP
-    2.03.  Then uncomment the lines for INTLFLAGS in src/makefile.dsl and in
-    WWW/Library/djgpp/makefile.sla, and remove the "#" from the LIBS line in
-    src/makefile.dsl.  Make similar changes if using one of the other DOS
-    makefiles.  See the gettext documentation for information on creating and
-    using message files for different languages.
+    you first need to install the DOS ports of the GNU gettext and libiconv
+    packages, available from any DJGPP mirror site.  Then uncomment the lines
+    for INTLFLAGS in src/makefile.dsl and in WWW/Library/djgpp/makefile.sla,
+    and remove the "#" from the LIBS line in src/makefile.dsl.  Make similar
+    changes if using one of the other DOS makefiles.  See the gettext
+    documentation for information on creating and using message files for
+    different languages.
 
     If all goes well, you will have a lynx.exe file.  If you have trouble,
     check to be sure djgpp.env is the way it came in the original package.
@@ -859,7 +872,7 @@ V. Compile instructions -- 386 DOS
     "http://www.flora.org/lynx-dev/html/month011998/msg00057.html".
     Start the dummy packet driver with "nullpkt 0x60", and take it out of
     memory with "nullpkt -u".  You can also use slip8250.com.  See the CRYNWR
-    package "http://www.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip".
+    package "ftp://ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip".
     Usage is "slip8250 0x60", but you may have to invoke it as, for example,
     "slip8250  0x60 6 3 0x2F8" so that it uses COM2 and IRQ 3, in order to
     avoid an IRQ conflict with a mouse or some other device.  Another packet
@@ -870,7 +883,7 @@ V. Compile instructions -- 386 DOS
     (Find at:
     "http://mvmpc9.ciw.uni-karlsruhe.de/c:/user/toni/dosppp/dosppp06.zip",
     "http://personal.redestb.es/tonilop/dosppp/dosppp06.zip", or
-    "ftp://ftp.agate.net/users/01935/internet/dosppp06.zip";
+    "ftp://ftp.oldskool.org/pub/tvdog/internet/dosppp06.zip";
     "http://www.klos.com/get.pppshare.html")
 
     File access looks like this:
@@ -881,6 +894,7 @@ V. Compile instructions -- 386 DOS
     file://localhost/c:/
     file://localhost/c:/dos
     file://localhost/c:/dos/command.com
+    file://localhost/dev/c/dos/command.com
 
     See "http://www.fdisk.com/doslynx/lynxport.htm" for more hints and
     some precompiled libraries. One problem you can encounter is editing
@@ -912,7 +926,7 @@ V. Compile instructions -- 386 DOS
 
 -- 1997/9/29 - D. Kaufman <dkaufman@rahul.net>
 -- 1997/10/3 - B. Schiavo <Wschiavo@concentric.net>
--- Last update - 2000/03/03
+-- Last update - 2001/07/12
 
 
 VI. General installation instructions
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 8e93fd80..0e7af29d 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -1363,7 +1363,7 @@ use_tunnel:
 		 *  > 206 is unknown.
 		 *  All should return something to display.
 		 */
-#ifdef USE_SSL
+#if defined(USE_SSL) && !defined(DISABLE_NEWS)
 		if (do_connect) {
 		    CTRACE((tfp, "HTTP: Proxy tunnel to '%s' established.\n",
 				connect_host));
diff --git a/lynx.cfg b/lynx.cfg
index a85ac69f..64e8a113 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -553,6 +553,40 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #PREFERRED_CHARSET:
 
 
+.h2 CHARSETS_DIRECTORY
+# CHARSETS_DIRECTORY specifies the directory with the fonts (glyph data)
+# used by Lynx to switch the display-font to a font best suited for the
+# given document.  The font should be in a format understood by the 
+# platforms TTY-display-font-switching API.  Currently supported on OS/2 only.
+#
+# Lynx expects the glyphs for the charset CHARSET with character cell
+# size HHHxWWW to be stored in a file HHHxWWW/CHARSET.fnt inside the directory
+# specified by CHARSETS_DIRECTORY.  E.g., the font for koi8-r sized 14x9
+# should be in the file 14x9/koi8-r.fnt.
+#
+#CHARSETS_DIRECTORY:
+
+
+.h2 CHARSET_SWITCH_RULES
+# CHARSET_SWITCH_RULES hints lynx on how to choose the best display
+# font given the document encoding.  This strings is a sequence of
+# chunks, each chunk having the following form:
+#
+# IN_CHARSET1 IN_CHARSET2 ... IN_CHARSET5 :OUT_CHARSET
+#
+# For readability, one may insert arbitrary additional punctuation (anything
+# but : is ignored).  E.g., if lynx is able to switch only to display charsets
+# cp866, cp850, cp852, and cp862, then the following setting may be useful
+# (split for readability):
+#
+# CHARSET_SWITCH_RULES: koi8-r ISO-8859-5 windows-1251 cp866u KOI8-U :cp866,
+#	iso-8859-1 windows-1252 ISO-8859-15 :cp850,
+#	ISO-8859-2 windows-1250 :cp852,
+#	ISO-8859-8 windows-1255 :cp862
+#
+#CHARSET_SWITCH_RULES:
+
+
 .h1 Interaction
 
 .h2 URL_DOMAIN_PREFIXES
diff --git a/src/LYReadCFG.c b/src/LYReadCFG.c
index 82f4e8ff..7dd55482 100644
--- a/src/LYReadCFG.c
+++ b/src/LYReadCFG.c
@@ -1262,8 +1262,8 @@ PRIVATE Config_Type Config_Table [] =
      PARSE_SET("case_sensitive_always_on", case_sensitive),
      PARSE_FUN("character_set",        character_set_fun),
 #ifdef CAN_SWITCH_DISPLAY_CHARSET
-     PARSE_SET("charset_switch_rules", charset_switch_rules),
-     PARSE_SET("charsets_directory",   charsets_directory),
+     PARSE_STR("charset_switch_rules", charset_switch_rules),
+     PARSE_STR("charsets_directory",   charsets_directory),
 #endif
      PARSE_SET("checkmail",            check_mail),
      PARSE_SET("collapse_br_tags",     LYCollapseBRs),
@@ -1276,15 +1276,17 @@ PRIVATE Config_Type Config_Table [] =
      PARSE_STR("cookie_accept_domains", LYCookieSAcceptDomains),
 #ifdef EXP_PERSISTENT_COOKIES
      PARSE_STR("cookie_file",          LYCookieFile),
-     PARSE_STR("cookie_save_file",     LYCookieSaveFile),
 #endif /* EXP_PERSISTENT_COOKIES */
      PARSE_STR("cookie_loose_invalid_domains", LYCookieSLooseCheckDomains),
      PARSE_STR("cookie_query_invalid_domains", LYCookieSQueryCheckDomains),
      PARSE_STR("cookie_reject_domains", LYCookieSRejectDomains),
+#ifdef EXP_PERSISTENT_COOKIES
+     PARSE_STR("cookie_save_file",     LYCookieSaveFile),
+#endif /* EXP_PERSISTENT_COOKIES */
      PARSE_STR("cookie_strict_invalid_domains", LYCookieSStrictCheckDomains),
      PARSE_Env("cso_proxy", 0 ),
 #ifdef VMS
-     PARSE_STR("CSWING_PATH", LYCSwingPath),
+     PARSE_STR("cswing_path",          LYCSwingPath),
 #endif
      PARSE_FUN("default_bookmark_file", default_bookmark_file_fun),
      PARSE_FUN("default_cache_size",   default_cache_size_fun),
@@ -1350,31 +1352,31 @@ PRIVATE Config_Type Config_Table [] =
 #endif
      PARSE_FUN("keymap",               keymap_fun),
      PARSE_SET("leftarrow_in_textfield_prompt", textfield_prompt_at_left_edge),
-#ifndef DISABLE_NEWS
-     PARSE_SET("list_news_numbers",    LYListNewsNumbers),
-     PARSE_SET("list_news_dates",      LYListNewsDates),
-#endif
 #ifndef VMS
      PARSE_STR("list_format",          list_format),
 #endif
-     PARSE_FUN("localhost_alias",      localhost_alias_fun),
+#ifndef DISABLE_NEWS
+     PARSE_SET("list_news_dates",      LYListNewsDates),
+     PARSE_SET("list_news_numbers",    LYListNewsNumbers),
+#endif
      PARSE_STR("local_domain",         LYLocalDomain),
 #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
      PARSE_SET("local_execution_links_always_on", local_exec),
      PARSE_SET("local_execution_links_on_but_not_remote", local_exec_on_local_files),
 #endif
+     PARSE_FUN("localhost_alias",      localhost_alias_fun),
+     PARSE_STR("lynx_host_name",       LYHostName),
+     PARSE_FUN("lynx_sig_file",        lynx_sig_file_fun),
 #ifdef LYNXCGI_LINKS
-     PARSE_FUN("lynxcgi_environment",  lynxcgi_environment_fun),
 #ifndef VMS
      PARSE_STR("lynxcgi_document_root", LYCgiDocumentRoot),
 #endif
+     PARSE_FUN("lynxcgi_environment",  lynxcgi_environment_fun),
 #endif
-     PARSE_STR("lynx_host_name",       LYHostName),
-     PARSE_FUN("lynx_sig_file",        lynx_sig_file_fun),
-     PARSE_SET("mail_system_error_logging", error_logging),
 #if USE_VMS_MAILER
      PARSE_STR("mail_adrs",            mail_adrs),
 #endif
+     PARSE_SET("mail_system_error_logging", error_logging),
      PARSE_SET("make_links_for_all_images", clickable_images),
      PARSE_SET("make_pseudo_alts_for_inlines", pseudo_inline_alts),
      PARSE_TIM("messagesecs",          MessageSecs),
@@ -1391,9 +1393,6 @@ PRIVATE Config_Type Config_Table [] =
      PARSE_Env("nntp_proxy",           0),
      PARSE_ENV("nntpserver",           0), /* actually NNTPSERVER */
 #endif
-#ifdef SH_EX
-     PARSE_SET("no_table_center",      no_table_center),
-#endif
      PARSE_SET("no_dot_files",         no_dotfiles),
      PARSE_SET("no_file_referer",      no_filereferer),
 #ifndef VMS
@@ -1403,6 +1402,9 @@ PRIVATE Config_Type Config_Table [] =
      PARSE_SET("no_ismap_if_usemap",   LYNoISMAPifUSEMAP),
      PARSE_Env("no_proxy",             0 ),
      PARSE_SET("no_referer_header",    LYNoRefererHeader),
+#ifdef SH_EX
+     PARSE_SET("no_table_center",      no_table_center),
+#endif
      PARSE_FUN("nonrestarting_sigwinch", nonrest_sigwinch_fun),
      PARSE_FUN("outgoing_mail_charset", outgoing_mail_charset_fun),
 #ifdef DISP_PARTIAL
@@ -1412,8 +1414,8 @@ PRIVATE Config_Type Config_Table [] =
 #ifdef EXP_PERSISTENT_COOKIES
      PARSE_SET("persistent_cookies",   persistent_cookies),
 #endif /* EXP_PERSISTENT_COOKIES */
-     PARSE_STR("personal_mailcap",     personal_type_map),
      PARSE_STR("personal_extension_map", personal_extension_map),
+     PARSE_STR("personal_mailcap",     personal_type_map),
      PARSE_STR("preferred_charset",    pref_charset),
      PARSE_STR("preferred_language",   language),
      PARSE_SET("prepend_base_to_source", LYPrependBaseToSource),
@@ -1472,11 +1474,11 @@ PRIVATE Config_Type Config_Table [] =
 #ifdef LYNXCGI_LINKS
      PARSE_DEF("trusted_lynxcgi",      CGI_PATH),
 #endif
-     PARSE_STR("url_domain_prefixes",  URLDomainPrefixes),
-     PARSE_STR("url_domain_suffixes",  URLDomainSuffixes),
 #ifdef DIRED_SUPPORT
      PARSE_ADD("uploader",             uploaders),
 #endif
+     PARSE_STR("url_domain_prefixes",  URLDomainPrefixes),
+     PARSE_STR("url_domain_suffixes",  URLDomainSuffixes),
 #ifdef VMS
      PARSE_SET("use_fixed_records",    UseFixedRecords),
 #endif
diff --git a/src/UCAuto.c b/src/UCAuto.c
index 1b455f97..6a531adf 100644
--- a/src/UCAuto.c
+++ b/src/UCAuto.c
@@ -649,6 +649,9 @@ PRIVATE int _Switch_Display_Charset ARGS2 (int, ord, enum switch_display_charset
 	font_loaded_for = ord1;
 	old_h = font->cyCell;
 	old_w = font->cxCell;
+    } else {
+	ord = ord1 = auto_display_charset;
+	goto retry;
     }
   report:
     CTRACE((tfp, "Display font set to '%s'.\n", name));
diff --git a/userdefs.h b/userdefs.h
index de4fa879..c4edb287 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1351,11 +1351,11 @@
  * the version definition with the Project Version on checkout.  Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8.4pre.4"
+#define LYNX_VERSION "2.8.4pre.5"
 #define LYNX_WWW_HOME "http://lynx.browser.org/"
 #define LYNX_WWW_DIST "http://lynx.isc.org/current/"
 /* $Format: "#define LYNX_DATE \"$ProjectDate$\""$ */
-#define LYNX_DATE "Tue, 10 Jul 2001 10:05:58 -0700"
+#define LYNX_DATE "Sat, 14 Jul 2001 19:06:16 -0700"
 #define LYNX_DATE_OFF 5		/* truncate the automatically-generated date */
 #define LYNX_DATE_LEN 11	/* truncate the automatically-generated date */