about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1998-03-07 19:00:00 -0500
committerThomas E. Dickey <dickey@invisible-island.net>1998-03-07 19:00:00 -0500
commit57b42f17322a4cb27bb4b36d85e67a9f62a84fe3 (patch)
tree51b20c64e6508cd1af6251a23d87db9eb03d1f98
parent373bfbe1a5d037b9eb53f512a3332746e10607a2 (diff)
downloadlynx-snapshots-57b42f17322a4cb27bb4b36d85e67a9f62a84fe3.tar.gz
snapshot of project "lynx", label v2-8pre_5
-rw-r--r--INSTALLATION18
-rw-r--r--README31
-rw-r--r--docs/CHANGES2.831
-rw-r--r--src/LYStrings.c26
-rw-r--r--src/LYStrings.h8
-rw-r--r--src/LYUtils.c15
-rw-r--r--userdefs.h2
7 files changed, 80 insertions, 51 deletions
diff --git a/INSTALLATION b/INSTALLATION
index b1e960bc..856e9040 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -94,6 +94,22 @@ II. Compile instructions -- UNIX
 
     NOTE:  Configure has a number of useful options.  Please see below.
 
+    NOTE:  The 'configure' script generates auxiliary files "config.status"
+    "config.cache" and "config.log".  Normally you will not notice these;
+    they are created automatically and removed by a "make distclean".
+    
+	+ If you wish to rebuild Lynx with a new host, or change ANY of the
+	  parameters which are stored in config.cache, you MUST first remove
+	  the config.cache file before running configure; its options do NOT
+	  override the settings in that file.
+    
+	+ The config.status file is a script which creates (or regenerates) the
+	  files created by the configure script.
+
+    Please report problems in the configure/make process by including a copy of
+    config.status, config.cache and config.log, as well as the pertinent
+    compiler diagnostics.
+
     NOTE:  Lynx is a curses-based application, so you must have a curses
     library available to link to.  Native curses (on the system when it was
     installed) are often broken, so you may get superior performance if you
@@ -240,7 +256,7 @@ II. Compile instructions -- UNIX
   --enable-warnings
 	Use this option to turn on GCC compiler warnings.
 
-  --libdir
+  --libdir				(affect LYNX_CFG_FILE)
 	Defines the location where you want the lynx.cfg file installed.
 	The configure script defines the symbol LYNX_CFG_FILE to correspond
 	with the $libdir environment variable.  (For platforms which do not
diff --git a/README b/README
index 6d029fb0..acb937de 100644
--- a/README
+++ b/README
@@ -3,11 +3,11 @@
 
 Lynx Version 2.8 is the latest "official" release.  This release is based on
 the lynx2.7.1ac-0.118 development code set, and includes bug fixes through
-February 28, 1998.  See the CHANGES2.8 file in the docs subdirectory for a
-complete record of all changes and bug fixes in this release.  New releases
-are announced on the lynx-dev mailing list (see below).
+March 8, 1998.  See the CHANGES2.8 file in the docs subdirectory for a complete
+record of all changes and bug fixes in this release.  New releases are
+announced on the lynx-dev mailing list (see below).
+
 
-                                       
 WHAT IS LYNX?
 
    Lynx is a fully-featured World Wide Web (WWW) client for users running
@@ -19,12 +19,12 @@ WHAT IS LYNX?
    finger, or cso/ph/qi servers, and services accessible via logins to
    telnet, tn3270 or rlogin accounts.  Current versions of Lynx run on
    Unix, VMS, Windows95/NT, 386DOS and OS/2 EMX.
-   
+
    Lynx can be used to access information on the WWW, or to establish
    information systems intended primarily for local access. Lynx has been
    used to build several Campus Wide Information Systems (CWIS).  Lynx can
    also be used to build systems isolated within a single LAN.
-   
+
    Links to the current sources and support materials for Lynx are
    maintained at:
 			  "Lynx links"
@@ -33,7 +33,7 @@ WHAT IS LYNX?
 			"Lynx Information"
 		  <URL:http://lynx.browser.org/>.
    View these pages for information about Lynx, including new updates.
-   
+
    Lynx is distributed under the GNU General Public License (GPL) without
    restrictions on usage or redistribution.  The Lynx copyright statement,
    "COPYHEADER", and GNU GPL, "COPYING", are included in the top-level
@@ -69,13 +69,16 @@ DOCUMENTATION
    your site in order to lessen the load on http servers. This also will
    allow you to customize the help menu system for your site and greatly
    speed up access for those using Lynx over a slow connection.
-   
-   To install the help menu system, copy COPYHEADER and COPYING into the
+
+   For Unix and related systems which support the autoconf configure script,
+   the help menu system is installed by the "make install-help" command.
+
+   For other systems (such as VMS), copy COPYHEADER and COPYING into the
    lynx_help/ subdirectory.  Then copy the lynx_help subdirectory to a public
    place on your system, or into your $HOME directory if you are a single
    user.  Finally, edit the lynx.cfg file  so that the HELPFILE line is
    defined as follows:
-   
+
       HELPFILE:file://localhost/[public_path]/lynx_help/lynx_help_main.html
 
    where [public_path] is the absolute path to the lynx_help directory.
@@ -83,12 +86,12 @@ DOCUMENTATION
    HTML files.  Additional information about installing and customizing
    the help file set is available at <URL:http://www.irm.nara.kindai.ac.jp/
    lynxdev/README.help>.
-   
+
 INSTALLING LYNX
 
    To install Lynx, follow the steps in the INSTALLATION file, which is
    located in the top directory of the source distribution.
-   
+
 PROBLEMS
 
    If you experience problems configuring, compiling or installing Lynx,
@@ -100,8 +103,8 @@ PROBLEMS
 LYNX-DEV MAILING LIST
 
    To subscribe to lynx-dev, send email to majordomo@sig.net with only the
-   following message in the body: 
-   
+   following message in the body:
+
       SUBSCRIBE LYNX-DEV address
 
    where inclusion of your email address is optional if it can be obtained,
diff --git a/docs/CHANGES2.8 b/docs/CHANGES2.8
index 2518e6d5..f5499417 100644
--- a/docs/CHANGES2.8
+++ b/docs/CHANGES2.8
@@ -1,12 +1,10 @@
-	Changes in the development code based on Lynx v2.7.
-	===================================================
-[ This file will become the CHANGES file for a new Lynx release.
-(More detailed change information may be in separate files, which could
-later disappear.  For some early changes for compilation on Win32 and DOS
-platforms see also INSTALLATION, for some changes for auto-configure and
-simple curses color see also README.configure).  Note that the 2.7 -> 2.7.1
-changes are included here. - KW]
+=======================================================================
+---      Release of Lynx2-8pre.5 as Lynx v2.8 (March 7, 1998)       ---
+=======================================================================
 
+1998-03-07
+* move ifdef's for EXP_8BIT_TOUPPER inside UPPER8 function to allow
+  check for DOS/WINDOWS display charsets. - LP
 1998-03-06
 * clarify relationship between the configure script and userdefs.h with
   respect to the LYNX_CFG_FILE definition. - TD
@@ -19,13 +17,12 @@ changes are included here. - KW]
 * restore simple zmodem downloader script, displaced by recent undocumented
   change (there are some concerns about security or permissions with the
   alternate script).  - DK
-* DOSPATH localfile patch: corrected display of file://localhost/c:/,
-  which was displayed as file://localhost/c%3A/ (it looks strange,
-  no escaping is required in this case; tweak LYConvertToUrl() in LYUtils.c).
-  Now we may start "lynx c:" or 'go' c:  and not see these strange letters.
-  On the other hand, % and # symbols are now restricted to be in local file
-  path manually typed from 'go' URL (usually not happend) and interpreted only
-  as URL #fragment (Hex escaping after % done for valid numbers only). - LP
+* DOSPATH localfile patch:  corrected display of file://localhost/c:/,
+  which was displayed as file://localhost/c%3A/ (tweak LYConvertToUrl() in
+  LYUtils.c).  Now we may start "lynx c:" or 'go' c:  and not see these
+  strange letters.  On the other hand, if % and # symbols found in local
+  path it will be escaped as before (note that #fragment is not supposed here
+  to be used from command line...) - LP
 * workaround error in vendor's terminfo description of 'dtterm' by ensuring
   we limit color pair-number accordingly. - TD
 1998-03-04
@@ -57,7 +54,7 @@ changes are included here. - KW]
   Microsoft FrontPage. - LP
 * remove unneeded code for nbsp, ensp, emsp, thinsp and shy from handle_entity()
   in SGML.c - LP
-* ifdef UPPER8 function with EXP_8BIT_TOUPPER, make this the default for DJGPP,
+* ifdef UPPER8 function with EXP_8BIT_TOUPPER,
   add configure option --enable-8bit-toupper to allow testing.  - TD
 * case-insensitive search and 8bit letters:  It was realized that
   information about upper/lower mapping got from TOUPPER which depends on
@@ -110,7 +107,7 @@ changes are included here. - KW]
 * tweaks to HTPlain.c, LYCharUtils.c and SGML.c, remove extra checks for
   Unicode mdash, ndash, trade, as well as "iso-8859-2", "koi8-r", since they
   are done in the chartrans tables - LP
-* add an alias 'H' for F1 when using RAWDOSKEYHACK - DK
+* add an alias 'H' for F1 when using RAWDOSKEYHACK (LYStrings.c) - DK
 * restore -DRAWDOSKEYHACK to src/makefile.dos, reported by DK - TD
 * correct a typo in CF_CURSES_LIBS configure macro, which caused the configure
   script to not add termcap library to the list - TD
diff --git a/src/LYStrings.c b/src/LYStrings.c
index 52aac4b0..98696d9f 100644
--- a/src/LYStrings.c
+++ b/src/LYStrings.c
@@ -1603,8 +1603,6 @@ PUBLIC char * SNACat ARGS3(
 }
 
 
-#ifdef EXP_8BIT_TOUPPER
-
 /*
 **   UPPER8 ?
 **   it was "TOUPPER(a) - TOUPPER(b)" in its previous life...
@@ -1629,29 +1627,44 @@ PUBLIC char * SNACat ARGS3(
 **   may be interpreted as equal, but this side effect is negligible
 **   if the user search string is more than one character long.  - LP
 **
+**   Currently we enable new technique only for DOS/WINDOWS display charsets
+**   and also for EXP_8BIT_TOUPPER compilation symbol.
 */
 PUBLIC int UPPER8(int ch1, int ch2)
 {
+
+#ifdef NOTUSED
     /* Try case-Sensitive match for speed, but mostly for stability */
     /* while doing experiments with the remainder of this function. */
     if ((unsigned char)ch1==(unsigned char)ch2)
        return(0);
+#endif /* NOTUSED */
 
     /* case-insensitive match for us-ascii */
     if ((unsigned char)ch1 < 128 && (unsigned char)ch2 < 128)
 	return(TOUPPER(ch1) - TOUPPER(ch2));
 
-    /* compare "7bit approximation" for letters >127   */
+    /* case-insensitive match for upper half */
     if ((unsigned char)ch1 > 127 && (unsigned char)ch2 >127)
     {
+	CONST char *disp_charset;
+	disp_charset = LYCharSet_UC[current_char_set].MIMEname;
+
+#if !defined(EXP_8BIT_TOUPPER)
+	if  (!(strncasecomp(disp_charset, "cp", 2) ||
+		strncasecomp(disp_charset, "windows", 7))) {
+
+	return(TOUPPER(ch1) - TOUPPER(ch2)); /* old-style */
+	} else 
+#endif
+	{
+	/* compare "7bit approximation" for letters >127   */
 	/* BTW, if we remove the check for >127 above	   */
 	/* we get even more "relaxed" insensitive match... */
 
-	CONST char *disp_charset;
 	int charset_in, charset_out, uck1, uck2;
 	char replace_buf1 [10], replace_buf2 [10];
 
-	disp_charset = LYCharSet_UC[current_char_set].MIMEname;
 	charset_in  = UCGetLYhndl_byMIME(disp_charset);
 	charset_out = UCGetLYhndl_byMIME("us-ascii");
 
@@ -1662,9 +1675,8 @@ PUBLIC int UPPER8(int ch1, int ch2)
 
 	if ((uck1 > 0) && (uck2 > 0))  /* both replacement strings found */
 	    return (strcasecomp(replace_buf1, replace_buf2));
+	}
     }
 
     return(-10);  /* mismatch, if we come to here */
 }
-
-#endif /* EXP_8BIT_TOUPPER */
diff --git a/src/LYStrings.h b/src/LYStrings.h
index f161f5a6..350b88f3 100644
--- a/src/LYStrings.h
+++ b/src/LYStrings.h
@@ -3,17 +3,15 @@
 
 #include <string.h>
 
-#if !defined(EXP_8BIT_TOUPPER) && (!defined(LOCALE) || defined(__DJGPP__))
+#if !defined(EXP_8BIT_TOUPPER) && !defined(LOCALE)
 #define EXP_8BIT_TOUPPER
 #endif
 
-#ifdef EXP_8BIT_TOUPPER
+/*  UPPER8(ch1,ch2) is an extension of (TOUPPER(ch1) - TOUPPER(ch2))  */
 extern int UPPER8  PARAMS((
 	int		ch1,
 	int		ch2));
-#else
-#define UPPER8(a,b) (TOUPPER(a) - TOUPPER(b))
-#endif
+
 extern int get_mouse_link NOPARAMS;
 extern char * LYstrncpy PARAMS((
 	char *		dst,
diff --git a/src/LYUtils.c b/src/LYUtils.c
index b778ed71..c0d9ebc8 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -4122,14 +4122,17 @@ have_VMS_URL:
 		/*
 		 *  It is a subdirectory or file on the local system.
 		 */
-#ifndef DOSPATH
-		cp = HTEscape(temp, URL_PATH);
-#else
-		/* We need not escape DOS local paths such as c:    */
-		/* especially when we really have file://localhost/ */
-		/* at the beginning.				    */
+#ifdef DOSPATH
+		/* Don't want to see DOS local paths like c: escaped */
+		/* especially when we really have file://localhost/  */
+		/* at the beginning. To avoid any confusion we allow */
+		/* escaping the path if URL specials % or # present. */
+		if (strchr(temp, '#') == NULL &&
+			   strchr(temp, '%') == NULL)
 		StrAllocCopy(cp, temp);
+		else
 #endif /* DOSPATH */
+		cp = HTEscape(temp, URL_PATH);
 		StrAllocCat(*AllocatedString, cp);
 		FREE(cp);
 		if (TRACE) {
diff --git a/userdefs.h b/userdefs.h
index 2ecdfcf0..98b57fc3 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1212,7 +1212,7 @@
  * the version definition with the Project Version on checkout. Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.8pre.4"
+#define LYNX_VERSION "2.8pre.5"
 
 #ifndef MAXINT
 #define MAXINT 2147483647	/* max integer */