about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES.new71
-rw-r--r--Lynx.prj550
-rw-r--r--PROBLEMS4
-rw-r--r--README.configure3
-rw-r--r--WWW/Library/Implementation/BSDI_Makefile405
-rw-r--r--WWW/Library/Implementation/HTAABrow.c4
-rw-r--r--WWW/Library/Implementation/HTAAServ.c6
-rw-r--r--WWW/Library/Implementation/HTAAServ.h2
-rw-r--r--WWW/Library/Implementation/HTAAUtil.c6
-rw-r--r--WWW/Library/Implementation/HTACL.h17
-rw-r--r--WWW/Library/Implementation/HTAccess.c110
-rw-r--r--WWW/Library/Implementation/HTAlert.h2
-rw-r--r--WWW/Library/Implementation/HTAnchor.c11
-rw-r--r--WWW/Library/Implementation/HTAuth.c12
-rw-r--r--WWW/Library/Implementation/HTFTP.c121
-rw-r--r--WWW/Library/Implementation/HTFile.c48
-rw-r--r--WWW/Library/Implementation/HTFile.h15
-rw-r--r--WWW/Library/Implementation/HTFinger.c1
-rw-r--r--WWW/Library/Implementation/HTFormat.c6
-rw-r--r--WWW/Library/Implementation/HTFormat.h1
-rw-r--r--WWW/Library/Implementation/HTGopher.c19
-rw-r--r--WWW/Library/Implementation/HTGroup.c6
-rw-r--r--WWW/Library/Implementation/HTMIME.c44
-rw-r--r--WWW/Library/Implementation/HTNews.c79
-rw-r--r--WWW/Library/Implementation/HTParse.c82
-rw-r--r--WWW/Library/Implementation/HTPasswd.c8
-rw-r--r--WWW/Library/Implementation/HTPlain.c8
-rw-r--r--WWW/Library/Implementation/HTRules.c8
-rw-r--r--WWW/Library/Implementation/HTTCP.c77
-rw-r--r--WWW/Library/Implementation/HTTP.c7
-rw-r--r--WWW/Library/Implementation/HTTelnet.c27
-rw-r--r--WWW/Library/Implementation/HTUU.c2
-rw-r--r--WWW/Library/Implementation/HTWAIS.c1
-rw-r--r--WWW/Library/Implementation/HTWSRC.c14
-rw-r--r--WWW/Library/Implementation/HTWSRC.h2
-rw-r--r--WWW/Library/Implementation/SGML.c30
-rw-r--r--WWW/Library/apollo_m68k/Makefile38
-rw-r--r--WWW/Library/clix/Makefile30
-rw-r--r--WWW/Library/convex/Makefile32
-rw-r--r--WWW/Library/decstation/Makefile23
-rw-r--r--WWW/Library/duns/Makefile489
-rw-r--r--WWW/Library/freebsd/Makefile27
-rw-r--r--WWW/Library/isc/Makefile30
-rw-r--r--WWW/Library/mips/Makefile29
-rw-r--r--WWW/Library/netbsd/Makefile29
-rw-r--r--WWW/Library/next/Makefile40
-rw-r--r--WWW/Library/osf/Makefile23
-rw-r--r--WWW/Library/ptx/Makefile29
-rw-r--r--WWW/Library/rs6000/Makefile29
-rw-r--r--WWW/Library/sco/Makefile33
-rw-r--r--WWW/Library/sgi/Makefile30
-rw-r--r--WWW/Library/snake/Makefile33
-rw-r--r--WWW/Library/solaris2/Makefile29
-rw-r--r--WWW/Library/sun3/Makefile29
-rw-r--r--WWW/Library/sun4/Makefile29
-rw-r--r--WWW/Library/svr4/Makefile29
-rw-r--r--WWW/Library/umaxv-m88k/Makefile30
-rw-r--r--WWW/Library/unix_x/Makefile491
-rw-r--r--WWW/Library/vax_ultrix/Makefile33
-rw-r--r--aclocal.m423
-rwxr-xr-xconfigure895
-rw-r--r--configure.in30
-rw-r--r--lynx.cfg25
-rw-r--r--lynx.hlp4
-rw-r--r--lynx.man4
-rw-r--r--lynx_help/Lynx_users_guide.html46
-rw-r--r--lynx_help/keystrokes/option_help.html2
-rw-r--r--lynx_help/lynx_url_support.html3
-rw-r--r--makefile.in15
-rw-r--r--samples/lynx.cfg25
-rw-r--r--src/GridText.c1366
-rw-r--r--src/HTInit.c288
-rw-r--r--src/HTML.c167
-rw-r--r--src/LYCgi.c8
-rw-r--r--src/LYCharSets.c2247
-rw-r--r--src/LYCharSets.h18
-rw-r--r--src/LYCharUtils.c75
-rw-r--r--src/LYClean.c1
-rw-r--r--src/LYCurses.c17
-rw-r--r--src/LYCurses.h6
-rw-r--r--src/LYForms.c24
-rw-r--r--src/LYGetFile.c2
-rw-r--r--src/LYGlobalDefs.h2
-rw-r--r--src/LYLocal.c4
-rw-r--r--src/LYLocal.h4
-rw-r--r--src/LYMain.c419
-rw-r--r--src/LYMainLoop.c3
-rw-r--r--src/LYMap.h1
-rw-r--r--src/LYPrint.c1
-rw-r--r--src/LYStrings.c4
-rw-r--r--src/LYUtils.c18
-rw-r--r--src/UCAuto.c23
-rw-r--r--src/UCAux.c79
-rw-r--r--src/UCdomap.c1153
-rw-r--r--src/chrtrans/cp1250_uni.tbl4
-rw-r--r--src/chrtrans/cp1251_uni.tbl2
-rw-r--r--src/chrtrans/cp1252_uni.tbl4
-rw-r--r--src/chrtrans/cp1253_uni.tbl2
-rw-r--r--src/chrtrans/cp1255_uni.tbl2
-rw-r--r--src/chrtrans/cp1256_uni.tbl2
-rw-r--r--src/chrtrans/cp1257_uni.tbl2
-rw-r--r--src/chrtrans/cp437_uni.tbl6
-rw-r--r--src/chrtrans/cp850_uni.tbl2
-rw-r--r--src/chrtrans/cp852_uni.tbl2
-rw-r--r--src/chrtrans/def7_uni.tbl119
-rw-r--r--src/chrtrans/next_uni.tbl2
-rw-r--r--src/chrtrans/rfc_suni.tbl4
-rw-r--r--src/chrtrans/utf8_uni.tbl5
-rw-r--r--userdefs.h31
109 files changed, 6041 insertions, 4573 deletions
diff --git a/CHANGES.new b/CHANGES.new
index a5b2ab97..3177549d 100644
--- a/CHANGES.new
+++ b/CHANGES.new
@@ -7,6 +7,67 @@ 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]
 
+1998-01-22
+* include userdefs.h in LYCurses.h to address redefinition warnings for
+  curses-related configuration. - TD
+* adjust formatting, comments & some messages in recently-modified files to
+  simplify comparison with 2.7.2 version.  - TD
+* remove obsolete logic from UCCanTranslateFromTo, (recommended by LP). - TD
+* make character set names (e.g., cp437, cp850, next) consistent in lynx.cfg,
+  userdefs.h (reported by LP).  - TD
+* change configure script to check for termcap library before curses, in case
+  it is dependent.  - TD
+* More corrections in the Russian Cyrillic area of def7_uni.tbl. - LP
+1998-01-17
+* correct logic for no_color_video by ensuring that if not defined, it
+  doesn't disable underline with color. - TD
+* remove NSL_CLONE - didn't build. - TD
+1998-01-16
+* eliminate gcc "shadowed variable", "nested declaration", "no previous
+  prototype" warnings. - TD
+* add --disable-internal-links configure option. - TD
+* remove W3C gateway (patch by DK, based on email from Gerald Oskoboiny
+  <gerald@w3.org>). - TD
+* documentation updates (patch by JS). - TD
+* add CONTENT_TYPE to environment of lynxcgi POST documents (reported by
+  Ty Sarna <tsarna@endicor.com> & FM). - TD
+* add NSL_CLONE ifdef that enables use of the linux clone() call instead of
+  fork() for the gethostbyname() calls in HTTCP.c.  (patch by Ryan Nielsen
+  <ran@haxor.com>). - TD
+from the lynx code.  I think the following patch does this.
+1998-01-15
+* Tweak of the NSL_FORK code in HTTCP.c to prevent zombie processes from
+  being created when gethostbyname() is interrupted. - RN
+* Corrected the Russian Cyrillic area of the def7_uni.tbl Unicode to
+  7-bit approximations conversion table. - LP
+* Mods of UCAux.c, LYCharUtils.c, SGML.c and HTPlain.c to use 7-bit
+  approximations instead of 8th bit stripping when the document charset
+  is koi8-r and the Display Character Set does not have the corresponding
+  characters. - FM
+* Tweaks in HTML.c to ignore a newline character immediately following
+  a PRE start tag more consistently.  When PRE blocks are used to create
+  blank lines, you should get only as many as are actually included in
+  the PRE block, unless you include less than the number specifed for
+  "before" the block to which you return, in which case you'll get the
+  latter number of blank lines. - FM
+1998-01-13
+* Fixed a typo in the HTParse() code of HTParse.c for checking whether
+  a colon in the host field indeed delimits a port number. - FM
+* Changed the internal MIME names for all MicroSoft Windows codepages
+  from cp#### to windows-####, since the latter is used more commonly
+  as the charset value in META elements and/or Content-Type headers,
+  and most of them have been registered that way with IANA.  Note,
+  however, that MicroSoft uses cp instead of windows- prefixes in the
+  charset names for the Unicode conversion tables submitted to the
+  Unicode Consortium.  Also note that we still treat cp, cp-, and ibm
+  prefixes as synonyms for the windows- prefix. - FM
+1998-01-06
+* work around for 'keypad()' function w/o corresponding key defines
+  (reported by Francisco A. Tomei Torres for NeXTstep 4.0). - TD
+* quote message in install rule, just in case (from HEN). - TD
+* correct expression to supply default value of .cfg file's pathname
+  (reported by LE & Ambrose Li <acli@acli.interlog.com>). - TD
+* correct dependency of .cfg files upon $(libdir) in makefile.in - TD
 1998-01-04
 * correct temporary filename for -traversal -crawl (patch by Doug Kaufman). - TD
 * correct redefinition of SYSTEM_MAIL_FLAGS. (reported by Doug Kaufman). - TD
@@ -18,7 +79,7 @@ changes are included here. - KW]
 1998-01-02
 * workaround for sed expression when rerunning configure with config.cache
   for slang libraries (reported by Hynek Med). - TD
-* fix indicated by Laura Eaves for LYUCFullyTranslateString_1() - TD
+* fix indicated by Laura Eaves (LE) for LYUCFullyTranslateString_1() - TD
 * modify SPAWNING_MSG for DOSPATH configuration, avoid unnecessary use
   of clear-screen in shell (patch by Doug Kaufman). - TD
 * remove install-help from list for install rule, adding message to
@@ -28,7 +89,7 @@ changes are included here. - KW]
   Doug Kaufman). - TD
 * add LYNX_LSS_FILE to config.hin, reported by Ambrose Li
   <acli@acli.interlog.com>. - TD
-* new copy of INSTALLATION file from Henry Nelson Eric. - TD
+* new copy of INSTALLATION file from HEN. - TD
 * add COPY* to install rule. - TD
 * simplify includes in UCdomap.c by using include-path in makefiles. - TD
 * build configure script with patched autoconf to workaround limited
@@ -67,7 +128,7 @@ changes are included here. - KW]
 * add start_color() call to DOSPATH version of start_curses() to
   fix problem reported by Doug Kaufman - TD
 * correct typo in ColorCode() function (reported by Doug Kaufman) - TD
-* modify comments in makefile.in (patch by Henry Nelson Eric) - TD
+* modify comments in makefile.in (patch by HEN) - TD
 * minor fixes for CF_CHECK_ERRNO, CF_SIZECHANGE, CF_SLANG_CPPFLAGS
   macros. - TD
 * add configure option --enable-nsl-fork to turn on code defined by
@@ -336,8 +397,8 @@ changes are included here. - KW]
   invoking the F_LINK_NUM prompt when in form text fields.  Ctrl-V is
   still a dead key under other circumstances in the line editor. - FM
 * remove options --with-lss-file and --with-cfg-file, since the corresponding
-  files will always be installed under $(libdir), reported by Nelson Henry
-  Eric. - TD
+  files will always be installed under $(libdir), reported by Henry Eric
+  Nelson (HEN).  - TD
 * modify configure script and makefile templates to permit builds with the
   --srcdir option, noted by Philippe De Muyter. - TD
 1997-11-08
diff --git a/Lynx.prj b/Lynx.prj
deleted file mode 100644
index b73a261a..00000000
--- a/Lynx.prj
+++ /dev/null
@@ -1,550 +0,0 @@
-;; -*- Lisp -*-
-(Created-By-Prcs-Version 1 2 1)
-(Project-Description "PRCS Project for The Lynx browser")
-(Project-Version Lynx 2.7.1ac-0 106)
-(Parent-Version Lynx 2.7.1ac-0 105)
-
-(Version-Log "minor fixes for automatically-switching character sets (Linux)
-")
-(New-Version-Log "")
-(Checkin-Time "Mon, 05 Jan 1998 16:17:40 -0700")
-(Checkin-Login dickey)
-(Populate-Ignore ("\\.o$" "\\.a$" "~$" "^a.out$" "^core$"
-                  "\\.dvi$" "\\.aux$" "^\\..*_aux$" "\\.log"
-                  "\\.zip$" "^obsolete" "/obsolete"
-                  "/chrtrans/.*uni_h" "\\.h_old$"
-                  "^lynx$" "/lynx$" "\\.bak$" "\\.old$" "\\.rej$" "\\.orig$"
-		  "w3chttp\\."))
-(Project-Keywords)
-(Files
-;; This is a comment.  Fill in files here.
-;; For example:  (prcs/checkout.cc ())
-
-;; Files added by populate at Mon, 24 Feb 1997 18:11:17 -0600:
-
-  (utils/lpansi/vmsbuild.com (Lynx/b/45_vmsbuild.c 1.1 644))
-  (utils/lpansi/Makefile (Lynx/b/46_Makefile 1.1 644))
-  (utils/lpansi/lpansi.1 (Lynx/b/47_lpansi.1 1.1 644))
-  (utils/lpansi/README (Lynx/b/48_README 1.1 644))
-  (utils/lpansi/lpansi.c (Lynx/b/49_lpansi.c 1.1 644))
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.1.1.2.1.1.1.6 644))
-  (test/tabtest.html (Lynx/c/11_tabtest.ht 1.1 644))
-  (test/iso8859-1.html (Lynx/c/12_iso8859-1. 1.1 644))
-  (test/TestComment.html (Lynx/c/13_TestCommen 1.1 644))
-  (test/ISO_LATIN1_test.html (Lynx/c/14_ISO_LATIN1 1.1 644))
-  (test/README.txt (Lynx/c/15_README.txt 1.1 644))
-  (src/LYVMSdef.h (Lynx/c/16_LYVMSdef.h 1.1 644))
-  (src/LYCookie.h (Lynx/c/17_LYCookie.h 1.2 644))
-  (src/LYCookie.c (Lynx/c/18_LYCookie.c 1.2.1.6.1.1.1.1.1.2.1.1.1.3 644))
-  (src/LYCharUtils.h (Lynx/c/19_LYCharUtil 1.1.2.8 644))
-  (src/LYMap.h (Lynx/c/20_LYMap.h 1.2.2.1 644))
-  (src/LYMap.c (Lynx/c/21_LYMap.c 1.1.2.1.1.2.1.2.1.4 644))
-  
-  (src/LYEditmap.c (Lynx/c/23_LYEditmap. 1.1.1.1.1.2 644))
-  (src/LYTraversal.h (Lynx/c/24_LYTraversa 1.1 644))
-  (src/LYTraversal.c (Lynx/c/25_LYTraversa 1.1.2.6 644))
-  (src/LYList.h (Lynx/c/26_LYList.h 1.3 644))
-  (src/LYCgi.h (Lynx/c/27_LYCgi.h 1.1 644))
-  (src/LYCgi.c (Lynx/c/28_LYCgi.c 1.1.2.2.1.2 644))
-  (src/LYJump.h (Lynx/c/29_LYJump.h 1.2 644))
-  (src/HTNestedList.h (Lynx/c/30_HTNestedLi 1.1 644))
-  (src/LYLeaks.c (Lynx/c/31_LYLeaks.c 1.1.1.6 644))
-  (src/LYGCurses.h (Lynx/c/32_LYGCurses. 1.1 644))
-  (src/win_tcp.opt (Lynx/c/33_win_tcp.op 1.1 644))
-  (src/vaxc.opt (Lynx/c/34_vaxc.opt 1.1 644))
-  (src/ucxshr.opt (Lynx/c/35_ucxshr.opt 1.1 644))
-  (src/ucxolb.opt (Lynx/c/36_ucxolb.opt 1.1 644))
-  (src/LYLocal.h (Lynx/c/37_LYLocal.h 1.2 644))
-  (src/LYSystem.h (Lynx/c/38_LYSystem.h 1.1 644))
-  (src/LYShowInfo.h (Lynx/c/39_LYShowInfo 1.1 644))
-  (src/LYBookmark.h (Lynx/c/40_LYBookmark 1.2 644))
-  (src/LYReadCFG.h (Lynx/c/41_LYReadCFG. 1.2 644))
-  (src/LYNews.h (Lynx/c/42_LYNews.h 1.2 644))
-  (src/LYMail.h (Lynx/c/43_LYMail.h 1.1.2.2 644))
-  (src/LYCharSets.h (Lynx/c/44_LYCharSets 1.1.2.2.1.3 644))
-  (src/LYCharSets.c (Lynx/c/45_LYCharSets 1.1.1.1.1.1.1.1.1.4 644))
-  (src/LYDownload.h (Lynx/c/46_LYDownload 1.1 644))
-  (src/LYDownload.c (Lynx/c/47_LYDownload 1.1.4.1.1.1.3.3 644))
-  (src/HTML.h (Lynx/c/48_HTML.h 1.1.2.2.1.6 644))
-  (src/LYUpload.h (Lynx/c/49_LYUpload.h 1.1 644))
-  (src/HTSaveToFile.h (Lynx/c/50_HTSaveToFi 1.1 644))
-  (src/DefaultStyle.c (Lynx/c/51_DefaultSty 1.1.2.2 644))
-  (src/HTFont.h (Lynx/d/0_HTFont.h 1.3 644))
-  (src/HTAlert.h (Lynx/d/1_HTAlert.h 1.2.1.3 644))
-  (src/HTFWriter.c (Lynx/d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.1.1.1.1.8 644))
-  (src/LYList.c (Lynx/d/3_LYList.c 1.1.3.2.1.1.1.1.3.6 644))
-  (src/LYexit.c (Lynx/d/4_LYexit.c 1.9 644))
-  (src/LYrcFile.h (Lynx/d/5_LYrcFile.h 1.1 644))
-  (src/tcpwareshr.opt (Lynx/d/6_tcpwareshr 1.1 644))
-  (src/LYPrint.h (Lynx/d/7_LYPrint.h 1.1 644))
-  (src/tcpwareolb.opt (Lynx/d/8_tcpwareolb 1.1 644))
-  (src/socketshr_tcp.opt (Lynx/d/9_socketshr_ 1.1 644))
-  (src/multinet.opt (Lynx/d/10_multinet.o 1.1 644))
-  (src/LYHistory.h (Lynx/d/11_LYHistory. 1.1 644))
-  (src/gnuc.opt (Lynx/d/12_gnuc.opt 1.1 644))
-  (src/decc.opt (Lynx/d/13_decc.opt 1.1 644))
-  (src/cmu_tcp.opt (Lynx/d/14_cmu_tcp.op 1.1 644))
-  (src/LYrcFile.c (Lynx/d/15_LYrcFile.c 1.1.3.12 644))
-  (src/LYEdit.h (Lynx/d/16_LYEdit.h 1.1 644))
-  (src/LYOptions.h (Lynx/d/17_LYOptions. 1.1.2.6 644))
-  (src/LYGetFile.h (Lynx/d/18_LYGetFile. 1.1.2.2.1.2 644))
-  (src/LYMainLoop.h (Lynx/d/19_LYMainLoop 1.2 644))
-  (src/LYStrings.h (Lynx/d/20_LYStrings. 1.1.2.2.1.1.1.3 644))
-  (src/LYHistory.c (Lynx/d/21_LYHistory. 1.1.2.1.4.1.1.1.1.9 644))
-  (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.1.1.2 644))
-  (src/LYSignal.h (Lynx/d/23_LYSignal.h 1.1 644))
-  (src/LYClean.h (Lynx/d/24_LYClean.h 1.1.2.1 644))
-  (src/LYGlobalDefs.h (Lynx/d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.2.1.11 644))
-  (src/LYStructs.h (Lynx/d/26_LYStructs. 1.1.3.5 644))
-  
-  (src/LYSearch.h (Lynx/d/28_LYSearch.h 1.2 644))
-  (src/Makefile.old (Lynx/d/29_Makefile 1.1.4.1.2.3.1.4 644))
-  (src/LYKeymap.h (Lynx/d/30_LYKeymap.h 1.1.2.2.1.1.1.3 644))
-  (src/LYKeymap.c (Lynx/d/31_LYKeymap.c 1.1.2.4.1.1.1.2.1.1.1.4 644))
-  (src/HTForms.h (Lynx/d/32_HTForms.h 1.1.1.7 644))
-  (src/GridText.h (Lynx/d/33_GridText.h 1.1.1.1.1.3.1.1.1.1.1.1.1.1.1.1.1.6 644))
-  (src/LYUtils.h (Lynx/d/34_LYUtils.h 1.1.2.2.3.5 644))
-  (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.1.3.1.1.1.1.5 644))
-  (src/LYStrings.c (Lynx/d/36_LYStrings. 1.1.3.2.1.1.1.2.1.2.1.6 644))
-  (src/LYShowInfo.c (Lynx/d/37_LYShowInfo 1.1.2.1.5.1.1.1.2.4 644))
-  (src/LYSearch.c (Lynx/d/38_LYSearch.c 1.2.2.5 644))
-  (src/LYReadCFG.c (Lynx/d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.2.1.11 644))
-  (src/LYPrint.c (Lynx/d/40_LYPrint.c 1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.6 644))
-  (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.1.1.3.1.1.1.1.1.5 644))
-  (src/LYNews.c (Lynx/d/42_LYNews.c 1.2.4.1.1.1.2.4 644))
-  (src/LYMainLoop.c (Lynx/d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.1.1.2.1.4 644))
-  (src/LYMain.c (Lynx/d/44_LYMain.c 1.1.2.1.1.1.1.1.1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.3.1.1.1.8 644))
-  (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.1.1.1.2.1.1.3 644))
-  (src/LYLocal.c (Lynx/d/46_LYLocal.c 1.2.3.1.3.14 644))
-  (src/LYJump.c (Lynx/d/47_LYJump.c 1.4 644))
-  (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.1.1.1.1.1.1.2.1.1.1.2.1.3 644))
-  (src/LYForms.c (Lynx/d/49_LYForms.c 1.1.4.1.2.1.1.1.1.1.1.2.1.2 644))
-  (src/LYEdit.c (Lynx/d/50_LYEdit.c 1.1.2.1.1.3 644))
-  
-  (src/LYClean.c (Lynx/e/0_LYClean.c 1.1.4.1.1.7 644))
-  (src/LYBookmark.c (Lynx/e/1_LYBookmark 1.1.2.1.1.10 644))
-  (src/HTML.c (Lynx/e/2_HTML.c 1.1.4.1.1.1.1.2.1.4.1.2.1.3.1.2.1.2.2.2.1.1.1.2.1.1.1.4.1.3 644))
-  (src/HTInit.c (Lynx/e/3_HTInit.c 1.1.4.1.3.1.1.2.1.2 644))
-  (src/HTAlert.c (Lynx/e/4_HTAlert.c 1.1.2.1.1.1.1.3 644))
-  (src/GridText.c (Lynx/e/5_GridText.c 1.1.3.1.1.1.1.1.1.2.2.2.1.2.1.2.1.1.1.1.1.1.1.1.1.3.1.2.1.12 644))
-  (src/descrip.mms (Lynx/e/6_descrip.mm 1.3 644))
-  (samples/jumpsVMS.html (Lynx/e/7_jumpsVMS.h 1.1 644))
-  (samples/jumpsUnix.html (Lynx/e/8_jumpsUnix. 1.1 644))
-  (samples/mime.types (Lynx/e/9_mime.types 1.1 644))
-  (samples/lynx.com (Lynx/e/10_lynx.com 1.1 644))
-  (samples/mailcap (Lynx/e/11_mailcap 1.2 644))
-  (samples/lynx.cfg (Lynx/e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.1.1.3.1.2.1.1.1.1.1.4 644))
-  (lynx_help/lynx_url_support.html (Lynx/e/13_lynx_url_s 1.6 644))
-  (lynx_help/Lynx_users_guide.html (Lynx/e/14_Lynx_users 1.8.1.1.1.1.1.1.1.2.1.1.1.3 644))
-  (lynx_help/keystrokes/cookie_help.html (Lynx/e/15_cookie_hel 1.1 644))
-  (lynx_help/keystrokes/visited_help.html (Lynx/e/16_visited_he 1.1 644))
-  (lynx_help/keystrokes/edit_help.html (Lynx/e/17_edit_help. 1.3 644))
-  (lynx_help/keystrokes/dired_help.html (Lynx/e/18_dired_help 1.1 644))
-  (lynx_help/keystrokes/xterm_help.html (Lynx/e/19_xterm_help 1.1 644))
-  (lynx_help/keystrokes/scrolling_help.html (Lynx/e/20_scrolling_ 1.1 644))
-  (lynx_help/keystrokes/print_help.html (Lynx/e/21_print_help 1.1 644))
-  (lynx_help/keystrokes/other_help.html (Lynx/e/22_other_help 1.3.1.3 644))
-  (lynx_help/keystrokes/option_help.html (Lynx/e/23_option_hel 1.6.1.2 644))
-  (lynx_help/keystrokes/movement_help.html (Lynx/e/24_movement_h 1.1 644))
-  (lynx_help/keystrokes/history_help.html (Lynx/e/25_history_he 1.1 644))
-  (lynx_help/keystrokes/gopher_types_help.html (Lynx/e/26_gopher_typ 1.2 644))
-  (lynx_help/keystrokes/bookmark_help.html (Lynx/e/27_bookmark_h 1.1 644))
-  (lynx_help/keystrokes/keystroke_help.html (Lynx/e/28_keystroke_ 1.3.1.1.1.3 644))
-  (lynx_help/lynx_help_main.html (Lynx/e/29_lynx_help_ 1.3.1.2 644))
-  (lynx.man (Lynx/e/30_lynx.man 1.5.2.6.1.3 644))
-  (lynx.hlp (Lynx/e/31_lynx.hlp 1.10.1.3 644))
-  (lynx.cfg (Lynx/e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.2.1.3.1.2.1.1.1.1.1.6 644))
-  (fixed512.com (Lynx/e/33_fixed512.c 1.1 644))
-  
-  
-  
-  (descrip.mms (Lynx/e/37_descrip.mm 1.2 644))
-  (build.com (Lynx/e/38_build.com 1.5 644))
-  (build-slang.com (Lynx/e/39_build-slan 1.3 644))
-  (COPYHEADER (Lynx/e/40_COPYHEADER 1.1 644))
-  (COPYING (Lynx/e/41_COPYING 1.1 644))
-  
-  (lynx_help/about_lynx.html (Lynx/e/43_about_lynx 1.2 644))
-  (WWW/Makefile (Lynx/e/44_Makefile 1.1 644))
-  (WWW/BUILD (Lynx/e/45_BUILD 1.1 644))
-  (WWW/Copyright.txt (Lynx/e/46_Copyright. 1.1 644))
-  (WWW/README.txt (Lynx/e/47_README.txt 1.1 644))
-  (WWW/Library/umaxv-m88k/Makefile (Lynx/e/48_Makefile 1.1 644))
-  (WWW/Library/clix/Makefile (Lynx/e/49_Makefile 1.1 644))
-  (WWW/Library/isc/Makefile (Lynx/e/50_Makefile 1.1 644))
-  (WWW/Library/ptx/Makefile (Lynx/e/51_Makefile 1.1 644))
-  (WWW/Library/netbsd/Makefile (Lynx/f/0_Makefile 1.1 644))
-  (WWW/Library/unix_x/Makefile (Lynx/f/1_Makefile 1.1 644))
-  (WWW/Library/convex/Makefile (Lynx/f/2_Makefile 1.1 644))
-  (WWW/Library/mips/Makefile (Lynx/f/3_Makefile 1.1 644))
-  (WWW/Library/sco/Makefile (Lynx/f/4_Makefile 1.1 644))
-  (WWW/Library/svr4/Makefile (Lynx/f/5_Makefile 1.1 644))
-  (WWW/Library/solaris2/Makefile (Lynx/f/6_Makefile 1.1 644))
-  (WWW/Library/osf/Makefile (Lynx/f/7_Makefile 1.1 644))
-  (WWW/Library/vax_ultrix/Makefile (Lynx/f/8_Makefile 1.1 644))
-  (WWW/Library/unix/Makefile.old (Lynx/f/9_Makefile 1.3 644))
-  (WWW/Library/freebsd/Makefile (Lynx/f/10_Makefile 1.1 644))
-  (WWW/Library/sun4/Makefile (Lynx/f/11_Makefile 1.1 644))
-  (WWW/Library/sun3/Makefile (Lynx/f/12_Makefile 1.1 644))
-  (WWW/Library/snake/Makefile (Lynx/f/13_Makefile 1.1 644))
-  (WWW/Library/sgi/Makefile (Lynx/f/14_Makefile 1.1 644))
-  (WWW/Library/rs6000/Makefile (Lynx/f/15_Makefile 1.1 644))
-  (WWW/Library/next/Makefile (Lynx/f/16_Makefile 1.1 644))
-  (WWW/Library/duns/Makefile (Lynx/f/17_Makefile 1.1 644))
-  (WWW/Library/decstation/Makefile (Lynx/f/18_Makefile 1.1 644))
-  (WWW/Library/apollo_m68k/Makefile (Lynx/f/19_Makefile 1.1 644))
-  (WWW/Library/vms/COPYING.LIB (Lynx/f/20_COPYING.LI 1.1 644))
-  (WWW/Library/vms/libmake.com (Lynx/f/21_libmake.co 1.2.1.1 644))
-  (WWW/Library/vms/descrip.mms (Lynx/f/22_descrip.mm 1.2.1.1 644))
-  (WWW/Library/Implementation/HTFinger.h (Lynx/f/23_HTFinger.h 1.1 644))
-  (WWW/Library/Implementation/HTFinger.c (Lynx/f/24_HTFinger.c 1.1.1.1 644))
-  (WWW/Library/Implementation/LYexit.h (Lynx/f/25_LYexit.h 1.1.1.2 644))
-  (WWW/Library/Implementation/HTVMS_WaisUI.h (Lynx/f/26_HTVMS_Wais 1.1 644))
-  (WWW/Library/Implementation/HTVMS_WaisUI.c (Lynx/f/27_HTVMS_Wais 1.1 644))
-  (WWW/Library/Implementation/HTVMS_WaisProt.h (Lynx/f/28_HTVMS_Wais 1.1 644))
-  (WWW/Library/Implementation/LYLeaks.h (Lynx/f/29_LYLeaks.h 1.2 644))
-  (WWW/Library/Implementation/HTCJK.h (Lynx/f/30_HTCJK.h 1.2 644))
-  (WWW/Library/Implementation/BSDI_Makefile (Lynx/f/31_BSDI_Makef 1.1.2.2 644))
-  (WWW/Library/Implementation/HTVMS_WaisProt.c (Lynx/f/32_HTVMS_Wais 1.1 644))
-  (WWW/Library/Implementation/ufc-crypt.h (Lynx/f/33_ufc-crypt. 1.1 644))
-  (WWW/Library/Implementation/patchlevel.h (Lynx/f/34_patchlevel 1.1 644))
-  (WWW/Library/Implementation/getpass.c (Lynx/f/35_getpass.c 1.1 644))
-  (WWW/Library/Implementation/getline.c (Lynx/f/36_getline.c 1.1 644))
-  (WWW/Library/Implementation/crypt_util.c (Lynx/f/37_crypt_util 1.1 644))
-  (WWW/Library/Implementation/crypt.c (Lynx/f/38_crypt.c 1.1 644))
-  (WWW/Library/Implementation/HTVMSUtils.h (Lynx/f/39_HTVMSUtils 1.1 644))
-  (WWW/Library/Implementation/Makefile.old (Lynx/f/40_Makefile 1.1 644))
-  (WWW/Library/Implementation/CommonMakefile (Lynx/f/41_CommonMake 1.1.2.2 644))
-  (WWW/Library/Implementation/Version.make (Lynx/f/42_Version.ma 1.1 644))
-  (WWW/Library/Implementation/HTUU.h (Lynx/f/43_HTUU.h 1.1 644))
-  (WWW/Library/Implementation/HTLex.h (Lynx/f/44_HTLex.h 1.1 644))
-  (WWW/Library/Implementation/HTAssoc.h (Lynx/f/45_HTAssoc.h 1.1 644))
-  (WWW/Library/Implementation/HTAAProt.h (Lynx/f/46_HTAAProt.h 1.1 644))
-  (WWW/Library/Implementation/HTAuth.h (Lynx/f/47_HTAuth.h 1.1 644))
-  (WWW/Library/Implementation/HTACL.h (Lynx/f/48_HTACL.h 1.1 644))
-  (WWW/Library/Implementation/HTGroup.h (Lynx/f/49_HTGroup.h 1.1 644))
-  (WWW/Library/Implementation/HTPasswd.h (Lynx/f/50_HTPasswd.h 1.1 644))
-  (WWW/Library/Implementation/HTAAFile.h (Lynx/f/51_HTAAFile.h 1.1 644))
-  (WWW/Library/Implementation/HTAABrow.h (Lynx/g/0_HTAABrow.h 1.3 644))
-  (WWW/Library/Implementation/HTAAServ.h (Lynx/g/1_HTAAServ.h 1.1 644))
-  (WWW/Library/Implementation/HTAAUtil.h (Lynx/g/2_HTAAUtil.h 1.1 644))
-  (WWW/Library/Implementation/HTWSRC.h (Lynx/g/3_HTWSRC.h 1.1 644))
-  (WWW/Library/Implementation/HTWAIS.h (Lynx/g/4_HTWAIS.h 1.1 644))
-  (WWW/Library/Implementation/HTTelnet.h (Lynx/g/5_HTTelnet.h 1.1 644))
-  (WWW/Library/Implementation/HText.h (Lynx/g/6_HText.h 1.3 644))
-  (WWW/Library/Implementation/HTUtils.h (Lynx/g/7_HTUtils.h 1.10 644))
-  (WWW/Library/Implementation/HTGopher.h (Lynx/g/8_HTGopher.h 1.1 644))
-  (WWW/Library/Implementation/HTNews.h (Lynx/g/9_HTNews.h 1.2 644))
-  (WWW/Library/Implementation/HTHistory.h (Lynx/g/10_HTHistory. 1.1 644))
-  (WWW/Library/Implementation/HTMIME.h (Lynx/g/11_HTMIME.h 1.2 644))
-  (WWW/Library/Implementation/HTInit.h (Lynx/g/12_HTInit.h 1.2 644))
-  (WWW/Library/Implementation/HTFormat.h (Lynx/g/13_HTFormat.h 1.5 644))
-  (WWW/Library/Implementation/HTRules.h (Lynx/g/14_HTRules.h 1.1 644))
-  (WWW/Library/Implementation/HTAlert.h (Lynx/g/15_HTAlert.h 1.3 644))
-  (WWW/Library/Implementation/HTString.h (Lynx/g/16_HTString.h 1.3 644))
-  (WWW/Library/Implementation/HTList.h (Lynx/g/17_HTList.h 1.1 644))
-  (WWW/Library/Implementation/HTStyle.h (Lynx/g/18_HTStyle.h 1.1.1.2 644))
-  (WWW/Library/Implementation/HTAnchor.h (Lynx/g/19_HTAnchor.h 1.1.4.5 644))
-  (WWW/Library/Implementation/HTAtom.h (Lynx/g/20_HTAtom.h 1.1 644))
-  (WWW/Library/Implementation/HTStream.h (Lynx/g/21_HTStream.h 1.1 644))
-  (WWW/Library/Implementation/HTMLGen.h (Lynx/g/22_HTMLGen.h 1.1 644))
-  (WWW/Library/Implementation/HTFWriter.h (Lynx/g/23_HTFWriter. 1.1 644))
-  (WWW/Library/Implementation/HTWriter.h (Lynx/g/24_HTWriter.h 1.1 644))
-  (WWW/Library/Implementation/HTPlain.h (Lynx/g/25_HTPlain.h 1.1 644))
-  (WWW/Library/Implementation/HTChunk.h (Lynx/g/26_HTChunk.h 1.3 644))
-  (WWW/Library/Implementation/HTMLDTD.h (Lynx/g/27_HTMLDTD.h 1.1.2.4.1.4 644))
-  (WWW/Library/Implementation/HTML.h (Lynx/g/28_HTML.h 1.1.2.2.1.1.2.5 644))
-  (WWW/Library/Implementation/SGML.h (Lynx/g/29_SGML.h 1.1.2.2.1.4 644))
-  (WWW/Library/Implementation/HTTCP.h (Lynx/g/30_HTTCP.h 1.3 644))
-  (WWW/Library/Implementation/HTFTP.h (Lynx/g/31_HTFTP.h 1.2 644))
-  (WWW/Library/Implementation/HTBTree.h (Lynx/g/32_HTBTree.h 1.1 644))
-  (WWW/Library/Implementation/HTFile.h (Lynx/g/33_HTFile.h 1.4 644))
-  (WWW/Library/Implementation/HTTP.h (Lynx/g/34_HTTP.h 1.2 644))
-  (WWW/Library/Implementation/HTAccess.h (Lynx/g/35_HTAccess.h 1.4 644))
-  (WWW/Library/Implementation/HTParse.h (Lynx/g/36_HTParse.h 1.1.1.1 644))
-  (WWW/Library/Implementation/HTUU.c (Lynx/g/37_HTUU.c 1.2 644))
-  (WWW/Library/Implementation/HTLex.c (Lynx/g/38_HTLex.c 1.1 644))
-  (WWW/Library/Implementation/HTAssoc.c (Lynx/g/39_HTAssoc.c 1.1 644))
-  (WWW/Library/Implementation/HTAAProt.c (Lynx/g/40_HTAAProt.c 1.2 644))
-  (WWW/Library/Implementation/HTACL.c (Lynx/g/41_HTACL.c 1.1 644))
-  (WWW/Library/Implementation/HTGroup.c (Lynx/g/42_HTGroup.c 1.1 644))
-  (WWW/Library/Implementation/HTPasswd.c (Lynx/g/43_HTPasswd.c 1.1 644))
-  (WWW/Library/Implementation/HTAAFile.c (Lynx/g/44_HTAAFile.c 1.1 644))
-  (WWW/Library/Implementation/HTAABrow.c (Lynx/g/45_HTAABrow.c 1.2.1.1.1.2 644))
-  (WWW/Library/Implementation/HTAAServ.c (Lynx/g/46_HTAAServ.c 1.1 644))
-  (WWW/Library/Implementation/HTAAUtil.c (Lynx/g/47_HTAAUtil.c 1.1 644))
-  (WWW/Library/Implementation/HTGopher.c (Lynx/g/48_HTGopher.c 1.2.2.4 644))
-  (WWW/Library/Implementation/HTHistory.c (Lynx/g/49_HTHistory. 1.1 644))
-  (WWW/Library/Implementation/HTMIME.c (Lynx/g/50_HTMIME.c 1.1.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.6 644))
-  (WWW/Library/Implementation/HTInit.c (Lynx/g/51_HTInit.c 1.1 644))
-  (WWW/Library/Implementation/HTFormat.c (Lynx/h/0_HTFormat.c 1.1.1.5 644))
-  (WWW/Library/Implementation/HTRules.c (Lynx/h/1_HTRules.c 1.1 644))
-  (WWW/Library/Implementation/HTAlert.c (Lynx/h/2_HTAlert.c 1.2 644))
-  (WWW/Library/Implementation/HTString.c (Lynx/h/3_HTString.c 1.3 644))
-  (WWW/Library/Implementation/HTList.c (Lynx/h/4_HTList.c 1.1.1.1 644))
-  (WWW/Library/Implementation/HTStyle.c (Lynx/h/5_HTStyle.c 1.3 644))
-  (WWW/Library/Implementation/HTAnchor.c (Lynx/h/6_HTAnchor.c 1.1.4.2.1.7 644))
-  (WWW/Library/Implementation/HTAtom.c (Lynx/h/7_HTAtom.c 1.1.2.1 644))
-  (WWW/Library/Implementation/HTChunk.c (Lynx/h/8_HTChunk.c 1.1.1.2 644))
-  (WWW/Library/Implementation/HTMLGen.c (Lynx/h/9_HTMLGen.c 1.1.2.1.1.4 644))
-  (WWW/Library/Implementation/HTFWriter.c (Lynx/h/10_HTFWriter. 1.1 644))
-  (WWW/Library/Implementation/HTPlain.c (Lynx/h/11_HTPlain.c 1.1.2.1.1.1.1.1.1.3.1.2 644))
-  (WWW/Library/Implementation/SGML.c (Lynx/h/12_SGML.c 1.1.1.1.1.1.2.4.1.2.1.4.1.1.1.3.1.3 644))
-  (WWW/Library/Implementation/HTTCP.c (Lynx/h/13_HTTCP.c 1.2.3.1.1.1.1.1.1.1.1.1.1.3 644))
-  (WWW/Library/Implementation/HTFTP.c (Lynx/h/14_HTFTP.c 1.1.3.1.1.2.1.1.1.3 644))
-  (WWW/Library/Implementation/HTBTree.c (Lynx/h/15_HTBTree.c 1.1.1.1 644))
-  (WWW/Library/Implementation/HTTP.c (Lynx/h/16_HTTP.c 1.1.1.1.1.1.1.1.1.2.1.1.1.2.1.2.1.2.1.3 644))
-  (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.3.1.3.1.3 644))
-  (WWW/Library/Implementation/HTParse.c (Lynx/h/18_HTParse.c 1.2.2.3.1.3 644))
-  (WWW/Library/Implementation/tcp.h (Lynx/h/19_tcp.h 1.1.1.1.3.6 644))
-  (WWW/Library/Implementation/HTWSRC.c (Lynx/h/20_HTWSRC.c 1.3 644))
-  (WWW/Library/Implementation/HTWriter.c (Lynx/h/21_HTWriter.c 1.1 644))
-  (WWW/Library/Implementation/HTWAIS.c (Lynx/h/22_HTWAIS.c 1.3 644))
-  (WWW/Library/Implementation/HTVMSUtils.c (Lynx/h/23_HTVMSUtils 1.5 644))
-  (WWW/Library/Implementation/HTTelnet.c (Lynx/h/24_HTTelnet.c 1.5 644))
-  (WWW/Library/Implementation/HTNews.c (Lynx/h/25_HTNews.c 1.1.2.1.1.2.1.4 644))  
-  (WWW/Library/Implementation/HTMLDTD.c (Lynx/h/26_HTMLDTD.c 1.1.2.5.1.5 644))
-  (WWW/Library/Implementation/HTFile.c (Lynx/h/27_HTFile.c 1.1.3.1.1.2.1.1.1.1.1.5 644))
-  (WWW/Library/Implementation/HTAuth.c (Lynx/h/28_HTAuth.c 1.1 644))
-  (docs/VMSWAIS.announce (Lynx/h/29_VMSWAIS.an 1.1 644))
-  (VMSPrint.com (Lynx/h/30_VMSPrint.c 1.1 644))
-  (docs/TCPWARE.announce (Lynx/h/31_TCPWARE.an 1.1 644))
-  (docs/SOCKETSHR.announce (Lynx/h/32_SOCKETSHR. 1.1 644))
-  
-  (README (Lynx/h/34_README 1.2 644))
-  (PROBLEMS (Lynx/h/35_PROBLEMS 1.6 644))
-  (docs/Makefile.old (Lynx/h/36_Makefile 1.1.1.1.1.1.1.2.3.1.3.5 644))
-  (LYMessages_en.h (Lynx/h/37_LYMessages 1.4.1.4.1.2.1.1.1.1.1.1.3.1.1.1.1.2.1.3 644))
-  (docs/INSTALLATION.old (Lynx/h/38_INSTALLATI 1.2 644))
-  (docs/IBMPC-charsets.announce (Lynx/h/39_IBMPC-char 1.1 644))
-  (docs/FM.announce (Lynx/h/40_FM.announc 1.1 644))
-  
-  (docs/CRAWL.announce (Lynx/h/42_CRAWL.anno 1.1 644))
-  (docs/CMU.announce (Lynx/h/43_CMU.announ 1.1 644))
-
-;; Files added by populate at Mon, 24 Feb 1997 20:09:28 -0600:
-
-  
-
-
-  
-  
-  (docs/README.chartrans (Lynx/d/0_README.chartrans 1.7 644))
-  (src/UCdomap.h (Lynx/b/0_UCdomap.h 1.1.1.2 644))
-  (src/UCAux.c (Lynx/b/15_UCAux.c 1.12 644))
-  (src/UCAuto.h (Lynx/b/16_UCAuto.h 1.1 644))
-  (src/UCAuto.c (Lynx/b/17_UCAuto.c 1.4 644))
-  (src/chrtrans/cp1250_uni.tbl (Lynx/h/48_cp1250_uni 1.3 644))
-  (src/chrtrans/mnem_suni.tbl (Lynx/h/50_mnem_suni. 1.1 644))
-  (src/chrtrans/cp1252_uni.tbl (Lynx/h/51_cp1252_uni 1.4 644))
-  (src/chrtrans/rfc_suni.tbl (Lynx/i/0_rfc_suni.tbl 1.3 644))
-  (src/chrtrans/makeuctb.c (Lynx/b/19_makeuctb.c 1.1.1.1.1.4 644))
-  (src/chrtrans/UCkd.h (Lynx/b/20_UCkd.h 1.2 644))
-  (src/chrtrans/Makefile.old (Lynx/b/18_Makefile 1.4.1.4 644))
-  (src/chrtrans/README.tables (Lynx/b/23_README.tab 1.1.1.2 644))
-  (src/chrtrans/README.format (Lynx/b/24_README.for 1.3 644))
-  (src/chrtrans/cp852_uni.tbl (Lynx/i/6_cp852_uni. 1.2 644))
-  (src/chrtrans/utf8_uni.tbl (Lynx/i/7_utf8_uni.t 1.4 644))
-  (src/chrtrans/iso05_uni.tbl (Lynx/i/8_iso05_uni. 1.3 644))
-  (src/chrtrans/cp437_uni.tbl (Lynx/i/9_cp437_uni. 1.4 644))
-  (src/chrtrans/iso10_uni.tbl (Lynx/i/10_iso10_uni. 1.3 644))
-  (src/chrtrans/iso09_uni.tbl (Lynx/i/11_iso09_uni. 1.3 644))
-  (src/chrtrans/iso08_uni.tbl (Lynx/b/32_iso08_uni. 1.2.1.2 644))
-  (src/chrtrans/iso07_uni.tbl (Lynx/i/13_iso07_uni. 1.3 644))
-  (src/chrtrans/iso06_uni.tbl (Lynx/b/34_iso06_uni. 1.2.1.2 644))
-  (src/chrtrans/iso04_uni.tbl (Lynx/i/15_iso04_uni. 1.3 644))
-  (src/chrtrans/iso03_uni.tbl (Lynx/i/16_iso03_uni. 1.3 644))
-  (src/chrtrans/iso02_uni.tbl (Lynx/i/17_iso02_uni. 1.4 644))
-  (src/chrtrans/iso01_uni.tbl (Lynx/i/18_iso01_uni. 1.4 644))
-  (src/chrtrans/cp850_uni.tbl (Lynx/i/19_cp850_uni. 1.4 644))
-  (src/UCdomap.c (Lynx/b/14_UCdomap.c 1.3.1.2.1.1.1.1.1.3.1.3 644))
-  (WWW/Library/Implementation/UCDefs.h (Lynx/e/0_UCDefs.h 1.5 644))
-  (WWW/Library/Implementation/UCMap.h (Lynx/d/0_UCMap.h 1.3 644))
-  (WWW/Library/Implementation/UCAux.h (Lynx/f/0_UCAux.h 1.1.1.3 644))
-
-  (WWW/Library/djgpp/makefile (Lynx/0_makefile 1.8 644))
-  (src/makefile.dos (Lynx/1_makefile.d 1.9 644))
-;; Files added by populate at Mon, 03 Mar 1997 04:38:33 -0600:
-
-  (src/chrtrans/MAKEW32.BAT (Lynx/3_MAKEW32.BA 1.7 644))
-  (src/chrtrans/MAKEFILE.W32 (Lynx/4_MAKEFILE.W 1.1 644))
-  (MAKEFILE.W32 (Lynx/5_MAKEFILE.W 1.2 644))
-
-;; Files added by populate at Mon, 03 Mar 1997 06:05:56 -0600:
-
-  (CHANGES.new (Lynx/6_CHANGES.ne 1.18.1.4.1.1.2.1.1.2.2.2.1.2.1.1.1.1.1.4.2.7.1.3.1.4.1.65 644))
-
-;; Files added by populate at Tue, 11 Mar 1997 04:22:39 -0600:
-
-  
-  (makefile.in (Lynx/8_makefile.i 1.1.1.24 644))
-  (install.sh (Lynx/9_install.sh 1.1 755))
-  (configure.in (Lynx/10_configure. 1.24 644))
-  (config.hin (Lynx/11_config.hin 1.22 644))
-  (aclocal.m4 (Lynx/12_aclocal.m4 1.28 644))
-  (configure (Lynx/13_configure 1.29 755))
-  (README.configure (Lynx/14_README.con 1.12 644))
-
-;; Files added by populate at Wed, 09 Apr 1997 06:18:01 -0600:
-
-  (WWW/Library/djgpp/CommonMakefile (Lynx/26_CommonMake 1.3 644))
-  (WWW/Library/Implementation/HTDOS.h (Lynx/27_HTDOS.H 1.1 644))
-  (WWW/Library/Implementation/HTDOS.c (Lynx/28_HTDOS.C 1.4 644))
-
-
-  (WWW/Library/unix/makefile.in (Lynx/16_makefile.i 1.8 644))
-  (src/makefile.in (Lynx/17_makefile.i 1.17 644))
-  (src/chrtrans/makefile.in (Lynx/18_makefile.i 1.11 644))
-
-  (src/chrtrans/koi8r_uni.tbl (Lynx/b/29_koi8r_uni. 1.5 644))
-  (src/chrtrans/def7_uni.tbl (Lynx/b/40_def7_uni.t 1.2.1.5 644))
-;; Files added by populate at Thu, 24 Apr 1997 21:51:47 -0600:
-
-  (src/LYExtern.h (Lynx/38_LYExtern.h 1.1.1.1 644))
-  (src/LYExtern.c (Lynx/39_LYExtern.c 1.5.1.4 644))
-
-
-  (config.sub (Lynx/30_config.sub 1.1 755))
-  (config.guess (Lynx/31_config.gue 1.2 755))
-
-  (lynx_help/keystrokes/follow_help.html (Lynx/43_follow_hel 1.1.1.1.1.2 644))
-
-  (src/AttrList.h (Lynx/33_AttrList.h 1.4 644))
-  (src/LYHash.h (Lynx/34_LYHash.h 1.5 644))
-  (src/LYHash.c (Lynx/35_LYHash.c 1.4 644))
-  (src/LYStyle.c (Lynx/36_LYStyle.c 1.15 644))
-  (samples/lynx.lss (Lynx/37_lynx.lss 1.3 644))
-  (src/LYStyle.h (Lynx/b/5_LYStyle.h 1.4 644))
-;; Files added by populate at Tue, 08 Jul 1997 20:40:02 -0600:
-
-  (src/LYCurses.c (Lynx/d/51_LYCurses.c 1.1.5.1.1.1.1.1.1.5.1.7 644))
-  (src/LYCharUtils.c (Lynx/c/22_LYCharUtil 1.2.1.1.2.1.2.2.1.2.1.1.1.2.1.1.1.1.1.1.2.3.1.1.1.4.1.3.1.5 644))
-
-;; Files added by populate at Wed, 09 Jul 1997 05:12:01 -0600:
-
-  (src/LYUtils.c (Lynx/d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.1.1.1.1.1.4.2.1.1.1.2.1.1.1.3.1.2 644))
-
-
-  (src/chrtrans/build-chrtrans.com (Lynx/b/22_build-chrt 1.4.1.4 644))
-  (src/chrtrans/build-header.com (Lynx/c/0_build-head 1.1 644))
-
-  (src/chrtrans/cp1251_uni.tbl (Lynx/b/0_cp1251_uni 1.3 644))
-;; Files added by populate at Thu, 07 Aug 1997 07:25:30 -0600:
-
-  (lynx_help/lynx-dev.html (Lynx/b/0_lynx-dev.h 1.1 644))
-
-;; Files added by populate at Sat, 09 Aug 1997 09:42:43 -0600:
-
-  (src/chrtrans/cp866_uni.tbl (Lynx/b/0_cp866_uni. 1.3 644))
-
-;; Files added by populate at Fri, 05 Sep 1997 17:30:43 -0600:
-
-  (src/chrtrans/viscii_uni.tbl (Lynx/b/0_viscii_uni 1.2 644))
-
-;; Files removed by depopulate at Thu, 09 Oct 1997 11:12:20 -0600:
-
-  ; about_lynx/about_lynx-dev.html
-
-;; Files added by populate at Thu, 09 Oct 1997 11:18:59 -0600:
-
-  (src/chrtrans/makefile.dos (Lynx/b/0_makefile.d 1.3 644))
-
-;; Files added by populate at Thu, 09 Oct 1997 11:57:02 -0600:
-
-  (test/iso88592.html (Lynx/c/0_iso88592.h 1.1 644))
-
-;; Files added by populate at Thu, 09 Oct 1997 11:57:12 -0600:
-
-  (test/ALT88592.html (Lynx/d/0_ALT88592.h 1.1 644))
-
-;; Files removed by depopulate at Fri, 17 Oct 1997 00:30:28 -0600:
-
-  ; utils/inews/config.h
-  ; utils/inews/config.h-dist
-  ; utils/inews/version.c
-  ; utils/inews/nntp.h
-  ; utils/inews/inews.c
-  ; utils/inews/conf.h
-  ; utils/inews/clientlib.h
-  ; utils/inews/clientlib.c
-  ; utils/inews/README.NN
-  ; utils/inews/README
-  ; utils/inews/Manifest
-  ; utils/inews/Makefile
-
-;; Files removed by depopulate at Fri, 17 Oct 1997 00:32:24 -0600:
-
-  ; docs/RFC-MAILCAP.txt
-
-;; Files added by populate at Wed, 22 Oct 1997 10:34:09 -0600:
-
-  (INSTALLATION (Lynx/i/24_INSTALLATI 1.9 644))
-
-;; Files removed by depopulate at Wed, 22 Oct 1997 10:46:28 -0600:
-
-  ; RELEASE_STATEMENT
-  ; DESC
-  ; newfiles.chartrans
-  ; newfiles.configure
-
-;; Files removed by depopulate at Wed, 22 Oct 1997 10:54:27 -0600:
-
-  ; docs/README.txt
-  ; docs/README.html
-
-;; Files removed by depopulate at Thu, 06 Nov 1997 12:54:35 -0700:
-
-  ; docs/CHANGES.chartrans
-
-;; Files added by populate at Thu, 06 Nov 1997 12:55:15 -0700:
-
-  (docs/README.defines (Lynx/i/25_README.def 1.3 644))
-
-;; Files added by populate at Fri, 07 Nov 1997 10:24:21 -0700:
-
-  (mkdirs.sh (Lynx/i/26_mkdirs.sh 1.2 755))
-
-
-  (src/chrtrans/next_uni.tbl (Lynx/i/27_next_uni.t 1.3 644))
-  (src/chrtrans/dmcs_uni.tbl (Lynx/i/28_dmcs_uni.t 1.1 644))
-  (src/chrtrans/mac_uni.tbl (Lynx/i/29_mac_uni.tb 1.1 644))
-  (src/chrtrans/cp869_uni.tbl (Lynx/i/30_cp869_uni. 1.1 644))
-  (src/chrtrans/cp864_uni.tbl (Lynx/i/31_cp864_uni. 1.1 644))
-  (src/chrtrans/cp862_uni.tbl (Lynx/i/32_cp862_uni. 1.1 644))
-  (src/chrtrans/cp737_uni.tbl (Lynx/i/33_cp737_uni. 1.1 644))
-  (src/chrtrans/cp1256_uni.tbl (Lynx/i/34_cp1256_uni 1.2 644))
-  (src/chrtrans/cp1255_uni.tbl (Lynx/i/35_cp1255_uni 1.2 644))
-  (src/chrtrans/cp1253_uni.tbl (Lynx/i/36_cp1253_uni 1.2 644))
-;; Files added by populate at Sun, 23 Nov 1997 16:04:50 -0700:
-
-  (src/strstr.c (Lynx/i/39_strstr.c 1.1 644))
-  (src/mktime.c (Lynx/i/40_mktime.c 1.2 644))
-
-;; Files added by populate at Tue, 23 Dec 1997 16:57:25 -0700:
-
-  (docs/CHANGES2.7 (Lynx/i/41_CHANGES2.7 1.1 644))
-  (docs/CHANGES2.3 (Lynx/i/42_CHANGES2.3 1.1 644))
-  (docs/CHANGES2.4 (Lynx/i/43_CHANGES2.4 1.1 644))
-  (docs/CHANGES2.5 (Lynx/i/44_CHANGES2.5 1.1 644))
-  (docs/CHANGES2.6 (Lynx/i/45_CHANGES2.6 1.1 644))
-
-;; Files added by populate at Thu, 01 Jan 1998 19:36:07 -0700:
-
-  (src/chrtrans/mnem2_suni.tbl (Lynx/i/48_mnem2_suni 1.1 644))
-  (src/chrtrans/cp775_uni.tbl (Lynx/i/49_cp775_uni. 1.1 644))
-  (src/chrtrans/cp1257_uni.tbl (Lynx/i/50_cp1257_uni 1.1 644))
-)
-(Merge-Parents)
-(New-Merge-Parents)
diff --git a/PROBLEMS b/PROBLEMS
index bc02f014..4815d2ba 100644
--- a/PROBLEMS
+++ b/PROBLEMS
@@ -39,7 +39,7 @@ they will be outlined in this file.
 
         /Tty/Bold_style "Offset_X"
 
-    ought to work just as well, but I you may not get the desired
+    ought to work just as well, but you may not get the desired
     behavior until you modify your .Xdefaults file (and run `xrdb
     ~/.Xdefaults').  Note also that there are other supported values 
     for the boldStyle resource/Bold_style default, all of which begin 
@@ -129,7 +129,7 @@ they will be outlined in this file.
     with theses terminals.
 
     On VMS, Lynx, and other TCP-IP software, have been experiencing chronic
-    problems of incompatibilites between DECC and MultiNet headers whenever
+    problems of incompatibilities between DECC and MultiNet headers whenever
     new versions of either DECC or MultiNet are released.  The Lynx build
     procedure for VMS and a maze of spaghetti #ifdef-ing in tcp.h of the
     libwww-FM had previously been successful in dealing with this problem
diff --git a/README.configure b/README.configure
index 8f0f3080..fd4eca89 100644
--- a/README.configure
+++ b/README.configure
@@ -129,6 +129,9 @@ the script:
   	Use this option to control whether full utility pathnames are used.
 	By default, configure substitutes full pathnames.
 
+  --disable-internal-links		(define DONT_TRACK_INTERNAL_LINKS)
+	handle following links to same document differently.
+
   --disable-long-list			(prevent defining LONG_LIST)
   	Use this option to disable long "ls -l" directory listings.
 
diff --git a/WWW/Library/Implementation/BSDI_Makefile b/WWW/Library/Implementation/BSDI_Makefile
new file mode 100644
index 00000000..21ff1c02
--- /dev/null
+++ b/WWW/Library/Implementation/BSDI_Makefile
@@ -0,0 +1,405 @@
+#  Make WWW under unix
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = generic/unix
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4 -DNO_FILIO_H
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE @@
+#
+#	make		Compile and link the software (private version)
+#	make install	Copy it into the system (implies make)
+#	make update	Copy installed version into installed version
+#	make uninstall	Unlink installed version from the system
+#	make clean	Remove intermediate files
+#	make cleanall	Remove intremediate files and products
+#	
+# Macros required to be defined already for make:
+#
+# CC		The C compiler
+# CFLAGS	Flags for $(CC) -- except the -I which are below
+# LFLAGS	Flags for ld
+# LYFLAGS	Flags for Lynx
+#
+# WWW           The WWW source tree directory
+#
+# Macros needed for make install:
+#
+# LIBDIR	Directory for installed library
+#______________________________________________________________________
+
+#  If this env var is set to something else Some makes will use that instead
+SHELL = /bin/sh
+
+#	.h files are distributed but originally are made from the
+#	self-documenting hypertext files.
+
+.SUFFIXES: .h .html
+.html.h:
+#	- chmod +w $*.h
+	www -w90 -na -to text/x-c $*.html > $*.h
+#	chmod -w $*.h
+
+# If this is actually run in a subdirectory,
+#
+# WWW = ../../..
+# WWW = ../..	For [cernlib] build in this directory
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+VMS = $(CMN)vms
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Only needed if HTWAIS.c is to be compiled. Put into your Makefile.include
+#  uncomment these and fill in WAISINC for adding direct wais access
+#  to Lynx.
+#HTWAIS = $(LOB)/HTWAIS.o
+#WAIS = YES
+#WAISINC = -I../../../../freeWAIS-0.202/ir
+#WAISCFLAGS = -DDIRECT_WAIS 
+#
+
+# This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the 
+# recursive invocation
+# include $(CMN)Version.make
+VC = 2.14
+
+# XMOsAIC hack is only for server to cope with xmosaic kludge for mmedia
+#
+# add -DNEW_GATEWAY here for the new gateway config stuff
+CFLAGS2 = $(CFLAGS) $(LYFLAGS) $(WAISCFLAGS) -I$(CMN) -DXMOSAIC_HACK -DACCESS_AUTH 
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTFile.o	$(LOB)/HTBTree.o $(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o  $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o  $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o $(LOB)/HTFinger.o $(LOB)/HTWSRC.o $(HTWAIS) \
+	$(LOB)/HTAAUtil.o $(LOB)/HTAAServ.o $(LOB)/HTAABrow.o \
+	$(LOB)/HTAAFile.o $(LOB)/HTPasswd.o $(LOB)/HTGroup.o  \
+	$(LOB)/HTACL.o    $(LOB)/HTAuth.o   $(LOB)/HTAAProt.o \
+	$(LOB)/HTAssoc.o  $(LOB)/HTLex.o    $(LOB)/HTUU.o
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
+        $(CMN)HTBTree.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c 	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  \
+        $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTFinger.c $(CMN)HTWAIS.c  $(CMN)HTWSRC.c \
+	$(CMN)HTAAUtil.c $(CMN)HTAAServ.c $(CMN)HTAABrow.c \
+	$(CMN)HTAAFile.c $(CMN)HTPasswd.c $(CMN)HTGroup.c  \
+	$(CMN)HTACL.c    $(CMN)HTAuth.c   $(CMN)HTAAProt.c \
+	$(CMN)HTAssoc.c  $(CMN)HTLex.c    $(CMN)HTUU.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
+	$(CMN)HTBTree.h $(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h $(CMN)HTFinger.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h \
+	$(CMN)HTAAUtil.h $(CMN)HTAAServ.h $(CMN)HTAABrow.h \
+	$(CMN)HTAAFile.h $(CMN)HTPasswd.h $(CMN)HTGroup.h  \
+	$(CMN)HTACL.h    $(CMN)HTAuth.h   $(CMN)HTAAProt.h \
+	$(CMN)HTAssoc.h  $(CMN)HTLex.h    $(CMN)HTUU.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make \
+	$(CMN)CommonMakefile $(CMN)Makefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD $(WWW)/Makefile
+SPECIFIC = $(WWW)/All/*/Makefile.include $(WWW)/All/Implementation/Makefile* \
+	$(VMS)/descrip.mms $(VMS)/build_multinet.com \
+	$(VMS)/COPYING.LIB $(VMS)/setup.com $(VMS)/multinet.opt \
+	$(VMS)/patchlevel.h $(VMS)/ufc-crypt.h \
+	$(VMS)/crypt.c $(VMS)/crypt_util.c \
+	$(VMS)/getline.c $(VMS)/getpass.c \
+	$(VMS)/HTVMSUtils.h $(VMS)/HTVMSUtils.c
+
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean :
+	rm $(LOB)/*.o $(LOB)/.created
+	-rmdir $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall : clean
+	rm $(LOB)/libwww.a
+
+#	Install W3 library into system space (not normally necessary)
+
+install : libwww.a
+	if [ ! -r $(LIBDIR) ] mkdir $(LIBDIR)
+	cp libwww.a $(LIBDIR)/libwww.a
+	
+uninstall :
+	rm $(LIBDIR)/libwww.a
+
+#		Distribution use only:
+#		----------------------
+
+#	Needs www version 2.4 or later to do this
+inc : $(HFILES)
+	echo Include files generated from hypertext.
+
+binary : /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
+	echo FTP archive binary Libray $(VC) for $(WWW_MACH) up to date.
+
+
+/pub/www/bin/$(WWW_MACH)/libwww_$(VC).a : libwww.a
+	-mkdir /pub/www/bin/$(WWW_MACH)
+	cp libwww.a /pub/www/bin/$(WWW_MACH)/libwww_$(VC).a
+
+#	Source Distribution:
+
+distribute :  /pub/www/README.txt /pub/www/Copyright.txt
+	(cd $(WWW)/..; WWW=WWW ABS=`pwd`/ make $(MFLAGS) \
+		-f WWW/Library/Implementation/CommonMakefile \
+		/pub/www/src/WWWLibrary_$(VC).tar.Z)
+	(cd ../Implementation; cvs tag \
+	    `sed -e 's/VC = /v/' Version.make | sed -e 's?\.?/?'` )
+	echo Distribution of Library version $(VC) up to date.
+
+/pub/www/src/WWWLibrary_$(VC).tar.Z : $(SOURCES)
+	tar cf /pub/www/src/WWWLibrary_$(VC).tar \
+	    $(SOURCES)  $(SPECIFIC) $(WC)/*/Makefile
+	compress /pub/www/src/WWWLibrary_$(VC).tar
+
+
+#	Hypertext supplied in text format
+#	---------------------------------
+
+$(WWW)/README.txt : $(WWW)/../README.html
+	www -n -p66 http://www.w3.org/hypertext/README.html \
+		> $(WWW)/README.txt
+/pub/www/README.txt : $(WWW)/README.txt
+	cp $(WWW)/README.txt /pub/www/README.txt
+
+$(WWW)/Copyright.txt : $(WWW)/../Copyright.html
+	www -n -p66 http://www.w3.org/hypertext/Copyright.html \
+		> $(WWW)/Copyright.txt
+/pub/www/Copyright.txt : $(WWW)/Copyright.txt
+	cp $(WWW)/Copyright.txt /pub/www/Copyright.txt
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	if [ ! -r $(WTMP) ] ; then mkdir $(WTMP); else echo OK ; fi
+	if [ ! -r $(WTMP)/Library ] ; then mkdir $(WTMP)/Library; else echo OK ; fi
+	if [ ! -r $(WTMP)/Library/$(WWW_MACH) ] ; \
+		then mkdir $(WTMP)/Library/$(WWW_MACH); else echo OK ; fi
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h\
+	 $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h \
+	 $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h $(CMN)../../../userdefs.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTFinger.o : $(OE) $(CMN)HTFinger.c $(CMN)HTUtils.h $(CMN)HTList.h \
+	$(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFinger.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make \
+	 $(CMN)HTAAServ.h $(CMN)HTAAProt.h
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h $(CMN)UCAux.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h \
+	 $(CMN)UCAux.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+
+#	Access Authorization
+
+$(LOB)/HTAAUtil.o : $(OE) $(CMN)HTAAUtil.c $(CMN)HTAAUtil.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAUtil.c
+
+$(LOB)/HTAAFile.o : $(OE) $(CMN)HTAAFile.c $(CMN)HTAAFile.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAFile.c
+
+$(LOB)/HTPasswd.o : $(OE) $(CMN)HTPasswd.c $(CMN)HTPasswd.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPasswd.c
+
+$(LOB)/HTGroup.o : $(OE) $(CMN)HTGroup.c $(CMN)HTGroup.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGroup.c
+
+$(LOB)/HTACL.o : $(OE) $(CMN)HTACL.c $(CMN)HTACL.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTGroup.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTACL.c
+
+$(LOB)/HTAuth.o : $(OE) $(CMN)HTAuth.c $(CMN)HTAuth.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTPasswd.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAuth.c
+
+$(LOB)/HTAAServ.o : $(OE) $(CMN)HTAAServ.c $(CMN)HTAAServ.h \
+	$(CMN)HTAAUtil.h $(CMN)HTAAFile.h $(CMN)HTPasswd.h \
+	 $(CMN)HTGroup.h $(CMN)HTACL.h $(CMN)HTAuth.h \
+	 $(CMN)HTUU.h $(CMN)HTParse.h $(CMN)HTList.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTRules.h \
+	 $(CMN)HTAAProt.h $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAServ.c
+
+$(LOB)/HTAABrow.o : $(OE) $(CMN)HTAABrow.c $(CMN)HTAABrow.h \
+	 $(CMN)HTAAUtil.h $(CMN)HTUU.h \
+	 $(CMN)HTUtils.h $(CMN)HTString.h \
+	 $(CMN)HTParse.h $(CMN)HTList.h $(CMN)HTAlert.h \
+	 $(CMN)HTAssoc.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAABrow.c
+
+$(LOB)/HTAAProt.o : $(OE) $(CMN)HTAAProt.c $(CMN)HTAAProt.h \
+	 $(CMN)HTUtils.h $(CMN)HTAAUtil.h $(CMN)HTAAFile.h \
+	 $(CMN)HTAssoc.h $(CMN)HTLex.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAAProt.c
+
+$(LOB)/HTAssoc.o : $(OE) $(CMN)HTAssoc.c $(CMN)HTAssoc.h \
+	$(CMN)HTUtils.h $(CMN)HTString.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAssoc.c
+
+$(LOB)/HTLex.o : $(OE) $(CMN)HTLex.c $(CMN)HTLex.h $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTLex.c
+
+$(LOB)/HTUU.o : $(OE) $(CMN)HTUU.c $(CMN)HTUU.h $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTUU.c
+
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h $(CMN)HTAABrow.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h \
+	 $(CMN)HTMLDTD.h $(CMN)HTAAServ.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTBTree.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
diff --git a/WWW/Library/Implementation/HTAABrow.c b/WWW/Library/Implementation/HTAABrow.c
index 2b50ed38..0ebe5309 100644
--- a/WWW/Library/Implementation/HTAABrow.c
+++ b/WWW/Library/Implementation/HTAABrow.c
@@ -585,7 +585,7 @@ PRIVATE char *compose_auth_string ARGS3(
     char *proxiedHost = NULL;
     char *thePort = NULL;
     HTAARealm *realm;
-    char *inet_addr = "0.0.0.0";	/* Change... @@@@ */
+    char *i_net_addr = "0.0.0.0";	/* Change... @@@@ */
     char *timestamp = "42";		/* ... these @@@@ */
     
 
@@ -713,7 +713,7 @@ PRIVATE char *compose_auth_string ARGS3(
 
     if (scheme == HTAA_PUBKEY) {
 	strcat(cleartext, ":");
-	strcat(cleartext, inet_addr);
+	strcat(cleartext, i_net_addr);
 	strcat(cleartext, ":");
 	strcat(cleartext, timestamp);
 	strcat(cleartext, ":");
diff --git a/WWW/Library/Implementation/HTAAServ.c b/WWW/Library/Implementation/HTAAServ.c
index 7a0cdef6..fb6f696a 100644
--- a/WWW/Library/Implementation/HTAAServ.c
+++ b/WWW/Library/Implementation/HTAAServ.c
@@ -488,8 +488,8 @@ PUBLIC int HTAA_checkAuthorization ARGS4(CONST char *,	url,
 	}
 	else if (HTAAFailReason != HTAA_HTBIN) {
 	    /* pathname != NULL */
-	    char *access = HTParse(pathname, "", PARSE_ACCESS);
-	    if (!*access || 0 == strcmp(access,"file")) { /*Local file, do AA*/
+	    char *acc_method = HTParse(pathname, "", PARSE_ACCESS);
+	    if (!*acc_method || 0 == strcmp(acc_method,"file")) { /*Local file, do AA*/
 		if (!HTSecure && 0 != strncmp(local_copy, "/htbin/", 7)) {
 		    char *localname = HTLocalName(pathname);
 		    FREE(pathname);
@@ -504,7 +504,7 @@ PUBLIC int HTAA_checkAuthorization ARGS4(CONST char *,	url,
 		    fprintf(stderr,
 			    "HTAA_checkAuthorization: %s (%s access)\n",
 			    "Gatewaying -- skipping authorization check",
-			    access);
+			    acc_method);
 	    }
 	} /* pathname */
     }
diff --git a/WWW/Library/Implementation/HTAAServ.h b/WWW/Library/Implementation/HTAAServ.h
index aa350a01..dc03c7dd 100644
--- a/WWW/Library/Implementation/HTAAServ.h
+++ b/WWW/Library/Implementation/HTAAServ.h
@@ -47,6 +47,8 @@
 #define HTAAsLog        HTAA_startLogging
 #endif /*SHORT_NAMES*/
 
+extern time_t theTime;
+
 /*
 
 Check Access Authorization
diff --git a/WWW/Library/Implementation/HTAAUtil.c b/WWW/Library/Implementation/HTAAUtil.c
index 512a0d0d..837f09c7 100644
--- a/WWW/Library/Implementation/HTAAUtil.c
+++ b/WWW/Library/Implementation/HTAAUtil.c
@@ -417,7 +417,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
     HTAssocList *assoc_list = HTAssocList_new();
     char *cur = NULL;
     char *name = NULL;
-    int index = 0;
+    int n = 0;
 
     if (!str)
         return assoc_list;
@@ -425,7 +425,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
     while (*str) {
 	SKIPWS(str);				/* Skip leading whitespace */
 	cur = str;
-	index++;
+	n++;
 
 	while (*cur  &&  *cur != '='  &&  *cur != ',')
 	    cur++;	/* Find end of name (or lonely value without a name) */
@@ -462,7 +462,7 @@ PUBLIC HTAssocList *HTAA_parseArgList ARGS1(char *, str)
 		*(cur++) = '\0';		/* Terminate value */
 	    /* else last value on line (already terminated by NULL) */
 	    StrAllocCopy(name, "nnn");	/* Room for item order number */
-	    sprintf(name, "%d", index); /* Item order number for name */
+	    sprintf(name, "%d", n);	/* Item order number for name */
 	}
 	HTAssocList_add(assoc_list, name, str);
 	str = cur;
diff --git a/WWW/Library/Implementation/HTACL.h b/WWW/Library/Implementation/HTACL.h
index d6ae3c6c..6ae21a97 100644
--- a/WWW/Library/Implementation/HTACL.h
+++ b/WWW/Library/Implementation/HTACL.h
@@ -24,6 +24,23 @@ Opening Access Control List File
 
  */
 
+/* PUBLIC						HTAA_getAclFilename()
+**	    RESOLVE THE FULL PATHNAME OF ACL FILE FOR A GIVEN FILE
+** ON ENTRY:
+**	path	is the pathname of the file for which to
+**		ACL file should be found.
+**
+**		ACL filename is computed by replacing
+**		the filename by .www_acl in the pathname
+**		(this is done to a local copy, of course).
+**
+** ON EXIT:
+**	returns	the absolute pathname of ACL file
+**		(which is automatically freed next time
+**		this fuction is called).
+*/
+PUBLIC char *HTAA_getAclFilename PARAMS((CONST char * pathname));
+
 /* PUBLIC                                               HTAA_openAcl()
 **              OPEN THE ACL FILE FOR THE GIVEN DOCUMENT
 ** ON ENTRY:
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index 7a4f62ea..ba73c3fe 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -35,10 +35,6 @@
 #define DIRECT_WAIS
 #endif /* VMS */
 
-#ifndef DEFAULT_WAIS_GATEWAY
-#define DEFAULT_WAIS_GATEWAY "http://www.w3.org:8001"
-#endif
-
 #include "HTUtils.h"
 #include "HTTP.h"
 #include "HTAlert.h"
@@ -127,8 +123,6 @@ PUBLIC BOOL HTRegisterProtocol ARGS1(
 **	forced in at link time.
 */
 #ifndef NO_INIT
-PRIVATE void HTAccessInit NOARGS			/* Call me once */
-{
 #ifdef GLOBALREF_IS_MACRO
 extern GLOBALREF (HTProtocol, HTTP);
 extern GLOBALREF (HTProtocol, HTTPS);
@@ -163,6 +157,9 @@ GLOBALREF  HTProtocol HTWAIS;
 #endif /* DIRECT_WAIS */
 #endif /* !DECNET */
 #endif /* GLOBALREF_IS_MACRO */
+
+PRIVATE void HTAccessInit NOARGS			/* Call me once */
+{
     HTRegisterProtocol(&HTTP);
     HTRegisterProtocol(&HTTPS);
     HTRegisterProtocol(&HTFile);
@@ -213,7 +210,7 @@ PUBLIC BOOL override_proxy ARGS1(
     char * at = NULL;
     char * host = NULL;
     char * Host = NULL;
-    char * access = NULL;
+    char * acc_method = NULL;
     int port = 0;
     int h_len = 0;
 
@@ -241,8 +238,8 @@ PUBLIC BOOL override_proxy ARGS1(
     }
     Host = (((at = strchr(host, '@')) != NULL) ? (at+1) : host);
 
-    if ((access = HTParse(addr, "", PARSE_ACCESS))) {
-        if (!strcmp("file", access) &&
+    if ((acc_method = HTParse(addr, "", PARSE_ACCESS))) {
+        if (!strcmp("file", acc_method) &&
 	    (!strcmp(Host, "localhost") ||
 #ifdef VMS
              !strcasecomp(Host, HTHostName())
@@ -251,10 +248,10 @@ PUBLIC BOOL override_proxy ARGS1(
 #endif /* VMS */
         )) {
 	    FREE(host);
-	    FREE(access);
+	    FREE(acc_method);
 	    return YES;
 	}
-	FREE(access);
+	FREE(acc_method);
     }
 
     if (!no_proxy) {
@@ -266,23 +263,23 @@ PUBLIC BOOL override_proxy ARGS1(
         *p++ = 0;                   		/* Chop off port */
         port = atoi(p);
     } else {					/* Use default port */
-        access = HTParse(addr, "", PARSE_ACCESS);
-        if (access != NULL) {
-            if      (!strcmp(access, "http"))		port = 80;
-            else if (!strcmp(access, "https"))		port = 443;
-            else if (!strcmp(access, "ftp"))		port = 21;
-            else if (!strcmp(access, "gopher"))		port = 70;
-            else if (!strcmp(access, "cso"))		port = 105;
-	    else if (!strcmp(access, "news"))		port = 119;
-	    else if (!strcmp(access, "nntp"))		port = 119;
-	    else if (!strcmp(access, "newspost"))	port = 119;
-	    else if (!strcmp(access, "newsreply"))	port = 119;
-	    else if (!strcmp(access, "snews"))		port = 563;
-	    else if (!strcmp(access, "snewspost"))	port = 563;
-	    else if (!strcmp(access, "snewsreply"))	port = 563;
-	    else if (!strcmp(access, "wais"))		port = 210;
-	    else if (!strcmp(access, "finger"))		port = 79;
-            FREE(access);
+        acc_method = HTParse(addr, "", PARSE_ACCESS);
+        if (acc_method != NULL) {
+            if      (!strcmp(acc_method, "http"))	port = 80;
+            else if (!strcmp(acc_method, "https"))	port = 443;
+            else if (!strcmp(acc_method, "ftp"))	port = 21;
+            else if (!strcmp(acc_method, "gopher"))	port = 70;
+            else if (!strcmp(acc_method, "cso"))	port = 105;
+	    else if (!strcmp(acc_method, "news"))	port = 119;
+	    else if (!strcmp(acc_method, "nntp"))	port = 119;
+	    else if (!strcmp(acc_method, "newspost"))	port = 119;
+	    else if (!strcmp(acc_method, "newsreply"))	port = 119;
+	    else if (!strcmp(acc_method, "snews"))	port = 563;
+	    else if (!strcmp(acc_method, "snewspost"))	port = 563;
+	    else if (!strcmp(acc_method, "snewsreply"))	port = 563;
+	    else if (!strcmp(acc_method, "wais"))	port = 210;
+	    else if (!strcmp(acc_method, "finger"))	port = 79;
+            FREE(acc_method);
         }
     }
     if (!port)
@@ -343,7 +340,7 @@ PRIVATE int get_physical ARGS2(
 	CONST char *,		addr,
 	HTParentAnchor *,	anchor)
 {
-    char * access = NULL;	/* Name of access method */
+    char * acc_method = NULL;	/* Name of access method */
     char * physical = NULL;
     char * Server_addr = NULL;
 
@@ -372,7 +369,7 @@ PRIVATE int get_physical ARGS2(
     }
 #endif /* NO_RULES */
 
-    access =  HTParse(HTAnchor_physical(anchor),
+    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"file:", PARSE_ACCESS);
 
     /*
@@ -387,7 +384,7 @@ PRIVATE int get_physical ARGS2(
     */
     using_proxy = NO;
 
-    if (!strcasecomp(access, "news")) {
+    if (!strcasecomp(acc_method, "news")) {
 	/*
 	**  News is different, so we need to check the name of the server,
 	**  as well as the default port for selective exclusions.
@@ -405,7 +402,7 @@ PRIVATE int get_physical ARGS2(
             StrAllocCat(Server_addr, (char *)getenv("NNTPSERVER"));
             StrAllocCat(Server_addr, ":119/");
          }
-    } else if (!strcasecomp(access, "wais")) {
+    } else if (!strcasecomp(acc_method, "wais")) {
     	/*
 	**  Wais also needs checking of the default port
 	**  for selective exclusions.
@@ -431,24 +428,24 @@ PRIVATE int get_physical ARGS2(
 	/*
 	**  Search for gateways.
 	*/
-	gateway_parameter = (char *)calloc(1, (strlen(access) + 20));
+	gateway_parameter = (char *)calloc(1, (strlen(acc_method) + 20));
 	if (gateway_parameter == NULL)
 	    outofmem(__FILE__, "HTLoad");
 	strcpy(gateway_parameter, "WWW_");
-	strcat(gateway_parameter, access);
+	strcat(gateway_parameter, acc_method);
 	strcat(gateway_parameter, "_GATEWAY");
 	gateway = (char *)getenv(gateway_parameter); /* coerce for decstation */
 
 	/*
 	**  Search for proxy servers.
 	*/
-	if (!strcmp(access, "file"))
+	if (!strcmp(acc_method, "file"))
 	    /*
 	    ** If we got to here, a file URL is for ftp on a remote host. - FM
 	    */
 	    strcpy(gateway_parameter, "ftp");
 	else
-	    strcpy(gateway_parameter, access);
+	    strcpy(gateway_parameter, acc_method);
         strcat(gateway_parameter, "_proxy");
 	proxy = (char *)getenv(gateway_parameter);
 	FREE(gateway_parameter);
@@ -458,12 +455,6 @@ PRIVATE int get_physical ARGS2(
 	if (TRACE && proxy)
 	    fprintf(stderr, "proxy server found: %s\n", proxy);
 	
-#ifndef DIRECT_WAIS
-	if (gateway == NULL && !strcmp(access, "wais")) {
-	    gateway = DEFAULT_WAIS_GATEWAY;
-	}
-#endif /* direct wais */
-
 	/*
 	**  Proxy servers have precedence over gateway servers.
 	*/
@@ -483,9 +474,9 @@ PRIVATE int get_physical ARGS2(
 	        StrAllocCat(gatewayed, "?0,0");
             HTAnchor_setPhysical(anchor, gatewayed);
 	    FREE(gatewayed);
-	    FREE(access);
+	    FREE(acc_method);
 
-    	    access =  HTParse(HTAnchor_physical(anchor),
+    	    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"http:", PARSE_ACCESS);
 
 	} else if (gateway) {
@@ -496,9 +487,9 @@ PRIVATE int get_physical ARGS2(
 	    FREE(path);
             HTAnchor_setPhysical(anchor, gatewayed);
 	    FREE(gatewayed);
-	    FREE(access);
+	    FREE(acc_method);
 	    
-    	    access =  HTParse(HTAnchor_physical(anchor),
+    	    acc_method =  HTParse(HTAnchor_physical(anchor),
     		"http:", PARSE_ACCESS);
 	} 
     }
@@ -516,15 +507,15 @@ PRIVATE int get_physical ARGS2(
 	n = HTList_count(protocols);
 	for (i = 0; i < n; i++) {
 	    HTProtocol *p = (HTProtocol *)HTList_objectAt(protocols, i);
-	    if (!strcmp(p->name, access)) {
+	    if (!strcmp(p->name, acc_method)) {
 		HTAnchor_setProtocol(anchor, p);
-		FREE(access);
+		FREE(acc_method);
 		return (HT_OK);
 	    }
 	}
     }
 
-    FREE(access);
+    FREE(acc_method);
     return HT_NO_ACCESS;
 }
 
@@ -651,6 +642,17 @@ extern char LYinternal_flag;		       /* from LYMainLoop.c */
 **        returns    YES     Success in opening document
 **                   NO      Failure 
 */
+
+extern char LYforce_no_cache;			         /* from GridText.c */
+extern char LYoverride_no_cache;		       /* from LYMainLoop.c */
+extern char * HTLoadedDocumentURL NOPARAMS;		   /* in GridText.c */
+extern BOOL HText_hasNoCacheSet PARAMS((HText *text));     /* in GridText.c */
+extern BOOL reloading;
+extern BOOL permanent_redirection;
+#ifdef DIRED_SUPPORT
+extern BOOLEAN lynx_edit_mode;
+#endif
+
 PRIVATE BOOL HTLoadDocument ARGS4(
 	CONST char *,		full_address,
 	HTParentAnchor *,	anchor,
@@ -660,20 +662,10 @@ PRIVATE BOOL HTLoadDocument ARGS4(
     int	        status;
     HText *	text;
     CONST char * address_to_load = full_address;
-    extern char LYforce_no_cache;		       /* from   GridText.c */
-    extern char LYoverride_no_cache;		       /* from LYMainLoop.c */
-    extern char * HTLoadedDocumentURL NOPARAMS;		   /* in GridText.c */
-    extern BOOL HText_hasNoCacheSet PARAMS((HText *text)); /* in GridText.c */
-    extern BOOL reloading;
-    extern BOOL permanent_redirection;
     char *cp;
     BOOL ForcingNoCache = LYforce_no_cache;
     static int redirection_attempts = 0;
 
-#ifdef DIRED_SUPPORT
-    extern BOOLEAN lynx_edit_mode;
-#endif
-
     if (TRACE)
         fprintf (stderr, "HTAccess: loading document %s\n", address_to_load);
 
diff --git a/WWW/Library/Implementation/HTAlert.h b/WWW/Library/Implementation/HTAlert.h
index 33d31f11..03b970b6 100644
--- a/WWW/Library/Implementation/HTAlert.h
+++ b/WWW/Library/Implementation/HTAlert.h
@@ -120,7 +120,7 @@ extern BOOL HTConfirmCookie PARAMS((
 **	303 for redirect as GET without content
 */
 extern int HTConfirmPostRedirect PARAMS((
-	CONST char *	redirecting_url,
+	CONST char *	redirecting_url_arg,
 	int		server_status));
 
 /*
diff --git a/WWW/Library/Implementation/HTAnchor.c b/WWW/Library/Implementation/HTAnchor.c
index c2cf273c..20f7cfe1 100644
--- a/WWW/Library/Implementation/HTAnchor.c
+++ b/WWW/Library/Implementation/HTAnchor.c
@@ -23,12 +23,11 @@
 #include "UCAux.h"
 #include "UCMap.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
-extern LYUCcharset LYCharSet_UC[];
-
 #ifdef NOT_DEFINED
 /*
  *	This is the hashing function used to determine which list in the
@@ -1084,10 +1083,10 @@ PUBLIC HTAnchor * HTAnchor_followTypedLink ARGS2(
         return me->mainLink.dest;
     if (me->links) {
         HTList *links = me->links;
-        HTLink *link;
-        while (NULL != (link=(HTLink *)HTList_nextObject(links))) {
-            if (link->type == type) {
-	        return link->dest;
+        HTLink *the_link;
+        while (NULL != (the_link=(HTLink *)HTList_nextObject(links))) {
+            if (the_link->type == type) {
+	        return the_link->dest;
 	    }
 	}
     }
diff --git a/WWW/Library/Implementation/HTAuth.c b/WWW/Library/Implementation/HTAuth.c
index 7f7b363b..8d2ec4ca 100644
--- a/WWW/Library/Implementation/HTAuth.c
+++ b/WWW/Library/Implementation/HTAuth.c
@@ -41,7 +41,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
     static char *cleartext = NULL;
     char *username = NULL;
     char *password = NULL;
-    char *inet_addr = NULL;
+    char *i_net_adr = NULL;
     char *timestamp = NULL;
     char *browsers_key = NULL;
 
@@ -111,8 +111,8 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 ** Extract rest of the fields
 */
     if (scheme == HTAA_PUBKEY) {
-	if (                          !(inet_addr   =strchr(password, ':')) || 
-	    (*(inet_addr++)   ='\0'), !(timestamp   =strchr(inet_addr,':')) ||
+	if (                          !(i_net_adr   =strchr(password, ':')) || 
+	    (*(i_net_adr++)   ='\0'), !(timestamp   =strchr(i_net_adr,':')) ||
 	    (*(timestamp++)   ='\0'), !(browsers_key=strchr(timestamp,':')) ||
 	    (*(browsers_key++)='\0')) {
 
@@ -128,7 +128,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 */
     user->username   = username;
     user->password   = password;
-    user->inet_addr  = inet_addr;
+    user->inet_addr  = i_net_adr;
     user->timestamp  = timestamp;
     user->secret_key = browsers_key;
 
@@ -140,7 +140,7 @@ PRIVATE HTAAUser *decompose_auth_string ARGS2(char *,		authstring,
 	else
 	    fprintf(stderr, "decompose_auth_string: %s (%s,%s,%s,%s,%s)\n",
 		    "Pubkey scheme authentication string:",
-		    username, password, inet_addr, timestamp, browsers_key);
+		    username, password, i_net_adr, timestamp, browsers_key);
     }
     
     return user;
@@ -154,7 +154,7 @@ PRIVATE BOOL HTAA_checkTimeStamp ARGS1(CONST char *, timestamp)
 }
 
 
-PRIVATE BOOL HTAA_checkInetAddress ARGS1(CONST char *, inet_addr)
+PRIVATE BOOL HTAA_checkInetAddress ARGS1(CONST char *, i_net_adr)
 {
     return NO;		/* This is just a stub */
 }
diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c
index c347116a..ac909d75 100644
--- a/WWW/Library/Implementation/HTFTP.c
+++ b/WWW/Library/Implementation/HTFTP.c
@@ -420,7 +420,6 @@ PRIVATE int response ARGS1(
     int result;				/* Three-digit decimal code */
     int	continuation_response = -1;
     int status;
-    extern int interrupted_in_htgetcharacter;
 
     if (!control) {
           if (TRACE)
@@ -535,11 +534,11 @@ PRIVATE int response ARGS1(
  *  Some servers need an additional letter after the MACB command.
  */
 PRIVATE int set_mac_binary ARGS1(
-        int,		server_type)
+        int,		ServerType)
 {
     /* try to set mac binary mode */
-    if (server_type == APPLESHARE_SERVER ||
-	server_type == NETPRESENZ_SERVER) {
+    if (ServerType == APPLESHARE_SERVER ||
+	ServerType == NETPRESENZ_SERVER) {
 	/*
 	 *  Presumably E means "Enable"  - kw
 	 */
@@ -554,8 +553,8 @@ PRIVATE int set_mac_binary ARGS1(
  */
 
 PRIVATE void get_ftp_pwd ARGS2(
-	int *,		server_type,
-	BOOLEAN *,	use_list)
+	int *,		ServerType,
+	BOOLEAN *,	UseList)
 {
 
     char *cp;
@@ -567,45 +566,45 @@ PRIVATE void get_ftp_pwd ARGS2(
 	cp = strchr(response_text+5,'"');
 	if (cp)
 	    *cp = '\0';
-        if (*server_type == TCPC_SERVER) {
-            *server_type = ((response_text[5] == '/') ?
+        if (*ServerType == TCPC_SERVER) {
+            *ServerType = ((response_text[5] == '/') ?
 	    				  NCSA_SERVER : TCPC_SERVER);
 	     if (TRACE)
 	         fprintf(stderr, "HTFTP: Treating as %s server.\n",
-		 	 ((*server_type == NCSA_SERVER) ?
+		 	 ((*ServerType == NCSA_SERVER) ?
 			 			 "NCSA" : "TCPC"));
         } else if (response_text[5] == '/') {
             /* path names beginning with / imply Unix,
 	     * right?
 	     */
-	    if (set_mac_binary(*server_type)) {
-		*server_type = NCSA_SERVER;
+	    if (set_mac_binary(*ServerType)) {
+		*ServerType = NCSA_SERVER;
 		if (TRACE)
 	            fprintf(stderr, "HTFTP: Treating as NCSA server.\n");
 	    } else {
-                 *server_type = UNIX_SERVER;
-                 *use_list = TRUE;
+                 *ServerType = UNIX_SERVER;
+                 *UseList = TRUE;
 		 if (TRACE)
 	             fprintf(stderr, "HTFTP: Treating as Unix server.\n");
 	    }
 	    return;
         } else if (response_text[strlen(response_text)-1] == ']') {
             /* path names ending with ] imply VMS, right? */
-            *server_type = VMS_SERVER;
-	    *use_list = TRUE;
+            *ServerType = VMS_SERVER;
+	    *UseList = TRUE;
 	    if (TRACE)
 	        fprintf(stderr, "HTFTP: Treating as VMS server.\n");
         } else {
-            *server_type = GENERIC_SERVER;
+            *ServerType = GENERIC_SERVER;
 	    if (TRACE)
 	        fprintf(stderr, "HTFTP: Treating as Generic server.\n");
 	}
 
-        if ((*server_type == NCSA_SERVER) ||
-            (*server_type == TCPC_SERVER) ||
-            (*server_type == PETER_LEWIS_SERVER) ||
-            (*server_type == NETPRESENZ_SERVER))
-            set_mac_binary(*server_type);
+        if ((*ServerType == NCSA_SERVER) ||
+            (*ServerType == TCPC_SERVER) ||
+            (*ServerType == PETER_LEWIS_SERVER) ||
+            (*ServerType == NETPRESENZ_SERVER))
+            set_mac_binary(*ServerType);
     }
 }
 
@@ -765,8 +764,7 @@ PRIVATE int get_connection ARGS2(
 
 /*	Now we log in		Look up username, prompt for pw.
 */
-  {
-    int status = response((char *)0);	/* Get greeting */
+    status = response((char *)0);	/* Get greeting */
 
     if (status == HT_INTERRUPTED)
       {
@@ -1026,7 +1024,6 @@ PRIVATE int get_connection ARGS2(
     }
 #endif /* NOTREPEAT_PORT */
     return con->socket;			/* Good return */
-  } /* Scope of con */
 }
 
 
@@ -1069,7 +1066,7 @@ PRIVATE int close_master_socket NOARGS
 PRIVATE int get_listen_socket NOARGS
 {
     struct sockaddr_in soc_address;	/* Binary network address */
-    struct sockaddr_in* sin = &soc_address;
+    struct sockaddr_in* soc_in = &soc_address;
     int new_socket;			/* Will be master_socket */
 
 
@@ -1093,8 +1090,8 @@ PRIVATE int get_listen_socket NOARGS
 
 /*  Search for a free port.
 */
-    sin->sin_family = AF_INET;	    /* Family = internet, host order  */
-    sin->sin_addr.s_addr = INADDR_ANY; /* Any peer address */
+    soc_in->sin_family = AF_INET;	    /* Family = internet, host order  */
+    soc_in->sin_addr.s_addr = INADDR_ANY;   /* Any peer address */
 #ifdef POLL_PORTS
     {
         unsigned short old_port_number = port_number;
@@ -1146,7 +1143,7 @@ PRIVATE int get_listen_socket NOARGS
 			     (void *)&address_length);
 	if (status<0) return HTInetStatus("getsockname");
 	CTRACE(tfp, "HTFTP: This host is %s\n",
-	    HTInetString(sin));
+	    HTInetString(soc_in));
 
 	soc_address.sin_port = 0;	/* Unspecified: please allocate */
 #ifdef SOCKS
@@ -1183,8 +1180,8 @@ PRIVATE int get_listen_socket NOARGS
 #endif /* POLL_PORTS */
 
     CTRACE(tfp, "HTFTP: bound to port %d on %s\n",
-    		(int)ntohs(sin->sin_port),
-		HTInetString(sin));
+    		(int)ntohs(soc_in->sin_port),
+		HTInetString(soc_in));
 
 #ifdef REPEAT_LISTEN
     if (master_socket >= 0)
@@ -1197,12 +1194,12 @@ PRIVATE int get_listen_socket NOARGS
 */
     (void)HTHostName(); 	/* Make address valid - doesn't work*/
     sprintf(port_command, "PORT %d,%d,%d,%d,%d,%d%c%c",
-		    (int)*((unsigned char *)(&sin->sin_addr)+0),
-		    (int)*((unsigned char *)(&sin->sin_addr)+1),
-		    (int)*((unsigned char *)(&sin->sin_addr)+2),
-		    (int)*((unsigned char *)(&sin->sin_addr)+3),
-		    (int)*((unsigned char *)(&sin->sin_port)+0),
-		    (int)*((unsigned char *)(&sin->sin_port)+1),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+		    (int)*((unsigned char *)(&soc_in->sin_addr)+3),
+		    (int)*((unsigned char *)(&soc_in->sin_port)+0),
+		    (int)*((unsigned char *)(&soc_in->sin_port)+1),
 		    CR, LF);
 
 
@@ -2234,22 +2231,22 @@ PRIVATE EntryInfo * parse_dir_entry ARGS2(
     **  Get real types eventually.
     */
     if (!entry_info->type) {
-	CONST char *cp;
+	CONST char *cp2;
         HTFormat format;
         HTAtom * encoding;  /* @@ not used at all */
-        format = HTFileFormat(entry_info->filename, &encoding, &cp);
+        format = HTFileFormat(entry_info->filename, &encoding, &cp2);
 
-	if (cp == NULL) {
+	if (cp2 == NULL) {
 	    if (!strncmp(HTAtom_name(format), "application",11)) {
-		cp = HTAtom_name(format) + 12;
-		if (!strncmp(cp,"x-",2))
-		    cp += 2;
+		cp2 = HTAtom_name(format) + 12;
+		if (!strncmp(cp2,"x-",2))
+		    cp2 += 2;
 	    } else {
-		cp = HTAtom_name(format);
+		cp2 = HTAtom_name(format);
 	    }
 	}
 
-        StrAllocCopy(entry_info->type, cp);
+        StrAllocCopy(entry_info->type, cp2);
     }
 
     return(entry_info);
@@ -2848,11 +2845,11 @@ PUBLIC int HTFTPLoad ARGS4(
 	    ** Check if translation of HOME as tilde is supported,
 	    ** and adjust filename if so. - FM
 	    */
-	    char *cp = NULL;
+	    char *cp2 = NULL;
 	    char *fn = NULL;
 
-	    if ((cp = strchr((filename+1), '/')) != NULL) {
-		*cp = '\0';
+	    if ((cp2 = strchr((filename+1), '/')) != NULL) {
+		*cp2 = '\0';
 	    }
 	    sprintf(command, "PWD%c%c", CR, LF);
 	    status = response(command);
@@ -2861,39 +2858,39 @@ PUBLIC int HTFTPLoad ARGS4(
 		status = response(command);
 		if (status == 2) {
 		    StrAllocCopy(fn, (filename+1));
-		    if (cp) {
-			*cp = '/';
+		    if (cp2) {
+			*cp2 = '/';
 			if (fn[strlen(fn)-1] != '/') {
-			    StrAllocCat(fn, cp);
+			    StrAllocCat(fn, cp2);
 			} else {
-			    StrAllocCat(fn, (cp+1));
+			    StrAllocCat(fn, (cp2+1));
 			}
-			cp = NULL;
+			cp2 = NULL;
 		    }
 		    FREE(fname);
 		    fname = filename = fn;
 		}
 	    }
-	    if (cp) {
-	        *cp = '/';
+	    if (cp2) {
+	        *cp2 = '/';
 	    }
 	}
 	if (strlen(filename) > 3) {
-	    char *cp;
-	    if (((cp=strrchr(filename, '.')) != NULL &&
-	         0 == strncasecomp(cp, ".me", 3)) &&
-		(cp[3] == '\0' || cp[3] == ';')) {
+	    char *cp2;
+	    if (((cp2=strrchr(filename, '.')) != NULL &&
+	         0 == strncasecomp(cp2, ".me", 3)) &&
+		(cp2[3] == '\0' || cp2[3] == ';')) {
 		/*
 		**  Don't treat this as application/x-Troff-me
 		**  if it's a Unix server but has the string
 		**  "read.me", or if it's not a Unix server. - FM
 		*/
 	        if ((server_type != UNIX_SERVER) ||
-		    (cp > (filename + 3) &&
-	             0 == strncasecomp((cp - 4), "read.me", 7))) {
-		    *cp = '\0';
+		    (cp2 > (filename + 3) &&
+	             0 == strncasecomp((cp2 - 4), "read.me", 7))) {
+		    *cp2 = '\0';
 		    format = HTFileFormat(filename, &encoding, NULL);
-		    *cp = '.';
+		    *cp2 = '.';
 		} else {
 		    format = HTFileFormat(filename, &encoding, NULL);
 		}
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index a4eae4a7..d3086008 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -79,6 +79,9 @@
 #include "UCAux.h"
 
 #include "LYexit.h"
+#include "LYCharSets.h"
+#include "LYGlobalDefs.h"
+#include "LYUtils.h"
 #include "LYLeaks.h"
 
 typedef struct _HTSuffix {
@@ -126,8 +129,6 @@ extern BOOLEAN dir_list_style;
 PUBLIC int HTDirReadme = HT_DIR_README_TOP;
 #endif /* DIRED_SUPPORT */
 
-extern int current_char_set;
-extern CONST char *LYchar_set_names[];
 extern BOOLEAN LYRawMode;
 extern BOOL HTPassEightBitRaw;
 extern HTCJKlang HTCJK;
@@ -515,19 +516,19 @@ Bug removed thanks to joe@athena.mit.edu */
 PUBLIC char * HTCacheFileName ARGS1(
 	CONST char *,	name)
 {
-    char * access = HTParse(name, "", PARSE_ACCESS);
+    char * acc_method = HTParse(name, "", PARSE_ACCESS);
     char * host = HTParse(name, "", PARSE_HOST);
     char * path = HTParse(name, "", PARSE_PATH+PARSE_PUNCTUATION);
     
     char * result;
     result = (char *)malloc(
-	    strlen(HTCacheRoot)+strlen(access)
+	    strlen(HTCacheRoot)+strlen(acc_method)
 	    +strlen(host)+strlen(path)+6+1);
     if (result == NULL)
         outofmem(__FILE__, "HTCacheFileName");
-    sprintf(result, "%s/WWW/%s/%s%s", HTCacheRoot, access, host, path);
+    sprintf(result, "%s/WWW/%s/%s%s", HTCacheRoot, acc_method, host, path);
     FREE(path);
-    FREE(access);
+    FREE(acc_method);
     FREE(host);
     return result;
 }
@@ -555,14 +556,14 @@ PRIVATE int HTCreatePath ARGS1(CONST char *,path)
 PUBLIC char * HTLocalName ARGS1(
 	CONST char *,	name)
 {
-    char * access = HTParse(name, "", PARSE_ACCESS);
+    char * acc_method = HTParse(name, "", PARSE_ACCESS);
     char * host = HTParse(name, "", PARSE_HOST);
     char * path = HTParse(name, "", PARSE_PATH+PARSE_PUNCTUATION);
     
     HTUnEscape(path);	/* Interpret % signs */
     
-    if (0 == strcmp(access, "file")) { /* local file */
-        FREE(access);	
+    if (0 == strcmp(acc_method, "file")) { /* local file */
+        FREE(acc_method);	
 	if ((0 == strcasecomp(host, HTHostName())) ||
 	    (0 == strcasecomp(host, "localhost")) || !*host) {
 	    FREE(host);
@@ -608,12 +609,12 @@ PUBLIC char * HTLocalName ARGS1(
 	    home = "/tmp"; 
 #endif /* VMS */
 	result = (char *)malloc(
-		strlen(home)+strlen(access)+strlen(host)+strlen(path)+6+1);
+		strlen(home)+strlen(acc_method)+strlen(host)+strlen(path)+6+1);
         if (result == NULL)
             outofmem(__FILE__, "HTLocalName");
-	sprintf(result, "%s/WWW/%s/%s%s", home, access, host, path);
+	sprintf(result, "%s/WWW/%s/%s%s", home, acc_method, host, path);
 	FREE(path);
-	FREE(access);
+	FREE(acc_method);
 	FREE(host);
 	return result;
     }
@@ -748,7 +749,6 @@ PUBLIC HTFormat HTFileFormat ARGS3(
 #ifdef VMS
     char *semicolon = NULL;
 #endif /* VMS */
-    extern BOOLEAN LYforce_HTML_mode;
 
     if (pencoding)
 	*pencoding = NULL;
@@ -1171,14 +1171,14 @@ PUBLIC BOOL HTEditable ARGS1(
     myUid = geteuid();				/* Get my user identifier */
 
     if (TRACE) {
-        int i;
+        int i2;
 	fprintf(stderr, 
 	    "File mode is 0%o, uid=%d, gid=%d. My uid=%d, %d groups (",
     	    (unsigned int) fileStatus.st_mode, fileStatus.st_uid,
 	    fileStatus.st_gid,
 	    myUid, ngroups);
-	for (i = 0; i < ngroups; i++)
-	    fprintf(stderr, " %d", groups[i]);
+	for (i2 = 0; i2 < ngroups; i2++)
+	    fprintf(stderr, " %d", groups[i2]);
 	fprintf(stderr, ")\n");
     }
     
@@ -1426,7 +1426,6 @@ PUBLIC BOOL HTDirTitles ARGS3(
 	    **  On VMS, this problem is dealt with internally by
 	    **  HTVMSBrowseDir().
 	    */
-	    extern BOOLEAN LYisLocalFile PARAMS((char *logical));
 	    DIR  * dp = NULL;
 
 	    if (LYisLocalFile(logical)) {
@@ -1524,7 +1523,7 @@ PUBLIC int HTLoadFile ARGS4(
 	HTStream *,		sink)
 {
     char * filename = NULL;
-    char * access = NULL;
+    char * acc_method = NULL;
     HTFormat format;
     char * nodename = NULL;
     char * newname = NULL;	/* Simplified name of file */
@@ -1533,8 +1532,6 @@ PUBLIC int HTLoadFile ARGS4(
     int status;
 #ifdef VMS
     struct stat stat_info;
-#else
-    extern char *list_format;
 #endif /* VMS */
 #ifdef USE_ZLIB
     gzFile gzfp = 0;
@@ -1551,8 +1548,8 @@ PUBLIC int HTLoadFile ARGS4(
     /*
     **  If access is ftp, or file is on another host, invoke ftp now.
     */
-    access = HTParse(newname, "", PARSE_ACCESS);
-    if (strcmp("ftp", access) == 0 ||
+    acc_method = HTParse(newname, "", PARSE_ACCESS);
+    if (strcmp("ftp", acc_method) == 0 ||
        (strcmp("localhost", nodename) != 0 &&
 #ifdef VMS
         strcasecomp(nodename, HTHostName()) != 0
@@ -1563,11 +1560,11 @@ PUBLIC int HTLoadFile ARGS4(
         FREE(newname);
 	FREE(filename);
 	FREE(nodename);
-        FREE(access);
+        FREE(acc_method);
         return HTFTPLoad(addr, anchor, format_out, sink);
     } else {
         FREE(newname);
-        FREE(access);
+        FREE(acc_method);
     }
 #ifdef VMS
     HTUnEscape(filename);
@@ -2110,7 +2107,6 @@ PUBLIC int HTLoadFile ARGS4(
 			**  While there are directory entries to be read...
 			*/
 		        char * dirname = NULL;
-			extern BOOLEAN no_dotfiles, show_dotfiles;
 
 #ifndef DOSPATH
 		        if (dirbuf->d_ino == 0)
@@ -2235,7 +2231,7 @@ PUBLIC int HTLoadFile ARGS4(
 				    if (dir_list_style != MIXED_STYLE) {
 				       START(HTML_EM);
 				       PUTS(state == 'D' ?
-				          "Subirectories:" : "Files:");
+				          "Subdirectories:" : "Files:");
 				       END(HTML_EM);
 				    }
 				    END(HTML_H2);
diff --git a/WWW/Library/Implementation/HTFile.h b/WWW/Library/Implementation/HTFile.h
index e6a7926a..ba94597a 100644
--- a/WWW/Library/Implementation/HTFile.h
+++ b/WWW/Library/Implementation/HTFile.h
@@ -66,6 +66,15 @@ extern BOOL HTDirTitles PARAMS((
         HTAnchor *      anchor,
 	BOOL		tildeIsTop));
 
+/*	Load a document.
+**	----------------
+*/
+extern int HTLoadFile PARAMS((
+	CONST char *		addr,
+	HTParentAnchor *	anchor,
+	HTFormat		format_out,
+	HTStream *		sink));
+
 /*
 **  Output a directory entry
 **
@@ -162,6 +171,12 @@ extern float HTFileValue PARAMS((
 */
 extern BOOL HTEditable PARAMS((CONST char * filename));
 
+/*	Make a save stream.
+**	-------------------
+*/
+extern HTStream * HTFileSaveStream PARAMS((
+	HTParentAnchor *	anchor));
+
 /*
 ** Determine a suitable suffix, given the representation.
 **
diff --git a/WWW/Library/Implementation/HTFinger.c b/WWW/Library/Implementation/HTFinger.c
index 06188d2b..e714e0d2 100644
--- a/WWW/Library/Implementation/HTFinger.c
+++ b/WWW/Library/Implementation/HTFinger.c
@@ -119,7 +119,6 @@ PRIVATE int response ARGS5(
     int ch, i;
     char line[BIG], *l, *cmd=NULL;
     char *p = line, *href=NULL;
-    extern int interrupted_in_htgetcharacter;
 
     if (length == 0)
         return(-1);
diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c
index 2653833f..ee0e36c9 100644
--- a/WWW/Library/Implementation/HTFormat.c
+++ b/WWW/Library/Implementation/HTFormat.c
@@ -1,4 +1,3 @@
-
 /*		Manage different file formats			HTFormat.c
 **		=============================
 **
@@ -48,6 +47,8 @@ PUBLIC long int HTMaxBytes  = 0;	/* No effective limit */
 #include "HTMLGen.h"
 
 #include "LYexit.h"
+#include "LYUtils.h"
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
@@ -549,7 +550,6 @@ PUBLIC int HTCopy ARGS4(
     */
     for (;;) {
 	int status;
-	extern char LYCancelDownload;
 
 	if (LYCancelDownload) {
 	    LYCancelDownload = FALSE;
@@ -871,7 +871,6 @@ PUBLIC int HTParseSocket ARGS5(
     HTStream * stream;
     HTStreamClass targetClass;
     int rv;
-    extern char LYCancelDownload;
 
     stream = HTStreamStack(rep_in, format_out, sink, anchor);
     
@@ -926,7 +925,6 @@ PUBLIC int HTParseFile ARGS5(
     
     if (!stream) {
         char buffer[1024];	/* @@@@@@@@ */
-	extern char LYCancelDownload;
         if (LYCancelDownload) {
 	    LYCancelDownload = FALSE;
 	    return -1;
diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h
index 80fb91dd..225456b6 100644
--- a/WWW/Library/Implementation/HTFormat.h
+++ b/WWW/Library/Implementation/HTFormat.h
@@ -350,6 +350,7 @@ extern void HTInitInput PARAMS((int file_number));
 Get next character from buffer
 
  */
+extern int interrupted_in_htgetcharacter;
 extern char HTGetCharacter NOPARAMS;
 
 
diff --git a/WWW/Library/Implementation/HTGopher.c b/WWW/Library/Implementation/HTGopher.c
index d4e1673e..449a355d 100644
--- a/WWW/Library/Implementation/HTGopher.c
+++ b/WWW/Library/Implementation/HTGopher.c
@@ -226,7 +226,6 @@ PRIVATE void parse_menu ARGS2(
     int bytes = 0;
     int BytesReported = 0;
     char buffer[128];
-    extern int interrupted_in_htgetcharacter;
 
 #define TAB 		'\t'
 #define HEX_ESCAPE 	'%'
@@ -354,7 +353,7 @@ PRIVATE void parse_menu ARGS2(
 		}
 		else {			/* If parsed ok */
 		    char *q;
-		    char *p;
+		    char *r;
 
 		    switch(gtype) {
                		case GOPHER_TEXT:
@@ -411,12 +410,12 @@ PRIVATE void parse_menu ARGS2(
 		    sprintf(address, "//%s/%c", host, gtype);
 
 		    q = address+ strlen(address);
-		    for(p=selector; *p; p++) {	/* Encode selector string */
-			if (acceptable[(unsigned char)*p]) *q++ = *p;
+		    for(r=selector; *r; r++) {	/* Encode selector string */
+			if (acceptable[(unsigned char)*r]) *q++ = *r;
 			else {
 			    *q++ = HEX_ESCAPE;	/* Means hex coming */
-			    *q++ = hex[(TOASCII(*p)) >> 4];
-			    *q++ = hex[(TOASCII(*p)) & 15];
+			    *q++ = hex[(TOASCII(*r)) >> 4];
+			    *q++ = hex[(TOASCII(*r)) & 15];
 			}
 		    }
 
@@ -940,8 +939,7 @@ PRIVATE int parse_cso_fields ARGS2(
     int i, code = 0, prev_code, alen;
     char *indx, *name;
     CSOfield_info *last, *new;
-    extern int interrupted_in_htgetcharacter;
-    
+
     last = CSOfields = (CSOfield_info *) 0;
     prev_code = -2555;
     buf[0] = '\0';
@@ -1243,7 +1241,6 @@ PRIVATE int generate_cso_report ARGS2(
     char *rcode, *ndx_str, *fname, *fvalue, *l;
     CSOfield_info *fld;
     BOOL stop = FALSE; 
-    extern int interrupted_in_htgetcharacter;
 
     /*
     **  Read lines until non-negative status.
@@ -1475,7 +1472,7 @@ end_CSOreport:
 /*      CSO/PH form-based search gateway - FM			HTLoadCSO
 **	=====================================
 */
-PUBLIC int HTLoadCSO ARGS4(
+PRIVATE int HTLoadCSO ARGS4(
         CONST char *,		arg,
         HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -1744,7 +1741,7 @@ PUBLIC int HTLoadCSO ARGS4(
 **  Bug:  No decoding of strange data types as yet.
 **
 */
-PUBLIC int HTLoadGopher ARGS4(
+PRIVATE int HTLoadGopher ARGS4(
 	CONST char *,		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
diff --git a/WWW/Library/Implementation/HTGroup.c b/WWW/Library/Implementation/HTGroup.c
index c7abb13e..f6b17578 100644
--- a/WWW/Library/Implementation/HTGroup.c
+++ b/WWW/Library/Implementation/HTGroup.c
@@ -514,16 +514,16 @@ PRIVATE BOOL part_match ARGS2(CONST char *, tcur,
 **		MATCH INET NUMBER AGAINST AN INET NUMBER MASK
 ** ON ENTRY:
 **	template	mask to match agaist, e.g. 128.141.*.*
-**	inet_addr	actual inet address, e.g. 128.141.201.74
+**	the_inet_addr	actual inet address, e.g. 128.141.201.74
 **
 ** ON EXIT:
 **	returns		YES, if match;  NO, if not.
 */
 PRIVATE BOOL ip_number_match ARGS2(CONST char *,	template,
-				   CONST char *,	inet_addr)
+				   CONST char *,	the_inet_addr)
 {
     CONST char *tcur = template;
-    CONST char *icur = inet_addr;
+    CONST char *icur = the_inet_addr;
     int cnt;
     
     for (cnt=0; cnt<4; cnt++) {
diff --git a/WWW/Library/Implementation/HTMIME.c b/WWW/Library/Implementation/HTMIME.c
index 7108018a..6c9a83ab 100644
--- a/WWW/Library/Implementation/HTMIME.c
+++ b/WWW/Library/Implementation/HTMIME.c
@@ -19,11 +19,11 @@
 #include "UCDefs.h"
 #include "UCAux.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
-extern int current_char_set;
 extern CONST char *LYchar_set_names[];
 extern BOOLEAN LYRawMode;
 extern BOOL HTPassEightBitRaw;
@@ -1542,40 +1542,40 @@ PRIVATE void HTMIME_put_character ARGS2(
 		**  Check whether to set no_cache for the anchor. - FM
 		*/
 		{
-		    char *cp, *cp0 = me->value;
+		    char *cp1, *cp0 = me->value;
 
-		    while ((cp = strstr(cp0, "no-cache")) != NULL) {
-		        cp += 8;
-		        while (*cp != '\0' && WHITE(*cp))
-			    cp++;
-			if (*cp == '\0' || *cp == ';') {
+		    while ((cp1 = strstr(cp0, "no-cache")) != NULL) {
+		        cp1 += 8;
+		        while (*cp1 != '\0' && WHITE(*cp1))
+			    cp1++;
+			if (*cp1 == '\0' || *cp1 == ';') {
 			    me->anchor->no_cache = TRUE;
 			    break;
 			}
-			cp0 = cp;
+			cp0 = cp1;
 		    }
 		    if (me->anchor->no_cache == TRUE)
 		        break;
 		    cp0 = me->value;
-		    while ((cp = strstr(cp0, "max-age")) != NULL) {
-		        cp += 7;
-		        while (*cp != '\0' && WHITE(*cp))
-			    cp++;
-			if (*cp == '=') {
-			    cp++;
-			    while (*cp != '\0' && WHITE(*cp))
-			        cp++;
-			    if (isdigit((unsigned char)*cp)) {
-			        cp0 = cp;
-				while (isdigit((unsigned char)*cp))
-				    cp++;
-			        if (*cp0 == '0' && cp == (cp0 + 1)) {
+		    while ((cp1 = strstr(cp0, "max-age")) != NULL) {
+		        cp1 += 7;
+		        while (*cp1 != '\0' && WHITE(*cp1))
+			    cp1++;
+			if (*cp1 == '=') {
+			    cp1++;
+			    while (*cp1 != '\0' && WHITE(*cp1))
+			        cp1++;
+			    if (isdigit((unsigned char)*cp1)) {
+			        cp0 = cp1;
+				while (isdigit((unsigned char)*cp1))
+				    cp1++;
+			        if (*cp0 == '0' && cp1 == (cp0 + 1)) {
 			            me->anchor->no_cache = TRUE;
 				    break;
 				}
 			    }
 			}
-			cp0 = cp;
+			cp0 = cp1;
 		    }
 		}
                 break;
diff --git a/WWW/Library/Implementation/HTNews.c b/WWW/Library/Implementation/HTNews.c
index ff488f1f..d8d958d7 100644
--- a/WWW/Library/Implementation/HTNews.c
+++ b/WWW/Library/Implementation/HTNews.c
@@ -46,6 +46,8 @@ PUBLIC int HTNewsMaxChunk = 40;	/* Largest number of articles in one window */
 #include "HTFormat.h"
 #include "HTAlert.h"
 
+#include "LYNews.h"
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 #define BIG 1024 /* @@@ */
@@ -321,7 +323,6 @@ PRIVATE NNTPAuthResult HTHandleAuthInfo ARGS1(
     char *msg = NULL;
     char buffer[512];
     int status, tries;
-    extern BOOL dump_output_immediately;
 
     /*
     **  Make sure we have an interactive user and a host. - FM
@@ -551,22 +552,22 @@ PRIVATE NNTPAuthResult HTHandleAuthInfo ARGS1(
 PRIVATE char * author_name ARGS1 (char *,email)
 {
     static char *name = NULL;
-    char *s, *e;
+    char *p, *e;
     
     StrAllocCopy(name, email);
     if (TRACE)
         fprintf(stderr,"Trying to find name in: %s\n",name);
 
-    if ((s = strchr(name, '(')) && (e = strchr(name, ')'))) {
-        if (e > s) {
+    if ((p = strchr(name, '(')) && (e = strchr(name, ')'))) {
+        if (e > p) {
 	    *e = '\0';			/* Chop off everything after the ')'  */
-	    return HTStrip(s+1);	/* Remove leading and trailing spaces */
+	    return HTStrip(p+1);	/* Remove leading and trailing spaces */
 	}
     }
 	
-    if ((s = strchr(name, '<')) && (e = strchr(name, '>'))) {
-        if (e > s) {
-	    strcpy(s, e+1);		/* Remove <...> */
+    if ((p = strchr(name, '<')) && (e = strchr(name, '>'))) {
+        if (e > p) {
+	    strcpy(p, e+1);		/* Remove <...> */
 	    return HTStrip(name);	/* Remove leading and trailing spaces */
 	}
     }
@@ -589,52 +590,52 @@ PRIVATE char * author_name ARGS1 (char *,email)
 PRIVATE char * author_address ARGS1(char *,email)
 {
     static char *address = NULL;
-    char *s, *at, *e;
+    char *p, *at, *e;
 
     StrAllocCopy(address, email);
     if (TRACE)
         fprintf(stderr,"Trying to find address in: %s\n",address);
 
-    if ((s = strchr(address, '<'))) {
-        if ((e = strchr(s, '>')) && (at = strchr(s, '@'))) {
+    if ((p = strchr(address, '<'))) {
+        if ((e = strchr(p, '>')) && (at = strchr(p, '@'))) {
 	    if (at < e) {
                 *e = '\0';               /* Remove > */
-                return HTStrip(s+1);  /* Remove leading and trailing spaces */
+                return HTStrip(p+1);  /* Remove leading and trailing spaces */
 	    }
 	}
     }
 
-    if ((s = strchr(address, '(')) &&
+    if ((p = strchr(address, '(')) &&
         (e = strchr(address, ')')) && (at = strchr(address, '@'))) {
-        if (e > s && at < e) {
-            *s = '\0';                  /* Chop off everything after the ')'  */
+        if (e > p && at < e) {
+            *p = '\0';                  /* Chop off everything after the ')'  */
             return HTStrip(address);    /* Remove leading and trailing spaces */
         }
     }
 
     if ((at = strchr(address, '@')) && at > address) {
-        s = (at - 1);
+        p = (at - 1);
 	e = (at + 1);
-        while (s > address && !isspace((unsigned char)*s))
-	    s--;
+        while (p > address && !isspace((unsigned char)*p))
+	    p--;
 	while (*e && !isspace((unsigned char)*e))
 	    e++;
 	*e = 0;
-	return HTStrip(s);
+	return HTStrip(p);
     }
 
     /*
     **  Default to the first word.
     */
-    s = address;
-    while (isspace((unsigned char)*s))
-        s++; /* find first non-space */
-    e = s;
+    p = address;
+    while (isspace((unsigned char)*p))
+        p++; /* find first non-space */
+    e = p;
     while (!isspace((unsigned char)*e) && *e != '\0')
         e++; /* find next space or end */
     *e = '\0'; /* terminate space */
 
-    return(s);
+    return(p);
 }
 
 /*	Start anchor element
@@ -1310,16 +1311,16 @@ PRIVATE int read_article NOARGS
 		    **  and any strings that look like URLs to links. - FM
 		    */
 		    char *l = line;
-		    char *p;
+		    char *p2;
 
-		    while ((p = strstr(l, "rticle <")) != NULL) {
-		        char *q  = strchr(p,'>');
-		        char *at = strchr(p, '@');
+		    while ((p2 = strstr(l, "rticle <")) != NULL) {
+		        char *q  = strchr(p2,'>');
+		        char *at = strchr(p2, '@');
 		        if (q && at && at<q) {
 		            char c = q[1];
 			    q[1] = 0;		/* chop up */
-			    p += 7;
-			    *p = 0;
+			    p2 += 7;
+			    *p2 = 0;
 			    while (*l) {
 			        if (strncmp(l, "news:", 5) &&
 				    strncmp(l, "snews://", 8) &&
@@ -1347,11 +1348,11 @@ PRIVATE int read_article NOARGS
 				    FREE(href);
 				}
 			    }
-			    *p = '<'; 		/* again */
+			    *p2 = '<'; 		/* again */
 			    *q = 0;
-			    start_anchor(p+1);
+			    start_anchor(p2+1);
 			    *q = '>'; 		/* again */
-			    PUTS(p);
+			    PUTS(p2);
 			    END(HTML_A);
 			    q[1] = c;		/* again */
 			    l=q+1;
@@ -1860,7 +1861,7 @@ PRIVATE int read_group ARGS3(
 			case 'f':
 			case 'F':
 			    if (match(line, "FROM:")) {
-				char * p;
+				char * p2;
 				strcpy(author,
 					author_name(strchr(line,':')+1));
 #ifdef NOTUSED_CHARTRANS
@@ -1872,9 +1873,9 @@ PRIVATE int read_group ARGS3(
 				    HTmmdecode(author, author);
 				    HTrjis(author, author);
 				}
-				p = author + strlen(author) - 1;
-				if (*p==LF)
-				    *p = '\0';	/* Chop off newline */
+				p2 = author + strlen(author) - 1;
+				if (*p2==LF)
+				    *p2 = '\0';	/* Chop off newline */
 			    }
 			    break;
 
@@ -2012,7 +2013,7 @@ add_post:
 /*	Load by name.						HTLoadNews
 **	=============
 */
-PUBLIC int HTLoadNews ARGS4(
+PRIVATE int HTLoadNews ARGS4(
 	CONST char *,		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -2543,8 +2544,6 @@ PUBLIC int HTLoadNews ARGS4(
 		return(HT_NOT_LOADED);
 	    }
 	    if (postfile == NULL) {
-	        extern char *LYNewsPost PARAMS((char *newsgroups,
-						BOOLEAN followup));
 		postfile = LYNewsPost(ListArg, (reply_wanted || sreply_wanted));
 	    }
 	    if (postfile == NULL) {
diff --git a/WWW/Library/Implementation/HTParse.c b/WWW/Library/Implementation/HTParse.c
index 76be1d77..2aaed746 100644
--- a/WWW/Library/Implementation/HTParse.c
+++ b/WWW/Library/Implementation/HTParse.c
@@ -187,7 +187,7 @@ PUBLIC char * HTParse ARGS3(
     char * name = NULL;
     char * rel = NULL;
     char * p;
-    char * access;
+    char * acc_method;
     struct struct_parts given, related;
 
     if (TRACE)
@@ -227,10 +227,10 @@ PUBLIC char * HTParse ARGS3(
 	    */
 	    given.absolute = "";
     }
-    access = given.access ? given.access : related.access;
+    acc_method = given.access ? given.access : related.access;
     if (wanted & PARSE_ACCESS) {
-        if (access) {
-	    strcat(result, access);
+        if (acc_method) {
+	    strcat(result, acc_method);
 	    if (wanted & PARSE_PUNCTUATION)
 	        strcat(result, ":");
 	}
@@ -277,55 +277,55 @@ PUBLIC char * HTParse ARGS3(
 	    **  which will only cause identical addresses to look different.
 	    */
 	    {
-	    	char *p, *h;
-		if ((p = strchr(result, '@')) != NULL)
-		   tail = (p + 1);
-		p = strchr(tail, ':');
-		if (p != NULL && !isdigit((unsigned char)p[1]))
+	    	char *p2, *h;
+		if ((p2 = strchr(result, '@')) != NULL)
+		   tail = (p2 + 1);
+		p2 = strchr(tail, ':');
+		if (p2 != NULL && !isdigit((unsigned char)p2[1]))
 		    /*
 		    **  Colon not followed by a port number.
 		    */
-		    *p = '\0';
-		if (p != NULL && p != '\0' && access != NULL) {
+		    *p2 = '\0';
+		if (p2 != NULL && *p2 != '\0' && acc_method != NULL) {
 		    /*
 		    **  Port specified.
 		    */
-		    if ((!strcmp(access, "http"      ) && !strcmp(p, ":80" )) ||
-		        (!strcmp(access, "https"     ) && !strcmp(p, ":443")) ||
-		        (!strcmp(access, "gopher"    ) && !strcmp(p, ":70" )) ||
-		        (!strcmp(access, "ftp"       ) && !strcmp(p, ":21" )) ||
-		        (!strcmp(access, "wais"      ) && !strcmp(p, ":210")) ||
-		        (!strcmp(access, "nntp"      ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "news"      ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "newspost"  ) && !strcmp(p, ":119")) ||
-			(!strcmp(access, "newsreply" ) && !strcmp(p, ":119")) ||
-		        (!strcmp(access, "snews"     ) && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "snewspost" ) && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "snewsreply") && !strcmp(p, ":563")) ||
-		        (!strcmp(access, "finger"    ) && !strcmp(p, ":79" )) ||
-		        (!strcmp(access, "telnet"    ) && !strcmp(p, ":23" )) ||
-		        (!strcmp(access, "tn3270"    ) && !strcmp(p, ":23" )) ||
-		        (!strcmp(access, "rlogin"    ) && !strcmp(p, ":513")) ||
-		        (!strcmp(access, "cso"       ) && !strcmp(p, ":105")))
-		    *p = '\0';	/* It is the default: ignore it */
+		    if ((!strcmp(acc_method, "http"      ) && !strcmp(p2, ":80" )) ||
+		        (!strcmp(acc_method, "https"     ) && !strcmp(p2, ":443")) ||
+		        (!strcmp(acc_method, "gopher"    ) && !strcmp(p2, ":70" )) ||
+		        (!strcmp(acc_method, "ftp"       ) && !strcmp(p2, ":21" )) ||
+		        (!strcmp(acc_method, "wais"      ) && !strcmp(p2, ":210")) ||
+		        (!strcmp(acc_method, "nntp"      ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "news"      ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "newspost"  ) && !strcmp(p2, ":119")) ||
+			(!strcmp(acc_method, "newsreply" ) && !strcmp(p2, ":119")) ||
+		        (!strcmp(acc_method, "snews"     ) && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "snewspost" ) && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "snewsreply") && !strcmp(p2, ":563")) ||
+		        (!strcmp(acc_method, "finger"    ) && !strcmp(p2, ":79" )) ||
+		        (!strcmp(acc_method, "telnet"    ) && !strcmp(p2, ":23" )) ||
+		        (!strcmp(acc_method, "tn3270"    ) && !strcmp(p2, ":23" )) ||
+		        (!strcmp(acc_method, "rlogin"    ) && !strcmp(p2, ":513")) ||
+		        (!strcmp(acc_method, "cso"       ) && !strcmp(p2, ":105")))
+		    *p2 = '\0';	/* It is the default: ignore it */
 		}
-		if (p == NULL) { 
-		    int len = strlen(tail);
+		if (p2 == NULL) {
+		    int len2 = strlen(tail);
 
-		    if (len > 0) {
-		        h = tail + len - 1;	/* last char of hostname */
+		    if (len2 > 0) {
+		        h = tail + len2 - 1;	/* last char of hostname */
 		        if (*h == '.') 
 		            *h = '\0';		/* chop final . */
 		    }
 		} else { 
-		    h = p;
+		    h = p2;
 		    h--;		/* End of hostname */
 		    if (*h == '.') {
 		        /*
-			**  Slide p over h.
+			**  Slide p2 over h.
 			*/
-		        while (*p != '\0')
-			    *h++ = *p++;
+		        while (*p2 != '\0')
+			    *h++ = *p2++;
 			*h = '\0';	/* terminate */
 		    }
 		}
@@ -347,10 +347,10 @@ PUBLIC char * HTParse ARGS3(
     **  Handle the path.
     */
     if (wanted & PARSE_PATH) {
-        if (access && !given.absolute && given.relative) {
-	    if (!strcasecomp(access, "nntp") ||
-	        !strcasecomp(access, "snews") ||
-		(!strcasecomp(access, "news") &&
+        if (acc_method && !given.absolute && given.relative) {
+	    if (!strcasecomp(acc_method, "nntp") ||
+	        !strcasecomp(acc_method, "snews") ||
+		(!strcasecomp(acc_method, "news") &&
 		 !strncasecomp(result, "news://", 7))) {
 		/*
 		 *  Treat all given nntp or snews paths,
diff --git a/WWW/Library/Implementation/HTPasswd.c b/WWW/Library/Implementation/HTPasswd.c
index e08bfbeb..ada39ee5 100644
--- a/WWW/Library/Implementation/HTPasswd.c
+++ b/WWW/Library/Implementation/HTPasswd.c
@@ -21,6 +21,7 @@
 #include <string.h>
 #include "HTAAUtil.h"	/* Common parts of AA	*/
 #include "HTAAFile.h"	/* File routines	*/
+#include "HTAAServ.h"	/* Server routines	*/
 #include "HTPasswd.h"	/* Implemented here	*/
 
 #include "LYLeaks.h"
@@ -87,16 +88,15 @@ PUBLIC char *HTAA_encryptPasswd ARGS1(CONST char *, password)
     char *tmp;
     CONST char *cur = password;
     int len = strlen(password);
-    extern time_t theTime;
-    int random = (int)theTime;	/* This is random enough */
+    int randum = (int)theTime;	/* This is random enough */
 
     if (!(result = (char*)malloc(13*((strlen(password)+7)/8) + 1)))
 	outofmem(__FILE__, "HTAA_encryptPasswd");
 
     *result = (char)0;
     while (len > 0) {
-	salt[0] = salt_chars[random%64];
-	salt[1] = salt_chars[(random/64)%64];
+	salt[0] = salt_chars[randum%64];
+	salt[1] = salt_chars[(randum/64)%64];
 	salt[2] = (char)0;
 
 	strncpy(chunk, cur, 8);
diff --git a/WWW/Library/Implementation/HTPlain.c b/WWW/Library/Implementation/HTPlain.c
index 824ac642..49d8c651 100644
--- a/WWW/Library/Implementation/HTPlain.c
+++ b/WWW/Library/Implementation/HTPlain.c
@@ -24,18 +24,14 @@
 #include "UCAux.h"
 #endif /* EXP_CHARTRANS */
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define FREE(x) if (x) {free(x); x = NULL;}
 
 extern HTStyleSheet * styleSheet;
 
-extern int current_char_set;
-extern CONST char * LYchar_set_names[];
-extern CONST char **LYCharSets[];
-extern int LYlowest_eightbit[];
 extern BOOLEAN LYRawMode;
-extern CONST char * HTMLGetEntityName PARAMS((int i));
 extern BOOL HTPassEightBitRaw;
 extern BOOL HTPassHighCtrlRaw;
 extern HTCJKlang HTCJK;
@@ -436,6 +432,7 @@ PRIVATE void HTPlain_write ARGS3(HTStream *, me, CONST char*, s, int, l)
 		sprintf(replace_buf, "U%.2lX", code);
 		HText_appendText(me->text, replace_buf);
 	    }
+#ifdef NOTUSED_FOTEMODS
 	} else if (me->T.strip_raw_char_in &&
 		   (unsigned char)*p >= 0xc0 &&
 		   (unsigned char)*p < 255) {
@@ -444,7 +441,6 @@ PRIVATE void HTPlain_write ARGS3(HTStream *, me, CONST char*, s, int, l)
 	    **  (somewhat) readable ASCII.
 	    */
 	    HText_appendCharacter(me->text, (char)(*p & 0x7f));
-#ifdef NOTUSED_FOTEMODS
 	    /*
 	    **  If we do not have the "7-bit approximations" as our
 	    **  output character set (in which case we did it already)
diff --git a/WWW/Library/Implementation/HTRules.c b/WWW/Library/Implementation/HTRules.c
index 92de0fc7..93a9eb25 100644
--- a/WWW/Library/Implementation/HTRules.c
+++ b/WWW/Library/Implementation/HTRules.c
@@ -206,7 +206,7 @@ char * HTTranslate(required)
 	case HT_Protect:
 	    {
 		char *local_copy = NULL;
-		char *p;
+		char *p2;
 		char *eff_ids = NULL;
 		char *prot_file = NULL;
 
@@ -220,9 +220,9 @@ char * HTTranslate(required)
 
 		if (r->equiv) {
 		    StrAllocCopy(local_copy, r->equiv);
-		    p = local_copy;
-		    prot_file = HTNextField(&p);
-		    eff_ids = HTNextField(&p);
+		    p2 = local_copy;
+		    prot_file = HTNextField(&p2);
+		    eff_ids = HTNextField(&p2);
 		}
 
 		if (r->op == HT_Protect)
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 6fe7739a..913460bb 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -286,14 +286,14 @@ PUBLIC unsigned int HTCardinal ARGS3(
 **		it is to be kept.
 */
 PUBLIC CONST char * HTInetString ARGS1(
-	SockA*,		sin)
+	SockA*,		soc_in)
 {
     static char string[16];
     sprintf(string, "%d.%d.%d.%d",
-	    (int)*((unsigned char *)(&sin->sin_addr)+0),
-	    (int)*((unsigned char *)(&sin->sin_addr)+1),
-	    (int)*((unsigned char *)(&sin->sin_addr)+2),
-	    (int)*((unsigned char *)(&sin->sin_addr)+3));
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+0),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+1),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+2),
+	    (int)*((unsigned char *)(&soc_in->sin_addr)+3));
     return string;
 }
 #endif /* !DECNET */
@@ -304,14 +304,14 @@ PUBLIC CONST char * HTInetString ARGS1(
 **  On entry,
 **	str	points to a string with a node name or number,
 **		with optional trailing colon and port number.
-**	sin	points to the binary internet or decnet address field.
+**	soc_in	points to the binary internet or decnet address field.
 **
 **  On exit,
-**	*sin	is filled in. If no port is specified in str, that
-**		field is left unchanged in *sin.
+**	*soc_in	is filled in. If no port is specified in str, that
+**		field is left unchanged in *soc_in.
 */
 PUBLIC int HTParseInet ARGS2(
-	SockA *,	sin,
+	SockA *,	soc_in,
 	CONST char *,	str)
 {
     char *port;
@@ -340,19 +340,19 @@ PUBLIC int HTParseInet ARGS2(
     	*port++ = 0;		/* Chop off port */
         if (port[0] >= '0' && port[0] <= '9') {
 #ifdef unix
-	    sin->sin_port = htons(atol(port));
+	    soc_in->sin_port = htons(atol(port));
 #else /* VMS: */
 #ifdef DECNET
-	    sin->sdn_objnum = (unsigned char)(strtol(port, (char**)0, 10));
+	    soc_in->sdn_objnum = (unsigned char)(strtol(port, (char**)0, 10));
 #else
-	    sin->sin_port = htons((unsigned short)strtol(port,(char**)0,10));
+	    soc_in->sin_port = htons((unsigned short)strtol(port,(char**)0,10));
 #endif /* Decnet */
 #endif /* Unix vs. VMS */
 #ifdef SUPPRESS		/* 1. crashes!?!.  2. Not recommended */
 	} else {
 	    struct servent * serv = getservbyname(port, (char*)0);
 	    if (serv) {
-		sin->sin_port = serv->s_port;
+		soc_in->sin_port = serv->s_port;
 	    } else if (TRACE) {
 		fprintf(stderr, "TCP: Unknown service %s\n", port);
 	    }
@@ -365,12 +365,12 @@ PUBLIC int HTParseInet ARGS2(
     **  Read Decnet node name. @@ Should know about DECnet addresses, but
     **  it's probably worth waiting until the Phase transition from IV to V.
     */
-    sin->sdn_nam.n_len = min(DN_MAXNAML, strlen(host));  /* <=6 in phase 4 */
-    strncpy(sin->sdn_nam.n_name, host, sin->sdn_nam.n_len + 1);
+    soc_in->sdn_nam.n_len = min(DN_MAXNAML, strlen(host));  /* <=6 in phase 4 */
+    strncpy(soc_in->sdn_nam.n_name, host, soc_in->sdn_nam.n_len + 1);
     if (TRACE) {
         fprintf(stderr,  
 		"DECnet: Parsed address as object number %d on host %.6s...\n",
-		sin->sdn_objnum, host);
+		soc_in->sdn_objnum, host);
     }
 #else  /* parse Internet host: */
 
@@ -395,15 +395,15 @@ PUBLIC int HTParseInet ARGS2(
     if (dotcount_ip == 3) {   /* Numeric node address: */
 
 #ifdef DJGPP
-	sin->sin_addr.s_addr = htonl(aton(host));
+	soc_in->sin_addr.s_addr = htonl(aton(host));
 #else
 #ifdef DGUX_OLD
-	sin->sin_addr.s_addr = inet_addr(host).s_addr;	/* See arpa/inet.h */
+	soc_in->sin_addr.s_addr = inet_addr(host).s_addr; /* See arpa/inet.h */
 #else
 #ifdef GUSI
-	sin->sin_addr = inet_addr(host);		/* See netinet/in.h */
+	soc_in->sin_addr = inet_addr(host);		/* See netinet/in.h */
 #else
-	sin->sin_addr.s_addr = inet_addr(host);		/* See arpa/inet.h */
+	soc_in->sin_addr.s_addr = inet_addr(host);	/* See arpa/inet.h */
 #endif /* GUSI */
 #endif /* DGUX_OLD */
 #endif /* DJGPP */
@@ -475,6 +475,7 @@ PUBLIC int HTParseInet ARGS2(
 				"HTParseInet: INTERRUPTED gethostbyname.\n");
 		    }
 		    kill(fpid , SIGKILL);
+		    waitpid(fpid, NULL, 0);
 		    FREE(host);
 		    close(pfd[0]);
 		    close(pfd[1]);
@@ -529,21 +530,21 @@ PUBLIC int HTParseInet ARGS2(
 			 "HTParseInet: Can't find internet node name `%s'.\n",
 				host);
 		    }
-		    memset((void *)&sin->sin_addr, 0, sizeof(sin->sin_addr));
+		    memset((void *)&soc_in->sin_addr, 0, sizeof(soc_in->sin_addr));
 		} else {
-		    memcpy((void *)&sin->sin_addr,
+		    memcpy((void *)&soc_in->sin_addr,
 		    	   phost->h_addr, phost->h_length);
 		}
 #ifdef NOTDEFINED
-	        cstat = read(pfd[0], (void *)&sin->sin_addr , 4);
+	        cstat = read(pfd[0], (void *)&soc_in->sin_addr , 4);
 #endif /* NOTDEFINED */
 	    } else {
-	        cstat = read(pfd[0], (void *)&sin->sin_addr , cstat);
+	        cstat = read(pfd[0], (void *)&soc_in->sin_addr , cstat);
 	    }
 	    close(pfd[0]);
 	    close(pfd[1]);
 	}
-	if (sin->sin_addr.s_addr == 0) {
+	if (soc_in->sin_addr.s_addr == 0) {
 	    if (TRACE) {
 	        fprintf(stderr, 
 			"HTParseInet: Can't find internet node name `%s'.\n",
@@ -562,9 +563,9 @@ PUBLIC int HTParseInet ARGS2(
 
 #else /* Not NSL_FORK: */
 #ifdef DJGPP
-        sin->sin_addr.s_addr = htonl(resolve(host));  
+        soc_in->sin_addr.s_addr = htonl(resolve(host));  
 	FREE(host);
-	if (sin->sin_addr.s_addr == 0) {
+	if (soc_in->sin_addr.s_addr == 0) {
 		 if (TRACE)
 			  fprintf(stderr,
 			 "HTTPAccess: Can't find internet node name `%s'.\n",host);
@@ -597,9 +598,9 @@ PUBLIC int HTParseInet ARGS2(
 	**  longer supported, and CMU users are encouraged to obtain and use
 	**  SOCKETSHR/NETLIB instead. - S. Bjorndahl 
 	*/
-	memcpy((void *)&sin->sin_addr, phost->h_addr, 4);
+	memcpy((void *)&soc_in->sin_addr, phost->h_addr, 4);
 #else
-	memcpy((void *)&sin->sin_addr, phost->h_addr, phost->h_length);
+	memcpy((void *)&soc_in->sin_addr, phost->h_addr, phost->h_length);
 #endif /* VMS && CMU_TCP */
 #endif /* DJGPP */
 #endif /* NSL_FORK */
@@ -608,11 +609,11 @@ PUBLIC int HTParseInet ARGS2(
     if (TRACE) {
         fprintf(stderr,  
 	   "HTParseInet: Parsed address as port %d, IP address %d.%d.%d.%d\n",
-		(int)ntohs(sin->sin_port),
-		(int)*((unsigned char *)(&sin->sin_addr)+0),
-		(int)*((unsigned char *)(&sin->sin_addr)+1),
-		(int)*((unsigned char *)(&sin->sin_addr)+2),
-		(int)*((unsigned char *)(&sin->sin_addr)+3));
+		(int)ntohs(soc_in->sin_port),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+0),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+1),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+2),
+		(int)*((unsigned char *)(&soc_in->sin_addr)+3));
     }
 #endif  /* Internet vs. Decnet */
 
@@ -703,7 +704,7 @@ PUBLIC int HTDoConnect ARGS4(
 	int *,		s)
 {
     struct sockaddr_in soc_address;
-    struct sockaddr_in *sin = &soc_address;
+    struct sockaddr_in *soc_in = &soc_address;
     int status;
     char *line = NULL;
     char *p1 = NULL;
@@ -713,8 +714,8 @@ PUBLIC int HTDoConnect ARGS4(
     /*
     **  Set up defaults.
     */
-    sin->sin_family = AF_INET;
-    sin->sin_port = htons(default_port);
+    soc_in->sin_family = AF_INET;
+    soc_in->sin_port = htons(default_port);
 
     /*
     **  Get node name and optional port number.
@@ -735,7 +736,7 @@ PUBLIC int HTDoConnect ARGS4(
 	outofmem(__FILE__, "HTDoConnect");
     sprintf (line, "Looking up %s.", host);
     _HTProgress (line);
-    status = HTParseInet(sin, host);
+    status = HTParseInet(soc_in, host);
     if (status) {
 	if (status != HT_INTERRUPTED) {
 	    sprintf (line, "Unable to locate remote host %s.", host);
diff --git a/WWW/Library/Implementation/HTTP.c b/WWW/Library/Implementation/HTTP.c
index 4c577ffd..268cb4d0 100644
--- a/WWW/Library/Implementation/HTTP.c
+++ b/WWW/Library/Implementation/HTTP.c
@@ -32,6 +32,7 @@
 #include "HTInit.h"
 #include "HTAABrow.h"
 
+#include "LYGlobalDefs.h"
 #include "LYLeaks.h"
 
 /* #define TRACE 1 */
@@ -98,7 +99,7 @@ extern char * LYCookie PARAMS((
 **	read.
 **
 */
-PUBLIC int HTLoadHTTP ARGS4 (
+PRIVATE int HTLoadHTTP ARGS4 (
 	CONST char *, 		arg,
 	HTParentAnchor *,	anAnchor,
 	HTFormat,		format_out,
@@ -240,8 +241,6 @@ try_again:
   if (extensions) {
       int n, i;
       char * host = NULL;
-      extern char * language; /* Lynx's preferred language - FM */
-      extern char * pref_charset; /* Lynx's preferred character set - MM */
 
       if ((host = HTParse(anAnchor->address, "", PARSE_HOST)) != NULL) {
 	  sprintf(line, "Host: %s%c%c", host, CR,LF);
@@ -1520,7 +1519,6 @@ Cookie2_continuation:
 		    break;
 		if (HTAA_shouldRetryWithAuth(start_of_data, length,
 					     (void *)handle, s, NO)) {
- 		    extern char *authentication_info[2];
 
                     HTTP_NETCLOSE(s, handle);
                     if (dump_output_immediately && !authentication_info[0]) {
@@ -1572,7 +1570,6 @@ Cookie2_continuation:
 		    break;
 		if (HTAA_shouldRetryWithAuth(start_of_data, length,
 					     (void *)handle, s, YES)) {
- 		    extern char *proxyauth_info[2];
 
                     HTTP_NETCLOSE(s, handle);
                     if (dump_output_immediately && !proxyauth_info[0]) {
diff --git a/WWW/Library/Implementation/HTTelnet.c b/WWW/Library/Implementation/HTTelnet.c
index b8bbc9b1..50bc1fcd 100644
--- a/WWW/Library/Implementation/HTTelnet.c
+++ b/WWW/Library/Implementation/HTTelnet.c
@@ -49,7 +49,7 @@
 /*	Telnet or "rlogin" access
 **	-------------------------
 */
-PRIVATE int remote_session ARGS2(char *, access, char *, host)
+PRIVATE int remote_session ARGS2(char *, acc_method, char *, host)
 {
 	char * user = host;
 	char * password = NULL;
@@ -58,8 +58,8 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 	char * port;
 	char   command[256];
 	enum _login_protocol { telnet, rlogin, tn3270 } login_protocol =
-		strcmp(access, "rlogin") == 0 ? rlogin :
-		strcmp(access, "tn3270") == 0 ? tn3270 : telnet;
+		strcmp(acc_method, "rlogin") == 0 ? rlogin :
+		strcmp(acc_method, "tn3270") == 0 ? tn3270 : telnet;
 #ifdef VMS
 	extern int DCLsystem PARAMS((char *command));
 #define system(a) DCLsystem(a) /* use LYCurses.c routines for spawns */
@@ -126,7 +126,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 	    printf("you log in to this information service remotely.\n\n");
 
 	    printf("You can manually connect to this service using %s\n",
-		   access);
+		   acc_method);
 	    printf("to host %s", hostname);
 	    if (user) printf(", user name %s", user);
 	    if (password) printf(", password %s", password);
@@ -328,7 +328,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	"\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	    printf("\nPress <return> to return to Lynx.");
 	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -450,7 +450,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	  "\nSorry, this browser was compiled without the %s access option.\n",
-    		access);
+    		acc_method);
     	    printf("\nPress <return> to return to Lynx.");
     	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -473,7 +473,7 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 
 	    printf(
 	  "\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	    printf("\nPress <return> to return to Lynx.");
 	    LYgetch();
 	    HadVMSInterrupt = FALSE;
@@ -501,9 +501,9 @@ PRIVATE int remote_session ARGS2(char *, access, char *, host)
 #ifndef TELNET_DONE
 	printf(
 	"\nSorry, this browser was compiled without the %s access option.\n",
-		access);
+		acc_method);
 	printf(
-	"\nTo access the information you must %s to %s", access, hostname);
+	"\nTo access the information you must %s to %s", acc_method, hostname);
 	if (port)
 	    printf(" (port %s)", port);
 	if (user)
@@ -549,8 +549,7 @@ ARGS4
  HTStream *,		sink			/* Ignored */
 )
 {
-    char * access;
-    
+    char * acc_method;  
     char * host;
     int status;
     
@@ -560,7 +559,7 @@ ARGS4
 	   "HTTelnet: Can't output a live session -- must be interactive!\n");
 	return HT_NO_DATA;
     }
-    access =  HTParse(addr, "file:", PARSE_ACCESS);
+    acc_method =  HTParse(addr, "file:", PARSE_ACCESS);
     
     host = HTParse(addr, "", PARSE_HOST);
     if (!host || *host == '\0') {
@@ -568,11 +567,11 @@ ARGS4
         if (TRACE)
 	    fprintf(stderr, "HTTelnet: No host specified!\n");
     } else {
-        status = remote_session(access, host);
+        status = remote_session(acc_method, host);
     }
 
     FREE(host);	
-    FREE(access);
+    FREE(acc_method);
     return status;
 }
 
diff --git a/WWW/Library/Implementation/HTUU.c b/WWW/Library/Implementation/HTUU.c
index 4e6bcf4f..865315cc 100644
--- a/WWW/Library/Implementation/HTUU.c
+++ b/WWW/Library/Implementation/HTUU.c
@@ -195,7 +195,7 @@ PUBLIC int HTUU_decode ARGS3(char *,		bufcoded,
    }
    
    if(nprbytes & 03) {
-      if(pr2six[bufin[-2]] > MAXVAL) {
+      if(pr2six[(int)bufin[-2]] > MAXVAL) {
          nbytesdecoded -= 2;
       } else {
          nbytesdecoded -= 1;
diff --git a/WWW/Library/Implementation/HTWAIS.c b/WWW/Library/Implementation/HTWAIS.c
index bd293c2f..ed28162f 100644
--- a/WWW/Library/Implementation/HTWAIS.c
+++ b/WWW/Library/Implementation/HTWAIS.c
@@ -264,7 +264,6 @@ PRIVATE char * WWW_from_archie ARGS1(
 **			pointer to malloced string (must be freed) if ok
 */
 PRIVATE char hex [17] = "0123456789ABCDEF";
-extern char from_hex PARAMS((char a));			/* In HTWSRC @@ */
 
 PRIVATE char * WWW_from_WAIS ARGS1(
 	any *,		docid)
diff --git a/WWW/Library/Implementation/HTWSRC.c b/WWW/Library/Implementation/HTWSRC.c
index 731ac5c7..d26a86ac 100644
--- a/WWW/Library/Implementation/HTWSRC.c
+++ b/WWW/Library/Implementation/HTWSRC.c
@@ -281,7 +281,7 @@ PRIVATE BOOL write_cache ARGS1(HTStream *, me)
 **
 */
 
-void give_parameter ARGS2(HTStream *, me, int, p)
+PRIVATE void give_parameter ARGS2(HTStream *, me, int, p)
 {
     PUTS(par_name[p]);
     if (me->par_value[p]) {
@@ -350,17 +350,7 @@ PRIVATE void WSRC_gen_html ARGS2(HTStream *, me, BOOL, source_file)
 	    PUTS("Direct access");
 	    END(HTML_A);
 	    /** Proxy will be used if defined, so let user know that - FM **/
-	    PUTS(" (or via proxy server, if defined), or");
-	    START(HTML_BR);
-	    /** Offer W3 Consortium gateway - FM **/
-	    sprintf(WSRC_address, "http://www.w3.org:8001/%s%s%s/%s",
-		me->par_value[PAR_IP_NAME],
-		me->par_value[PAR_TCP_PORT] ? ":" : "",
-		me->par_value[PAR_TCP_PORT] ? me->par_value[PAR_TCP_PORT] :"",
-		www_database);
-	    HTStartAnchor(me->target, NULL, WSRC_address);
-	    PUTS("through W3 Consortium gateway");
-	    END(HTML_A);
+	    PUTS(" (or via proxy server, if defined)");
 
 	    FREE(www_database);
 	    
diff --git a/WWW/Library/Implementation/HTWSRC.h b/WWW/Library/Implementation/HTWSRC.h
index 2e247a67..9241b321 100644
--- a/WWW/Library/Implementation/HTWSRC.h
+++ b/WWW/Library/Implementation/HTWSRC.h
@@ -17,6 +17,8 @@
 
 #include "HTFormat.h"
 
+extern  char from_hex PARAMS((char c));
+
 extern  HTStream* HTWSRCConvert PARAMS((
         HTPresentation *        pres,
         HTParentAnchor *        anchor,
diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c
index b38a7dad..9cb24f56 100644
--- a/WWW/Library/Implementation/SGML.c
+++ b/WWW/Library/Implementation/SGML.c
@@ -32,6 +32,7 @@
 /*#include <stdio.h> included in HTUtils.h -- FM */
 #include "HTChunk.h"
 
+#include "LYCharSets.h"
 #include "LYLeaks.h"
 
 #define INVALID (-1)
@@ -44,8 +45,6 @@ PUBLIC BOOL HTPassEightBitNum = FALSE;	/* Pass ^ numeric entities raw.	*/
 PUBLIC BOOL HTPassHighCtrlRaw = FALSE;	/* Pass 127-160,173,&#127; raw.	*/
 PUBLIC BOOL HTPassHighCtrlNum = FALSE;	/* Pass &#128;-&#159; raw.	*/
 
-extern UCode_t HTMLGetEntityUCValue PARAMS((
-	CONST char *	name));
 extern int LYlowest_eightbit[];
 
 /*	The State (context) of the parser
@@ -141,8 +140,6 @@ PRIVATE void set_chartrans_handling ARGS3(
 	HTParentAnchor *,	anchor,
 	int,			chndl)
 {
-    extern int current_char_set;
-
     if (chndl < 0) {
 	chndl = HTAnchor_getUCLYhndl(anchor, UCT_STAGE_STRUCTURED);
 	if (chndl < 0)
@@ -1113,7 +1110,7 @@ PUBLIC HTTag * SGMLFindTag ARGS2(
 /*	Could check that we are back to bottom of stack! @@  */
 /* 	Do check! - FM					     */
 /*							     */
-PUBLIC void SGML_free  ARGS1(
+PRIVATE void SGML_free  ARGS1(
 	HTStream *,	context)
 {
     int i;
@@ -1155,7 +1152,7 @@ PUBLIC void SGML_free  ARGS1(
     FREE(context);
 }
 
-PUBLIC void SGML_abort ARGS2(
+PRIVATE void SGML_abort ARGS2(
 	HTStream *,	context,
 	HTError, 	e)
 {
@@ -1217,14 +1214,13 @@ PUBLIC void SGML_setCallerData ARGS2(
 }
 #endif /* CALLERDATA */
 
-PUBLIC void SGML_character ARGS2(
+PRIVATE void SGML_character ARGS2(
 	HTStream *,	context,
 	char,		c_in)
 {
     CONST SGML_dtd *dtd	=	context->dtd;
     HTChunk	*string = 	context->string;
     CONST char * EntityName;
-    extern CONST char * HTMLGetEntityName PARAMS((int i));
     char * p;
     BOOLEAN chk;	/* Helps (?) walk through all the else ifs... */
     UCode_t clong, uck;	/* Enough bits for UCS4 ... */
@@ -1306,8 +1302,10 @@ PUBLIC void SGML_character ARGS2(
 	}
     }
 
+#ifdef NOTUSED_FOTEMODS
     if (context->T.strip_raw_char_in)
 	saved_char_in = c;
+#endif
 
     if (context->T.trans_to_uni &&
 	((unsign_c >= 127) ||
@@ -1563,6 +1561,7 @@ top1:
 	    context->utf_buf_p = context->utf_buf;
 	    *(context->utf_buf_p) = '\0';
 
+#ifdef NOTUSED_FOTEMODS
 	} else if (context->T.strip_raw_char_in && saved_char_in &&
 		   ((unsigned char)saved_char_in >= 0xc0) &&
 		   ((unsigned char)saved_char_in < 255)) {
@@ -1572,6 +1571,7 @@ top1:
 	    */
 	    PUTC((char)(saved_char_in & 0x7f));
 	    saved_char_in = '\0';
+#endif /* NOTUSED_FOTEMODS */
 	} else if ((unsigned char)c <
 			LYlowest_eightbit[context->html_char_set] ||
 		   (context->T.trans_from_uni && !HTPassEightBitRaw)) {
@@ -3102,7 +3102,7 @@ top1:
 }  /* SGML_character */
 
 
-PUBLIC void SGML_string ARGS2(
+PRIVATE void SGML_string ARGS2(
 	HTStream *,	context,
 	CONST char*,	str)
 {
@@ -3112,7 +3112,7 @@ PUBLIC void SGML_string ARGS2(
 }
 
 
-PUBLIC void SGML_write ARGS3(
+PRIVATE void SGML_write ARGS3(
 	HTStream *,	context,
 	CONST char*,	str,
 	int,		l)
@@ -3339,12 +3339,12 @@ PUBLIC void JISx0201TO0208_SJIS ARGS3(
 PUBLIC unsigned char * SJIS_TO_EUC1 ARGS3(
 	unsigned char,		HI,
 	unsigned char,		LO,
-	unsigned char *,	EUC)
+	unsigned char *,	data)
 {
-    SJIS_TO_JIS1(HI, LO, EUC);
-    EUC[0] |= 0x80;
-    EUC[1] |= 0x80;
-    return EUC;
+    SJIS_TO_JIS1(HI, LO, data);
+    data[0] |= 0x80;
+    data[1] |= 0x80;
+    return data;
 }
 
 PUBLIC unsigned char * SJIS_TO_EUC ARGS2(
diff --git a/WWW/Library/apollo_m68k/Makefile b/WWW/Library/apollo_m68k/Makefile
new file mode 100644
index 00000000..20aa9ac8
--- /dev/null
+++ b/WWW/Library/apollo_m68k/Makefile
@@ -0,0 +1,38 @@
+#  Make WWW for apollo   NOTE WWW macro changed for unwritable source tree **
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = apollo_m68k
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = apollo-68k/sr-10.3
+
+
+CFLAGS =  -O  -DDEBUG
+LFLAGS =
+CC = cc
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+#WWW = /user/timbl/hypertext/WWW
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+# LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+LIBDIR = /tmp/WWWLibrary_Build
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
+
+
+
diff --git a/WWW/Library/clix/Makefile b/WWW/Library/clix/Makefile
new file mode 100644
index 00000000..e1996d27
--- /dev/null
+++ b/WWW/Library/clix/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = clix
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -DUSG -DUNIX -DCLIX
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/convex/Makefile b/WWW/Library/convex/Makefile
new file mode 100644
index 00000000..fcd28786
--- /dev/null
+++ b/WWW/Library/convex/Makefile
@@ -0,0 +1,32 @@
+#  Make WWW under ConvexOS
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = convex
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -Dunix
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+# HTWAIS = $(LOB)/HTWAIS.o
+# WAIS = YES
+# WAISINC = -I/tmp/freeWAIS-0.202/ir
+# WAISCFLAGS = -DDIRECT_WAIS 
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/decstation/Makefile b/WWW/Library/decstation/Makefile
new file mode 100644
index 00000000..b35d278c
--- /dev/null
+++ b/WWW/Library/decstation/Makefile
@@ -0,0 +1,23 @@
+#	Platform-specific Makefile for W3 Library	(decstation)
+#	-----------------------------------------
+#
+
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+#CFLAGS = 
+CFLAGS =  -O
+CC = cc
+#LFLAGS = -lresolv
+LFLAGS = 
+
+ASIS_MACH = dec-station/ultrix-4.2
+WWW_MACH = decstation
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/duns/Makefile b/WWW/Library/duns/Makefile
new file mode 100644
index 00000000..4852817e
--- /dev/null
+++ b/WWW/Library/duns/Makefile
@@ -0,0 +1,489 @@
+# Makefile generated by imake - do not edit!
+# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
+#
+# The cpp used on this machine replaces all newlines and multiple tabs and
+# spaces in a macro expansion with a single space.  Imake tries to compensate
+# for this, but is not always successful.
+#
+
+###########################################################################
+# Makefile generated from "Imake.tmpl" and </tmp/IIf.a00214>
+# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
+#
+# Platform-specific parameters may be set in the appropriate .cf
+# configuration files.  Site-wide parameters may be set in the file
+# site.def.  Full rebuilds are recommended if any parameters are changed.
+#
+# If your C preprocessor doesn't define any unique symbols, you'll need
+# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+# "make Makefile", "make Makefiles", or "make World").
+#
+# If you absolutely can't get imake to work, you'll need to set the
+# variables at the top of each Makefile as well as the dependencies at the
+# bottom (makedepend will do this automatically).
+#
+
+###########################################################################
+# platform-specific configuration parameters - edit sun.cf to change
+
+# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
+# operating system:  SunOS 4.0.3
+
+###########################################################################
+# site-specific configuration parameters - edit site.def to change
+
+            SHELL = /bin/sh
+
+              TOP = .
+      CURRENT_DIR = .
+
+               AR = ar clq
+  BOOTSTRAPCFLAGS =
+               CC = cc
+
+         COMPRESS = compress
+              CPP = /lib/cpp $(STD_CPP_DEFINES)
+    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
+          INSTALL = install
+               LD = ld
+             LINT = lint
+      LINTLIBFLAG = -C
+         LINTOPTS = -axz
+               LN = ln -s
+             MAKE = make
+               MV = mv
+               CP = cp
+           RANLIB = ranlib
+  RANLIBINSTFLAGS =
+               RM = rm -f
+     STD_INCLUDES =
+  STD_CPP_DEFINES =
+      STD_DEFINES =
+ EXTRA_LOAD_FLAGS =
+  EXTRA_LIBRARIES =
+             TAGS = ctags
+
+    SHAREDCODEDEF = -DSHAREDCODE
+         SHLIBDEF = -DSUNSHLIB
+
+    PROTO_DEFINES =
+
+     INSTPGMFLAGS =
+
+     INSTBINFLAGS = -m 0755
+     INSTUIDFLAGS = -m 4755
+     INSTLIBFLAGS = -m 0664
+     INSTINCFLAGS = -m 0444
+     INSTMANFLAGS = -m 0444
+     INSTDATFLAGS = -m 0444
+    INSTKMEMFLAGS = -m 4755
+
+          DESTDIR =
+
+     TOP_INCLUDES = -I$(INCROOT)
+
+      CDEBUGFLAGS = -O
+        CCOPTIONS =
+      COMPATFLAGS =
+
+      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
+       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
+           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
+           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
+   LDCOMBINEFLAGS = -X -r
+
+        MACROFILE = sun.cf
+           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+
+    IMAKE_DEFINES =
+
+         IRULESRC = $(CONFIGDIR)
+        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+
+     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
+			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
+			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+
+###########################################################################
+# X Window System Build Parameters
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+###########################################################################
+# X Window System make variables; this need to be coordinated with rules
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+          PATHSEP = /
+        USRLIBDIR = $(DESTDIR)/usr/lib
+           BINDIR = $(DESTDIR)/usr/bin/X11
+          INCROOT = $(DESTDIR)/usr/include
+     BUILDINCROOT = $(TOP)
+      BUILDINCDIR = $(BUILDINCROOT)/X11
+      BUILDINCTOP = ..
+           INCDIR = $(INCROOT)/X11
+           ADMDIR = $(DESTDIR)/usr/adm
+           LIBDIR = $(USRLIBDIR)/X11
+        CONFIGDIR = $(LIBDIR)/config
+       LINTLIBDIR = $(USRLIBDIR)/lint
+
+          FONTDIR = $(LIBDIR)/fonts
+         XINITDIR = $(LIBDIR)/xinit
+           XDMDIR = $(LIBDIR)/xdm
+           AWMDIR = $(LIBDIR)/awm
+           TWMDIR = $(LIBDIR)/twm
+           GWMDIR = $(LIBDIR)/gwm
+          MANPATH = $(DESTDIR)/usr/man
+    MANSOURCEPATH = $(MANPATH)/man
+           MANDIR = $(MANSOURCEPATH)n
+        LIBMANDIR = $(MANSOURCEPATH)3
+      XAPPLOADDIR = $(LIBDIR)/app-defaults
+
+        SOXLIBREV = 4.2
+          SOXTREV = 4.0
+         SOXAWREV = 4.0
+        SOOLDXREV = 4.0
+         SOXMUREV = 4.0
+        SOXEXTREV = 4.0
+
+       FONTCFLAGS = -t
+
+     INSTAPPFLAGS = $(INSTDATFLAGS)
+
+            IMAKE = imake
+           DEPEND = makedepend
+              RGB = rgb
+            FONTC = bdftosnf
+        MKFONTDIR = mkfontdir
+        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
+
+        CONFIGSRC = $(TOP)/config
+        CLIENTSRC = $(TOP)/clients
+          DEMOSRC = $(TOP)/demos
+           LIBSRC = $(TOP)/lib
+          FONTSRC = $(TOP)/fonts
+       INCLUDESRC = $(TOP)/X11
+        SERVERSRC = $(TOP)/server
+          UTILSRC = $(TOP)/util
+        SCRIPTSRC = $(UTILSRC)/scripts
+       EXAMPLESRC = $(TOP)/examples
+       CONTRIBSRC = $(TOP)/../contrib
+           DOCSRC = $(TOP)/doc
+           RGBSRC = $(TOP)/rgb
+        DEPENDSRC = $(UTILSRC)/makedepend
+         IMAKESRC = $(CONFIGSRC)
+         XAUTHSRC = $(LIBSRC)/Xau
+          XLIBSRC = $(LIBSRC)/X
+           XMUSRC = $(LIBSRC)/Xmu
+       TOOLKITSRC = $(LIBSRC)/Xt
+       AWIDGETSRC = $(LIBSRC)/Xaw
+       OLDXLIBSRC = $(LIBSRC)/oldX
+      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
+     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
+     EXTENSIONSRC = $(TOP)/extensions
+
+  DEPEXTENSIONLIB =
+     EXTENSIONLIB = -lXext
+
+          DEPXLIB = $(DEPEXTENSIONLIB)
+             XLIB = $(EXTENSIONLIB) -lX11
+
+      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+         XAUTHLIB =  -lXau
+
+        DEPXMULIB =
+           XMULIB = -lXmu
+
+       DEPOLDXLIB =
+          OLDXLIB = -loldX
+
+      DEPXTOOLLIB =
+         XTOOLLIB = -lXt
+
+        DEPXAWLIB =
+           XAWLIB = -lXaw
+
+ LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
+         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
+          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
+        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
+          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
+
+          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+         DEPLIBS1 = $(DEPLIBS)
+         DEPLIBS2 = $(DEPLIBS)
+         DEPLIBS3 = $(DEPLIBS)
+
+###########################################################################
+# Imake rules for building libraries, programs, scripts, and data files
+# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
+
+###########################################################################
+# start of Imakefile
+
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
+
+TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$(WWW_MACH)
+
+TK_WWW_HOME_PAGE=http://www.w3.org/default.html
+TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
+
+CC = gcc -fno-builtin -Wall
+
+CDEBUGFLAGS = -O3 -pipe
+
+COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
+CCOPTIONS =
+
+BINDIR = $(TK_WWW_INSTALL_PATH)
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix.x
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE
+
+#
+#	make		Compile and link the software (private version)
+#	make clean	Remove intermediate files
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Bug: This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the
+# recursive invocation
+
+VC = 2.14
+
+CFLAGS2 = $(CFLAGS) -I$(CMN)
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
+	$(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
+SPECIFIC = $(WWW)/All
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+all: $(LOB)/libwww.a
+	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
+
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean ::
+	$(RM) $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall :: clean
+	$(RM) $(LOB)/libwww.a
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	-mkdir $(WTMP)
+	-mkdir $(WTMP)/Library
+	-mkdir $(WTMP)/Library/$(WWW_MACH)
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
+###########################################################################
+# common rules for all Makefiles - do not edit
+
+emptyrule::
+
+clean::
+	$(RM_CMD) \#*
+
+Makefile::
+	-@if [ -f Makefile ]; then \
+	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
+	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+	else exit 0; fi
+	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+
+tags::
+	$(TAGS) -w *.[ch]
+	$(TAGS) -xw *.[ch] > TAGS
+
+saber:
+	#load $(ALLDEFINES) $(SRCS)
+
+osaber:
+	#load $(ALLDEFINES) $(OBJS)
+
+###########################################################################
+# empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+	@echo "install in $(CURRENT_DIR) done"
+
+install.man::
+	@echo "install.man in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+###########################################################################
+# dependencies generated by makedepend
+
diff --git a/WWW/Library/freebsd/Makefile b/WWW/Library/freebsd/Makefile
new file mode 100644
index 00000000..a82f13b8
--- /dev/null
+++ b/WWW/Library/freebsd/Makefile
@@ -0,0 +1,27 @@
+#  Make WWW under FreeBSD
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = freebsd
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = i386/FreeBSD
+
+
+CFLAGS += -DDEBUG
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/isc/Makefile b/WWW/Library/isc/Makefile
new file mode 100644
index 00000000..29de6885
--- /dev/null
+++ b/WWW/Library/isc/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = isc
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = intel/isc
+
+
+CFLAGS =  -DDEBUG -O -DISC -Dvfork=fork
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/mips/Makefile b/WWW/Library/mips/Makefile
new file mode 100644
index 00000000..1c84cbe0
--- /dev/null
+++ b/WWW/Library/mips/Makefile
@@ -0,0 +1,29 @@
+# Makefile for WWW under svr4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = mips
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = mips/mips
+
+
+#CFLAGS =  -DDEBUG -systype svr3 -DMIPS -DNO_BCOPY
+CFLAGS =  -O -DDEBUG -systype svr3  -I/svr3/usr/include/bsd
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/netbsd/Makefile b/WWW/Library/netbsd/Makefile
new file mode 100644
index 00000000..ae92760a
--- /dev/null
+++ b/WWW/Library/netbsd/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under NetBSD
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = netbsd
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = i386/NetBSD
+
+
+CFLAGS = -O -DUSE_DIRENT
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/next/Makefile b/WWW/Library/next/Makefile
new file mode 100644
index 00000000..bd35c89a
--- /dev/null
+++ b/WWW/Library/next/Makefile
@@ -0,0 +1,40 @@
+#	Platform-specific Makefile for W3 Library	(NeXT)
+#	-----------------------------------------
+#
+#	Library compiled with fudge to alow XMOSAIC to
+#	pick up binary files... for now.
+
+WWW = ../..
+
+#  Where should temporary (object) files go? Normally, WTMP = $(WWW)
+#WTMP = /tmp
+WTMP = $(WWW)
+
+# For MACH 3.0 it seems -bsd is needed to order to define errno
+# in /usr/include/bsd/sys/errno.h. But __STRICT_BSD__ is needed for
+# errno.
+
+CFLAGS =  -Wall -O -DXMOSAIC_HACK
+
+#	Yes please, I want direct WAIS access
+#
+#WAIS = ../../../freeWAIS
+#WAISINC = -I$(WAIS)/ir
+#WAISCFLAGS = -DDIRECT_WAIS
+#WAISLIB =  $(WAIS)/bin/client.a $(WAIS)/bin/wais.a
+#  $(WAIS)/bin/inv.a $(WAIS)/bin/wais.a
+#HTWAIS = $(WTMP)/Library/$(WWW_MACH)/HTWAIS.o
+
+CC = cc
+#	For testing memory leaks only!   Use /NextDeveloper/MallocDebug app
+LFLAGS = -lMallocDebug
+#LFLAGS =
+
+WWW_MACH = next
+ASIS_MACH = next/2.0
+
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/osf/Makefile b/WWW/Library/osf/Makefile
new file mode 100644
index 00000000..a81457a6
--- /dev/null
+++ b/WWW/Library/osf/Makefile
@@ -0,0 +1,23 @@
+#	Platform-specific Makefile for W3 Library	(decstation)
+#	-----------------------------------------
+#
+
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+#CFLAGS = 
+CFLAGS = -DSYS5 
+CC = cc -O
+#LFLAGS =
+LFLAGS = 
+
+ASIS_MACH = alpha/osf1
+WWW_MACH = osf
+
+# Directory for installed binary:
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/ptx/Makefile b/WWW/Library/ptx/Makefile
new file mode 100644
index 00000000..772d6c6a
--- /dev/null
+++ b/WWW/Library/ptx/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under Sequent's DYNIX/ptx
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = ptx
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = Sequent/ptx
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4 -DNO_IOCTL -DUSE_FCNTL
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/rs6000/Makefile b/WWW/Library/rs6000/Makefile
new file mode 100644
index 00000000..334a5a4a
--- /dev/null
+++ b/WWW/Library/rs6000/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for rs6000 with no gcc
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = rs6000
+
+# For ASIS
+ASIS_MACH = ibm-rs6000/aix-3.2
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# The AIX compiler does not define unix... AIX will do it and avoid realloc bug
+
+CFLAGS = -O -DDEBUG 
+CC = cc
+LFLAGS =
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = $(WWW)
+
+# Where is the W3 object library?
+LIBDIR = /usr/local/lib
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/sco/Makefile b/WWW/Library/sco/Makefile
new file mode 100644
index 00000000..a00a948b
--- /dev/null
+++ b/WWW/Library/sco/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sco
+
+# The ASIS repository's name for the machine we are on
+#  SCO does not presently have ranlib.  Ignore the error
+#  message about that when the CommonMakefile tries to
+#  invoke it.
+ASIS_MACH = intel/sco
+
+
+CFLAGS =  -O -DDEBUG -DSVR4
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/sgi/Makefile b/WWW/Library/sgi/Makefile
new file mode 100644
index 00000000..24530722
--- /dev/null
+++ b/WWW/Library/sgi/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW for Silicon Graphics
+#
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sgi
+
+# Architecutre in ASIS scheme
+#  SGI does not presently have ranlib.  Ignore the error
+#  message about that when the CommonMakefile tries to
+#  invoke it.
+ASIS_MACH = sgi/iris-3.5
+
+CFLAGS = -DDEBUG -O -cckr
+CC = cc
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/snake/Makefile b/WWW/Library/snake/Makefile
new file mode 100644
index 00000000..06db3012
--- /dev/null
+++ b/WWW/Library/snake/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under unix for HP 700 or 800 (Snake) using cc
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = snake
+
+# Distribution point for ASIS repository
+ASIS_MACH = hp-700/hpux-8.0
+
+CFLAGS = -O -DDEBUG
+
+#	Link with BSD library for getwd()
+LFLAGS = -lBSD
+
+#CC = cc
+#CC = gcc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/solaris2/Makefile b/WWW/Library/solaris2/Makefile
new file mode 100644
index 00000000..a390cae9
--- /dev/null
+++ b/WWW/Library/solaris2/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = solaris2
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = sun-4/sunos-5.2
+
+
+CFLAGS =  -O -DDEBUG -DNGROUPS=16 -Dd_namlen=d_reclen -DNO_BCOPY -DSOLARIS2 -DSVR4 -DUSE_DIRENT
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/sun3/Makefile b/WWW/Library/sun3/Makefile
new file mode 100644
index 00000000..ee9c6288
--- /dev/null
+++ b/WWW/Library/sun3/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 3
+#
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sun3
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = sun-3/sunos-4.1.1
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+CFLAGS = -DDEBUG -O
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/sun4/Makefile b/WWW/Library/sun4/Makefile
new file mode 100644
index 00000000..cf14decb
--- /dev/null
+++ b/WWW/Library/sun4/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under unix for sun 4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = sun4
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = sun-4/sunos-4.1.1
+
+
+CFLAGS =  -DDEBUG -O
+LFLAGS =
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/svr4/Makefile b/WWW/Library/svr4/Makefile
new file mode 100644
index 00000000..a97e6656
--- /dev/null
+++ b/WWW/Library/svr4/Makefile
@@ -0,0 +1,29 @@
+#  Make WWW under svr4
+#
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = svr4
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = generic/svr4
+
+
+CFLAGS =  -O -DDEBUG -DUSE_DIRENT -DSVR4
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/WWW/Library/umaxv-m88k/Makefile b/WWW/Library/umaxv-m88k/Makefile
new file mode 100644
index 00000000..79c323c0
--- /dev/null
+++ b/WWW/Library/umaxv-m88k/Makefile
@@ -0,0 +1,30 @@
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = umaxv-m88k
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+
+CFLAGS =  -O -DDEBUG -D_SYSV3
+LFLAGS =
+CC = cc
+
+# Directory for installed binary:
+BINDIR = /usr/local/bin
+
+# Where is the W3 object library to be installed (not normally done)?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = ../..
+
+
+include $(WWW)/Library/Implementation/CommonMakefile
+
diff --git a/WWW/Library/unix_x/Makefile b/WWW/Library/unix_x/Makefile
new file mode 100644
index 00000000..23c12453
--- /dev/null
+++ b/WWW/Library/unix_x/Makefile
@@ -0,0 +1,491 @@
+# Makefile generated by imake - do not edit!
+# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
+#
+# The cpp used on this machine replaces all newlines and multiple tabs and
+# spaces in a macro expansion with a single space.  Imake tries to compensate
+# for this, but is not always successful.
+#
+
+###########################################################################
+# Makefile generated from "Imake.tmpl" and </tmp/IIf.a02602>
+# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
+#
+# Platform-specific parameters may be set in the appropriate .cf
+# configuration files.  Site-wide parameters may be set in the file
+# site.def.  Full rebuilds are recommended if any parameters are changed.
+#
+# If your C preprocessor doesn't define any unique symbols, you'll need
+# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
+# "make Makefile", "make Makefiles", or "make World").
+#
+# If you absolutely can't get imake to work, you'll need to set the
+# variables at the top of each Makefile as well as the dependencies at the
+# bottom (makedepend will do this automatically).
+#
+
+###########################################################################
+# platform-specific configuration parameters - edit sun.cf to change
+
+# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
+# operating system:  SunOS 4.1.1
+
+###########################################################################
+# site-specific configuration parameters - edit site.def to change
+
+# site:  $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
+
+            SHELL = /bin/sh
+
+              TOP = ../../../.
+      CURRENT_DIR = ./../Library/unix_x
+
+               AR = ar cq
+  BOOTSTRAPCFLAGS =
+               CC = gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional
+
+         COMPRESS = compress
+              CPP = /lib/cpp $(STD_CPP_DEFINES)
+    PREPROCESSCMD = gcc -DNOSTDHDRS -fstrength-reduce -fpcc-struct-return -fwritable-strings -traditional -E $(STD_CPP_DEFINES)
+          INSTALL = install
+               LD = ld
+             LINT = lint
+      LINTLIBFLAG = -C
+         LINTOPTS = -axz
+               LN = ln -s
+             MAKE = make
+               MV = mv
+               CP = cp
+           RANLIB = ranlib
+  RANLIBINSTFLAGS =
+               RM = rm -f
+     STD_INCLUDES =
+  STD_CPP_DEFINES =
+      STD_DEFINES =
+ EXTRA_LOAD_FLAGS =
+  EXTRA_LIBRARIES =
+             TAGS = ctags
+
+    SHAREDCODEDEF = -DSHAREDCODE
+         SHLIBDEF = -DSUNSHLIB
+
+    PROTO_DEFINES =
+
+     INSTPGMFLAGS =
+
+     INSTBINFLAGS = -m 0755
+     INSTUIDFLAGS = -m 4755
+     INSTLIBFLAGS = -m 0664
+     INSTINCFLAGS = -m 0444
+     INSTMANFLAGS = -m 0444
+     INSTDATFLAGS = -m 0444
+    INSTKMEMFLAGS = -m 4755
+
+          DESTDIR =
+
+     TOP_INCLUDES = -I$(INCROOT)
+
+      CDEBUGFLAGS = -O
+        CCOPTIONS =
+      COMPATFLAGS =
+
+      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
+       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
+           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
+        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
+           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
+        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
+   LDCOMBINEFLAGS = -X -r
+
+        MACROFILE = sun.cf
+           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
+
+    IMAKE_DEFINES =
+
+         IRULESRC = $(CONFIGDIR)
+        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
+
+     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
+			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
+			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
+
+###########################################################################
+# X Window System Build Parameters
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+###########################################################################
+# X Window System make variables; this need to be coordinated with rules
+# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
+
+          PATHSEP = /
+        USRLIBDIR = $(DESTDIR)/usr/lib
+           BINDIR = $(DESTDIR)/usr/bin/X11
+          INCROOT = $(DESTDIR)/usr/include
+     BUILDINCROOT = $(TOP)
+      BUILDINCDIR = $(BUILDINCROOT)/X11
+      BUILDINCTOP = ..
+           INCDIR = $(INCROOT)/X11
+           ADMDIR = $(DESTDIR)/usr/adm
+           LIBDIR = $(USRLIBDIR)/X11
+        CONFIGDIR = $(LIBDIR)/config
+       LINTLIBDIR = $(USRLIBDIR)/lint
+
+          FONTDIR = $(LIBDIR)/fonts
+         XINITDIR = $(LIBDIR)/xinit
+           XDMDIR = $(LIBDIR)/xdm
+           AWMDIR = $(LIBDIR)/awm
+           TWMDIR = $(LIBDIR)/twm
+           GWMDIR = $(LIBDIR)/gwm
+          MANPATH = $(DESTDIR)/usr/man
+    MANSOURCEPATH = $(MANPATH)/man
+           MANDIR = $(MANSOURCEPATH)n
+        LIBMANDIR = $(MANSOURCEPATH)3
+      XAPPLOADDIR = $(LIBDIR)/app-defaults
+
+        SOXLIBREV = 4.2
+          SOXTREV = 4.0
+         SOXAWREV = 4.0
+        SOOLDXREV = 4.0
+         SOXMUREV = 4.0
+        SOXEXTREV = 4.0
+
+       FONTCFLAGS = -t
+
+     INSTAPPFLAGS = $(INSTDATFLAGS)
+
+            IMAKE = imake
+           DEPEND = makedepend
+              RGB = rgb
+            FONTC = bdftosnf
+        MKFONTDIR = mkfontdir
+        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
+
+        CONFIGSRC = $(TOP)/config
+        CLIENTSRC = $(TOP)/clients
+          DEMOSRC = $(TOP)/demos
+           LIBSRC = $(TOP)/lib
+          FONTSRC = $(TOP)/fonts
+       INCLUDESRC = $(TOP)/X11
+        SERVERSRC = $(TOP)/server
+          UTILSRC = $(TOP)/util
+        SCRIPTSRC = $(UTILSRC)/scripts
+       EXAMPLESRC = $(TOP)/examples
+       CONTRIBSRC = $(TOP)/../contrib
+           DOCSRC = $(TOP)/doc
+           RGBSRC = $(TOP)/rgb
+        DEPENDSRC = $(UTILSRC)/makedepend
+         IMAKESRC = $(CONFIGSRC)
+         XAUTHSRC = $(LIBSRC)/Xau
+          XLIBSRC = $(LIBSRC)/X
+           XMUSRC = $(LIBSRC)/Xmu
+       TOOLKITSRC = $(LIBSRC)/Xt
+       AWIDGETSRC = $(LIBSRC)/Xaw
+       OLDXLIBSRC = $(LIBSRC)/oldX
+      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
+      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
+     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
+     EXTENSIONSRC = $(TOP)/extensions
+
+  DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
+     EXTENSIONLIB =  -lXext
+
+          DEPXLIB = $(DEPEXTENSIONLIB)
+             XLIB = $(EXTENSIONLIB) -lX11
+
+      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
+         XAUTHLIB =  -lXau
+
+        DEPXMULIB =
+           XMULIB = -lXmu
+
+       DEPOLDXLIB =
+          OLDXLIB = -loldX
+
+      DEPXTOOLLIB =
+         XTOOLLIB = -lXt
+
+        DEPXAWLIB =
+           XAWLIB = -lXaw
+
+ LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
+         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
+          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
+        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
+          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
+
+          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
+
+         DEPLIBS1 = $(DEPLIBS)
+         DEPLIBS2 = $(DEPLIBS)
+         DEPLIBS3 = $(DEPLIBS)
+
+###########################################################################
+# Imake rules for building libraries, programs, scripts, and data files
+# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
+
+###########################################################################
+# start of Imakefile
+
+#  Make WWW under unix for a.n.other unix system (bsd)
+#   Use this as a template
+
+TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
+
+TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$WWW_MACH
+
+TK_WWW_HOME_PAGE=http://www.w3.org/default.html
+TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
+
+CC = gcc -fno-builtin -Wall
+
+CDEBUGFLAGS = -O3 -pipe
+
+COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
+CCOPTIONS =
+
+BINDIR = $(TK_WWW_INSTALL_PATH)
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = unix_x
+
+# The ASIS repository's name for the machine we are on
+ASIS_MACH = hardware/os
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+#	Common Makefile for W3 Library Code
+#	-----------------------------------
+#
+#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
+#
+# This file should be invariant between systems.
+#	DEPENDENCIES NOT COMPLETE
+
+#
+#	make		Compile and link the software (private version)
+#	make clean	Remove intermediate files
+
+WC = $(WWW)/Library
+CMN = $(WWW)/Library/Implementation/
+
+# Where shall we put the objects and built library?
+
+LOB = $(WTMP)/Library/$(WWW_MACH)
+
+# Bug: This path, if relative, is taken relative to the directory
+# in which this makefile is, not the pwd.  This screws up the
+# recursive invocation
+
+VC = 2.14
+
+CFLAGS2 = $(CFLAGS) -I$(CMN)
+
+CERNLIBBIN = $(WWW)/bin
+
+COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
+	$(LOB)/HTBTree.o \
+	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
+	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
+	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
+	$(LOB)/HTMLGen.o \
+	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
+	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
+	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
+	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
+	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
+
+CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTBTree.c \
+	$(CMN)HTFile.c \
+	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
+	$(CMN)HTMLDTD.c \
+	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
+	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
+	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
+	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
+	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
+	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
+
+HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTBTree.h \
+	$(CMN)HTFile.h \
+	$(CMN)HTFTP.h $(CMN)HTTCP.h \
+	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
+	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
+	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
+	$(CMN)HTStream.h \
+	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
+	$(CMN)HTList.h \
+	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
+	$(CMN)HTFormat.h $(CMN)HTInit.h \
+	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
+	$(CMN)HTGopher.h \
+	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
+	$(CMN)HTTelnet.h \
+	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
+
+SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
+	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
+SPECIFIC = $(WWW)/All
+
+#	Library
+#
+#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
+# for that step
+all: $(LOB)/libwww.a
+	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
+
+$(LOB)/libwww.a : $(COMMON)
+	ar r $(LOB)/libwww.a $(COMMON)
+	-ranlib $(LOB)/libwww.a
+
+#	Clean up everything generatable except final products
+clean ::
+	$(RM) $(LOB)
+
+#	Clean up everything generatable including final products
+
+cleanall :: clean
+	$(RM) $(LOB)/libwww.a
+
+# 			Common code
+#			-----------
+
+#	Directory for object files - .created checks it exists
+
+OE = $(LOB)/.created
+$(OE) :
+	-mkdir $(WTMP)
+	-mkdir $(WTMP)/Library
+	-mkdir $(WTMP)/Library/$(WWW_MACH)
+	touch $@
+
+$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
+
+$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
+
+$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
+
+$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
+
+$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
+
+$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
+
+$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
+
+$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
+
+$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
+
+$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
+
+$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
+
+$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
+
+$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
+
+$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
+
+$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
+	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
+
+$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
+
+$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
+
+$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
+
+$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
+
+$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
+
+$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
+
+$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
+
+$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
+
+#	Communications & Files
+
+$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
+
+$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
+
+$(LOB)/HTBTree.o : $(OE) $(CMN)HTBTree.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTBTree.c
+
+$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
+
+$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
+
+$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
+
+$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
+	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
+
+###########################################################################
+# common rules for all Makefiles - do not edit
+
+emptyrule::
+
+clean::
+	$(RM_CMD) \#*
+
+Makefile::
+	-@if [ -f Makefile ]; then \
+	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
+	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
+	else exit 0; fi
+	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
+
+tags::
+	$(TAGS) -w *.[ch]
+	$(TAGS) -xw *.[ch] > TAGS
+
+###########################################################################
+# empty rules for directories that do not have SUBDIRS - do not edit
+
+install::
+	@echo "install in $(CURRENT_DIR) done"
+
+install.man::
+	@echo "install.man in $(CURRENT_DIR) done"
+
+Makefiles::
+
+includes::
+
+###########################################################################
+# dependencies generated by makedepend
+
diff --git a/WWW/Library/vax_ultrix/Makefile b/WWW/Library/vax_ultrix/Makefile
new file mode 100644
index 00000000..2caf766c
--- /dev/null
+++ b/WWW/Library/vax_ultrix/Makefile
@@ -0,0 +1,33 @@
+#  Make WWW under ultrix with gcc
+#
+
+
+# For W3 distribution, machine type for subdirectories
+WWW_MACH = vax_ultrix
+
+# For ASIS installation, the ASIS code for the machine/os
+ASIS_MACH = none
+
+CC = gcc
+CFLAGS = -O  -DDEBUG -Wall
+LFLAGS = -O
+
+#	This is bug fix for out-of-date ultrix on cernvax
+# LFLAGS = -O pfcode.o -lresolv
+
+# Directory for installed binary:
+BINDIR = /usr/local/unix
+
+
+#_________________ OK if normal W3 distribution
+# Where is the WWW source root?
+WWW = ../..
+
+#  Where should temporary (object) files go?
+WTMP = /tmp
+
+
+# Where is the W3 object library?
+LIBDIR = $(WWW)/Library/Implementation/$(WWW_MACH)
+
+include $(WWW)/Library/Implementation/CommonMakefile
diff --git a/aclocal.m4 b/aclocal.m4
index a3697fae..6f387109 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -288,14 +288,8 @@ if test ".$ac_cv_func_initscr" != .yes ; then
 	cf_term_lib=""
 	cf_curs_lib=""
 
-	# Check for library containing initscr
-	for cf_curs_lib in curses ncurses cursesX jcurses unknown
-	do
-		AC_CHECK_LIB($cf_curs_lib,initscr,[break])
-	done
-	test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
-
-	# Check for library containing tgoto
+	# Check for library containing tgoto.  Do this before curses library
+	# because it may be needed to link the test-case for initscr.
 	AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
 		for cf_term_lib in termcap termlib unknown
 		do
@@ -303,6 +297,14 @@ if test ".$ac_cv_func_initscr" != .yes ; then
 		done
 	])
 
+	# Check for library containing initscr
+	test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+	for cf_curs_lib in curses ncurses cursesX jcurses unknown
+	do
+		AC_CHECK_LIB($cf_curs_lib,initscr,[break])
+	done
+	test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
+
 	LIBS="-l$cf_curs_lib $cf_save_LIBS"
 	if test "$cf_term_lib" = unknown ; then
 		AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
@@ -581,10 +583,7 @@ test "$prefix" != /usr           && $1="[$]$1 /usr/include /usr/include/$2"
 dnl ---------------------------------------------------------------------------
 dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
 AC_DEFUN([CF_HELP_MESSAGE],
-[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
-ac_help="$ac_help
-[$1]"
-AC_DIVERT_POP()dnl
+[AC_DIVERT_HELP([$1])dnl
 ])dnl
 dnl ---------------------------------------------------------------------------
 dnl Construct a search-list for a nonstandard library-file
diff --git a/configure b/configure
index 58136ba0..1f1342be 100755
--- a/configure
+++ b/configure
@@ -12,14 +12,6 @@ ac_help=
 ac_default_prefix=/usr/local
 # Any additions from configure.in:
 ac_default_prefix=/usr/local
-ac_help="$ac_help
-Development Options:"
-ac_help="$ac_help
-Basic Configuration Options:"
-ac_help="$ac_help
-Miscellaneous Options:"
-ac_help="$ac_help
-Directory Editor Options:"
 
 # Initialize some variables set by options.
 # The variables have the same names as the options, with
@@ -191,33 +183,40 @@ Features and packages:
 EOF
 cat <<EOF
 --enable and --with options recognized:
+Development Options:
   --disable-echo          test: display \"compiling\" commands (default: on)
   --enable-find-leaks     logic for testing memory leaks (default: off)
   --enable-debug          logic for traces/debugging (default: off)
   --enable-warnings       GCC compiler warnings (default: off)
+Basic Configuration Options:
   --disable-full-paths    control whether full utility pathnames are used (default: on)
   --with-screen=XXX       select screen type
                           (XXX is curses (default), ncurses or slang)
+Miscellaneous Options:
   --enable-color-style    use optional/experimental color style (default: off)
   --enable-externs        use external commands (default: off)
   --enable-font-switch    use Linux setfont for character-translation (default: off)
+  --disable-internal-links handle following links to same doc differently (default: on)
+EOF
+cat <<EOF
   --enable-nsl-fork       fork NSL requests, allowing them to be aborted (default: off)
   --enable-underlines     underline links rather than using boldface (default: off)
   --with-zlib             use zlib for decompression of some gzip files
+Directory Editor Options:
   --disable-dired          enable optional directory-editor, DirEd (default: on)
-EOF
-cat <<EOF
   --disable-dired-archive  disable dearchiving commands (default: on)
   --disable-dired-override disable private keymaps (default: on)
   --disable-dired-permit  disable chmod/attrib commands (default: on)
   --disable-dired-xpermit disable chmod/attrib commands (default: on)
-  --disable-dired-tar     disable \"tar\" command (default: on)
-  --disable-dired-uudecode disable \"uudecode\" command (default: on)
-  --disable-dired-zip     disable \"zip\", \"unzip\"  commands (default: on)
-  --disable-dired-gzip    disable \"gzip\", \"gunzip\" commands (default: on)
-  --disable-long-list     disable long \"ls -l\" directory listings (default: on)
+  --disable-dired-tar     disable "tar" command (default: on)
+  --disable-dired-uudecode disable "uudecode" command (default: on)
+  --disable-dired-zip     disable "zip", "unzip"  commands (default: on)
+EOF
+cat <<EOF
+  --disable-dired-gzip    disable "gzip", "gunzip" commands (default: on)
+  --disable-long-list     disable long "ls -l" directory listings (default: on)
   --disable-parent-dir-refs
-                          disable \"Up-to\" links in directory listings (default: on)
+                          disable "Up-to" links in directory listings (default: on)
 EOF
     exit 0 ;;
 
@@ -583,7 +582,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:587: checking host system type" >&5
+echo "configure:586: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -608,7 +607,7 @@ echo "$ac_t""$host" 1>&6
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:612: checking for $ac_word" >&5
+echo "configure:611: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -637,7 +636,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:641: checking for $ac_word" >&5
+echo "configure:640: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -685,7 +684,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:689: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:688: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -695,11 +694,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 699 "configure"
+#line 698 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -719,12 +718,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:723: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:722: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:728: checking whether we are using GNU C" >&5
+echo "configure:727: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -733,7 +732,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -748,7 +747,7 @@ if test $ac_cv_prog_gcc = yes; then
   ac_save_CFLAGS="$CFLAGS"
   CFLAGS=
   echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:752: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:751: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -776,7 +775,7 @@ else
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:780: checking how to run the C preprocessor" >&5
+echo "configure:779: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -791,13 +790,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 795 "configure"
+#line 794 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:800: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -808,13 +807,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 812 "configure"
+#line 811 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   :
@@ -839,7 +838,7 @@ echo "$ac_t""$CPP" 1>&6
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:843: checking for $ac_word" >&5
+echo "configure:842: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -866,7 +865,7 @@ else
 fi
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:870: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:869: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -894,7 +893,7 @@ fi
 
 
 echo $ac_n "checking for style of include in makefiles""... $ac_c" 1>&6
-echo "configure:898: checking for style of include in makefiles" >&5
+echo "configure:897: checking for style of include in makefiles" >&5
 
 make_include_left=""
 make_include_right=""
@@ -955,7 +954,7 @@ echo "$ac_t""${make_include_left}file${make_include_right}" 1>&6
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:959: checking for a BSD compatible install" >&5
+echo "configure:958: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1009,7 +1008,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1013: checking for $ac_word" >&5
+echo "configure:1012: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1043,7 +1042,7 @@ done
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:1047: checking if you want to see long compiling messages" >&5
+echo "configure:1046: checking if you want to see long compiling messages" >&5
 
 # Check whether --enable-echo or --disable-echo was given.
 if test "${enable_echo+set}" = set; then
@@ -1083,7 +1082,7 @@ echo "$ac_t""$enableval" 1>&6
 
 
 echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6
-echo "configure:1087: checking if you want to check memory-leaks" >&5
+echo "configure:1086: checking if you want to check memory-leaks" >&5
 
 # Check whether --enable-find-leaks or --disable-find-leaks was given.
 if test "${enable_find_leaks+set}" = set; then
@@ -1107,7 +1106,7 @@ EOF
 
 
 echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6
-echo "configure:1111: checking if you want to enable debug-code" >&5
+echo "configure:1110: checking if you want to enable debug-code" >&5
 
 # Check whether --enable-debug or --disable-debug was given.
 if test "${enable_debug+set}" = set; then
@@ -1152,7 +1151,7 @@ fi
 if test -n "$GCC"
 then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:1156: checking if you want to turn on gcc warnings" >&5
+echo "configure:1155: checking if you want to turn on gcc warnings" >&5
 
 # Check whether --enable-warnings or --disable-warnings was given.
 if test "${enable_warnings+set}" = set; then
@@ -1176,11 +1175,11 @@ then
 if test -n "$GCC"
 then
 		cat > conftest.$ac_ext <<EOF
-#line 1180 "configure"
+#line 1179 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
 		echo "checking for gcc warning options" 1>&6
-echo "configure:1184: checking for gcc warning options" >&5
+echo "configure:1183: checking for gcc warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-W -Wall"
 	cf_warn_CONST=""
@@ -1198,7 +1197,7 @@ echo "configure:1184: checking for gcc warning options" >&5
 		Wstrict-prototypes $cf_warn_CONST
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:1202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:1201: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
 			test -n "$verbose" && echo "$ac_t""... -$cf_opt" 1>&6
 			EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
 			test "$cf_opt" = Wcast-qual && EXTRA_CFLAGS="$EXTRA_CFLAGS -DXTSTRINGDEFINES"
@@ -1216,7 +1215,7 @@ fi
 
 
 echo $ac_n "checking if you want full utility pathnames""... $ac_c" 1>&6
-echo "configure:1220: checking if you want full utility pathnames" >&5
+echo "configure:1219: checking if you want full utility pathnames" >&5
 
 # Check whether --enable-full-paths or --disable-full-paths was given.
 if test "${enable_full_paths+set}" = set; then
@@ -1237,7 +1236,7 @@ echo "$ac_t""$with_full_paths" 1>&6
 
 
 echo $ac_n "checking for system mailer""... $ac_c" 1>&6
-echo "configure:1241: checking for system mailer" >&5
+echo "configure:1240: checking for system mailer" >&5
 if eval "test \"`echo '$''{'cf_cv_SYSTEM_MAIL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1264,7 +1263,7 @@ EOF
 
 
 echo $ac_n "checking system mail flags""... $ac_c" 1>&6
-echo "configure:1268: checking system mail flags" >&5
+echo "configure:1267: checking system mail flags" >&5
 if eval "test \"`echo '$''{'cf_cv_system_mail_flags'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1292,7 +1291,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "chmod", so it can be a program name with args.
 set dummy chmod; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1296: checking for $ac_word" >&5
+echo "configure:1295: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1323,7 +1322,7 @@ fi
 
 else
 	echo $ac_n "checking for chmod""... $ac_c" 1>&6
-echo "configure:1327: checking for chmod" >&5
+echo "configure:1326: checking for chmod" >&5
 	echo "$ac_t""$CHMOD" 1>&6
 fi
 
@@ -1357,7 +1356,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "compress", so it can be a program name with args.
 set dummy compress; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1361: checking for $ac_word" >&5
+echo "configure:1360: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_COMPRESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1388,7 +1387,7 @@ fi
 
 else
 	echo $ac_n "checking for compress""... $ac_c" 1>&6
-echo "configure:1392: checking for compress" >&5
+echo "configure:1391: checking for compress" >&5
 	echo "$ac_t""$COMPRESS" 1>&6
 fi
 
@@ -1422,7 +1421,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "cp", so it can be a program name with args.
 set dummy cp; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1426: checking for $ac_word" >&5
+echo "configure:1425: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_COPY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1453,7 +1452,7 @@ fi
 
 else
 	echo $ac_n "checking for cp""... $ac_c" 1>&6
-echo "configure:1457: checking for cp" >&5
+echo "configure:1456: checking for cp" >&5
 	echo "$ac_t""$COPY" 1>&6
 fi
 
@@ -1487,7 +1486,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "gzip", so it can be a program name with args.
 set dummy gzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1491: checking for $ac_word" >&5
+echo "configure:1490: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1518,7 +1517,7 @@ fi
 
 else
 	echo $ac_n "checking for gzip""... $ac_c" 1>&6
-echo "configure:1522: checking for gzip" >&5
+echo "configure:1521: checking for gzip" >&5
 	echo "$ac_t""$GZIP" 1>&6
 fi
 
@@ -1552,7 +1551,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "mkdir", so it can be a program name with args.
 set dummy mkdir; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1556: checking for $ac_word" >&5
+echo "configure:1555: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1583,7 +1582,7 @@ fi
 
 else
 	echo $ac_n "checking for mkdir""... $ac_c" 1>&6
-echo "configure:1587: checking for mkdir" >&5
+echo "configure:1586: checking for mkdir" >&5
 	echo "$ac_t""$MKDIR" 1>&6
 fi
 
@@ -1617,7 +1616,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "mv", so it can be a program name with args.
 set dummy mv; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1621: checking for $ac_word" >&5
+echo "configure:1620: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1648,7 +1647,7 @@ fi
 
 else
 	echo $ac_n "checking for mv""... $ac_c" 1>&6
-echo "configure:1652: checking for mv" >&5
+echo "configure:1651: checking for mv" >&5
 	echo "$ac_t""$MV" 1>&6
 fi
 
@@ -1682,7 +1681,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "rm", so it can be a program name with args.
 set dummy rm; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1686: checking for $ac_word" >&5
+echo "configure:1685: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1713,7 +1712,7 @@ fi
 
 else
 	echo $ac_n "checking for rm""... $ac_c" 1>&6
-echo "configure:1717: checking for rm" >&5
+echo "configure:1716: checking for rm" >&5
 	echo "$ac_t""$RM" 1>&6
 fi
 
@@ -1747,7 +1746,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "tar", so it can be a program name with args.
 set dummy tar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1751: checking for $ac_word" >&5
+echo "configure:1750: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1778,7 +1777,7 @@ fi
 
 else
 	echo $ac_n "checking for tar""... $ac_c" 1>&6
-echo "configure:1782: checking for tar" >&5
+echo "configure:1781: checking for tar" >&5
 	echo "$ac_t""$TAR" 1>&6
 fi
 
@@ -1812,7 +1811,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "touch", so it can be a program name with args.
 set dummy touch; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1816: checking for $ac_word" >&5
+echo "configure:1815: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TOUCH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1843,7 +1842,7 @@ fi
 
 else
 	echo $ac_n "checking for touch""... $ac_c" 1>&6
-echo "configure:1847: checking for touch" >&5
+echo "configure:1846: checking for touch" >&5
 	echo "$ac_t""$TOUCH" 1>&6
 fi
 
@@ -1877,7 +1876,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "gunzip", so it can be a program name with args.
 set dummy gunzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1881: checking for $ac_word" >&5
+echo "configure:1880: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UNCOMPRESS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1908,7 +1907,7 @@ fi
 
 else
 	echo $ac_n "checking for gunzip""... $ac_c" 1>&6
-echo "configure:1912: checking for gunzip" >&5
+echo "configure:1911: checking for gunzip" >&5
 	echo "$ac_t""$UNCOMPRESS" 1>&6
 fi
 
@@ -1942,7 +1941,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "unzip", so it can be a program name with args.
 set dummy unzip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1946: checking for $ac_word" >&5
+echo "configure:1945: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UNZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1973,7 +1972,7 @@ fi
 
 else
 	echo $ac_n "checking for unzip""... $ac_c" 1>&6
-echo "configure:1977: checking for unzip" >&5
+echo "configure:1976: checking for unzip" >&5
 	echo "$ac_t""$UNZIP" 1>&6
 fi
 
@@ -2007,7 +2006,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "uudecode", so it can be a program name with args.
 set dummy uudecode; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2011: checking for $ac_word" >&5
+echo "configure:2010: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_UUDECODE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2038,7 +2037,7 @@ fi
 
 else
 	echo $ac_n "checking for uudecode""... $ac_c" 1>&6
-echo "configure:2042: checking for uudecode" >&5
+echo "configure:2041: checking for uudecode" >&5
 	echo "$ac_t""$UUDECODE" 1>&6
 fi
 
@@ -2072,7 +2071,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "zcat", so it can be a program name with args.
 set dummy zcat; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2076: checking for $ac_word" >&5
+echo "configure:2075: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_ZCAT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2103,7 +2102,7 @@ fi
 
 else
 	echo $ac_n "checking for zcat""... $ac_c" 1>&6
-echo "configure:2107: checking for zcat" >&5
+echo "configure:2106: checking for zcat" >&5
 	echo "$ac_t""$ZCAT" 1>&6
 fi
 
@@ -2137,7 +2136,7 @@ if test "$with_full_paths" = yes ; then
 	# Extract the first word of "zip", so it can be a program name with args.
 set dummy zip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2141: checking for $ac_word" >&5
+echo "configure:2140: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_ZIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2168,7 +2167,7 @@ fi
 
 else
 	echo $ac_n "checking for zip""... $ac_c" 1>&6
-echo "configure:2172: checking for zip" >&5
+echo "configure:2171: checking for zip" >&5
 	echo "$ac_t""$ZIP" 1>&6
 fi
 
@@ -2221,7 +2220,7 @@ EOF
 if test -z "$GCC" ; then
 	
 echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
-echo "configure:2225: checking for ${CC-cc} option to accept ANSI C" >&5
+echo "configure:2224: checking for ${CC-cc} option to accept ANSI C" >&5
 if eval "test \"`echo '$''{'cf_cv_ansi_cc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2239,7 +2238,7 @@ for cf_arg in "-DCC_HAS_PROTOS" "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
 do
 	CFLAGS="$cf_save_CFLAGS $cf_arg"
 	cat > conftest.$ac_ext <<EOF
-#line 2243 "configure"
+#line 2242 "configure"
 #include "confdefs.h"
 
 #ifndef CC_HAS_PROTOS
@@ -2255,7 +2254,7 @@ int main() {
 	struct s2 {int (*f) (double a);};
 ; return 0; }
 EOF
-if { (eval echo configure:2259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ansi_cc="$cf_arg"; break
 else
@@ -2283,12 +2282,12 @@ fi
 
 fi
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2287: checking for working const" >&5
+echo "configure:2286: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2292 "configure"
+#line 2291 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2337,7 +2336,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:2341: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2340: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -2377,7 +2376,7 @@ clix*)
 	# contributed by Alex Matulich (matuli_a@marlin.navsea.navy.mil) also
 	# references -lmalloc and -lbsd.
 	echo $ac_n "checking for strcmp in -lc_s""... $ac_c" 1>&6
-echo "configure:2381: checking for strcmp in -lc_s" >&5
+echo "configure:2380: checking for strcmp in -lc_s" >&5
 ac_lib_var=`echo c_s'_'strcmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2385,7 +2384,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lc_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2389 "configure"
+#line 2388 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2396,7 +2395,7 @@ int main() {
 strcmp()
 ; return 0; }
 EOF
-if { (eval echo configure:2400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2474,7 +2473,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2478: checking for $ac_word" >&5
+echo "configure:2477: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2518,17 +2517,17 @@ sony-newsos*)
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2522: checking for $ac_hdr" >&5
+echo "configure:2521: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2527 "configure"
+#line 2526 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2532: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2572,17 +2571,17 @@ ultrix*)
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2576: checking for $ac_hdr" >&5
+echo "configure:2575: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2581 "configure"
+#line 2580 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2585: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2615,7 +2614,7 @@ esac
 
 cf_test_netlibs=no
 echo $ac_n "checking for network libraries""... $ac_c" 1>&6
-echo "configure:2619: checking for network libraries" >&5
+echo "configure:2618: checking for network libraries" >&5
 if eval "test \"`echo '$''{'cf_cv_netlibs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2626,12 +2625,12 @@ cf_test_netlibs=yes
 for ac_func in gethostname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2630: checking for $ac_func" >&5
+echo "configure:2629: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2635 "configure"
+#line 2634 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2654,7 +2653,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2677,7 +2676,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:2681: checking for gethostname in -lnsl" >&5
+echo "configure:2680: checking for gethostname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2685,7 +2684,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2689 "configure"
+#line 2688 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2696,7 +2695,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2729,7 +2728,7 @@ else
 	
 		
 echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:2733: checking for gethostname in -lsocket" >&5
+echo "configure:2732: checking for gethostname in -lsocket" >&5
 ac_lib_var=`echo socket'_'gethostname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2737,7 +2736,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2741 "configure"
+#line 2740 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2748,7 +2747,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2792,21 +2791,21 @@ done
 # FIXME:  sequent needs this library (i.e., -lsocket -linet -lnsl), but
 # I don't know the entrypoints - 97/7/22 TD
 echo $ac_n "checking for -linet""... $ac_c" 1>&6
-echo "configure:2796: checking for -linet" >&5
+echo "configure:2795: checking for -linet" >&5
 if eval "test \"`echo '$''{'ac_cv_lib_inet'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2803 "configure"
+#line 2802 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:2810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   ac_cv_lib_inet=yes
 else
@@ -2829,12 +2828,12 @@ if test "$ac_cv_func_lsocket" != no ; then
 for ac_func in socket
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2833: checking for $ac_func" >&5
+echo "configure:2832: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2838 "configure"
+#line 2837 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -2857,7 +2856,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -2880,7 +2879,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2884: checking for socket in -lsocket" >&5
+echo "configure:2883: checking for socket in -lsocket" >&5
 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2888,7 +2887,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2892 "configure"
+#line 2891 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2899,7 +2898,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2932,7 +2931,7 @@ else
 	
 		
 echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
-echo "configure:2936: checking for socket in -lbsd" >&5
+echo "configure:2935: checking for socket in -lbsd" >&5
 ac_lib_var=`echo bsd'_'socket | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2940,7 +2939,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2944 "configure"
+#line 2943 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -2951,7 +2950,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2996,12 +2995,12 @@ fi
 for ac_func in gethostbyname
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3000: checking for $ac_func" >&5
+echo "configure:2999: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3005 "configure"
+#line 3004 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3024,7 +3023,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3047,7 +3046,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:3051: checking for gethostbyname in -lnsl" >&5
+echo "configure:3050: checking for gethostbyname in -lnsl" >&5
 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3055,7 +3054,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3059 "configure"
+#line 3058 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3066,7 +3065,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:3070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3107,12 +3106,12 @@ done
 for ac_func in strcasecmp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3111: checking for $ac_func" >&5
+echo "configure:3110: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3116 "configure"
+#line 3115 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -3135,7 +3134,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -3158,7 +3157,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:3162: checking for strcasecmp in -lresolv" >&5
+echo "configure:3161: checking for strcasecmp in -lresolv" >&5
 ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3166,7 +3165,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv $cf_cv_netlibs $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3170 "configure"
+#line 3169 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3177,7 +3176,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:3181: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3222,7 +3221,7 @@ test $cf_test_netlibs = no && echo "$cf_cv_netlibs" >&6
 
 
 echo $ac_n "checking for screen type""... $ac_c" 1>&6
-echo "configure:3226: checking for screen type" >&5
+echo "configure:3225: checking for screen type" >&5
 if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3257,12 +3256,12 @@ case $cf_cv_screen in
 curses)
 	
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:3261: checking for initscr" >&5
+echo "configure:3260: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3266 "configure"
+#line 3265 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -3285,7 +3284,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3289: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3288: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -3306,7 +3305,7 @@ else
 case $host_os in #(vi
 freebsd*) #(vi
 	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:3310: checking for tgoto in -lmytinfo" >&5
+echo "configure:3309: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3314,7 +3313,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3318 "configure"
+#line 3317 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3325,7 +3324,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3348,7 +3347,7 @@ fi
 	;;
 *hp-hpux10.*)
 	echo $ac_n "checking for initscr in -lHcurses""... $ac_c" 1>&6
-echo "configure:3352: checking for initscr in -lHcurses" >&5
+echo "configure:3351: checking for initscr in -lHcurses" >&5
 ac_lib_var=`echo Hcurses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3356,7 +3355,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lHcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3360 "configure"
+#line 3359 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3367,7 +3366,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3392,7 +3391,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for initscr in -lcur_color""... $ac_c" 1>&6
-echo "configure:3396: checking for initscr in -lcur_color" >&5
+echo "configure:3395: checking for initscr in -lcur_color" >&5
 ac_lib_var=`echo cur_color'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3400,7 +3399,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcur_color  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3404 "configure"
+#line 3403 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3411,7 +3410,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3451,60 +3450,15 @@ if test ".$ac_cv_func_initscr" != .yes ; then
 	cf_term_lib=""
 	cf_curs_lib=""
 
-	# Check for library containing initscr
-	for cf_curs_lib in curses ncurses cursesX jcurses unknown
-	do
-		echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
-echo "configure:3459: checking for initscr in -l$cf_curs_lib" >&5
-ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-l$cf_curs_lib  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3467 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char initscr();
-
-int main() {
-initscr()
-; return 0; }
-EOF
-if { (eval echo configure:3478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  break
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-	done
-	test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
-
-	# Check for library containing tgoto
+	# Check for library containing tgoto.  Do this before curses library
+	# because it may be needed to link the test-case for initscr.
 	echo $ac_n "checking for tgoto""... $ac_c" 1>&6
-echo "configure:3503: checking for tgoto" >&5
+echo "configure:3457: checking for tgoto" >&5
 if eval "test \"`echo '$''{'ac_cv_func_tgoto'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3508 "configure"
+#line 3462 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char tgoto(); below.  */
@@ -3527,7 +3481,7 @@ tgoto();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_tgoto=yes"
 else
@@ -3548,7 +3502,7 @@ else
 		for cf_term_lib in termcap termlib unknown
 		do
 			echo $ac_n "checking for tgoto in -l$cf_term_lib""... $ac_c" 1>&6
-echo "configure:3552: checking for tgoto in -l$cf_term_lib" >&5
+echo "configure:3506: checking for tgoto in -l$cf_term_lib" >&5
 ac_lib_var=`echo $cf_term_lib'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3556,7 +3510,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l$cf_term_lib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3560 "configure"
+#line 3514 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3567,7 +3521,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3592,19 +3546,66 @@ fi
 fi
 
 
+	# Check for library containing initscr
+	test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
+	for cf_curs_lib in curses ncurses cursesX jcurses unknown
+	do
+		echo $ac_n "checking for initscr in -l$cf_curs_lib""... $ac_c" 1>&6
+echo "configure:3555: checking for initscr in -l$cf_curs_lib" >&5
+ac_lib_var=`echo $cf_curs_lib'_'initscr | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_save_LIBS="$LIBS"
+LIBS="-l$cf_curs_lib  $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 3563 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error.  */
+/* We use char because int might match the return type of a gcc2
+    builtin and then its argument prototype would still apply.  */
+char initscr();
+
+int main() {
+initscr()
+; return 0; }
+EOF
+if { (eval echo configure:3574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=yes"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  break
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+	done
+	test $cf_curs_lib = unknown && { echo "configure: error: no curses library found" 1>&2; exit 1; }
+
 	LIBS="-l$cf_curs_lib $cf_save_LIBS"
 	if test "$cf_term_lib" = unknown ; then
 		echo $ac_n "checking if we can link with $cf_curs_lib library""... $ac_c" 1>&6
-echo "configure:3599: checking if we can link with $cf_curs_lib library" >&5
+echo "configure:3600: checking if we can link with $cf_curs_lib library" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 3601 "configure"
+#line 3602 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -3618,16 +3619,16 @@ rm -f conftest*
 		test $cf_result = no && { echo "configure: error: Cannot link curses library" 1>&2; exit 1; }
 	elif test "$cf_term_lib" != predefined ; then
 		echo $ac_n "checking if we need both $cf_curs_lib and $cf_term_lib libraries""... $ac_c" 1>&6
-echo "configure:3622: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
+echo "configure:3623: checking if we need both $cf_curs_lib and $cf_term_lib libraries" >&5
 		cat > conftest.$ac_ext <<EOF
-#line 3624 "configure"
+#line 3625 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3632: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_result=no
 else
@@ -3637,14 +3638,14 @@ else
   
 			LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
 			cat > conftest.$ac_ext <<EOF
-#line 3641 "configure"
+#line 3642 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -3666,14 +3667,14 @@ fi
 
 	
 echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6
-echo "configure:3670: checking for curses performance tradeoff" >&5
+echo "configure:3671: checking for curses performance tradeoff" >&5
 if eval "test \"`echo '$''{'cf_cv_curs_performance'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cf_cv_curs_performance=no
     cat > conftest.$ac_ext <<EOF
-#line 3677 "configure"
+#line 3678 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -3687,11 +3688,11 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:3691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 3695 "configure"
+#line 3696 "configure"
 #include "confdefs.h"
 
 #define CURS_PERFORMANCE
@@ -3706,7 +3707,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:3710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_curs_performance=yes
 else
@@ -3731,13 +3732,13 @@ EOF
 ncurses)
 	
 echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6
-echo "configure:3735: checking for ncurses header file" >&5
+echo "configure:3736: checking for ncurses header file" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 3741 "configure"
+#line 3742 "configure"
 #include "confdefs.h"
 #include <curses.h>
 int main() {
@@ -3754,7 +3755,7 @@ make an error
 	
 ; return 0; }
 EOF
-if { (eval echo configure:3758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3759: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_header=predefined
 else
@@ -3840,7 +3841,7 @@ done
 	;;
 esac
 echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:3844: checking for ncurses version" >&5
+echo "configure:3845: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3865,7 +3866,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:3869: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:3870: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -3874,7 +3875,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 3878 "configure"
+#line 3879 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -3897,7 +3898,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:3901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -3922,7 +3923,7 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6
 cf_ncurses_LIBS=""
 cf_ncurses_SAVE="$LIBS"
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:3926: checking for Gpm_Open in -lgpm" >&5
+echo "configure:3927: checking for Gpm_Open in -lgpm" >&5
 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3930,7 +3931,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3934 "configure"
+#line 3935 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3941,7 +3942,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:3945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -3957,7 +3958,7 @@ fi
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for initscr in -lgpm""... $ac_c" 1>&6
-echo "configure:3961: checking for initscr in -lgpm" >&5
+echo "configure:3962: checking for initscr in -lgpm" >&5
 ac_lib_var=`echo gpm'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3965,7 +3966,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3969 "configure"
+#line 3970 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -3976,7 +3977,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3981: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4007,7 +4008,7 @@ freebsd*)
 	# This is only necessary if you are linking against an obsolete
 	# version of ncurses (but it should do no harm, since it's static).
 	echo $ac_n "checking for tgoto in -lmytinfo""... $ac_c" 1>&6
-echo "configure:4011: checking for tgoto in -lmytinfo" >&5
+echo "configure:4012: checking for tgoto in -lmytinfo" >&5
 ac_lib_var=`echo mytinfo'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4015,7 +4016,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lmytinfo  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4019 "configure"
+#line 4020 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4026,7 +4027,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:4030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4031: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4054,12 +4055,12 @@ LIBS="$cf_ncurses_LIBS $LIBS"
 	cf_cv_have_lib_ncurses=no
 	cf_libdir=""
 	echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:4058: checking for initscr" >&5
+echo "configure:4059: checking for initscr" >&5
 if eval "test \"`echo '$''{'ac_cv_func_initscr'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4063 "configure"
+#line 4064 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -4082,7 +4083,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -4102,17 +4103,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:4106: checking for initscr in -lncurses" >&5
+echo "configure:4107: checking for initscr in -lncurses" >&5
 		LIBS="-lncurses $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 4109 "configure"
+#line 4110 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:4116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_ncurses=yes
@@ -4139,17 +4140,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/ncur
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lncurses in $cf_libdir""... $ac_c" 1>&6
-echo "configure:4143: checking for -lncurses in $cf_libdir" >&5
+echo "configure:4144: checking for -lncurses in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lncurses $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 4146 "configure"
+#line 4147 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:4153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_ncurses=yes
@@ -4176,7 +4177,7 @@ fi
 
 if test -n "$cf_ncurses_LIBS" ; then
 	echo $ac_n "checking if we can link ncurses without $cf_ncurses_LIBS""... $ac_c" 1>&6
-echo "configure:4180: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
+echo "configure:4181: checking if we can link ncurses without $cf_ncurses_LIBS" >&5
 	cf_ncurses_SAVE="$LIBS"
 	for p in $cf_ncurses_LIBS ; do
 		q=`echo $LIBS | sed -e 's/'$p' //' -e 's/'$p'$//'`
@@ -4185,14 +4186,14 @@ echo "configure:4180: checking if we can link ncurses without $cf_ncurses_LIBS"
 		fi
 	done
 	cat > conftest.$ac_ext <<EOF
-#line 4189 "configure"
+#line 4190 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);
 ; return 0; }
 EOF
-if { (eval echo configure:4196: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 else
@@ -4209,20 +4210,20 @@ fi
 slang)
 	
 echo $ac_n "checking for slang header file""... $ac_c" 1>&6
-echo "configure:4213: checking for slang header file" >&5
+echo "configure:4214: checking for slang header file" >&5
 if eval "test \"`echo '$''{'cf_cv_slang_header'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 4219 "configure"
+#line 4220 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 printf("%s\n", SLANG_VERSION)
 ; return 0; }
 EOF
-if { (eval echo configure:4226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_slang_header=predefined
 else
@@ -4306,7 +4307,7 @@ cf_cv_lib_termcap=none
 # HP-UX 9.x terminfo has setupterm, but no tigetstr.
 if test "$termlib" = none; then
 	echo $ac_n "checking for tigetstr in -ltermlib""... $ac_c" 1>&6
-echo "configure:4310: checking for tigetstr in -ltermlib" >&5
+echo "configure:4311: checking for tigetstr in -ltermlib" >&5
 ac_lib_var=`echo termlib'_'tigetstr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4314,7 +4315,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4318 "configure"
+#line 4319 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4325,7 +4326,7 @@ int main() {
 tigetstr()
 ; return 0; }
 EOF
-if { (eval echo configure:4329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4330: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4348,7 +4349,7 @@ fi
 fi
 if test "$cf_cv_lib_termcap" = none; then
 	echo $ac_n "checking for tgoto in -ltermlib""... $ac_c" 1>&6
-echo "configure:4352: checking for tgoto in -ltermlib" >&5
+echo "configure:4353: checking for tgoto in -ltermlib" >&5
 ac_lib_var=`echo termlib'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4356,7 +4357,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4360 "configure"
+#line 4361 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4367,7 +4368,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:4371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4391,7 +4392,7 @@ fi
 if test "$cf_cv_lib_termcap" = none; then
 	# allow curses library for broken AIX system.
 	echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
-echo "configure:4395: checking for initscr in -lcurses" >&5
+echo "configure:4396: checking for initscr in -lcurses" >&5
 ac_lib_var=`echo curses'_'initscr | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4399,7 +4400,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4403 "configure"
+#line 4404 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4410,7 +4411,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:4414: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4431,7 +4432,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:4435: checking for tgoto in -ltermcap" >&5
+echo "configure:4436: checking for tgoto in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4439,7 +4440,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4443 "configure"
+#line 4444 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4450,7 +4451,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:4454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4455: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4473,7 +4474,7 @@ fi
 fi
 if test "$cf_cv_lib_termcap" = none; then
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:4477: checking for tgoto in -ltermcap" >&5
+echo "configure:4478: checking for tgoto in -ltermcap" >&5
 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4481,7 +4482,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4485 "configure"
+#line 4486 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4492,7 +4493,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:4496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4515,7 +4516,7 @@ fi
 fi
 if test "$cf_cv_lib_termcap" = none; then
 	echo $ac_n "checking for tgoto in -lncurses""... $ac_c" 1>&6
-echo "configure:4519: checking for tgoto in -lncurses" >&5
+echo "configure:4520: checking for tgoto in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'tgoto | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4523,7 +4524,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4527 "configure"
+#line 4528 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4534,7 +4535,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:4538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4564,12 +4565,12 @@ fi
 
 cf_slang_LIBS2="$LIBS"
 echo $ac_n "checking for acos""... $ac_c" 1>&6
-echo "configure:4568: checking for acos" >&5
+echo "configure:4569: checking for acos" >&5
 if eval "test \"`echo '$''{'ac_cv_func_acos'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4573 "configure"
+#line 4574 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char acos(); below.  */
@@ -4592,7 +4593,7 @@ acos();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_acos=yes"
 else
@@ -4611,7 +4612,7 @@ else
   echo "$ac_t""no" 1>&6
 
 echo $ac_n "checking for acos in -lm""... $ac_c" 1>&6
-echo "configure:4615: checking for acos in -lm" >&5
+echo "configure:4616: checking for acos in -lm" >&5
 ac_lib_var=`echo m'_'acos | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4619,7 +4620,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm $LIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4623 "configure"
+#line 4624 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4630,7 +4631,7 @@ int main() {
 acos()
 ; return 0; }
 EOF
-if { (eval echo configure:4634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4670,12 +4671,12 @@ fi
 	cf_cv_have_lib_slang=no
 	cf_libdir=""
 	echo $ac_n "checking for SLtt_get_screen_size""... $ac_c" 1>&6
-echo "configure:4674: checking for SLtt_get_screen_size" >&5
+echo "configure:4675: checking for SLtt_get_screen_size" >&5
 if eval "test \"`echo '$''{'ac_cv_func_SLtt_get_screen_size'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4679 "configure"
+#line 4680 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char SLtt_get_screen_size(); below.  */
@@ -4698,7 +4699,7 @@ SLtt_get_screen_size();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_SLtt_get_screen_size=yes"
 else
@@ -4718,17 +4719,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
-echo "configure:4722: checking for SLtt_get_screen_size in -lslang" >&5
+echo "configure:4723: checking for SLtt_get_screen_size in -lslang" >&5
 		LIBS="-lslang $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 4725 "configure"
+#line 4726 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:4732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_slang=yes
@@ -4755,17 +4756,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/slan
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lslang in $cf_libdir""... $ac_c" 1>&6
-echo "configure:4759: checking for -lslang in $cf_libdir" >&5
+echo "configure:4760: checking for -lslang in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lslang $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 4762 "configure"
+#line 4763 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:4769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4770: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_slang=yes
@@ -4791,7 +4792,7 @@ fi
 
 cf_slang_LIBS3="$LIBS"
 echo $ac_n "checking if we can link slang without termcap""... $ac_c" 1>&6
-echo "configure:4795: checking if we can link slang without termcap" >&5
+echo "configure:4796: checking if we can link slang without termcap" >&5
 if test -n "`echo $cf_slang_LIBS1 | sed -e 's/ //g'`" ; then
 	cf_exclude=`echo ".$cf_slang_LIBS2" | sed -e "s@$cf_slang_LIBS1@@" -e 's@^.@@'`
 else
@@ -4799,14 +4800,14 @@ else
 fi
 LIBS=`echo ".$cf_slang_LIBS3" | sed -e "s@$cf_exclude@@" -e 's@^.@@'`
 cat > conftest.$ac_ext <<EOF
-#line 4803 "configure"
+#line 4804 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:4810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_result=yes
 else
@@ -4823,10 +4824,10 @@ test $cf_result = no && LIBS="$cf_slang_LIBS3"
 esac
 
 eval cf_libdir=$libdir
-cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$ac_default_prefix/@`
+cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$prefix/@ -e s@'^NONE/'@$ac_default_prefix/@`
 
 echo $ac_n "checking for location of config-file""... $ac_c" 1>&6
-echo "configure:4830: checking for location of config-file" >&5
+echo "configure:4831: checking for location of config-file" >&5
 LYNX_CFG_FILE=$cf_libdir/lynx.cfg
 cat >> confdefs.h <<EOF
 #define LYNX_CFG_FILE "$LYNX_CFG_FILE"
@@ -4836,12 +4837,12 @@ echo "$ac_t""$LYNX_CFG_FILE" 1>&6
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:4840: checking for ANSI C header files" >&5
+echo "configure:4841: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4845 "configure"
+#line 4846 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -4849,7 +4850,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4866,7 +4867,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4870 "configure"
+#line 4871 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -4884,7 +4885,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4888 "configure"
+#line 4889 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -4905,7 +4906,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 4909 "configure"
+#line 4910 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4916,7 +4917,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:4920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -4940,12 +4941,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:4944: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:4945: checking whether time.h and sys/time.h may both be included" >&5
 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4949 "configure"
+#line 4950 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -4954,7 +4955,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:4958: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -4979,12 +4980,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:4983: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4984: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4988 "configure"
+#line 4989 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -4992,7 +4993,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4997: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -5017,7 +5018,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:5021: checking for opendir in -ldir" >&5
+echo "configure:5022: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5025,7 +5026,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5029 "configure"
+#line 5030 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5036,7 +5037,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:5040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5058,7 +5059,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:5062: checking for opendir in -lx" >&5
+echo "configure:5063: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -5066,7 +5067,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 5070 "configure"
+#line 5071 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -5077,7 +5078,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:5081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -5115,17 +5116,17 @@ for ac_hdr in \
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5119: checking for $ac_hdr" >&5
+echo "configure:5120: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5124 "configure"
+#line 5125 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5153,13 +5154,13 @@ done
 
 
 echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6
-echo "configure:5157: checking termio.h and termios.h" >&5
+echo "configure:5158: checking termio.h and termios.h" >&5
 if eval "test \"`echo '$''{'cf_cv_termio_and_termios'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 5163 "configure"
+#line 5164 "configure"
 #include "confdefs.h"
 
 #if HAVE_TERMIO_H
@@ -5172,7 +5173,7 @@ int main() {
 putchar (0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:5176: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5177: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_termios=yes
 else
@@ -5195,17 +5196,17 @@ for ac_hdr in sys/wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5199: checking for $ac_hdr" >&5
+echo "configure:5200: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5204 "configure"
+#line 5205 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5209: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5242,17 +5243,17 @@ for ac_hdr in wait.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5246: checking for $ac_hdr" >&5
+echo "configure:5247: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5251 "configure"
+#line 5252 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5256: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5282,17 +5283,17 @@ for ac_hdr in waitstatus.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5286: checking for $ac_hdr" >&5
+echo "configure:5287: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5291 "configure"
+#line 5292 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5296: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5297: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5333,13 +5334,13 @@ fi
 
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:5337: checking for union wait" >&5
+echo "configure:5338: checking for union wait" >&5
 if eval "test \"`echo '$''{'cf_cv_type_unionwait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 5343 "configure"
+#line 5344 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -5350,7 +5351,7 @@ int x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_type_unionwait=no
 	 echo compiles ok w/o union wait 1>&5
@@ -5361,7 +5362,7 @@ else
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 5365 "configure"
+#line 5366 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
@@ -5376,7 +5377,7 @@ union wait x;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5380: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_type_unionwait=yes
 	 echo compiles ok with union wait and possibly macros too 1>&5
@@ -5403,20 +5404,20 @@ EOF
 if test $cf_cv_type_unionwait = yes; then
 
 	echo $ac_n "checking if union wait can be used as wait-arg""... $ac_c" 1>&6
-echo "configure:5407: checking if union wait can be used as wait-arg" >&5
+echo "configure:5408: checking if union wait can be used as wait-arg" >&5
 	if eval "test \"`echo '$''{'cf_cv_arg_union_wait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 		cat > conftest.$ac_ext <<EOF
-#line 5413 "configure"
+#line 5414 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; wait(&x)
 ; return 0; }
 EOF
-if { (eval echo configure:5420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_wait=yes
 else
@@ -5436,20 +5437,20 @@ EOF
 
 
 	echo $ac_n "checking if union wait can be used as waitpid-arg""... $ac_c" 1>&6
-echo "configure:5440: checking if union wait can be used as waitpid-arg" >&5
+echo "configure:5441: checking if union wait can be used as waitpid-arg" >&5
 	if eval "test \"`echo '$''{'cf_cv_arg_union_waitpid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 		cat > conftest.$ac_ext <<EOF
-#line 5446 "configure"
+#line 5447 "configure"
 #include "confdefs.h"
 $cf_wait_headers
 int main() {
 union wait x; waitpid(0, &x, 0)
 ; return 0; }
 EOF
-if { (eval echo configure:5453: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_arg_union_waitpid=yes
 else
@@ -5471,12 +5472,12 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:5475: checking for mode_t" >&5
+echo "configure:5476: checking for mode_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5480 "configure"
+#line 5481 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -5506,12 +5507,12 @@ fi
 
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:5510: checking for pid_t" >&5
+echo "configure:5511: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5515 "configure"
+#line 5516 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -5540,17 +5541,17 @@ fi
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:5544: checking for vfork.h" >&5
+echo "configure:5545: checking for vfork.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5549 "configure"
+#line 5550 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5554: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5555: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5575,18 +5576,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:5579: checking for working vfork" >&5
+echo "configure:5580: checking for working vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
   echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:5585: checking for vfork" >&5
+echo "configure:5586: checking for vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5590 "configure"
+#line 5591 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -5609,7 +5610,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vfork=yes"
 else
@@ -5630,7 +5631,7 @@ fi
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 5634 "configure"
+#line 5635 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -5725,7 +5726,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:5729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_vfork_works=yes
 else
@@ -5749,20 +5750,20 @@ fi
 
 
 echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6
-echo "configure:5753: checking for broken/missing definition of remove" >&5
+echo "configure:5754: checking for broken/missing definition of remove" >&5
 if eval "test \"`echo '$''{'cf_cv_baddef_remove'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 5759 "configure"
+#line 5760 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:5766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_baddef_remove=no
 else
@@ -5770,7 +5771,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 5774 "configure"
+#line 5775 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 		int __unlink(name) { return unlink(name); } 
@@ -5778,7 +5779,7 @@ int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:5782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_baddef_remove=yes
 else
@@ -5811,12 +5812,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5815: checking for $ac_func" >&5
+echo "configure:5816: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5820 "configure"
+#line 5821 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5839,7 +5840,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5844: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5869,12 +5870,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5873: checking for $ac_func" >&5
+echo "configure:5874: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5878 "configure"
+#line 5879 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5897,7 +5898,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5928,12 +5929,12 @@ for ac_func in strstr
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:5932: checking for $ac_func declaration" >&5
+echo "configure:5933: checking for $ac_func declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5937 "configure"
+#line 5938 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -5942,11 +5943,11 @@ extern	int	${ac_func}();
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:5946: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5947: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 5950 "configure"
+#line 5951 "configure"
 #include "confdefs.h"
 #include <string.h>
 int main() {
@@ -5955,7 +5956,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:5959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5960: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -5997,12 +5998,12 @@ for ac_func in getgrgid getgrnam
 do
 
 echo $ac_n "checking for $ac_func declaration""... $ac_c" 1>&6
-echo "configure:6001: checking for $ac_func declaration" >&5
+echo "configure:6002: checking for $ac_func declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_func_decl_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6006 "configure"
+#line 6007 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6013,11 +6014,11 @@ extern	int	${ac_func}();
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:6017: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6018: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 cat > conftest.$ac_ext <<EOF
-#line 6021 "configure"
+#line 6022 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6028,7 +6029,7 @@ int	(*p)() = ${ac_func};
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:6032: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6033: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 eval "ac_cv_func_decl_$ac_func=yes"
@@ -6070,13 +6071,13 @@ done
 
 
 echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6
-echo "configure:6074: checking if TRUE/FALSE are defined" >&5
+echo "configure:6075: checking if TRUE/FALSE are defined" >&5
 if eval "test \"`echo '$''{'cf_cv_bool_defs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 6080 "configure"
+#line 6081 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6085,7 +6086,7 @@ int main() {
 int x = TRUE, y = FALSE
 ; return 0; }
 EOF
-if { (eval echo configure:6089: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6090: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_bool_defs=yes
 else
@@ -6112,13 +6113,13 @@ fi
 
 
 echo $ac_n "checking declaration of errno""... $ac_c" 1>&6
-echo "configure:6116: checking declaration of errno" >&5
+echo "configure:6117: checking declaration of errno" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 6122 "configure"
+#line 6123 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6128,7 +6129,7 @@ int main() {
 long x = (long) errno
 ; return 0; }
 EOF
-if { (eval echo configure:6132: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6133: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'errno'=yes'
 else
@@ -6158,9 +6159,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
 EOF
 
     echo $ac_n "checking existence of errno""... $ac_c" 1>&6
-echo "configure:6162: checking existence of errno" >&5
+echo "configure:6163: checking existence of errno" >&5
         cat > conftest.$ac_ext <<EOF
-#line 6164 "configure"
+#line 6165 "configure"
 #include "confdefs.h"
 
 #undef errno
@@ -6170,7 +6171,7 @@ int main() {
 errno = 2
 ; return 0; }
 EOF
-if { (eval echo configure:6174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6175: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval 'cf_cv_have_'errno'=yes'
 else
@@ -6200,20 +6201,20 @@ EOF
 
 
 echo $ac_n "checking for setlocale()""... $ac_c" 1>&6
-echo "configure:6204: checking for setlocale()" >&5
+echo "configure:6205: checking for setlocale()" >&5
 if eval "test \"`echo '$''{'cf_cv_locale'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 6210 "configure"
+#line 6211 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 setlocale(LC_ALL, "")
 ; return 0; }
 EOF
-if { (eval echo configure:6217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6218: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_locale=yes
 else
@@ -6234,13 +6235,13 @@ EOF
 
 
 echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6
-echo "configure:6238: checking if NGROUPS is defined" >&5
+echo "configure:6239: checking if NGROUPS is defined" >&5
 if eval "test \"`echo '$''{'cf_cv_ngroups'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 6244 "configure"
+#line 6245 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -6254,7 +6255,7 @@ int main() {
 int x = NGROUPS
 ; return 0; }
 EOF
-if { (eval echo configure:6258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=yes
 else
@@ -6262,7 +6263,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 6266 "configure"
+#line 6267 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -6276,7 +6277,7 @@ int main() {
 int x = NGROUPS_MAX
 ; return 0; }
 EOF
-if { (eval echo configure:6280: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=NGROUPS_MAX
 else
@@ -6310,13 +6311,13 @@ for cf_name in sys_nerr sys_errlist
 do
     
 echo $ac_n "checking declaration of $cf_name""... $ac_c" 1>&6
-echo "configure:6314: checking declaration of $cf_name" >&5
+echo "configure:6315: checking declaration of $cf_name" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_$cf_name'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 6320 "configure"
+#line 6321 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -6326,7 +6327,7 @@ int main() {
 long x = (long) $cf_name
 ; return 0; }
 EOF
-if { (eval echo configure:6330: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval 'cf_cv_dcl_'$cf_name'=yes'
 else
@@ -6356,9 +6357,9 @@ cf_result=`echo $cf_result | tr '[a-z]' '[A-Z]'`
 EOF
 
     echo $ac_n "checking existence of $cf_name""... $ac_c" 1>&6
-echo "configure:6360: checking existence of $cf_name" >&5
+echo "configure:6361: checking existence of $cf_name" >&5
         cat > conftest.$ac_ext <<EOF
-#line 6362 "configure"
+#line 6363 "configure"
 #include "confdefs.h"
 
 #undef $cf_name
@@ -6368,7 +6369,7 @@ int main() {
 $cf_name = 2
 ; return 0; }
 EOF
-if { (eval echo configure:6372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval 'cf_cv_have_'$cf_name'=yes'
 else
@@ -6399,13 +6400,13 @@ done
 
 
 echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6
-echo "configure:6403: checking if struct utmp is declared" >&5
+echo "configure:6404: checking if struct utmp is declared" >&5
 if eval "test \"`echo '$''{'cf_cv_have_utmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6409 "configure"
+#line 6410 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -6414,7 +6415,7 @@ int main() {
 struct utmp x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:6418: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=yes
 else
@@ -6422,14 +6423,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 6426 "configure"
+#line 6427 "configure"
 #include "confdefs.h"
 #include <utmpx.h>
 int main() {
 struct utmpx x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:6433: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=utmpx
 else
@@ -6460,13 +6461,13 @@ EOF
 if test $cf_cv_screen != slang ; then
 	
 echo $ac_n "checking if curses supports alternate-character set""... $ac_c" 1>&6
-echo "configure:6464: checking if curses supports alternate-character set" >&5
+echo "configure:6465: checking if curses supports alternate-character set" >&5
 if eval "test \"`echo '$''{'cf_cv_alt_char_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6470 "configure"
+#line 6471 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6475,7 +6476,7 @@ int main() {
 chtype x = acs_map['l']; acs_map['m'] = 0
 ; return 0; }
 EOF
-if { (eval echo configure:6479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_alt_char_set=yes
 else
@@ -6495,13 +6496,13 @@ EOF
 
 	
 echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6
-echo "configure:6499: checking if curses supports fancy attributes" >&5
+echo "configure:6500: checking if curses supports fancy attributes" >&5
 if eval "test \"`echo '$''{'cf_cv_fancy_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6505 "configure"
+#line 6506 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6514,7 +6515,7 @@ attrset(A_UNDERLINE|A_BOLD|A_REVERSE);
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6519: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_fancy_curses=yes
 else
@@ -6534,7 +6535,7 @@ EOF
 
 
 	echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:6538: checking for ncurses version" >&5
+echo "configure:6539: checking for ncurses version" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6559,7 +6560,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:6563: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:6564: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's@^Autoconf @@' -e 's@^[^"]*"@@' -e 's@".*@@'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -6568,7 +6569,7 @@ EOF
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 6572 "configure"
+#line 6573 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6591,7 +6592,7 @@ int main()
 	exit(0);
 }
 EOF
-if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   
 	cf_cv_ncurses_version=`cat $cf_tempfile`
@@ -6611,13 +6612,13 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6
 
 if test "$cf_cv_ncurses_version" != no ; then
 echo $ac_n "checking for obsolete/broken version of ncurses""... $ac_c" 1>&6
-echo "configure:6615: checking for obsolete/broken version of ncurses" >&5
+echo "configure:6616: checking for obsolete/broken version of ncurses" >&5
 if eval "test \"`echo '$''{'cf_cv_ncurses_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 6621 "configure"
+#line 6622 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6631,7 +6632,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:6635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6636: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -6656,13 +6657,13 @@ fi
 
 	
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:6660: checking if curses supports color attributes" >&5
+echo "configure:6661: checking if curses supports color attributes" >&5
 if eval "test \"`echo '$''{'cf_cv_color_curses'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6666 "configure"
+#line 6667 "configure"
 #include "confdefs.h"
 
 #include <$cf_cv_ncurses_header>
@@ -6677,7 +6678,7 @@ chtype x = COLOR_BLUE;
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -6704,7 +6705,7 @@ fi
 
 	
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:6708: checking declaration of size-change" >&5
+echo "configure:6709: checking declaration of size-change" >&5
 if eval "test \"`echo '$''{'cf_cv_sizechange'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6718,7 +6719,7 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 6722 "configure"
+#line 6723 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if HAVE_TERMIOS_H
@@ -6757,7 +6758,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:6761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_sizechange=yes
 else
@@ -6789,20 +6790,20 @@ EOF
 
 	
 echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6
-echo "configure:6793: checking if ttytype is declared in curses library" >&5
+echo "configure:6794: checking if ttytype is declared in curses library" >&5
 if eval "test \"`echo '$''{'cf_cv_have_ttytype'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 	cat > conftest.$ac_ext <<EOF
-#line 6799 "configure"
+#line 6800 "configure"
 #include "confdefs.h"
 #include <$cf_cv_ncurses_header>
 int main() {
 char *x = &ttytype[1]; *x = 1
 ; return 0; }
 EOF
-if { (eval echo configure:6806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_have_ttytype=yes
 else
@@ -6829,12 +6830,12 @@ EOF
 	
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6833: checking for $ac_func" >&5
+echo "configure:6834: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6838 "configure"
+#line 6839 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6857,7 +6858,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6862: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6899,7 +6900,7 @@ EOF
 	EXTRA_DEPS="$EXTRA_DEPS do_chartrans_stuff"
 
 echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6
-echo "configure:6903: checking if color-style code should be used" >&5
+echo "configure:6904: checking if color-style code should be used" >&5
 
 # Check whether --enable-color-style or --disable-color-style was given.
 if test "${enable_color_style+set}" = set; then
@@ -6947,7 +6948,7 @@ EOF
 	echo "$ac_t""curses-style" 1>&6
 
 	echo $ac_n "checking for location of style-sheet file""... $ac_c" 1>&6
-echo "configure:6951: checking for location of style-sheet file" >&5
+echo "configure:6952: checking for location of style-sheet file" >&5
 	LYNX_LSS_FILE=$cf_libdir/lynx.lss
 	cat >> confdefs.h <<EOF
 #define LYNX_LSS_FILE "$LYNX_LSS_FILE"
@@ -6960,7 +6961,7 @@ esac
 
 
 echo $ac_n "checking if you want to use external commands""... $ac_c" 1>&6
-echo "configure:6964: checking if you want to use external commands" >&5
+echo "configure:6965: checking if you want to use external commands" >&5
 
 # Check whether --enable-externs or --disable-externs was given.
 if test "${enable_externs+set}" = set; then
@@ -6984,7 +6985,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use setfont support""... $ac_c" 1>&6
-echo "configure:6988: checking if you want to use setfont support" >&5
+echo "configure:6989: checking if you want to use setfont support" >&5
 
 # Check whether --enable-font-switch or --disable-font-switch was given.
 if test "${enable_font_switch+set}" = set; then
@@ -7007,8 +7008,32 @@ test $use_setfont = yes && cat >> confdefs.h <<\EOF
 EOF
 
 
+echo $ac_n "checking if you want internal-links feature""... $ac_c" 1>&6
+echo "configure:7013: checking if you want internal-links feature" >&5
+
+# Check whether --enable-internal-links or --disable-internal-links was given.
+if test "${enable_internal_links+set}" = set; then
+  enableval="$enable_internal_links"
+  test "$enableval" != no && enableval=yes
+  if test "$enableval" != "yes" ; then
+    use_internal_links=no 
+  else
+    use_internal_links=yes
+  fi
+else
+  enableval=yes 
+  use_internal_links=yes
+  
+fi
+
+echo "$ac_t""$use_internal_links" 1>&6
+test $use_internal_links = no && cat >> confdefs.h <<\EOF
+#define DONT_TRACK_INTERNAL_LINKS 1
+EOF
+
+
 echo $ac_n "checking if you want to fork NSL requests""... $ac_c" 1>&6
-echo "configure:7012: checking if you want to fork NSL requests" >&5
+echo "configure:7037: checking if you want to fork NSL requests" >&5
 
 # Check whether --enable-nsl-fork or --disable-nsl-fork was given.
 if test "${enable_nsl_fork+set}" = set; then
@@ -7032,7 +7057,7 @@ EOF
 
 
 echo $ac_n "checking if you want to underline links""... $ac_c" 1>&6
-echo "configure:7036: checking if you want to underline links" >&5
+echo "configure:7061: checking if you want to underline links" >&5
 
 # Check whether --enable-underlines or --disable-underlines was given.
 if test "${enable_underlines+set}" = set; then
@@ -7056,7 +7081,7 @@ EOF
 
 
 echo $ac_n "checking if you want to use zlib for decompression of some gzip files""... $ac_c" 1>&6
-echo "configure:7060: checking if you want to use zlib for decompression of some gzip files" >&5
+echo "configure:7085: checking if you want to use zlib for decompression of some gzip files" >&5
 
 # Check whether --with-zlib or --without-zlib was given.
 if test "${with_zlib+set}" = set; then
@@ -7073,12 +7098,12 @@ if test ".$use_zlib" != ".no" ; then
 	cf_cv_have_lib_z=no
 	cf_libdir=""
 	echo $ac_n "checking for gzopen""... $ac_c" 1>&6
-echo "configure:7077: checking for gzopen" >&5
+echo "configure:7102: checking for gzopen" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gzopen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7082 "configure"
+#line 7107 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gzopen(); below.  */
@@ -7101,7 +7126,7 @@ gzopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gzopen=yes"
 else
@@ -7121,17 +7146,17 @@ else
 
 		cf_save_LIBS="$LIBS"
 		echo $ac_n "checking for gzopen in -lz""... $ac_c" 1>&6
-echo "configure:7125: checking for gzopen in -lz" >&5
+echo "configure:7150: checking for gzopen in -lz" >&5
 		LIBS="-lz $LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 7128 "configure"
+#line 7153 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:7135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 cf_cv_have_lib_z=yes
@@ -7158,17 +7183,17 @@ test "$prefix" != /usr           && cf_search="$cf_search /usr/lib /usr/lib/z"
 			for cf_libdir in $cf_search
 			do
 				echo $ac_n "checking for -lz in $cf_libdir""... $ac_c" 1>&6
-echo "configure:7162: checking for -lz in $cf_libdir" >&5
+echo "configure:7187: checking for -lz in $cf_libdir" >&5
 				LIBS="-L$cf_libdir -lz $cf_save_LIBS"
 				cat > conftest.$ac_ext <<EOF
-#line 7165 "configure"
+#line 7190 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 int main() {
 gzopen("name","mode")
 ; return 0; }
 EOF
-if { (eval echo configure:7172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 			 		 cf_cv_have_lib_z=yes
@@ -7204,7 +7229,7 @@ fi
 # All DirEd functions that were enabled on compilation can be disabled
 # or modified at run time via DIRED_MENU symbols in lynx.cfg.
 echo $ac_n "checking if directory-editor code should be used""... $ac_c" 1>&6
-echo "configure:7208: checking if directory-editor code should be used" >&5
+echo "configure:7233: checking if directory-editor code should be used" >&5
 
 # Check whether --enable-dired or --disable-dired was given.
 if test "${enable_dired+set}" = set; then
@@ -7230,7 +7255,7 @@ EOF
 
 
 	echo $ac_n "checking if you wish to allow extracting from archives via DirEd""... $ac_c" 1>&6
-echo "configure:7234: checking if you wish to allow extracting from archives via DirEd" >&5
+echo "configure:7259: checking if you wish to allow extracting from archives via DirEd" >&5
 	
 # Check whether --enable-dired-archive or --disable-dired-archive was given.
 if test "${enable_dired_archive+set}" = set; then
@@ -7249,7 +7274,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow users to redefine DirEd keys""... $ac_c" 1>&6
-echo "configure:7253: checking if you wish to allow users to redefine DirEd keys" >&5
+echo "configure:7278: checking if you wish to allow users to redefine DirEd keys" >&5
 	
 # Check whether --enable-dired-override or --disable-dired-override was given.
 if test "${enable_dired_override+set}" = set; then
@@ -7275,7 +7300,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow permissions commands via DirEd""... $ac_c" 1>&6
-echo "configure:7279: checking if you wish to allow permissions commands via DirEd" >&5
+echo "configure:7304: checking if you wish to allow permissions commands via DirEd" >&5
 	
 # Check whether --enable-dired-permit or --disable-dired-permit was given.
 if test "${enable_dired_permit+set}" = set; then
@@ -7301,7 +7326,7 @@ fi
 	echo "$ac_t""$enableval" 1>&6
 
 	echo $ac_n "checking if you wish to allow executable-permission commands via DirEd""... $ac_c" 1>&6
-echo "configure:7305: checking if you wish to allow executable-permission commands via DirEd" >&5
+echo "configure:7330: checking if you wish to allow executable-permission commands via DirEd" >&5
 	
 # Check whether --enable-dired-xpermit or --disable-dired-xpermit was given.
 if test "${enable_dired_xpermit+set}" = set; then
@@ -7319,8 +7344,8 @@ fi
 
 	echo "$ac_t""$enableval" 1>&6
 
-	echo $ac_n "checking if you wish to allow \"tar\" commands from DirEd""... $ac_c" 1>&6
-echo "configure:7324: checking if you wish to allow \"tar\" commands from DirEd" >&5
+	echo $ac_n "checking if you wish to allow "tar" commands from DirEd""... $ac_c" 1>&6
+echo "configure:7349: checking if you wish to allow "tar" commands from DirEd" >&5
 	
 # Check whether --enable-dired-tar or --disable-dired-tar was given.
 if test "${enable_dired_tar+set}" = set; then
@@ -7345,8 +7370,8 @@ fi
 
 	echo "$ac_t""$enableval" 1>&6
 
-	echo $ac_n "checking if you wish to allow \"uudecode\" commands from DirEd""... $ac_c" 1>&6
-echo "configure:7350: checking if you wish to allow \"uudecode\" commands from DirEd" >&5
+	echo $ac_n "checking if you wish to allow "uudecode" commands from DirEd""... $ac_c" 1>&6
+echo "configure:7375: checking if you wish to allow "uudecode" commands from DirEd" >&5
 	
 # Check whether --enable-dired-uudecode or --disable-dired-uudecode was given.
 if test "${enable_dired_uudecode+set}" = set; then
@@ -7371,8 +7396,8 @@ fi
 
 	echo "$ac_t""$enableval" 1>&6
 
-	echo $ac_n "checking if you wish to allow \"zip\" and \"unzip\" commands from DirEd""... $ac_c" 1>&6
-echo "configure:7376: checking if you wish to allow \"zip\" and \"unzip\" commands from DirEd" >&5
+	echo $ac_n "checking if you wish to allow "zip" and "unzip" commands from DirEd""... $ac_c" 1>&6
+echo "configure:7401: checking if you wish to allow "zip" and "unzip" commands from DirEd" >&5
 	
 # Check whether --enable-dired-zip or --disable-dired-zip was given.
 if test "${enable_dired_zip+set}" = set; then
@@ -7397,8 +7422,8 @@ fi
 
 	echo "$ac_t""$enableval" 1>&6
 
-	echo $ac_n "checking if you wish to allow \"gzip\" and \"gunzip\" commands from DirEd""... $ac_c" 1>&6
-echo "configure:7402: checking if you wish to allow \"gzip\" and \"gunzip\" commands from DirEd" >&5
+	echo $ac_n "checking if you wish to allow "gzip" and "gunzip" commands from DirEd""... $ac_c" 1>&6
+echo "configure:7427: checking if you wish to allow "gzip" and "gunzip" commands from DirEd" >&5
 	
 # Check whether --enable-dired-gzip or --disable-dired-gzip was given.
 if test "${enable_dired_gzip+set}" = set; then
@@ -7425,7 +7450,7 @@ fi
 fi
 
 echo $ac_n "checking if you want long-directory listings""... $ac_c" 1>&6
-echo "configure:7429: checking if you want long-directory listings" >&5
+echo "configure:7454: checking if you want long-directory listings" >&5
 
 # Check whether --enable-long-list or --disable-long-list was given.
 if test "${enable_long_list+set}" = set; then
@@ -7451,7 +7476,7 @@ fi
 echo "$ac_t""$enableval" 1>&6
 
 echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6
-echo "configure:7455: checking if parent-directory references are permitted" >&5
+echo "configure:7480: checking if parent-directory references are permitted" >&5
 
 # Check whether --enable-parent-dir-refs or --disable-parent-dir-refs was given.
 if test "${enable_parent_dir_refs+set}" = set; then
diff --git a/configure.in b/configure.in
index dfef6c10..12c2889e 100644
--- a/configure.in
+++ b/configure.in
@@ -283,7 +283,7 @@ esac
 dnl Get the actual value for $libdir, which we will compile into Lynx as part of
 dnl the config pathnames.
 eval cf_libdir=$libdir
-cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$ac_default_prefix/@`
+cf_libdir=`echo $cf_libdir | sed -e s@'^NONE/'@$prefix/@ -e s@'^NONE/'@$ac_default_prefix/@`
 
 AC_MSG_CHECKING(for location of config-file)
 LYNX_CFG_FILE=$cf_libdir/lynx.cfg
@@ -443,6 +443,14 @@ CF_ARG_ENABLE(font-switch,
 AC_MSG_RESULT($use_setfont)
 test $use_setfont = yes && AC_DEFINE(EXP_CHARTRANS_AUTOSWITCH)
 
+AC_MSG_CHECKING(if you want internal-links feature)
+CF_ARG_DISABLE(internal-links,
+[  --disable-internal-links handle following links to same doc differently],
+	[use_internal_links=no],
+	[use_internal_links=yes])
+AC_MSG_RESULT($use_internal_links)
+test $use_internal_links = no && AC_DEFINE(DONT_TRACK_INTERNAL_LINKS)
+
 AC_MSG_CHECKING(if you want to fork NSL requests)
 CF_ARG_ENABLE(nsl-fork,
 [  --enable-nsl-fork       fork NSL requests, allowing them to be aborted],
@@ -513,37 +521,37 @@ if test ".$use_dired" != ".no" ; then
 	[  --disable-dired-xpermit disable chmod/attrib commands],[AC_DEFINE(NO_CHANGE_EXECUTE_PERMS)])
 	AC_MSG_RESULT($enableval)
 
-	AC_MSG_CHECKING(if you wish to allow \"tar\" commands from DirEd)
+	AC_MSG_CHECKING(if you wish to allow "tar" commands from DirEd)
 	CF_ARG_DISABLE(dired-tar,
-	[  --disable-dired-tar     disable \"tar\" command],,[AC_DEFINE(OK_TAR)])
+	[  --disable-dired-tar     disable "tar" command],,[AC_DEFINE(OK_TAR)])
 	AC_MSG_RESULT($enableval)
 
-	AC_MSG_CHECKING(if you wish to allow \"uudecode\" commands from DirEd)
+	AC_MSG_CHECKING(if you wish to allow "uudecode" commands from DirEd)
 	CF_ARG_DISABLE(dired-uudecode,
-	[  --disable-dired-uudecode disable \"uudecode\" command],,[AC_DEFINE(OK_UUDECODE)])
+	[  --disable-dired-uudecode disable "uudecode" command],,[AC_DEFINE(OK_UUDECODE)])
 	AC_MSG_RESULT($enableval)
 
-	AC_MSG_CHECKING(if you wish to allow \"zip\" and \"unzip\" commands from DirEd)
+	AC_MSG_CHECKING(if you wish to allow "zip" and "unzip" commands from DirEd)
 	CF_ARG_DISABLE(dired-zip,
-	[  --disable-dired-zip     disable \"zip\", \"unzip\"  commands],,[AC_DEFINE(OK_ZIP)])
+	[  --disable-dired-zip     disable "zip", "unzip"  commands],,[AC_DEFINE(OK_ZIP)])
 	AC_MSG_RESULT($enableval)
 
-	AC_MSG_CHECKING(if you wish to allow \"gzip\" and \"gunzip\" commands from DirEd)
+	AC_MSG_CHECKING(if you wish to allow "gzip" and "gunzip" commands from DirEd)
 	CF_ARG_DISABLE(dired-gzip,
-	[  --disable-dired-gzip    disable \"gzip\", \"gunzip\" commands],,[AC_DEFINE(OK_GZIP)])
+	[  --disable-dired-gzip    disable "gzip", "gunzip" commands],,[AC_DEFINE(OK_GZIP)])
 	AC_MSG_RESULT($enableval)
 fi
 
 AC_MSG_CHECKING(if you want long-directory listings)
 CF_ARG_DISABLE(long-list,
-[  --disable-long-list     disable long \"ls -l\" directory listings],,
+[  --disable-long-list     disable long "ls -l" directory listings],,
 	[AC_DEFINE(LONG_LIST)])
 AC_MSG_RESULT($enableval)
 
 AC_MSG_CHECKING(if parent-directory references are permitted)
 CF_ARG_DISABLE(parent-dir-refs,
 [  --disable-parent-dir-refs
-                          disable \"Up-to\" links in directory listings],
+                          disable "Up-to" links in directory listings],
 	[AC_DEFINE(NO_PARENT_DIR_REFERENCE)])
 AC_MSG_RESULT($enableval)
 
diff --git a/lynx.cfg b/lynx.cfg
index 186f9b2a..57560cd0 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -197,11 +197,9 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #    DosGreek2 (cp869)			cp869
 #    DosHebrew (cp862)			cp862
 #    DosLatin1 (cp850)			cp850
+#    DosLatin2 (cp852)			cp852
 #    DosLatinUS (cp437)			cp437
-#    IBM PC character set		cp437
-#    IBM PC codepage 850		cp850
 #    ISO 8859-10			iso-8859-10
-#    ISO 8859-5 Cyrillic		iso-8859-5
 #    ISO 8859-6 Arabic			iso-8859-6
 #    ISO 8859-7 Greek			iso-8859-7
 #    ISO 8859-8 Hebrew			iso-8859-8
@@ -210,31 +208,30 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #    ISO Latin 2			iso-8859-2
 #    ISO Latin 3			iso-8859-3
 #    ISO Latin 4			iso-8859-4
+#    ISO Latin 5 Cyrillic		iso-8859-5
 #    Japanese (EUC)			euc-jp
 #    Japanese (SJIS)			shift_jis
 #    KOI8-R Cyrillic			koi8-r
 #    Korean				euc-kr
 #    Macintosh (8 bit)			macintosh
-#    NeXT character set			x-next
+#    NeXT character set			next
 #    Other ISO Latin			x-iso-8859-other
-#    PC Latin2 CP 852			cp852
 #    RFC 1345 Mnemonic			mnemonic
 #    RFC 1345 w/o Intro			mnemonic+ascii+0
 #    Taipei (Big5)			big5
 #    Transparent			x-transparent
 #    UNICODE UTF 8			utf-8
 #    Vietnamese (VISCII)		viscii
-#    WinArabic (cp1256)			cp1256
-#    WinBaltRim (cp1257)		cp1257
-#    WinCyrillic (cp1251)		cp1251
-#    WinGreek (cp1253)			cp1253
-#    WinHebrew (cp1255)			cp1255
-#    WinLatin1 (cp1252)			cp1252
-#    WinLatin2 (cp1250)			cp1250
+#    WinArabic (cp1256)			windows-1256
+#    WinBaltRim (cp1257)		windows-1257
+#    WinCyrillic (cp1251)		windows-1251
+#    WinGreek (cp1253)			windows-1253
+#    WinHebrew (cp1255)			windows-1255
+#    WinLatin1 (cp1252)			windows-1252
+#    WinLatin2 (cp1250)			windows-1250
 #
 #CHARACTER_SET:ISO Latin 1
 
-# IF compiled with -DEXP_CHARTRANS:
 # ASSUME_CHARSET changes the handling of documents which do not
 # explicitly specify a charset.  Normally Lynx assumes that 8-bit
 # characters in those documents are encoded according to iso-8859-1
@@ -248,7 +245,6 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #
 #ASSUME_CHARSET:iso-8859-1
 
-# IF compiled with -DEXP_CHARTRANS:
 # ASSUME_LOCAL_CHARSET is like ASSUME_CHARSET but only applies to local
 # files.  If no setting is given here or by an -assume_local_charset
 # command line option, the value for ASSUME_CHARSET or -assume_charset 
@@ -259,7 +255,6 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 # 
 #ASSUME_LOCAL_CHARSET:iso-8859-1
 
-# IF compiled with -DEXP_CHARTRANS:
 # If Lynx encounters a charset parameter it doesn't recognize, it will
 # replace the value given by ASSUME_UNREC_CHARSET (or a corresponding
 # -assume_unrec_charset command line option) for it.  This can be used
diff --git a/lynx.hlp b/lynx.hlp
index 621d16e2..6770ada0 100644
--- a/lynx.hlp
+++ b/lynx.hlp
@@ -417,7 +417,7 @@
  o Type "k" for a complete list of the current key-stroke command mappings.
 
 2 NOTES
- This is the Lynx v2.7.1 Release for Unix/VMS
+ This is the Lynx v2.7.2 Release for Unix/VMS
 
  If you wish to contribute to the further development of Lynx, subscribe
  to our mailing list.  Send email to <majordomo@sig.net> with
@@ -444,7 +444,7 @@
  ported much of Lynx to VMS and did or organized most of its development
  since the departures of Lou Montulli and Garrett Blythe from the
  University of Kansas in the summer of 1994 through the current release
- of v2.7.1, and to everyone on the net who has contributed to Lynx's
+ of v2.7.2, and to everyone on the net who has contributed to Lynx's
  development either directly (through patches, comments or bug reports)
  or indirectly (through inspiration and development of other systems).
 
diff --git a/lynx.man b/lynx.man
index bd29751f..b67662d7 100644
--- a/lynx.man
+++ b/lynx.man
@@ -488,7 +488,7 @@ of key-stroke commands.
 o Type \fB"k"\fR for a complete list of the current key-stroke 
 command mappings.
 .SH NOTES
-This is the Lynx v2.7.1 Release for Unix/VMS
+This is the Lynx v2.7.2 Release for Unix/VMS
 .PP
 If you wish to contribute to the further development
 of \fILynx\fR, subscribe to our mailing list.  Send email to
@@ -513,7 +513,7 @@ Lynx rely on the WWW client library code developed by Tim Berners-Lee
 and the WWW community.  Also a special thanks to Foteos Macrides who ported
 much of Lynx to VMS and did or organized most of its development since the
 departures of Lou Montulli and Garrett Blythe from the University of Kansas
-in the summer of 1994 through the current release of v2.7.1, and to everyone
+in the summer of 1994 through the current release of v2.7.2, and to everyone
 on the net who has contributed to Lynx's development either directly (through
 patches, comments or bug reports) or indirectly (through inspiration and
 development of other systems).
diff --git a/lynx_help/Lynx_users_guide.html b/lynx_help/Lynx_users_guide.html
index cd0c36d0..e3e368cf 100644
--- a/lynx_help/Lynx_users_guide.html
+++ b/lynx_help/Lynx_users_guide.html
@@ -1,12 +1,12 @@
 <!DOCTYPE html public "-//IETF//DTD HTML 3.0//EN">
 <html>
 <head>
-<title>Lynx Users Guide v2.7.1</title>
+<title>Lynx Users Guide v2.7.2</title>
 <link rev="made" href="mailto:lynx-dev@sig.net">
 </head>
 
 <body>
-<h1>Lynx Users Guide v2.7.1</h1>
+<h1>Lynx Users Guide v2.7.2</h1>
 
 Lynx is a fully-featured <em>World Wide Web</em> (<em>WWW</em>) client
 for users running cursor-addressable, character-cell display devices (e.g.,
@@ -94,6 +94,10 @@ all be used to display an arbitrary ASCII text or HTML file:
   <dd><code>lynx ~/filename</code>
   <dd><code>lynx sys$login:filename</code>
   <dd><code>lynx /sys$login/filename</code>
+ <dt>Win32/DOS
+  <dd><code>lynx filename [???]</code>
+  <dd><code>lynx C:/dir/filename [???]</code>
+  <dd><code>lynx //n/dir/filename [???]</code>
 </dl>
 
 <p>When executed, Lynx will clear the screen and display as much of the
@@ -231,6 +235,8 @@ environment variable,
      </dl>
    <dt>VMS
       <dd><code>define "WWW_HOME" "http://www.w3.org/"</code>
+   <dt>win32
+      <dd><code>WWW_HOME=http://www.w3.org/ [or in registry]</code>
 </dl>  
 
 Note that on VMS the double-quoting <em>must</em> be included to preserve
@@ -550,6 +556,7 @@ return to Lynx or the '<em>&gt;</em>' command to save the options to a
 	    must already exist.  Note that on VMS you should use the URL
 	    syntax for the filepath (e.g., <em>not</em>
 	    [.BM]lynx_bookmarks.html).
+	    For Win32, see [???].
 
    <dt>FTP sort criteria
 	<dd>This option allows you to specify how files will be sorted
@@ -746,7 +753,7 @@ return to Lynx or the '<em>&gt;</em>' command to save the options to a
 	<dd>The header string which Lynx sends to servers to indicate the
 	    User-Agent is displayed here.  Changes may be disallowed via
 	    the <em>-restrictions</em> switch.  Otherwise, the header can be
-	    changed temporarily to a string such as <em>L_y_n_x/2.7.1</em>
+	    changed temporarily to a string such as <em>L_y_n_x/2.7.2</em>
 	    for access to sites which discriminate against Lynx based on
 	    checks for the presence of &quot;Lynx&quot; in the header. If
 	    changed during a Lynx session, the default User-Agent header can
@@ -1035,6 +1042,7 @@ commands.
 	    <em>exit</em> under Unix and <em>logout</em> under VMS).  This
 	    command is usually disabled for anonymous users.  On VMS,
 	    '<em>$</em>' normally is a synonym.
+            On Win32, this has no effect [???].
    <dt><em>g</em>
   	<dd>The '<em>g</em>' command allows any URL to be viewed.  Pressing
   	    the '<em>g</em>' command will bring up a prompt asking for a URL.
@@ -1807,7 +1815,9 @@ href="keystrokes/cookie_help.html">Cookie Jar Page</a>.
 A summary of the Lynx command line options (switches) is returned to
 stdout if Lynx is invoked with the <em>-help</em> switch.  A description
 of the options also should be available via the system man (Unix) pages
-or help (VMS) libraries.  The basic syntax of the Lynx command line can
+or help (VMS) libraries.  On Win32, typing lynx -help in a DOS window
+should display similarly.
+The basic syntax of the Lynx command line can
 be represented as one of the following:
 
 <dl>
@@ -1846,7 +1856,7 @@ where
 		    keyboard input terminated with <em>Control-Z</em> or the
 		    command file input terminated by a line that begins
 		    with '<em>$</em>'.  On Unix, the keyboard input terminator
-		    is <em>Control-D</em>.
+		    is <em>Control-D</em>.  On Win32, [???].
    	     <dt><code>-anonymous</code>
     		<dd>used to specify the anonymous account.
    	     <dt><code>-assume_charset=MIMEname</code>
@@ -2247,12 +2257,20 @@ implemented by Lou Montulli and maintained by Garrett Arch Blythe and
 Craig Lavender.
 
 <p><em>Foteos Macrides</em> and members of the
-<a href="lynx-dev.html">lynx-dev</a> list have developed and supported Lynx since release of v2.3
-in May 1994. The Lynx2-3FM code set was released as v2.4 in June 1995.
-The Lynx2-4FM code set was released as v2.5 in May 1996. The Lynx2-5FM
-code set was released as v2.6 in September 1996. The Lynx2-6FM code set
-was released as v2.7 in February 1997, and v2.7.1 with bug fixes for v2.7
-was released in April 1997.
+<a href="lynx-dev.html">lynx-dev</a> list have developed and supported Lynx
+since release of v2.3 in May 1994.
+The Lynx2-3FM code set was released as v2.4 in June 1995.
+The Lynx2-4FM code set was released as v2.5 in May 1996.
+The Lynx2-5FM code set was released as v2.6 in September 1996.
+The Lynx2-6FM code set was released as v2.7 in February 1997.
+The v2-7FM code set was released as v2.7.1 in April 1997.
+The v2-7-1FM code set was released as v2.7.2 in January 1998.
+
+<p>Since early 1997, the Lynx code has expanded into autoconfigure and
+PC versions.  The branching of the Lynx source base from a single
+source into two sources (FM/Foteos Macrides and ac/autoconfigure)
+should be considered a healthy synergism among groups of computer
+professionals acting in their spare time out of a common goal.
 
 <p>Lynx has incorporated code from a variety of sources along the
 way.  The earliest versions of Lynx included code from Earl Fogel
@@ -2263,8 +2281,12 @@ the University of Minnesota, and the later versions of Lynx rely
 on the WWW client library code developed by Tim Berners-Lee (and
 others) and the WWW community.
 
+<p>Contributors have generally been acknowledged in the CHANGES
+file.  Earlier CHANGES file can be found in the docs/ subdirectory
+of this distribution.
+
 <p>Information on obtaining the most current version of Lynx is available
-via <a href="http://www.crl.com/~subir/lynx.html">Lynx links</a>.
+at <a href="http://www.slcc.edu/lynx/current/index.html">the current distribution page</a>.
 
 <p>[<A HREF="#TOC">ToC</A>]
 </body>
diff --git a/lynx_help/keystrokes/option_help.html b/lynx_help/keystrokes/option_help.html
index c54b52e0..2ef8151c 100644
--- a/lynx_help/keystrokes/option_help.html
+++ b/lynx_help/keystrokes/option_help.html
@@ -230,7 +230,7 @@
                            to indicate the User-Agent is displayed here.
                            Changes may be disallowed via the -restrictions
                            switch.  Otherwise, the header can be changed
-                           temporarily to a string such as L_y_n_x/2.7.1 for
+                           temporarily to a string such as L_y_n_x/2.7.2 for
                            access to sites which discriminate against Lynx
                            based on checks for the presence of "Lynx" in the
                            header. If changed during a Lynx session, the
diff --git a/lynx_help/lynx_url_support.html b/lynx_help/lynx_url_support.html
index 154371e1..27f069ab 100644
--- a/lynx_help/lynx_url_support.html
+++ b/lynx_help/lynx_url_support.html
@@ -249,8 +249,7 @@ System protocol.  The format is:<BR>
 where <em>:port</em> defaults to <em>:210</em>
 
 <p>Direct wais support is built into Lynx for VMS, and can be compiled
-into Lynx on Unix.  If direct wais support is not available, Lynx uses
-the W3C wais gateway.
+into Lynx on Unix.
 
 <p>If only a <em>database</em> is indicated in the URL, Lynx returns
 an ISINDEX cover page for searching that <em>database</em>, and will
diff --git a/makefile.in b/makefile.in
index 824dc39f..24515496 100644
--- a/makefile.in
+++ b/makefile.in
@@ -20,9 +20,9 @@ INSTALL_PROGRAM	= @INSTALL_PROGRAM@
 INSTALL_DATA	= @INSTALL_DATA@
 
 ##this is the name of the directory the lynx source code is in.
-##(e.g. lynx2-7-1, not the full path)
-lynxdir= lynx2-7-1
-lynxname= lynx2-7-1
+##(e.g. lynx2-7-2, not the full path)
+lynxdir= lynx2-7-2
+lynxname= lynx2-7-2
 
 ## Where you want lynx installed
 bindir= @bindir@
@@ -101,7 +101,6 @@ SITE_LYDEFS = # Your defines here
 SITE_DEFS = # Your defines here
 
 # defines for which there are no configure options:
-# -DDONT_TRACK_INTERNAL_LINKS - Handle following links to same doc differently.
 # -DHP_TERMINAL    For DIM workaround to REVERSE problems on HP terminals.
 # -DIGNORE_CTRL_C  Define if Control-C shouldn't exit lynx.
 # -DNOPORT         if you must use PASV instead of PORT for FTP
@@ -240,7 +239,9 @@ compress: tar
 	cd ..; rm -f $(lynxname).tar.Z; compress -f -v $(lynxname).tar
 
 install: lynx install-bin install-man install-cfg @INSTALL_LSS@
-	@echo Use $(MAKE) install-help to install the help-files
+	@echo
+	@echo "Use $(MAKE) install-help to install the help-files"
+	@echo
 
 install-bin: $(bindir)
 	-mv -f $(bindir)/lynx $(bindir)/lynx.old
@@ -255,7 +256,7 @@ install-help : $(helpdir)
 	(cd $(srcdir) && tar cf - C[HO]* PROBLEMS README samples test ) | \
 			       ( cd $(helpdir) && tar xf - )
 
-install-cfg :
+install-cfg : $(libdir)
 	-mv -f $(libdir)/lynx.cfg $(libdir)/lynx.oldcfg
 	sed	-e '/^HELPFILE:http/s@^@#@' \
 		-e '/^#HELPFILE:file/s@#@@' \
@@ -263,7 +264,7 @@ install-cfg :
 		$(srcdir)/lynx.cfg >$(libdir)/lynx.cfg
 	chmod 0644 $(libdir)/lynx.cfg
 
-install-lss :
+install-lss : $(libdir)
 	-mv -f $(libdir)/lynx.lss $(libdir)/lynx.oldlss
 	$(INSTALL_DATA) $(srcdir)/samples/lynx.lss $(libdir)/lynx.lss
 
diff --git a/samples/lynx.cfg b/samples/lynx.cfg
index 186f9b2a..57560cd0 100644
--- a/samples/lynx.cfg
+++ b/samples/lynx.cfg
@@ -197,11 +197,9 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #    DosGreek2 (cp869)			cp869
 #    DosHebrew (cp862)			cp862
 #    DosLatin1 (cp850)			cp850
+#    DosLatin2 (cp852)			cp852
 #    DosLatinUS (cp437)			cp437
-#    IBM PC character set		cp437
-#    IBM PC codepage 850		cp850
 #    ISO 8859-10			iso-8859-10
-#    ISO 8859-5 Cyrillic		iso-8859-5
 #    ISO 8859-6 Arabic			iso-8859-6
 #    ISO 8859-7 Greek			iso-8859-7
 #    ISO 8859-8 Hebrew			iso-8859-8
@@ -210,31 +208,30 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #    ISO Latin 2			iso-8859-2
 #    ISO Latin 3			iso-8859-3
 #    ISO Latin 4			iso-8859-4
+#    ISO Latin 5 Cyrillic		iso-8859-5
 #    Japanese (EUC)			euc-jp
 #    Japanese (SJIS)			shift_jis
 #    KOI8-R Cyrillic			koi8-r
 #    Korean				euc-kr
 #    Macintosh (8 bit)			macintosh
-#    NeXT character set			x-next
+#    NeXT character set			next
 #    Other ISO Latin			x-iso-8859-other
-#    PC Latin2 CP 852			cp852
 #    RFC 1345 Mnemonic			mnemonic
 #    RFC 1345 w/o Intro			mnemonic+ascii+0
 #    Taipei (Big5)			big5
 #    Transparent			x-transparent
 #    UNICODE UTF 8			utf-8
 #    Vietnamese (VISCII)		viscii
-#    WinArabic (cp1256)			cp1256
-#    WinBaltRim (cp1257)		cp1257
-#    WinCyrillic (cp1251)		cp1251
-#    WinGreek (cp1253)			cp1253
-#    WinHebrew (cp1255)			cp1255
-#    WinLatin1 (cp1252)			cp1252
-#    WinLatin2 (cp1250)			cp1250
+#    WinArabic (cp1256)			windows-1256
+#    WinBaltRim (cp1257)		windows-1257
+#    WinCyrillic (cp1251)		windows-1251
+#    WinGreek (cp1253)			windows-1253
+#    WinHebrew (cp1255)			windows-1255
+#    WinLatin1 (cp1252)			windows-1252
+#    WinLatin2 (cp1250)			windows-1250
 #
 #CHARACTER_SET:ISO Latin 1
 
-# IF compiled with -DEXP_CHARTRANS:
 # ASSUME_CHARSET changes the handling of documents which do not
 # explicitly specify a charset.  Normally Lynx assumes that 8-bit
 # characters in those documents are encoded according to iso-8859-1
@@ -248,7 +245,6 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 #
 #ASSUME_CHARSET:iso-8859-1
 
-# IF compiled with -DEXP_CHARTRANS:
 # ASSUME_LOCAL_CHARSET is like ASSUME_CHARSET but only applies to local
 # files.  If no setting is given here or by an -assume_local_charset
 # command line option, the value for ASSUME_CHARSET or -assume_charset 
@@ -259,7 +255,6 @@ DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
 # 
 #ASSUME_LOCAL_CHARSET:iso-8859-1
 
-# IF compiled with -DEXP_CHARTRANS:
 # If Lynx encounters a charset parameter it doesn't recognize, it will
 # replace the value given by ASSUME_UNREC_CHARSET (or a corresponding
 # -assume_unrec_charset command line option) for it.  This can be used
diff --git a/src/GridText.c b/src/GridText.c
index 2b8fa027..b7080263 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -12,6 +12,8 @@
 #include "HTTP.h"
 #include "HTAlert.h"
 #include "HTCJK.h"
+#include "UCDefs.h"
+#include "UCAux.h"
 
 #include <assert.h>
 #include <ctype.h>
@@ -33,8 +35,6 @@
 #include "LYList.h"
 #include "LYCharSets.h"
 #include "LYCharUtils.h"	/* LYUCTranslateBack... */
-#include "UCDefs.h"
-#include "UCAux.h"
 #include "UCMap.h"
 #ifdef EXP_CHARTRANS_AUTOSWITCH
 #include "UCAuto.h"
@@ -82,10 +82,8 @@ extern HTCJKlang HTCJK;
 */
 extern HTStyleSheet * styleSheet;	/* Default or overridden */
 
-extern int display_lines; /* number of lines in display */
-
 /*	Exports
-*/ 
+*/
 PUBLIC HText * HTMainText = NULL;		/* Equivalent of main window */
 PUBLIC HTParentAnchor * HTMainAnchor = NULL;	/* Anchor for HTMainText */
 
@@ -112,10 +110,10 @@ PUBLIC BOOLEAN bold_on      = OFF;
 #define MAX_STYLES_ON_LINE 64
 
 typedef struct _stylechange {
-        int     horizpos;       /* horizontal position of this change */
-        int     style;          /* which style to change to */
-        int     direction;      /* on or off */
-        int     previous;       /* previous style */
+	int	horizpos;	/* horizontal position of this change */
+	int	style;		/* which style to change to */
+	int	direction;	/* on or off */
+	int	previous;	/* previous style */
 } HTStyleChange;
 #endif
 
@@ -176,12 +174,12 @@ struct _HText {
 	BOOL			toolbar;	/* Toolbar set? */
 	HTList *		tabs;		/* TAB IDs */
 	HTList *		hidden_links;	/* Content-less links ... */
-        int			hiddenlinkflag;	/*  ... and how to treat them */
+	int			hiddenlinkflag; /*  ... and how to treat them */
 	BOOL			no_cache;	/* Always refresh? */
-	char			LastChar;	/* For aborbing white space */
+	char			LastChar;	/* For absorbing white space */
 	BOOL			IgnoreExcess;	/* Ignore chars at wrap point */
 
-/* For Internal use: */	
+/* For Internal use: */
 	HTStyle *		style;			/* Current style */
 	int			display_on_the_fly;	/* Lines left */
 	int			top_of_screen;		/* Line number */
@@ -199,15 +197,15 @@ struct _HText {
 				state;			/* Escape sequence? */
 	char			kanji_buf;		/* Lead multibyte */
 	int			in_sjis;		/* SJIS flag */
-        int			halted;			/* emergency halt */
+	int			halted; 		/* emergency halt */
 
 	BOOL			have_8bit_chars;   /* Any non-ASCII chars? */
 	LYUCcharset *		UCI;		   /* node_anchor UCInfo */
 	int			UCLYhndl;	   /* charset we are fed */
 	UCTransParams		T;
 
-        HTStream *		target;                 /* Output stream */
-        HTStreamClass		targetClass;            /* Output routines */
+	HTStream *		target; 		/* Output stream */
+	HTStreamClass		targetClass;		/* Output routines */
 };
 
 PRIVATE void HText_AddHiddenLink PARAMS((HText *text, TextAnchor *textanchor));
@@ -231,8 +229,8 @@ PRIVATE int ctrl_chars_on_this_line = 0; /* num of ctrl chars in current line */
 PRIVATE HTStyle default_style =
 	{ 0,  "(Unstyled)", "",
 	(HTFont)0, 1, HT_BLACK,		0, 0,
-	0, 0, 0, HT_LEFT,		1, 0,	0, 
-	NO, NO, 0, 0,			0 };	
+	0, 0, 0, HT_LEFT,		1, 0,	0,
+	NO, NO, 0, 0,			0 };
 
 
 
@@ -320,17 +318,17 @@ PRIVATE void * LY_check_calloc ARGS2(
 	    t = NULL;		/* shouldn't happen */
 	if (TRACE) {
 	    fprintf(stderr,
-		    "\r *** Emergeny freeing document %d/%d for '%s'%s!\n",
+		    "\r *** Emergency freeing document %d/%d for '%s'%s!\n",
 		    i + 1, n,
 		    ((t && t->node_anchor &&
 		      t->node_anchor->address) ?
 		     t->node_anchor->address : "unknown anchor"),
 		    ((t && t->node_anchor &&
-		      t->node_anchor->post_data) ?	
+		      t->node_anchor->post_data) ?
 		     " with POST data" : ""));
 	}
 	HTList_removeObjectAt(loaded_texts, i);
-        HText_free(t);
+	HText_free(t);
 	if (mem_is_avail(4, nmemb * size)) {
 	    return (calloc(nmemb, size));
 	}
@@ -410,12 +408,12 @@ PUBLIC HText *	HText_new ARGS1(
     HTLine * line = NULL;
     HText * self = (HText *) calloc(1, sizeof(*self));
     if (!self)
-        return self;
-    
+	return self;
+
 #if defined(VMS) && defined (VAXC) && !defined(__DECC)
     status = lib$stat_vm(&VMType, &VMTotal);
     if (TRACE)
-        fprintf(stderr, "GritText: VMTotal = %d\n", VMTotal);
+	fprintf(stderr, "GridText: VMTotal = %d\n", VMTotal);
 #endif /* VMS && VAXC && !__DECC */
 
     if (!loaded_texts)	{
@@ -427,13 +425,13 @@ PUBLIC HText *	HText_new ARGS1(
      *  Links between anchors & documents are a 1-1 relationship. If
      *  an anchor is already linked to a document we didn't call
      *  HTuncache_current_document(), e.g., for the showinfo, options,
-     *  dowload, print, etc., temporary file URLs, so we'll check now
+     *  download, print, etc., temporary file URLs, so we'll check now
      *  and free it before reloading. - Dick Wesseling (ftu@fi.ruu.nl)
      */
     if (anchor->document) {
        HTList_removeObject(loaded_texts, anchor->document);
        if (TRACE)
-           fprintf(stderr, "GridText: Auto-uncaching\n") ;
+	   fprintf(stderr, "GridText: Auto-uncaching\n") ;
        ((HText *)anchor->document)->node_anchor = NULL;
        HText_free((HText *)anchor->document);
        anchor->document = NULL;
@@ -442,23 +440,23 @@ PUBLIC HText *	HText_new ARGS1(
     HTList_addObject(loaded_texts, self);
 #if defined(VMS) && defined(VAXC) && !defined(__DECC)
     while (HTList_count(loaded_texts) > HTCacheSize &&
-    	   VMTotal > HTVirtualMemorySize) {
+	   VMTotal > HTVirtualMemorySize) {
 #else
     if (HTList_count(loaded_texts) > HTCacheSize) {
 #endif /* VMS && VAXC && !__DECC */
-        if (TRACE)
-	    fprintf(stderr, "GridText: Freeing off cached doc.\n"); 
-        HText_free((HText *)HTList_removeFirstObject(loaded_texts));
+	if (TRACE)
+	    fprintf(stderr, "GridText: Freeing off cached doc.\n");
+	HText_free((HText *)HTList_removeFirstObject(loaded_texts));
 #if defined(VMS) && defined (VAXC) && !defined(__DECC)
-        status = lib$stat_vm(&VMType, &VMTotal);
-        if (TRACE)
-            fprintf(stderr, "GridText: VMTotal reduced to %d\n", VMTotal);
+	status = lib$stat_vm(&VMType, &VMTotal);
+	if (TRACE)
+	    fprintf(stderr, "GridText: VMTotal reduced to %d\n", VMTotal);
 #endif /* VMS && VAXC && !__DECC */
     }
-    
+
     line = self->last_line = (HTLine *)calloc(1, LINE_SIZE(MAX_LINE));
     if (line == NULL)
-        outofmem(__FILE__, "HText_New");
+	outofmem(__FILE__, "HText_New");
     line->next = line->prev = line;
     line->offset = line->size = 0;
 #ifdef USE_COLOR_STYLE
@@ -484,14 +482,14 @@ PUBLIC HText *	HText_new ARGS1(
 	self->hiddenlinkflag = LYHiddenLinks;
     self->hidden_links = NULL;
     self->no_cache = ((anchor->no_cache || anchor->post_data) ?
-    							  YES : NO);
+							  YES : NO);
     self->LastChar = '\0';
     self->IgnoreExcess = FALSE;
 
     if (HTOutputFormat == WWW_SOURCE)
-        self->source = YES;
+	self->source = YES;
     else
-        self->source = NO;
+	self->source = NO;
     HTAnchor_setDocument(anchor, (HyperDoc *)self);
     HTFormNumber = 0;  /* no forms started yet */
     HTMainText = self;
@@ -512,7 +510,7 @@ PUBLIC HText *	HText_new ARGS1(
      *  Check the kcode setting if the anchor has a charset element. - FM
      */
     if (anchor->charset)
-        HText_setKcode(self, anchor->charset,
+	HText_setKcode(self, anchor->charset,
 		       HTAnchor_getUCInfoStage(anchor, UCT_STAGE_HTEXT));
 
     /*
@@ -520,25 +518,25 @@ PUBLIC HText *	HText_new ARGS1(
      *  05-29-94 Lynx 2-3-1 Garrett Arch Blythe
      *	Check to see if our underline and star_string need initialization
      *		if the underline is not filled with dots.
-     */ 
+     */
     if (underscore_string[0] != '.') {
 	/*
 	 *  Create an array of dots for the UNDERSCORES macro. - FM
 	 */
 	memset(underscore_string, '.', (MAX_LINE-1));
-        underscore_string[(MAX_LINE-1)] = '\0';
-        underscore_string[MAX_LINE] = '\0';
+	underscore_string[(MAX_LINE-1)] = '\0';
+	underscore_string[MAX_LINE] = '\0';
 	/*
 	 *  Create an array of underscores for the STARS macro. - FM
 	 */
 	memset(star_string, '_', (MAX_LINE-1));
-        star_string[(MAX_LINE-1)] = '\0';
-        star_string[MAX_LINE] = '\0';
+	star_string[(MAX_LINE-1)] = '\0';
+	star_string[MAX_LINE] = '\0';
     }
 
     underline_on = FALSE; /* reset */
     bold_on = FALSE;
-    
+
     return self;
 }
 
@@ -555,8 +553,8 @@ PUBLIC HText *  HText_new2 ARGS2(
     HText * this = HText_new(anchor);
 
     if (stream) {
-        this->target = stream;
-        this->targetClass = *stream->isa;       /* copy action procedures */
+	this->target = stream;
+	this->targetClass = *stream->isa;	/* copy action procedures */
     }
     return this;
 }
@@ -568,12 +566,12 @@ PUBLIC void HText_free ARGS1(
 	HText *,	self)
 {
     if (!self)
-        return;
+	return;
 
     HTAnchor_setDocument(self->node_anchor, (HyperDoc *)0);
-    
+
     while (YES) {	/* Free off line array */
-        HTLine * l = self->last_line;
+	HTLine * l = self->last_line;
 	if (l) {
 	    l->next->prev = l->prev;
 	    l->prev->next = l->next;	/* Unlink l */
@@ -589,9 +587,9 @@ PUBLIC void HText_free ARGS1(
 	    break;
 	}
     };
-    
+
     while (self->first_anchor) {		/* Free off anchor array */
-        TextAnchor * l = self->first_anchor;
+	TextAnchor * l = self->first_anchor;
 	self->first_anchor = l->next;
 
 	if (l->link_type == INPUT_ANCHOR && l->input_field) {
@@ -617,8 +615,8 @@ PUBLIC void HText_free ARGS1(
 		    FREE(tmp);
 		}
 		l->input_field->select_list = NULL;
-		/* 
-		 *  Don't free the value field on sane option
+		/*
+		 *  Don't free the value field on option
 		 *  lists since it points to a option value
 		 *  same for orig value.
 		 */
@@ -627,18 +625,18 @@ PUBLIC void HText_free ARGS1(
 		l->input_field->cp_submit_value = NULL;
 		l->input_field->orig_submit_value = NULL;
 	    } else {
-                FREE(l->input_field->value);
-                FREE(l->input_field->orig_value);
-                FREE(l->input_field->cp_submit_value);
-                FREE(l->input_field->orig_submit_value);
+		FREE(l->input_field->value);
+		FREE(l->input_field->orig_value);
+		FREE(l->input_field->cp_submit_value);
+		FREE(l->input_field->orig_submit_value);
 	    }
 	    FREE(l->input_field->name);
-            FREE(l->input_field->submit_action);
-            FREE(l->input_field->submit_enctype);
-            FREE(l->input_field->submit_title);
+	    FREE(l->input_field->submit_action);
+	    FREE(l->input_field->submit_enctype);
+	    FREE(l->input_field->submit_title);
+
+	    FREE(l->input_field->accept_cs);
 
-            FREE(l->input_field->accept_cs);
-		
 	    FREE(l->input_field);
 	}
 
@@ -653,7 +651,7 @@ PUBLIC void HText_free ARGS1(
      *  Free the tabs list. - FM
      */
     if (self->tabs) {
-        HTTabID * Tab = NULL;
+	HTTabID * Tab = NULL;
 	HTList * cur = self->tabs;
 
 	while (NULL != (Tab = (HTTabID *)HTList_nextObject(cur))) {
@@ -668,7 +666,7 @@ PUBLIC void HText_free ARGS1(
      *  Free the hidden links list. - FM
      */
     if (self->hidden_links) {
-        char * href = NULL;
+	char * href = NULL;
 	HTList * cur = self->hidden_links;
 
 	while (NULL != (href = (char *)HTList_nextObject(cur)))
@@ -686,7 +684,7 @@ PUBLIC void HText_free ARGS1(
 				  UCT_SETBY_NONE);
 	HTAnchor_resetUCInfoStage(self->node_anchor, -1, UCT_STAGE_HTEXT,
 				  UCT_SETBY_NONE);
-        if (HTAnchor_delete(self->node_anchor))
+	if (HTAnchor_delete(self->node_anchor))
 	    /*
 	     *  Make sure HTMainAnchor won't point
 	     *  to an invalid structure. - KW
@@ -732,7 +730,7 @@ PRIVATE int display_line ARGS2(
      */
     j = (int)line->offset;
     if (j > (int)LYcols - 1)
-        j = (int)LYcols - 1;
+	j = (int)LYcols - 1;
 #ifdef USE_SLANG
     SLsmg_forward (j);
     i = j;
@@ -743,7 +741,7 @@ PRIVATE int display_line ARGS2(
     else
 #endif
     for (i = 0; i < j; i++)
-        addch (' ');
+	addch (' ');
 #endif /* USE_SLANG */
 
     /*
@@ -765,7 +763,7 @@ PRIVATE int display_line ARGS2(
 		current_style++;
 	}
 #endif
-   	switch (buffer[0]) {
+	switch (buffer[0]) {
 
 #ifndef USE_COLOR_STYLE
 	    case LY_UNDERLINE_START_CHAR:
@@ -914,10 +912,10 @@ PRIVATE void display_title ARGS1(
      *  Make sure we have a text structure. - FM
      */
     if (!text)
-        return;
+	return;
 
     lynx_start_title_color ();
-#ifdef USE_COLOR_STYLE 
+#ifdef USE_COLOR_STYLE
 /* turn the TITLE style on */
     LynxChangeStyle(s_title, ABS_ON, 0);
 #endif /* USE_COLOR_STYLE */
@@ -926,7 +924,7 @@ PRIVATE void display_title ARGS1(
      *  Load the title field. - FM
      */
     StrAllocCopy(title,
-    		 (HTAnchor_title(text->node_anchor) ?
+		 (HTAnchor_title(text->node_anchor) ?
 		  HTAnchor_title(text->node_anchor) : ""));
 
     /*
@@ -952,10 +950,10 @@ PRIVATE void display_title ARGS1(
 	 *    FM 02-08-95
 	 */
 	int total_pages =
-	 	(((text->Lines + 1) + (display_lines - 1))/(display_lines));
+		(((text->Lines + 1) + (display_lines - 1))/(display_lines));
 	int start_of_last_page =
 		((text->Lines + 1) < display_lines) ? 0 :
-		((text->Lines + 1) - display_lines);	
+		((text->Lines + 1) - display_lines);
 
 	sprintf(percent, " (p%d of %d)",
 		((text->top_of_screen >= start_of_last_page) ?
@@ -967,12 +965,12 @@ PRIVATE void display_title ARGS1(
     }
 
     /*
-     *  Generate and display the title string, with page indictator
+     *  Generate and display the title string, with page indicator
      *  if appropriate, preceded by the toolbar token if appropriate,
      *  and truncated if necessary. - FM & KW
      */
     if (HTCJK != NOCJK) {
-        if (*title &&
+	if (*title &&
 	    (tmp = (unsigned char *)calloc(1, (strlen(title) + 1)))) {
 	    if (kanji_code == EUC) {
 	        TO_EUC((unsigned char *)title, tmp);
@@ -988,7 +986,7 @@ PRIVATE void display_title ARGS1(
 	    }
 	    FREE(title);
 	    title = (char *)tmp;
-        }
+	}
     }
     move(0, 0);
     clrtoeol();
@@ -999,7 +997,7 @@ PRIVATE void display_title ARGS1(
     if (i > 0) {
 	move(0, i);
     } else {
-        /*
+	/*
 	 *  Note that this truncation is not taking into
 	 *  account the possibility that multibyte
 	 *  characters might be present. - FM
@@ -1009,10 +1007,10 @@ PRIVATE void display_title ARGS1(
     }
     addstr(title);
     if (percent[0] != '\0')
-        addstr(percent);
+	addstr(percent);
     addch('\n');
     FREE(title);
-   
+
 #ifdef USE_COLOR_STYLE
 /* turn the TITLE style off */
     LynxChangeStyle(s_title, ABS_OFF, 0);
@@ -1042,7 +1040,7 @@ PRIVATE void display_page ARGS3(
     static int charset_last_displayed = -1;
 
     lynx_mode = NORMAL_LYNX_MODE;
- 
+
     if (text == NULL) {
 	/*
 	 *  Check whether to force a screen clear to enable scrollback,
@@ -1054,7 +1052,7 @@ PRIVATE void display_page ARGS3(
 	    refresh();
 	    clear();
 	}
-	addstr("\n\nError accessing document.\nNo data available.\n");
+	addstr("\n\nError accessing document.\nNo data available!\n");
 	refresh();
 	nlinks = 0;  /* set number of links to 0 */
 	return;
@@ -1069,15 +1067,15 @@ PRIVATE void display_page ARGS3(
      *  Constrain the line number to be within the document.
      */
     if (text->Lines < (display_lines))
-        line_number = 0;
+	line_number = 0;
     else if (line_number > text->Lines)
-        line_number = last_screen;
+	line_number = last_screen;
     else if (line_number < 0)
-        line_number = 0;
-    
+	line_number = 0;
+
     for (i = 0, line = text->last_line->next;		/* Find line */
-    	 i < line_number && (line != text->last_line);
-         i++, line = line->next) {			/* Loop */
+	 i < line_number && (line != text->last_line);
+	 i++, line = line->next) {			/* Loop */
 #ifndef VMS
 	if (!LYNoCore) {
 	    assert(line->next != NULL);
@@ -1133,7 +1131,7 @@ PRIVATE void display_page ARGS3(
     text->top_of_screen = line_number;
     display_title(text);  /* will move cursor to top of screen */
     display_flag=TRUE;
-    
+
     /*
      *  Output the page.
      */
@@ -1174,20 +1172,12 @@ PRIVATE void display_page ARGS3(
 		   (case_sensitive ?
 		    (cp = LYno_attr_mbcs_strstr(data,
 						target,
-#ifdef EXP_CHARTRANS
 						text->T.output_utf8,
-#else
-						NO,
-#endif /* EXP_CHARTRANS */
 						&HitOffset,
 						&LenNeeded)) != NULL :
 		    (cp = LYno_attr_mbcs_case_strstr(data,
 						     target,
-#ifdef EXP_CHARTRANS
 						text->T.output_utf8,
-#else
-						NO,
-#endif /* EXP_CHARTRANS */
 						&HitOffset,
 						&LenNeeded)) != NULL) &&
 		   ((int)line->offset + LenNeeded) < LYcols) {
@@ -1221,7 +1211,7 @@ PRIVATE void display_page ARGS3(
 			/*
 			 *  First printable character of target.
 			 */
-            		move((i + 1), x_pos);
+			move((i + 1), x_pos);
 			if (text->T.output_utf8 && !isascii(tmp[0])) {
 			    if ((*tmp & 0xe0) == 0xc0) {
 				utf_extra = 1;
@@ -1267,7 +1257,7 @@ PRIVATE void display_page ARGS3(
 			    written++;
 			}
 
-		    } else if (&data[itmp] > cp) { 
+		    } else if (&data[itmp] > cp) {
 			/*
 			 *  Output all the other printable target chars.
 			 */
@@ -1371,16 +1361,16 @@ PRIVATE void display_page ARGS3(
 	    /*
 	     *  Load normal hypertext anchors.
 	     */
-	    if (Anchor_ptr->show_anchor && Anchor_ptr->hightext && 
-			strlen(Anchor_ptr->hightext) > 0 && 
+	    if (Anchor_ptr->show_anchor && Anchor_ptr->hightext &&
+			strlen(Anchor_ptr->hightext) > 0 &&
 			(Anchor_ptr->link_type & HYPERTEXT_ANCHOR)) {
 
-                links[nlinks].hightext  = Anchor_ptr->hightext;
-                links[nlinks].hightext2 = Anchor_ptr->hightext2;
-                links[nlinks].hightext2_offset = Anchor_ptr->hightext2offset;
+		links[nlinks].hightext	= Anchor_ptr->hightext;
+		links[nlinks].hightext2 = Anchor_ptr->hightext2;
+		links[nlinks].hightext2_offset = Anchor_ptr->hightext2offset;
 		links[nlinks].inUnderline = Anchor_ptr->inUnderline;
 
-                links[nlinks].anchor_number = Anchor_ptr->number;
+		links[nlinks].anchor_number = Anchor_ptr->number;
 		links[nlinks].anchor_line_num = Anchor_ptr->line_num;
 
 		link_dest = HTAnchor_followMainLink(
@@ -1430,7 +1420,7 @@ PRIVATE void display_page ARGS3(
 			StrAllocCopy(links[nlinks].lname, empty_string);
 		}
 
-      	        links[nlinks].lx = Anchor_ptr->line_pos;
+		links[nlinks].lx = Anchor_ptr->line_pos;
 		links[nlinks].ly = ((Anchor_ptr->line_num + 1) - line_number);
 		if (link_dest_intl)
 		    links[nlinks].type = WWW_INTERN_LINK_TYPE;
@@ -1451,10 +1441,10 @@ PRIVATE void display_page ARGS3(
 
 		FormInfo_ptr = Anchor_ptr->input_field;
 
-                links[nlinks].anchor_number = Anchor_ptr->number;
+		links[nlinks].anchor_number = Anchor_ptr->number;
 		links[nlinks].anchor_line_num = Anchor_ptr->line_num;
 
-	   	links[nlinks].form = FormInfo_ptr;
+		links[nlinks].form = FormInfo_ptr;
 		links[nlinks].lx = Anchor_ptr->line_pos;
 		links[nlinks].ly = ((Anchor_ptr->line_num + 1) - line_number);
 		links[nlinks].type = WWW_FORM_LINK_TYPE;
@@ -1481,7 +1471,7 @@ PRIVATE void display_page ARGS3(
 		    links[nlinks].hightext = FormInfo_ptr->value;
 		}
 
-  		/*
+		/*
 		 *  Never a second line on form types.
 		 */
 		links[nlinks].hightext2 = NULL;
@@ -1492,7 +1482,7 @@ PRIVATE void display_page ARGS3(
 		 *  Bold the link after incrementing nlinks.
 		 */
 		highlight(OFF, (nlinks - 1), target);
-	
+
 		display_flag = TRUE;
 
 	    } else {
@@ -1500,12 +1490,12 @@ PRIVATE void display_page ARGS3(
 		 *  Not showing anchor.
 		 */
 		if (TRACE &&
-		    Anchor_ptr->hightext && *Anchor_ptr->hightext) 
+		    Anchor_ptr->hightext && *Anchor_ptr->hightext)
 		    fprintf(stderr,
-		    	    "\nGridText: Not showing link, hightext=%s\n",
+			    "\nGridText: Not showing link, hightext=%s\n",
 			    Anchor_ptr->hightext);
 	    }
-	} 
+	}
 
 	if (Anchor_ptr == text->last_anchor)
 	    /*
@@ -1521,7 +1511,7 @@ PRIVATE void display_page ARGS3(
 	    if (LYCursesON) {
 		_statusline(MAXLINKS_REACHED);
 		sleep(AlertSecs);
-	    } 
+	    }
 	    if (TRACE)
 	        fprintf(stderr, "\ndisplay_page: MAXLINKS reached.\n");
 	    break;
@@ -1533,7 +1523,7 @@ PRIVATE void display_page ARGS3(
      *  from the previous page draw. - FM
      */
     for (i = nlinks; i < last_nlinks; i++)
-        FREE(links[i].lname);
+	FREE(links[i].lname);
     last_nlinks = nlinks;
 
     /*
@@ -1543,8 +1533,8 @@ PRIVATE void display_page ARGS3(
      */
     more_links = FALSE;
     if (traversal && Anchor_ptr) {
-        if (Anchor_ptr->next)
-            more_links = TRUE;
+	if (Anchor_ptr->next)
+	    more_links = TRUE;
     }
 
     if (!display_flag) {
@@ -1555,63 +1545,15 @@ PRIVATE void display_page ARGS3(
     }
 
     if (HTCJK != NOCJK || text->T.output_utf8 || TRACE) {
-        /*
+	/*
 	 *  For non-multibyte curses.
 	 */
-        lynx_force_repaint();
+	lynx_force_repaint();
     }
     refresh();
 
 }
 
-#ifdef NOT_USED
-/*
- *  Refresh a form link on the current page after it may have changed.
- *  Could be used after change_form_link after a popup was opened, IF
- *  refresh of the rest of the screen is not necessary, instead of a
- *  full display_page - probably only for VMS curses. - kw
- */
-PUBLIC void refresh_form_link ARGS2(
-    int,		linkno,
-    char *,		target)
-{
-    FormInfo *FormInfo_ptr;
-    /*
-     *  Update links[] for one input link, and call refresh.
-     *  basically redo some things display_page did.
-     */
-    if (linkno >= 0 && linkno < nlinks &&
-	links[linkno].type == WWW_FORM_LINK_TYPE) {
-	FormInfo_ptr = links[linkno].form;
-
-	if (FormInfo_ptr->type == F_RADIO_TYPE) {
-	    if (FormInfo_ptr->num_value)
-		links[linkno].hightext = checked_radio;
-	    else
-		links[linkno].hightext = unchecked_radio;
-
-	} else if (FormInfo_ptr->type == F_CHECKBOX_TYPE) {
-	    if (FormInfo_ptr->num_value)
-		links[linkno].hightext = checked_box;
-	    else
-		links[linkno].hightext = unchecked_box;
-
-	} else if (FormInfo_ptr->type == F_PASSWORD_TYPE) {
-	    links[linkno].hightext = STARS(strlen(FormInfo_ptr->value));
-
-	} else if (FormInfo_ptr->type == F_HIDDEN_TYPE) {
-	    ;			/* should never happen. */
-	} else {  /* TEXT type */
-	    links[linkno].hightext = FormInfo_ptr->value;
-	}
-	/*
-	 *  Bold the link, then update the screen
-	 */
-	highlight(OFF, linkno, target);
-	refresh();
-    }
-}
-#endif /* NOT_USED */
 
 /*			Object Building methods
 **			-----------------------
@@ -1657,7 +1599,7 @@ PRIVATE void split_line ARGS2(
     int inew;
 #endif
     int indent = text->in_line_1 ?
-    	  text->style->indent1st : text->style->leftIndent;
+	  text->style->indent1st : text->style->leftIndent;
     TextAnchor * a;
     int CurLine = text->Lines;
     int HeadTrim = 0;
@@ -1672,16 +1614,16 @@ PRIVATE void split_line ARGS2(
     char * cp;
     HTLine * line = (HTLine *)LY_CALLOC(1, LINE_SIZE(MAX_LINE));
     if (line == NULL)
-        outofmem(__FILE__, "split_line_1");
+	outofmem(__FILE__, "split_line_1");
 
     ctrl_chars_on_this_line = 0; /*reset since we are going to a new line*/
     text->LastChar = ' ';
 
     if (TRACE)
 	fprintf(stderr,"GridText: split_line called\n");
-    
+
     text->Lines++;
-    
+
     previous->next->prev = line;
     line->prev = previous;
     line->next = previous->next;
@@ -1723,7 +1665,7 @@ PRIVATE void split_line ARGS2(
 	     *  corresponding OFF.  When it finds one, the missing OFF
 	     *  change is appended to the end, and an ON change is added
 	     *  at the beginning of the current line.  The OFF change
-	     *  appended to the pervious line may get removed again in
+	     *  appended to the previous line may get removed again in
 	     *  the next iteration. - kw
 	     */
 	    line->styles[inew].horizpos = 0;
@@ -1797,7 +1739,7 @@ PRIVATE void split_line ARGS2(
      *  If we are not splitting and need an underline char, add it now. - FM
      */
     if ((split < 1) &&
-        !(dump_output_immediately && use_underscore) && underline_on) {
+	!(dump_output_immediately && use_underscore) && underline_on) {
 	line->data[line->size++] = LY_UNDERLINE_START_CHAR;
 	line->data[line->size] = '\0';
 	ctrl_chars_on_this_line++;
@@ -1813,13 +1755,13 @@ PRIVATE void split_line ARGS2(
 
     /*
      *  Split at required point
-     */    
+     */
     if (split > 0) {	/* Delete space at "split" splitting line */
-        char *p, *prevdata = previous->data, *linedata = line->data;
-        unsigned int plen;
+	char *p, *prevdata = previous->data, *linedata = line->data;
+	unsigned int plen;
 	int i;
 
-        /*
+	/*
 	 *  Split the line. - FM
 	 */
 	prevdata[previous->size] = '\0';
@@ -1830,16 +1772,16 @@ PRIVATE void split_line ARGS2(
 	 *  of our new line. - FM
 	 */
 	p = prevdata + split;
-        while (*p == ' ' || *p == LY_SOFT_HYPHEN) {
+	while (*p == ' ' || *p == LY_SOFT_HYPHEN) {
 	    p++;
 	    HeadTrim++;
 	}
-        plen = strlen(p);
+	plen = strlen(p);
 
 	/*
 	 *  Add underline char if needed. - FM
 	 */
-        if (!(dump_output_immediately && use_underscore)) {
+	if (!(dump_output_immediately && use_underscore)) {
 	    /*
 	     * Make sure our global flag is correct. - FM
 	     */
@@ -1936,17 +1878,17 @@ PRIVATE void split_line ARGS2(
      *  Economize on space.
      */
     while ((previous->size > 0) &&
-    	(previous->data[previous->size-1] == ' ')) {
+	(previous->data[previous->size-1] == ' ')) {
 	/*
 	 *  Strip trailers.
 	 */
 	previous->data[previous->size-1] = '\0';
-        previous->size--;
+	previous->size--;
 	TailTrim++;
     }
     temp = (HTLine *)LY_CALLOC(1, LINE_SIZE(previous->size));
     if (temp == NULL)
-        outofmem(__FILE__, "split_line_2");
+	outofmem(__FILE__, "split_line_2");
     memcpy(temp, previous, LINE_SIZE(previous->size));
     FREE(previous);
     previous = temp;
@@ -1958,12 +1900,12 @@ PRIVATE void split_line ARGS2(
      *  Terminate finished line for printing.
      */
     previous->data[previous->size] = '\0';
-    
+
     /*
      *  Align left, right or center.
      */
     for (cp = previous->data; *cp; cp++) {
-        if (*cp == LY_UNDERLINE_START_CHAR ||
+	if (*cp == LY_UNDERLINE_START_CHAR ||
 	    *cp == LY_UNDERLINE_END_CHAR ||
 	    *cp == LY_BOLD_START_CHAR ||
 	    *cp == LY_BOLD_END_CHAR ||
@@ -1973,11 +1915,11 @@ PRIVATE void split_line ARGS2(
     }
     /* @@ first line indent */
     spare =  (LYcols-1) -
-    		(int)style->rightIndent - indent +
-    		ctrl_chars_on_previous_line - previous->size -
+		(int)style->rightIndent - indent +
+		ctrl_chars_on_previous_line - previous->size -
 		((previous->size > 0) &&
 		 (int)(previous->data[previous->size-1] ==
-		 			    LY_SOFT_HYPHEN ?
+					    LY_SOFT_HYPHEN ?
 							 1 : 0));
 
     switch (style->alignment) {
@@ -2075,11 +2017,11 @@ PUBLIC void HText_setStyle ARGS2(
     int after, before;
 
     if (!style)
-        return;				/* Safety */
+	return; 			/* Safety */
     after = text->style->spaceAfter;
     before = style->spaceBefore;
     if (TRACE)
-        fprintf(stderr, "GridText: Change to style %s\n", style->name);
+	fprintf(stderr, "GridText: Change to style %s\n", style->name);
 
     blank_lines (text, ((after > before) ? after : before));
 
@@ -2131,8 +2073,8 @@ PUBLIC void HText_appendCharacter ARGS2(
     /*
      *  Block 8-bit chars not allowed by the current display character
      *  set if they are below what LYlowest_eightbit indicates.
-     *  Slang used its own replacements, so for USE_SLANG blocking her
-     *  is not necessary to protect terminas from those characters.
+     *  Slang used its own replacements, so for USE_SLANG blocking here
+     *  is not necessary to protect terminals from those characters.
      *  They should have been filtered out or translated by an earlier
      *  processing stage anyway. - kw
      */
@@ -2142,15 +2084,13 @@ PUBLIC void HText_appendCharacter ARGS2(
 	return;
 #endif /* USE_SLANG */
     if ((unsigned char)ch == 155 && HTCJK == NOCJK) {	/* octal 233 */
-        if (!HTPassHighCtrlRaw &&
-#ifdef EXP_CHARTRANS
+	if (!HTPassHighCtrlRaw &&
 	    !text->T.transp && !text->T.output_utf8 &&
 	    (155 < LYlowest_eightbit[current_char_set]) &&
-#endif /* EXP_CHARTRANS */
 	    strncmp(LYchar_set_names[current_char_set],
-		    "IBM PC character set", 20) &&
+		    "DosLatin1 (cp850)", 17) &&
 	    strncmp(LYchar_set_names[current_char_set],
-		    "IBM PC codepage 850", 19) &&
+		    "DosLatinUS (cp437)", 18) &&
 	    strncmp(LYchar_set_names[current_char_set],
 		    "Macintosh (8 bit)", 17) &&
 	    strncmp(LYchar_set_names[current_char_set],
@@ -2163,7 +2103,7 @@ PUBLIC void HText_appendCharacter ARGS2(
     style = text->style;
 
     indent = text->in_line_1 ? (int)style->indent1st : (int)style->leftIndent;
-    
+
     if (HTCJK != NOCJK) {
 	switch(text->state) {
 	    case S_text:
@@ -2243,6 +2183,9 @@ PUBLIC void HText_appendCharacter ARGS2(
 		break;
 
 		case S_nonascii_text:
+		/*
+		 *  Expecting CJK ESC after non-ASCII text.
+		 */
 		if (ch == '\033') {
 		    text->state = S_esc;
 		    text->kanji_buf = '\0';
@@ -2267,7 +2210,7 @@ PUBLIC void HText_appendCharacter ARGS2(
 		break;
 	}
 
-        if (!text->kanji_buf) {
+	if (!text->kanji_buf) {
 	    if ((ch & 0200) != 0) {
 		/*
 		 *  JIS X0201 Kana in SJIS support. - by ASATAKU
@@ -2278,7 +2221,7 @@ PUBLIC void HText_appendCharacter ARGS2(
 		    unsigned char c = (unsigned char)ch;
 		    unsigned char kb = (unsigned char)text->kanji_buf;
 		    JISx0201TO0208_SJIS(c,
-		    			(unsigned char *)&kb,
+					(unsigned char *)&kb,
 					(unsigned char *)&c);
 		    ch = (char)c;
 		    text->kanji_buf = (char)kb;
@@ -2300,32 +2243,32 @@ PUBLIC void HText_appendCharacter ARGS2(
 
     if (IsSpecialAttrChar(ch)) {
 #ifndef USE_COLOR_STYLE
-        if (ch == LY_UNDERLINE_START_CHAR) { 
-            line->data[line->size++] = LY_UNDERLINE_START_CHAR;
+	if (ch == LY_UNDERLINE_START_CHAR) {
+	    line->data[line->size++] = LY_UNDERLINE_START_CHAR;
 	    line->data[line->size] = '\0';
 	    underline_on = ON;
 	    if (!(dump_output_immediately && use_underscore))
 		ctrl_chars_on_this_line++;
 	    return;
-        } else if (ch == LY_UNDERLINE_END_CHAR) {
-            line->data[line->size++] = LY_UNDERLINE_END_CHAR;
+	} else if (ch == LY_UNDERLINE_END_CHAR) {
+	    line->data[line->size++] = LY_UNDERLINE_END_CHAR;
 	    line->data[line->size] = '\0';
 	    underline_on = OFF;
 	    if (!(dump_output_immediately && use_underscore))
-	    	ctrl_chars_on_this_line++;
+		ctrl_chars_on_this_line++;
 	    return;
-        } else if (ch == LY_BOLD_START_CHAR) {
-            line->data[line->size++] = LY_BOLD_START_CHAR;
+	} else if (ch == LY_BOLD_START_CHAR) {
+	    line->data[line->size++] = LY_BOLD_START_CHAR;
 	    line->data[line->size] = '\0';
-            bold_on = ON;
+	    bold_on = ON;
 	    ctrl_chars_on_this_line++;
-            return;
-        } else if (ch == LY_BOLD_END_CHAR) {
-            line->data[line->size++] = LY_BOLD_END_CHAR;
+	    return;
+	} else if (ch == LY_BOLD_END_CHAR) {
+	    line->data[line->size++] = LY_BOLD_END_CHAR;
 	    line->data[line->size] = '\0';
-            bold_on = OFF;
+	    bold_on = OFF;
 	    ctrl_chars_on_this_line++;
-            return;
+	    return;
 	} else if (ch == LY_SOFT_HYPHEN) {
 	    int i;
 
@@ -2386,7 +2329,7 @@ PUBLIC void HText_appendCharacter ARGS2(
     /*
      *  I'm going to cheat here in a BIG way.  Since I know that all
      *  \r's will be trapped by HTML_put_character I'm going to use
-     *  \r to mean go down a line but don't start a new paragraph.  
+     *  \r to mean go down a line but don't start a new paragraph.
      *  i.e. use the second line indenting.
      */
     if (ch == '\r') {
@@ -2406,7 +2349,7 @@ PUBLIC void HText_appendCharacter ARGS2(
      *  Tabs.
      */
     if (ch == '\t') {
-        HTTabStop * Tab;
+	HTTabStop * Tab;
 	int target;	/* Where to tab to */
 	int here;
 
@@ -2420,9 +2363,9 @@ PUBLIC void HText_appendCharacter ARGS2(
 	}
 	here = (((int)line->size + (int)line->offset) + indent)
 		- ctrl_chars_on_this_line; /* Consider special chars GAB */
-        if (style->tabs) {	/* Use tab table */
+	if (style->tabs) {	/* Use tab table */
 	    for (Tab = style->tabs;
-	    	Tab->position <= here;
+		Tab->position <= here;
 		Tab++)
 		if (!Tab->position) {
 		    new_line(text);
@@ -2439,7 +2382,7 @@ PUBLIC void HText_appendCharacter ARGS2(
 	} else {		/* Default tabs align with left indent mod 8 */
 #ifdef DEFAULT_TABS_8
 	    target = (((int)line->offset + (int)line->size + 8) & (-8))
-	    		+ (int)style->leftIndent;
+			+ (int)style->leftIndent;
 #else
 	    new_line(text);
 	    return;
@@ -2451,25 +2394,31 @@ PUBLIC void HText_appendCharacter ARGS2(
 	    new_line(text);
 	    return;
 	} else {
-            text->permissible_split = (int)line->size;	/* Can split here */
+	    /*
+	     *  Can split here. - FM
+	     */
+	    text->permissible_split = (int)line->size;
 	    if (line->size == 0) {
 	        line->offset = line->offset + target - here;
 	    } else {
 	        for (; here<target; here++) {
 		    /* Put character into line */
-                    line->data[line->size++] = ' ';
+		    line->data[line->size++] = ' ';
 		    line->data[line->size] = '\0';
 	        }
 	    }
 	    return;
 	}
 	/*NOTREACHED*/
-    } /* if tab */ 
+    } /* if tab */
+
 
-    
     if (ch == ' ') {
-        text->permissible_split = (int)line->size;	/* Can split here */
-	/* 
+	/*
+	 *  Can split here. - FM
+	 */
+	text->permissible_split = (int)line->size;
+	/*
 	 *  There are some pages written in
 	 *  different kanji codes. - TA
 	 */
@@ -2479,31 +2428,31 @@ PUBLIC void HText_appendCharacter ARGS2(
 
     /*
      *  Check if we should ignore characters at the wrap point.
-     */    
+     */
 check_IgnoreExcess:
     if (text->IgnoreExcess &&
-        ((indent + (int)line->offset + (int)line->size) + 
+	((indent + (int)line->offset + (int)line->size) +
 	(int)style->rightIndent - ctrl_chars_on_this_line) >= (LYcols-1))
-        return;
+	return;
 
     /*
      *  Check for end of line.
      */
-    if (((indent + (int)line->offset + (int)line->size) + 
+    if (((indent + (int)line->offset + (int)line->size) +
 	 (int)style->rightIndent - ctrl_chars_on_this_line +
 	 ((line->size > 0) &&
 	  (int)(line->data[line->size-1] ==
-		 		LY_SOFT_HYPHEN ?
+				LY_SOFT_HYPHEN ?
 					     1 : 0))) >= (LYcols - 1)) {
 
-        if (style->wordWrap && HTOutputFormat != WWW_SOURCE) {
+	if (style->wordWrap && HTOutputFormat != WWW_SOURCE) {
 	    split_line(text, text->permissible_split);
 	    if (ch == ' ') return;	/* Ignore space causing split */
 
 	}  else if (HTOutputFormat == WWW_SOURCE) {
 		 /*
-		  *  For source output we dont want to wrap this stuff
-		  *  unless absolutely neccessary. - LJM 
+		  *  For source output we don't want to wrap this stuff
+		  *  unless absolutely necessary. - LJM
 		  *  !
 		  *  If we don't wrap here we might get a segmentation fault.
 		  *  but let's see what happens
@@ -2515,7 +2464,7 @@ check_IgnoreExcess:
 		 *  For normal stuff like pre let's go ahead and
 		 *  wrap so the user can see all of the text.
 		 */
-		new_line(text);  
+		new_line(text);
 	}
     } else if ((int)line->size >= (int)(MAX_LINE-1)) {
 	/*
@@ -2528,17 +2477,17 @@ check_IgnoreExcess:
      *  Insert normal characters.
      */
     if (ch == HT_NON_BREAK_SPACE) {
-        ch = ' ';
+	ch = ' ';
     }
 
     if (ch & 0x80)
 	text->have_8bit_chars = YES;
 
     {
-        HTFont font = style->font;
+	HTFont font = style->font;
 	unsigned char hi, lo, tmp[2];
 
-        line = text->last_line;	/* May have changed */
+	line = text->last_line; /* May have changed */
 	if (HTCJK != NOCJK && text->kanji_buf) {
 	    hi = (unsigned char)text->kanji_buf, lo = (unsigned char)ch;
 	    if (HTCJK == JAPANESE && text->kcode == NOKANJI) {
@@ -2572,21 +2521,24 @@ check_IgnoreExcess:
 	    text->kanji_buf = 0;
 	} else if (HTCJK != NOCJK) {
 	    line->data[line->size++] = (kanji_code != NOKANJI) ?
-	    						    ch :
+							    ch :
 					  (font & HT_CAPITALS) ?
-					    	   TOUPPER(ch) : ch;
+						   TOUPPER(ch) : ch;
 	} else {
-            line->data[line->size++] =	/* Put character into line */
-	    	font & HT_CAPITALS ? TOUPPER(ch) : ch;
+	    line->data[line->size++] =	/* Put character into line */
+		font & HT_CAPITALS ? TOUPPER(ch) : ch;
 	}
 	line->data[line->size] = '\0';
-        if (font & HT_DOUBLE)		/* Do again if doubled */
-            HText_appendCharacter(text, HT_NON_BREAK_SPACE);
-	    /* NOT a permissible split */ 
+	if (font & HT_DOUBLE)		/* Do again if doubled */
+	    HText_appendCharacter(text, HT_NON_BREAK_SPACE);
+	    /* NOT a permissible split */
 
 	if (ch == LY_SOFT_HYPHEN) {
 	    ctrl_chars_on_this_line++;
-	    text->permissible_split = (int)line->size;	/* Can split here */
+	    /*
+	     *  Can split here. - FM
+	     */
+	    text->permissible_split = (int)line->size;
 	}
     }
 }
@@ -2628,7 +2580,7 @@ PUBLIC void HText_setLastChar ARGS2(
 	char,		ch)
 {
     if (!text)
-        return;
+	return;
 
     text->LastChar = ch;
 }
@@ -2640,7 +2592,7 @@ PUBLIC char HText_getLastChar ARGS1(
 	HText *,	text)
 {
     if (!text)
-        return('\0');
+	return('\0');
 
     return((char)text->LastChar);
 }
@@ -2653,7 +2605,7 @@ PUBLIC void HText_setIgnoreExcess ARGS2(
 	BOOL,		ignore)
 {
     if (!text)
-        return;
+	return;
 
     text->IgnoreExcess = ignore;
 }
@@ -2672,9 +2624,9 @@ PUBLIC int HText_beginAnchor ARGS3(
     char marker[16];
 
     TextAnchor * a = (TextAnchor *) calloc(1, sizeof(*a));
-    
+
     if (a == NULL)
-        outofmem(__FILE__, "HText_beginAnchor");
+	outofmem(__FILE__, "HText_beginAnchor");
     a->hightext  = NULL;
     a->hightext2 = NULL;
     a->start = text->chars + text->last_line->size;
@@ -2683,9 +2635,9 @@ PUBLIC int HText_beginAnchor ARGS3(
     a->line_num = text->Lines;
     a->line_pos = text->last_line->size;
     if (text->last_anchor) {
-        text->last_anchor->next = a;
+	text->last_anchor->next = a;
     } else {
-        text->first_anchor = a;
+	text->first_anchor = a;
     }
     a->next = 0;
     a->anchor = anc;
@@ -2694,15 +2646,15 @@ PUBLIC int HText_beginAnchor ARGS3(
 
 #ifndef DONT_TRACK_INTERNAL_LINKS
     if (HTAnchor_followTypedLink((HTAnchor*)anc, LINK_INTERNAL)) {
-        a->number = ++(text->last_anchor_number);
+	a->number = ++(text->last_anchor_number);
 	a->link_type = INTERNAL_LINK_ANCHOR;
     } else
 #endif
 	if (HTAnchor_followMainLink((HTAnchor*)anc)) {
-        a->number = ++(text->last_anchor_number);
+	a->number = ++(text->last_anchor_number);
 	a->link_type = HYPERTEXT_ANCHOR;
     } else {
-        a->number = 0;
+	a->number = 0;
 	a->link_type = HYPERTEXT_ANCHOR;
     }
 
@@ -2710,10 +2662,10 @@ PUBLIC int HText_beginAnchor ARGS3(
      *  If we are doing link_numbering add the link number.
      */
     if ((a->number > 0) &&
-        (keypad_mode == LINKS_ARE_NUMBERED ||
+	(keypad_mode == LINKS_ARE_NUMBERED ||
 	 keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED)) {
 	sprintf(marker,"[%d]", a->number);
-        HText_appendText(text, marker);
+	HText_appendText(text, marker);
 	a->start = text->chars + text->last_line->size;
 	a->line_num = text->Lines;
 	a->line_pos = text->last_line->size;
@@ -2742,7 +2694,7 @@ PUBLIC void HText_endAnchor ARGS2(
     if (number <= 0 || number == text->last_anchor->number) {
 	a = text->last_anchor;
     } else {
-        for (a = text->first_anchor; a; a = a->next) {
+	for (a = text->first_anchor; a; a = a->next) {
 	    if (a->number == number) {
 	        break;
 	    }
@@ -2769,7 +2721,7 @@ PUBLIC void HText_endAnchor ARGS2(
 	return;
     }
     if (a->number) {
-        /*
+	/*
 	 *  If it goes somewhere...
 	 */
 	int i, j, k, l;
@@ -2790,7 +2742,7 @@ PUBLIC void HText_endAnchor ARGS2(
 	 *  white and special characters, starting
 	 *  with the content on the last line. - FM
 	 */
-        a->extent += (text->chars + last->size) - a->start -
+	a->extent += (text->chars + last->size) - a->start -
 		     (text->Lines - a->line_num);
 	if (a->extent > last->size) {
 	    /*
@@ -2838,7 +2790,7 @@ PUBLIC void HText_endAnchor ARGS2(
 	 *  the one we just checked, and the one we just
 	 *  checked has only white and special characters,
 	 *  check whether the anchor's content on the
-	 *  immediatedly preceding line also has only
+	 *  immediately preceding line also has only
 	 *  white and special characters. - FM
 	 */
 	while (i == 0 && a->extent > CurBlankExtent) {
@@ -3109,7 +3061,7 @@ PUBLIC void HText_endAnchor ARGS2(
 	    }
 	} else {
 	    /*
-	     *  The anchor's content does not resticted to only
+	     *  The anchor's content does not restricted to only
 	     *  white and special characters, so we'll show it
 	     *  as a link. - FM
 	     */
@@ -3140,12 +3092,12 @@ PUBLIC void HText_endAnchor ARGS2(
 					BlankExtent : 0);
 	}
     } else {
-        /*
+	/*
 	 *  It's a named anchor without an HREF, so it
 	 *  should be registered but not shown as a
 	 *  link. - FM
 	 */
-        a->show_anchor = NO;
+	a->show_anchor = NO;
 	a->extent = 0;
     }
 }
@@ -3164,7 +3116,7 @@ PUBLIC void HText_appendText ARGS2(
 	return;
 
     for (p = str; *p; p++) {
-        HText_appendCharacter(text, *p);
+	HText_appendCharacter(text, *p);
     }
 }
 
@@ -3175,12 +3127,12 @@ PRIVATE void remove_special_attr_chars ARGS1(
     register char *cp;
 
     for (cp = buf; *cp != '\0' ; cp++) {
-        /*
+	/*
 	 *  Don't print underline chars.
 	 */
-        if (!IsSpecialAttrChar(*cp)) {
-           *buf = *cp, 
-           buf++;
+	if (!IsSpecialAttrChar(*cp)) {
+	   *buf = *cp,
+	   buf++;
 	}
     }
     *buf = '\0';
@@ -3210,10 +3162,10 @@ PUBLIC void HText_endAppend ARGS1(
      *  Create a  blank line at the bottom.
      */
     new_line(text);
-    
+
     if (text->halted) {
 	/*
-	 *  If output was stopped becasue memory was low, and we made
+	 *  If output was stopped because memory was low, and we made
 	 *  it to the end of the document, reset those flags and hope
 	 *  things are better now. - kw
 	 */
@@ -3233,23 +3185,23 @@ PUBLIC void HText_endAppend ARGS1(
      *  Remove the blank lines at the end of document.
      */
     while (text->last_line->data[0] == '\0' && text->Lines > 2) {
-        HTLine *next_to_the_last_line = text->last_line->prev;
+	HTLine *next_to_the_last_line = text->last_line->prev;
 
-        if (TRACE)
-            fprintf(stderr, "GridText: Removing bottom blank line: %s\n",
-                            text->last_line->data);
-        /*
+	if (TRACE)
+	    fprintf(stderr, "GridText: Removing bottom blank line: %s\n",
+			    text->last_line->data);
+	/*
 	 *  line_ptr points to the first line.
 	 */
-        next_to_the_last_line->next = line_ptr;
-        line_ptr->prev = next_to_the_last_line;
+	next_to_the_last_line->next = line_ptr;
+	line_ptr->prev = next_to_the_last_line;
 	FREE(text->last_line);
-        text->last_line = next_to_the_last_line;
-        text->Lines--;
+	text->last_line = next_to_the_last_line;
+	text->Lines--;
 #ifdef NOTUSED_BAD_FOR_SCREEN
-        if (TRACE) {
-            fprintf(stderr, "GridText: New bottom line: %s\n",
-                            text->last_line->data);
+	if (TRACE) {
+	    fprintf(stderr, "GridText: New bottom line: %s\n",
+			    text->last_line->data);
 	}
 #endif
     }
@@ -3259,7 +3211,7 @@ PUBLIC void HText_endAppend ARGS1(
      *  create the hightext strings. - FM
      */
     for (anchor_ptr = text->first_anchor;
-         anchor_ptr; anchor_ptr=anchor_ptr->next) {
+	 anchor_ptr; anchor_ptr=anchor_ptr->next) {
 re_parse:
 	/*
 	 *  Find the right line.
@@ -3282,13 +3234,13 @@ re_parse:
 	    fprintf(stderr, "Gridtext: Anchor found on line:%d col:%d\n",
 			    cur_line, anchor_ptr->line_pos);
 
-	/* 
+	/*
 	 *  Strip off any spaces or SpecialAttrChars at the beginning,
 	 *  if they exist, but only on HYPERTEXT_ANCHORS.
 	 */
 	if (anchor_ptr->link_type & HYPERTEXT_ANCHOR) {
 	    ch = (unsigned char)line_ptr->data[anchor_ptr->line_pos];
-            while (isspace(ch) ||
+	    while (isspace(ch) ||
 	           IsSpecialAttrChar(ch)) {
 		anchor_ptr->line_pos++;
 		anchor_ptr->extent--;
@@ -3302,9 +3254,9 @@ re_parse:
 #ifdef NOTUSED_BAD_FOR_SCREEN
 	if (TRACE)
 	    fprintf(stderr, "anchor text: '%s'   pos: %d\n",
-	    		    line_ptr->data, anchor_ptr->line_pos);
+			    line_ptr->data, anchor_ptr->line_pos);
 #endif
-	/* 
+	/*
 	 *  If the link begins with an end of line and we have more
 	 *  lines, then start the highlighting on the next line. - FM
 	 */
@@ -3320,7 +3272,7 @@ re_parse:
 #ifdef NOTUSED_BAD_FOR_SCREEN
 	if (TRACE)
 	    fprintf(stderr, "anchor text: '%s'   pos: %d\n",
-	    		    line_ptr->data, anchor_ptr->line_pos);
+			    line_ptr->data, anchor_ptr->line_pos);
 #endif
 	/*
 	 *  Copy the link name into the data structure.
@@ -3328,10 +3280,10 @@ re_parse:
 	if (line_ptr->data &&
 	    anchor_ptr->extent > 0 && anchor_ptr->line_pos >= 0) {
 	    StrnAllocCopy(anchor_ptr->hightext,
-	    		  &line_ptr->data[anchor_ptr->line_pos],
+			  &line_ptr->data[anchor_ptr->line_pos],
 			  anchor_ptr->extent);
 	} else {
-	    StrAllocCopy(anchor_ptr->hightext, ""); 
+	    StrAllocCopy(anchor_ptr->hightext, "");
 	}
 
 	/*
@@ -3339,7 +3291,7 @@ re_parse:
 	 *  copy that into the data structure.
 	 */
 	if (anchor_ptr->extent > strlen(anchor_ptr->hightext)) {
-            HTLine *line_ptr2 = line_ptr->next;
+	    HTLine *line_ptr2 = line_ptr->next;
 	    /*
 	     *  Double check that we have a line pointer,
 	     *  and if so, copy into hightext2.
@@ -3350,7 +3302,7 @@ re_parse:
 			      (anchor_ptr->extent -
 			       strlen(anchor_ptr->hightext)));
 	        anchor_ptr->hightext2offset = line_ptr2->offset;
-	 	remove_special_attr_chars(anchor_ptr->hightext2);
+		remove_special_attr_chars(anchor_ptr->hightext2);
 		if (anchor_ptr->link_type & HYPERTEXT_ANCHOR) {
 		    if ((len = strlen(anchor_ptr->hightext2)) > 0) {
 			len--;
@@ -3380,50 +3332,46 @@ re_parse:
 	    }
 	}
 
-        /*
+	/*
 	 *  Subtract any formatting characters from the x position
-         *  of the link.
-         */
-        if (anchor_ptr->line_pos > 0) {
-            register int offset = 0, i = 0;
-            for (; i < anchor_ptr->line_pos; i++)
-#ifdef EXP_CHARTRANS
-		if (IS_UTF_EXTRA(line_ptr->data[i]))
+	 *  of the link.
+	 */
+	if (anchor_ptr->line_pos > 0) {
+	    register int offset = 0, i = 0;
+	    for (; i < anchor_ptr->line_pos; i++)
+		if (IS_UTF_EXTRA(line_ptr->data[i]) ||
+		    IsSpecialAttrChar(line_ptr->data[i]))
 		    offset++;
-		else
-#endif /* EXP_CHARTRANS */
-                if (IsSpecialAttrChar(line_ptr->data[i]))
-                    offset++;
-            anchor_ptr->line_pos -= offset;
-        }
+	    anchor_ptr->line_pos -= offset;
+	}
 
 	/*
 	 *  Add the offset, and set the line number.
 	 */
-        anchor_ptr->line_pos += line_ptr->offset;
-        anchor_ptr->line_num  = cur_line;
+	anchor_ptr->line_pos += line_ptr->offset;
+	anchor_ptr->line_num  = cur_line;
 	if (TRACE)
 	    fprintf(stderr,
-	    	    "GridText: adding link on line %d in HText_endAppend\n",
+		    "GridText: adding link on line %d in HText_endAppend\n",
 		    cur_line);
 
 	/*
 	 *  If this is the last anchor, we're done!
 	 */
- 	if (anchor_ptr == text->last_anchor)
+	if (anchor_ptr == text->last_anchor)
 	    break;
     }
 }
 
 
-/* 	Dump diagnostics to stderr
+/*	Dump diagnostics to stderr
 */
 PUBLIC void HText_dump ARGS1(
 	HText *,	text)
 {
     fprintf(stderr, "HText: Dump called\n");
 }
-	
+
 
 /*	Return the anchor associated with this node
 */
@@ -3446,10 +3394,10 @@ PUBLIC HTChildAnchor * HText_childNumber ARGS1(
     TextAnchor * a;
 
     if (!(HTMainText && HTMainText->first_anchor) || number <= 0)
-        return (HTChildAnchor *)0;	/* Fail */
+	return (HTChildAnchor *)0;	/* Fail */
 
     for (a = HTMainText->first_anchor; a; a = a->next) {
-        if (a->number == number)
+	if (a->number == number)
 	    return(a->anchor);
     }
     return (HTChildAnchor *)0;	/* Fail */
@@ -3467,15 +3415,15 @@ PUBLIC void HText_FormDescNumber ARGS2(
     TextAnchor * a;
 
     if (!desc)
-        return;
+	return;
 
     if (!(HTMainText && HTMainText->first_anchor) || number <= 0) {
-         *desc = "unknown field or link";
+	 *desc = "unknown field or link";
 	 return;
     }
 
     for (a = HTMainText->first_anchor; a; a = a->next) {
-        if (a->number == number) {
+	if (a->number == number) {
 	    if (!(a->input_field && a->input_field->type)) {
 	        *desc = "unknown field or link";
 		return;
@@ -3532,7 +3480,7 @@ PUBLIC void HText_FormDescNumber ARGS2(
 	    return;
     }
 }
- 
+
 /*
  *  HTGetLinkInfo returns some link info based on the number.
  *
@@ -3559,7 +3507,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
     int prev_anchor_line = -1, prev_prev_anchor_line = -1;
 
     if (!HTMainText)
-        return(NO);
+	return(NO);
 
     for (a = HTMainText->first_anchor; a; a = a->next) {
 	/*
@@ -3590,7 +3538,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
 		/*
 		 *  Count all anchors starting with the top line of the
 		 *  currently displayed screen.  Just keep on counting
-		 *  beyound this screen's bottom line - we'll know whether 
+		 *  beyond this screen's bottom line - we'll know whether
 		 *  a found anchor is below the current screen by a check
 		 *  against nlinks later. - KW
 		 */
@@ -3613,7 +3561,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
 		     *  have failed.  Return a failure indication so that
 		     *  the user will notice that something is wrong,
 		     *  instead of positioning on some other anchor which
-		     *  might result in inadvertant activation. - KW
+		     *  might result in inadvertent activation. - KW
 		     */
 		    return(NO);
 		}
@@ -3634,7 +3582,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
 		    /*
 		     *  if the requested anchor is not within the currently
 		     *  displayed screen, set *go_line such that the top line
-		     *  will be either 
+		     *  will be either
 		     *  (1) the line immediately below the previous
 		     *      anchor, or
 		     *  (2) about one third of a screenful above the line
@@ -3685,7 +3633,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
 #if 0
 			    char *cp = strchr(cp2, '#');
 			    if (cp && cp != cp2 &&
-                                0!=strncmp(cp2, "LYNXIMGMAP:", 11)) {
+				0!=strncmp(cp2, "LYNXIMGMAP:", 11)) {
 				StrAllocCopy(*lname, cp);
 				FREE(cp2);
 				return(WWW_INTERN_LINK_TYPE);
@@ -3706,7 +3654,7 @@ PUBLIC int HTGetLinkInfo ARGS6(
 		}
 		return(WWW_LINK_TYPE);
 	    }
-        }
+	}
     }
     return(NO);
 }
@@ -3742,20 +3690,20 @@ PUBLIC BOOL HText_getFirstTargetInLine ARGS7(
      */
     if (!(text && line_num >= 0 && line_num <= text->Lines &&
 	  target && *target))
-        return(FALSE);
+	return(FALSE);
 
     /*
      *  Find the line and set up its data and offset - FM
      */
     for (i = 0, line = text->last_line->next;
-    	 i < line_num && (line != text->last_line);
-         i++, line = line->next) {
+	 i < line_num && (line != text->last_line);
+	 i++, line = line->next) {
 	if (line->next == NULL) {
 	    return(FALSE);
 	}
     }
     if (!line && line->data[0])
-        return(FALSE);
+	return(FALSE);
     LineData = (char *)line->data;
     LineOffset = (int)line->offset;
 
@@ -3812,7 +3760,7 @@ PUBLIC int HText_getNumOfLines NOARGS
 PUBLIC char * HText_getTitle NOARGS
 {
     return(HTMainText ?
-   	  (char *) HTAnchor_title(HTMainText->node_anchor) : NULL);
+	  (char *) HTAnchor_title(HTMainText->node_anchor) : NULL);
 }
 
 #ifdef USE_HASH
@@ -3831,7 +3779,7 @@ PUBLIC char *HText_getStyle NOARGS
 PUBLIC char * HText_getSugFname NOARGS
 {
     return(HTMainText ?
-   	  (char *) HTAnchor_SugFname(HTMainText->node_anchor) : NULL);
+	  (char *) HTAnchor_SugFname(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -3861,7 +3809,7 @@ PUBLIC void HTCheckFnameForCompression ARGS3(
      *  Make sure we have a string and anchor. - FM
      */
     if (!(fn && *fn && anchor))
-        return;
+	return;
 
     /*
      *  Make sure we have a file, not directory, name. -FM
@@ -3871,7 +3819,7 @@ PUBLIC void HTCheckFnameForCompression ARGS3(
 	if (*fn == '\0') {
 	    return;
 	}
-    } 
+    }
 
     /*
      *  Check the anchor's content_type and content_encoding
@@ -3880,11 +3828,11 @@ PUBLIC void HTCheckFnameForCompression ARGS3(
     ct = HTAnchor_content_type(anchor);
     ce = HTAnchor_content_encoding(anchor);
     if (ce == NULL) {
-        /*
+	/*
 	 *  No Content-Encoding, so check
 	 *  the Content-Type. - FM
 	 */
-        if (!strncasecomp((ct ? ct : ""), "application/gzip", 16) ||
+	if (!strncasecomp((ct ? ct : ""), "application/gzip", 16) ||
 	    !strncasecomp((ct ? ct : ""), "application/x-gzip", 18)) {
 	    method = 1;
 	} else if (!strncasecomp((ct ? ct : ""),
@@ -3997,7 +3945,7 @@ PUBLIC void HTCheckFnameForCompression ARGS3(
 	}
     }
     if (!method) {
-        /*
+	/*
 	 *  Don't know what compression method
 	 *  was used, if any, so we won't do
 	 *  anything. - FM
@@ -4032,7 +3980,7 @@ PUBLIC void HTCheckFnameForCompression ARGS3(
 PUBLIC char * HText_getLastModified NOARGS
 {
     return(HTMainText ?
-   	  (char *) HTAnchor_last_modified(HTMainText->node_anchor) : NULL);
+	  (char *) HTAnchor_last_modified(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -4042,7 +3990,7 @@ PUBLIC char * HText_getLastModified NOARGS
 PUBLIC char * HText_getDate NOARGS
 {
     return(HTMainText ?
-   	  (char *) HTAnchor_date(HTMainText->node_anchor) : NULL);
+	  (char *) HTAnchor_date(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -4052,7 +4000,7 @@ PUBLIC char * HText_getDate NOARGS
 PUBLIC char * HText_getServer NOARGS
 {
     return(HTMainText ?
-   	  (char *)HTAnchor_server(HTMainText->node_anchor) : NULL);
+	  (char *)HTAnchor_server(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -4067,7 +4015,7 @@ PUBLIC void HText_pageDisplay ARGS2(
     display_page(HTMainText, line_num-1, target);
 
     is_www_index = HTAnchor_isIndex(HTMainAnchor);
-} 
+}
 
 /*
  *  Return YES if we have a whereis search target on the displayed
@@ -4079,7 +4027,7 @@ PUBLIC BOOL HText_pageHasPrevTarget NOARGS
 	return NO;
     else
 	return HTMainText->page_has_target;
-} 
+}
 
 /*
  *  HText_LinksInLines returns the number of links in the
@@ -4096,7 +4044,7 @@ PUBLIC int HText_LinksInLines ARGS3(
     TextAnchor *Anchor_ptr = NULL;
 
     if (!text)
-        return total;
+	return total;
 
     for (Anchor_ptr = text->first_anchor;
 		Anchor_ptr != NULL && Anchor_ptr->line_num <= end;
@@ -4124,7 +4072,7 @@ PUBLIC void HText_refresh ARGS1(
 	HText *,	text)
 {
     if (text->stale)
-        display_page(text, text->top_of_screen, "");
+	display_page(text, text->top_of_screen, "");
 }
 
 PUBLIC int HText_sourceAnchors ARGS1(
@@ -4188,7 +4136,7 @@ PRIVATE int line_for_char ARGS2(
     HTLine * line = text->last_line->next;
     for (;;) {
 	if (line == text->last_line) return 0;	/* Invalid */
-        characters = characters + line->size + 1;
+	characters = characters + line->size + 1;
 	if (characters > char_num) return line_number;
 	line_number ++;
 	line = line->next;
@@ -4199,7 +4147,7 @@ PUBLIC BOOL HText_select ARGS1(
 	HText *,	text)
 {
     if (text != HTMainText) {
-        HTMainText = text;
+	HTMainText = text;
 	HTMainAnchor = text->node_anchor;
 
 	/*
@@ -4242,7 +4190,7 @@ PUBLIC BOOL HText_POSTReplyLoaded ARGS1(
      *  Make sure doc is for a POST reply. - FM
      */
     if ((post_data = doc->post_data) == NULL ||
-        (address = doc->address) == NULL)
+	(address = doc->address) == NULL)
 	return(FALSE);
     is_head = doc->isHEAD;
 
@@ -4271,19 +4219,19 @@ PUBLIC BOOL HTFindPoundSelector ARGS1(
 
     for (a=HTMainText->first_anchor; a; a=a->next) {
 
-        if (a->anchor && a->anchor->tag)
-            if (!strcmp(a->anchor->tag, selector)) {
+	if (a->anchor && a->anchor->tag)
+	    if (!strcmp(a->anchor->tag, selector)) {
 
-                 www_search_result = a->line_num+1;
-                 if (TRACE) 
-		    fprintf(stderr, 
+		 www_search_result = a->line_num+1;
+		 if (TRACE)
+		    fprintf(stderr,
 		"HText: Selecting anchor [%d] at character %d, line %d\n",
-                                     a->number, a->start, www_search_result);
+				     a->number, a->start, www_search_result);
 		if (!strcmp(selector, LYToolbarName))
 		    --www_search_result;
 
-                 return(YES);
-            }
+		 return(YES);
+	    }
     }
 
     return(NO);
@@ -4299,20 +4247,20 @@ PUBLIC BOOL HText_selectAnchor ARGS2(
 /* This is done later, hence HText_select is unused in GridText.c
    Should it be the contrary ? @@@
     if (text != HTMainText) {
-        HText_select(text);
+	HText_select(text);
     }
 */
 
     for (a=text->first_anchor; a; a=a->next) {
-        if (a->anchor == anchor) break;
+	if (a->anchor == anchor) break;
     }
     if (!a) {
-        if (TRACE) fprintf(stderr, "HText: No such anchor in this text!\n");
-        return NO;
+	if (TRACE) fprintf(stderr, "HText: No such anchor in this text!\n");
+	return NO;
     }
 
     if (text != HTMainText) {		/* Comment out by ??? */
-        HTMainText = text;		/* Put back in by tbl 921208 */
+	HTMainText = text;		/* Put back in by tbl 921208 */
 	HTMainAnchor = text->node_anchor;
     }
 
@@ -4329,16 +4277,16 @@ PUBLIC BOOL HText_selectAnchor ARGS2(
 
 	www_search_result = l - (display_lines/3); /* put in global variable */
     }
-    
+
     return YES;
 }
- 
+
 
 /*		Editing functions		- NOT IMPLEMENTED
 **		=================
 **
 **	These are called from the application. There are many more functions
-**	not included here from the orginal text object.
+**	not included here from the original text object.
 */
 
 /*	Style handling:
@@ -4349,7 +4297,7 @@ PUBLIC void HText_applyStyle ARGS2(
 	HText *,	me,
 	HTStyle *,	style)
 {
-    
+
 }
 
 
@@ -4359,7 +4307,7 @@ PUBLIC void HText_updateStyle ARGS2(
 	HText *,	me,
 	HTStyle *,	style)
 {
-    
+
 }
 
 
@@ -4390,10 +4338,10 @@ PUBLIC void HTextApplyToSimilar ARGS2(
 	HText *,	me,
 	HTStyle *,	style)
 {
-    
+
 }
 
- 
+
 /*	Select the first unstyled run.
 **	(style recovery only)
 */
@@ -4401,7 +4349,7 @@ PUBLIC void HTextSelectUnstyled ARGS2(
 	HText *,		me,
 	HTStyleSheet *,		sheet)
 {
-    
+
 }
 
 
@@ -4410,13 +4358,13 @@ PUBLIC void HTextSelectUnstyled ARGS2(
 PUBLIC void HText_unlinkSelection ARGS1(
 	HText *,	me)
 {
-    
+
 }
 
 PUBLIC HTAnchor * HText_referenceSelected ARGS1(
 	HText *,	me)
 {
-     return 0;   
+     return 0;
 }
 
 
@@ -4439,7 +4387,7 @@ PUBLIC HTAnchor * HText_linkSelTo ARGS2(
     return 0;
 }
 
-/* 
+/*
  *  Utility for freeing the list of previous isindex and whereis queries. - FM
  */
 PUBLIC void HTSearchQueries_free NOARGS
@@ -4448,7 +4396,7 @@ PUBLIC void HTSearchQueries_free NOARGS
     HTList *cur = search_queries;
 
     if (!cur)
-        return;
+	return;
 
     while (NULL != (query = (char *)HTList_nextObject(cur))) {
 	FREE(query);
@@ -4458,7 +4406,7 @@ PUBLIC void HTSearchQueries_free NOARGS
     return;
 }
 
-/* 
+/*
  *  Utility for listing isindex and whereis queries, making
  *  any repeated queries the most current in the list. - FM
  */
@@ -4470,14 +4418,14 @@ PUBLIC void HTAddSearchQuery ARGS1(
     HTList *cur;
 
     if (!(query && *query))
-        return;
+	return;
 
     if ((new = (char *)calloc(1, (strlen(query) + 1))) == NULL)
-    	outofmem(__FILE__, "HTAddSearchQuery");
+	outofmem(__FILE__, "HTAddSearchQuery");
     strcpy(new, query);
 
     if (!search_queries) {
-        search_queries = HTList_new();
+	search_queries = HTList_new();
 	atexit(HTSearchQueries_free);
 	HTList_addObject(search_queries, new);
 	return;
@@ -4509,7 +4457,7 @@ PUBLIC int do_www_search ARGS1(
      *  Load the default query buffer
      */
     if ((cp=strchr(doc->address, '?')) != NULL) {
-        /*
+	/*
 	 *  This is an index from a previous search.
 	 *  Use its query as the default.
 	 */
@@ -4525,10 +4473,10 @@ PUBLIC int do_www_search ARGS1(
 	 */
 	HTAddSearchQuery(searchstring);
     } else {
-        /*
+	/*
 	 *  New search; no default.
 	 */
-        searchstring[0] = '\0';
+	searchstring[0] = '\0';
 	temp[0] = '\0';
     }
 
@@ -4536,20 +4484,20 @@ PUBLIC int do_www_search ARGS1(
      *  Prompt for a query string.
      */
     if (searchstring[0] == '\0') {
-        if (HTMainAnchor->isIndexPrompt)
-            _statusline(HTMainAnchor->isIndexPrompt);
+	if (HTMainAnchor->isIndexPrompt)
+	    _statusline(HTMainAnchor->isIndexPrompt);
 	else
-            _statusline(ENTER_DATABASE_QUERY);
+	    _statusline(ENTER_DATABASE_QUERY);
     } else
-        _statusline(EDIT_CURRENT_QUERY);
+	_statusline(EDIT_CURRENT_QUERY);
     QueryTotal = (search_queries ? HTList_count(search_queries) : 0);
     recall = (((PreviousSearch && QueryTotal >= 2) ||
-    	       (!PreviousSearch && QueryTotal >= 1)) ? RECALL : NORECALL);
+	       (!PreviousSearch && QueryTotal >= 1)) ? RECALL : NORECALL);
     QueryNum = QueryTotal;
 get_query:
     if ((ch=LYgetstr(searchstring, VISIBLE,
-    		     sizeof(searchstring), recall)) < 0 ||
-        *searchstring == '\0' || ch == UPARROW || ch == DNARROW) {
+		     sizeof(searchstring), recall)) < 0 ||
+	*searchstring == '\0' || ch == UPARROW || ch == DNARROW) {
 	if (recall && ch == UPARROW) {
 	    if (PreviousSearch) {
 	        /*
@@ -4569,7 +4517,7 @@ get_query:
 		 */
 	        QueryNum = 0;
 	    if ((cp=(char *)HTList_objectAt(search_queries,
-	    				    QueryNum)) != NULL) {
+					    QueryNum)) != NULL) {
 		strcpy(searchstring, cp);
 		if (*temp && !strcmp(temp, searchstring)) {
 		    _statusline(EDIT_CURRENT_QUERY);
@@ -4600,7 +4548,7 @@ get_query:
 		 */
 		QueryNum = QueryTotal - 1;
 	    if ((cp=(char *)HTList_objectAt(search_queries,
-	    				    QueryNum)) != NULL) {
+					    QueryNum)) != NULL) {
 		strcpy(searchstring, cp);
 		if (*temp && !strcmp(temp, searchstring)) {
 		    _statusline(EDIT_CURRENT_QUERY);
@@ -4614,11 +4562,11 @@ get_query:
 	    }
 	}
 
-        /*
+	/*
 	 *  Search cancelled.
 	 */
-        _statusline(CANCELLED);
-        sleep(InfoSecs);
+	_statusline(CANCELLED);
+	sleep(InfoSecs);
 	return(NULLFILE);
     }
 
@@ -4627,20 +4575,20 @@ get_query:
      */
     cp = searchstring;
     while (*cp && isspace((unsigned char)*cp))
-        cp++;
+	cp++;
     if (!(*cp)) {
-        _statusline(CANCELLED);
-        sleep(InfoSecs);
-        return(NULLFILE);
+	_statusline(CANCELLED);
+	sleep(InfoSecs);
+	return(NULLFILE);
     }
     if (cp > searchstring) {
-        for (i = 0; *cp; i++)
+	for (i = 0; *cp; i++)
 	    searchstring[i] = *cp++;
 	searchstring[i] = '\0';
     }
     cp = searchstring + strlen(searchstring) - 1;
     while ((cp > searchstring) && isspace((unsigned char)*cp))
-        *cp-- = '\0';
+	*cp-- = '\0';
 
     /*
      *  Don't resubmit the same query unintentionally.
@@ -4661,7 +4609,7 @@ get_query:
      *  Show the URL with the new query.
      */
     if ((cp=strchr(doc->address, '?')) != NULL)
-        *cp = '\0';
+	*cp = '\0';
     StrAllocCopy(tmpaddress, doc->address);
     StrAllocCat(tmpaddress, "?");
     StrAllocCat(tmpaddress, searchstring);
@@ -4673,7 +4621,7 @@ get_query:
 #endif /* !VMS */
     FREE(tmpaddress);
     if (cp)
-        *cp = '?';
+	*cp = '?';
 
     /*
      *  OK, now we do the search.
@@ -4688,13 +4636,13 @@ get_query:
 	    cp_freeme = stub_HTAnchor_address((HTAnchor *)HTMainAnchor);
 	else
 	    cp_freeme = HTAnchor_address((HTAnchor *)HTMainAnchor);
-        StrAllocCopy(doc->address, cp_freeme);
+	StrAllocCopy(doc->address, cp_freeme);
 	FREE(cp_freeme);
 
 	if (TRACE)
 	    fprintf(stderr,"\ndo_www_search: newfile: %s\n",doc->address);
 
-        /*
+	/*
 	 *  Yah, the search succeeded.
 	 */
 	return(NORMAL);
@@ -4712,7 +4660,7 @@ get_query:
 
 /*
  *  Print the contents of the file in HTMainText to
- *  the file descripter fp.
+ *  the file descriptor fp.
  *  If is_reply is TRUE add ">" to the beginning of each
  *  line to specify the file is a reply to message.
  */
@@ -4720,46 +4668,51 @@ PUBLIC void print_wwwfile_to_fd ARGS2(
 	FILE *,		fp,
 	int,		is_reply)
 {
-      register int i;
-      HTLine * line;
+    register int i;
+    HTLine * line;
 #ifdef VMS
-      extern BOOLEAN HadVMSInterrupt;
+    extern BOOLEAN HadVMSInterrupt;
 #endif /* VMS */
 
-      if (!HTMainText)
-          return;
-
-      line = HTMainText->last_line->next;
-      for (;; line = line->next) {
+    if (!HTMainText)
+	return;
 
-	  if (is_reply)
-             fputc('>',fp);
+    line = HTMainText->last_line->next;
+    for (;; line = line->next) {
+	/*
+	 *  Add news-style quotation if requested. - FM
+	 */
+	if (is_reply) {
+	    fputc('>',fp);
+	}
 
-            /* add offset */
-          for (i = 0; i < (int)line->offset; i++)
-             fputc(' ',fp);
+        /*
+	 *  Add offset.
+	 */
+	for (i = 0; i < (int)line->offset; i++) {
+	     fputc(' ', fp);
+	}
 
-            /* add data */
-          for (i = 0; line->data[i] != '\0'; i++) {
-	      if (!IsSpecialAttrChar(line->data[i])) {
-                 fputc(line->data[i],fp);
-	     } else if (line->data[i] == LY_SOFT_HYPHEN &&
-		 line->data[i + 1] == '\0') { /* last char on line */
-#ifdef EXP_CHARTRANS
-		 if (dump_output_immediately &&
-		     LYRawMode &&
-		     LYlowest_eightbit[current_char_set] <= 173 &&
-		     (current_char_set == 0 ||
-		      LYCharSet_UC[current_char_set].enc == UCT_ENC_8859 ||
-		      LYCharSet_UC[current_char_set].like8859 & UCT_R_8859SPECL)) {
-		     fputc(0xad, fp); /* the iso8859 byte for SHY */
-		 } else {
-		     fputc('-', fp);
-		 }
-#else /* EXP_CHARTRANS */
-		 fputc('-', fp);
-#endif /* EXP_CHARTRANS */
-	     } else if (dump_output_immediately && use_underscore) {
+	/*
+	 *  Add data.
+	 */
+	for (i = 0; line->data[i] != '\0'; i++) {
+	    if (!IsSpecialAttrChar(line->data[i])) {
+		fputc(line->data[i],fp);
+	    } else if (line->data[i] == LY_SOFT_HYPHEN &&
+		line->data[i + 1] == '\0') { /* last char on line */
+		if (dump_output_immediately &&
+		    LYRawMode &&
+		    LYlowest_eightbit[current_char_set] <= 173 &&
+		    (current_char_set == 0 ||
+		     LYCharSet_UC[current_char_set].enc == UCT_ENC_8859 ||
+		     LYCharSet_UC[current_char_set].like8859 &
+				  UCT_R_8859SPECL)) {
+		    fputc(0xad, fp); /* the iso8859 byte for SHY */
+		} else {
+		    fputc('-', fp);
+		}
+	    } else if (dump_output_immediately && use_underscore) {
 		switch (line->data[i]) {
 		    case LY_UNDERLINE_START_CHAR:
 		    case LY_UNDERLINE_END_CHAR:
@@ -4769,14 +4722,15 @@ PUBLIC void print_wwwfile_to_fd ARGS2(
 		    case LY_BOLD_END_CHAR:
 			break;
 		}
-	     }
-	  }
-
+	    }
+	}
 
-         /* add the return */
-         fputc('\n',fp);
+	/*
+	 *  Add the return.
+	 */
+	fputc('\n',fp);
 
-	 if (line == HTMainText->last_line)
+	if (line == HTMainText->last_line)
 	    break;
 
 #ifdef VMS
@@ -4789,7 +4743,7 @@ PUBLIC void print_wwwfile_to_fd ARGS2(
 
 /*
  *  Print the contents of the file in HTMainText to
- *  the file descripter fp.
+ *  the file descriptor fp.
  *  First output line is "thelink", ie, the URL for this file.
  */
 PUBLIC void print_crawl_to_fd ARGS3(
@@ -4804,7 +4758,7 @@ PUBLIC void print_crawl_to_fd ARGS3(
 #endif /* VMS */
 
     if (!HTMainText)
-        return;
+	return;
 
     line = HTMainText->last_line->next;
     fprintf(fp, "THE_URL:%s\n", thelink);
@@ -4813,52 +4767,53 @@ PUBLIC void print_crawl_to_fd ARGS3(
     }
 
     for (;; line = line->next) {
-        /*
+	/*
 	 *  Add offset.
 	 */
-        for (i = 0; i < (int)line->offset; i++)
-            fputc(' ',fp);
+	for (i = 0; i < (int)line->offset; i++) {
+	    fputc(' ', fp);
+	}
 
-        /*
+	/*
 	 *  Add data.
 	 */
-        for (i = 0; line->data[i] != '\0'; i++) {
-            if (!IsSpecialAttrChar(line->data[i])) {
-                fputc(line->data[i],fp);
+	for (i = 0; line->data[i] != '\0'; i++) {
+	    if (!IsSpecialAttrChar(line->data[i])) {
+		fputc(line->data[i], fp);
 	     } else if (line->data[i] == LY_SOFT_HYPHEN &&
 		 line->data[i + 1] == '\0') { /* last char on line */
-#ifdef EXP_CHARTRANS
 		 if (dump_output_immediately &&
 		     LYRawMode &&
 		     LYlowest_eightbit[current_char_set] <= 173 &&
 		     (current_char_set == 0 ||
 		      LYCharSet_UC[current_char_set].enc == UCT_ENC_8859 ||
-		      LYCharSet_UC[current_char_set].like8859 & UCT_R_8859SPECL)) {
+		      LYCharSet_UC[current_char_set].like8859 &
+				   UCT_R_8859SPECL)) {
 		     fputc(0xad, fp); /* the iso8859 byte for SHY */
 		 } else {
 		     fputc('-', fp);
 		 }
-#else /* EXP_CHARTRANS */
-		 fputc('-', fp);
-#endif /* EXP_CHARTRANS */
 	     }
 	}
-        /*
+
+	/*
 	 *  Add the return.
 	 */
-        fputc('\n',fp);
+	fputc('\n',fp);
 
-	if (line == HTMainText->last_line)
+	if (line == HTMainText->last_line) {
 	    break;
+	}
     }
 
     /*
      *  Add the References list if appropriate
      */
     if ((nolist == FALSE) &&
-        (keypad_mode == LINKS_ARE_NUMBERED ||
-	 keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED))
-        printlist(fp,FALSE);
+	(keypad_mode == LINKS_ARE_NUMBERED ||
+	 keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED)) {
+	printlist(fp,FALSE);
+    }
 
 #ifdef VMS
     HadVMSInterrupt = FALSE;
@@ -4947,10 +4902,9 @@ PUBLIC void www_user_search ARGS3(
     TextAnchor *a;
     OptionType *option;
     char *stars = NULL, *cp;
-    extern BOOLEAN case_sensitive;
 
     if (!HTMainText) {
-        return;
+	return;
     }
 
     /*
@@ -4958,7 +4912,7 @@ PUBLIC void www_user_search ARGS3(
      */
     line = HTMainText->last_line->next;
     for (count = 1; count <= start_line; line = line->next, count++) {
-        if (line == HTMainText->last_line) {
+	if (line == HTMainText->last_line) {
 	    line = HTMainText->last_line->next; /* set to first line */
 	    count = 1;
 	    break;
@@ -4966,7 +4920,7 @@ PUBLIC void www_user_search ARGS3(
     }
     a = HTMainText->first_anchor;
     while (a && a->line_num < count - 1) {
-        a = a->next;
+	a = a->next;
     }
 
     for (;;) {
@@ -5125,7 +5079,7 @@ PUBLIC void www_user_search ARGS3(
     count = 1;
     a = HTMainText->first_anchor;
     while (a && a->line_num < count - 1) {
-        a = a->next;
+	a = a->next;
     }
 
     for (;;) {
@@ -5262,12 +5216,12 @@ PUBLIC void www_user_search ARGS3(
 	        tentative_result=count;
 		break;
 	    } else if (!case_sensitive &&
-	    	       LYno_attr_char_case_strstr(line->data, target)) {
+		       LYno_attr_char_case_strstr(line->data, target)) {
 	        tentative_result=count;
 		break;
 	    } else if (count > start_line) {  /* next line */
-    		_user_message(STRING_NOT_FOUND, target);
-    		sleep(MessageSecs);
+		_user_message(STRING_NOT_FOUND, target);
+		sleep(MessageSecs);
 	        return;			/* end */
 	    } else {
 	        line = line->next;
@@ -5281,13 +5235,13 @@ PUBLIC void www_user_search ARGS3(
 
 PUBLIC void user_message ARGS2(
 	CONST char *,	message,
-	CONST char *,	argument) 
+	CONST char *,	argument)
 {
     char *temp = NULL;
     char temp_arg[256];
 
     if (message == NULL) {
-        mustshow = FALSE;
+	mustshow = FALSE;
 	return;
     }
 
@@ -5298,11 +5252,11 @@ PUBLIC void user_message ARGS2(
     temp_arg[255] = '\0';
     temp = (char *)malloc(strlen(message) + strlen(temp_arg) + 1);
     if (temp == NULL)
-        outofmem(__FILE__, "user_message");
+	outofmem(__FILE__, "user_message");
     sprintf(temp, message, temp_arg);
 
     statusline(temp);
-   
+
     FREE(temp);
     return;
 }
@@ -5314,7 +5268,7 @@ PUBLIC void user_message ARGS2(
 PUBLIC char * HText_getOwner NOARGS
 {
     return(HTMainText ?
-    	   (char *)HTAnchor_owner(HTMainText->node_anchor) : NULL);
+	   (char *)HTAnchor_owner(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -5325,7 +5279,7 @@ PUBLIC void HText_setMainTextOwner ARGS1(
 	CONST char *,	owner)
 {
     if (!HTMainText)
-        return;
+	return;
 
     HTAnchor_setOwner(HTMainText->node_anchor, owner);
 }
@@ -5338,7 +5292,7 @@ PUBLIC void HText_setMainTextOwner ARGS1(
 PUBLIC char * HText_getRevTitle NOARGS
 {
     return(HTMainText ?
-    	   (char *)HTAnchor_RevTitle(HTMainText->node_anchor) : NULL);
+	   (char *)HTAnchor_RevTitle(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -5348,7 +5302,7 @@ PUBLIC char * HText_getRevTitle NOARGS
 PUBLIC char * HText_getContentBase NOARGS
 {
     return(HTMainText ?
-    	   (char *)HTAnchor_content_base(HTMainText->node_anchor) : NULL);
+	   (char *)HTAnchor_content_base(HTMainText->node_anchor) : NULL);
 }
 
 /*
@@ -5368,13 +5322,12 @@ PUBLIC void HTuncache_current_document NOARGS
      */
     if (HTMainText) {
 	HTParentAnchor * htmain_anchor = HTMainText->node_anchor;
-#ifdef EXP_CHARTRANS
+
 	if (htmain_anchor) {
 	    if (!(HTOutputFormat && HTOutputFormat == WWW_SOURCE)) {
 		FREE(htmain_anchor->UCStages);
 	    }
 	}
-#endif /* EXP_CHARTRANS */
 	if (TRACE) {
 	    fprintf(stderr, "\rHTuncache.. freeing document for '%s'%s\n",
 			    ((htmain_anchor &&
@@ -5384,7 +5337,7 @@ PUBLIC void HTuncache_current_document NOARGS
 			      htmain_anchor->post_data) ?
 				      " with POST data" : ""));
 	}
-        HTList_removeObject(loaded_texts, HTMainText);
+	HTList_removeObject(loaded_texts, HTMainText);
 	HText_free(HTMainText);
 	HTMainText = NULL;
     } else {
@@ -5404,8 +5357,8 @@ PUBLIC char * HTLoadedDocumentURL NOARGS
     if (!HTMainText)
 	return ("");
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->address) 
-       	return(HTMainText->node_anchor->address);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->address)
+	return(HTMainText->node_anchor->address);
     else
 	return ("");
 }
@@ -5415,8 +5368,8 @@ PUBLIC char * HTLoadedDocumentPost_data NOARGS
     if (!HTMainText)
 	return ("");
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->post_data) 
-       	return(HTMainText->node_anchor->post_data);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->post_data)
+	return(HTMainText->node_anchor->post_data);
     else
 	return ("");
 }
@@ -5426,8 +5379,8 @@ PUBLIC char * HTLoadedDocumentTitle NOARGS
     if (!HTMainText)
 	return ("");
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->title) 
-       	return(HTMainText->node_anchor->title);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->title)
+	return(HTMainText->node_anchor->title);
     else
 	return ("");
 }
@@ -5437,8 +5390,8 @@ PUBLIC BOOLEAN HTLoadedDocumentIsHEAD NOARGS
     if (!HTMainText)
 	return (FALSE);
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->isHEAD) 
-       	return(HTMainText->node_anchor->isHEAD);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->isHEAD)
+	return(HTMainText->node_anchor->isHEAD);
     else
 	return (FALSE);
 }
@@ -5448,8 +5401,8 @@ PUBLIC BOOLEAN HTLoadedDocumentIsSafe NOARGS
     if (!HTMainText)
 	return (FALSE);
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->safe) 
-       	return(HTMainText->node_anchor->safe);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->safe)
+	return(HTMainText->node_anchor->safe);
     else
 	return (FALSE);
 }
@@ -5459,8 +5412,8 @@ PUBLIC char * HTLoadedDocumentCharset NOARGS
     if (!HTMainText)
 	return (NULL);
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->charset) 
-       	return(HTMainText->node_anchor->charset);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->charset)
+	return(HTMainText->node_anchor->charset);
     else
 	return (NULL);
 }
@@ -5488,8 +5441,8 @@ PUBLIC char * HTLoadedDocumentBookmark NOARGS
     if (!HTMainText)
 	return (NULL);
 
-    if (HTMainText->node_anchor && HTMainText->node_anchor->bookmark) 
-       	return(HTMainText->node_anchor->bookmark);
+    if (HTMainText->node_anchor && HTMainText->node_anchor->bookmark)
+	return(HTMainText->node_anchor->bookmark);
     else
 	return (NULL);
 }
@@ -5499,7 +5452,7 @@ PUBLIC int HText_LastLineSize ARGS2(
 	BOOL,		IgnoreSpaces)
 {
     if (!text || !text->last_line || !text->last_line->size)
-        return 0;
+	return 0;
     return HText_TrueLineSize(text->last_line, text, IgnoreSpaces);
 }
 
@@ -5510,9 +5463,9 @@ PUBLIC int HText_PreviousLineSize ARGS2(
     HTLine * line;
 
     if (!text || !text->last_line)
-        return 0;
+	return 0;
     if (!(line = text->last_line->prev))
-        return 0;
+	return 0;
     return HText_TrueLineSize(line, text, IgnoreSpaces);
 }
 
@@ -5525,7 +5478,7 @@ PRIVATE int HText_TrueLineSize ARGS3(
     int true_size = 0;
 
     if (!(line && line->size))
-        return 0;
+	return 0;
 
     if (IgnoreSpaces) {
 	for (i = 0; i < line->size; i++) {
@@ -5556,7 +5509,7 @@ PUBLIC void HText_NegateLineOne ARGS1(
 	HText *,	text)
 {
     if (text) {
-        text->in_line_1 = NO;
+	text->in_line_1 = NO;
     }
     return;
 }
@@ -5578,7 +5531,7 @@ PUBLIC void HText_RemovePreviousLine ARGS1(
     char *data;
 
     if (!(text && text->Lines > 1))
-        return;
+	return;
 
     line = text->last_line->prev;
     data = line->data;
@@ -5586,7 +5539,7 @@ PUBLIC void HText_RemovePreviousLine ARGS1(
     previous->next = text->last_line;
     text->last_line->prev = previous;
     text->chars -= ((data && *data == '\0') ?
-    					  1 : strlen(line->data) + 1);
+					  1 : strlen(line->data) + 1);
     text->Lines--;
     FREE(line);
 }
@@ -5605,7 +5558,7 @@ PUBLIC int HText_getCurrentColumn ARGS1(
     BOOL IgnoreSpaces = FALSE;
 
     if (text) {
-        column = (text->in_line_1 ?
+	column = (text->in_line_1 ?
 		  (int)text->style->indent1st : (int)text->style->leftIndent)
 		  + HText_LastLineSize(text, IgnoreSpaces)
 		  + (int)text->last_line->offset;
@@ -5618,7 +5571,7 @@ PUBLIC int HText_getMaximumColumn ARGS1(
 {
     int column = (LYcols-2);
     if (text) {
-        column = ((int)text->style->rightIndent ? (LYcols-2) :
+	column = ((int)text->style->rightIndent ? (LYcols-2) :
 		  ((LYcols-1) - (int)text->style->rightIndent));
     }
     return column;
@@ -5638,12 +5591,12 @@ PUBLIC void HText_setTabID ARGS2(
     HTList * last = NULL;
 
     if (!text || !name || !*name)
-    	return;
+	return;
 
     if (!cur) {
-        cur = text->tabs = HTList_new();
+	cur = text->tabs = HTList_new();
     } else {
-        while (NULL != (Tab = (HTTabID *)HTList_nextObject(cur))) {
+	while (NULL != (Tab = (HTTabID *)HTList_nextObject(cur))) {
 	    if (Tab->name && !strcmp(Tab->name, name))
 	        return; /* Already set.  Keep the first value. */
 	    last = cur;
@@ -5671,7 +5624,7 @@ PUBLIC int HText_getTabIDColumn ARGS2(
     HTList * cur = text->tabs;
 
     if (text && name && *name && cur) {
-        while (NULL != (Tab = (HTTabID *)HTList_nextObject(cur))) {
+	while (NULL != (Tab = (HTTabID *)HTList_nextObject(cur))) {
 	    if (Tab->name && !strcmp(Tab->name, name))
 	        break;
 	}
@@ -5702,14 +5655,14 @@ PRIVATE void HText_AddHiddenLink ARGS2(
      *  Make sure we have an HText structure and anchor. - FM
      */
     if (!(text && textanchor && textanchor->anchor))
-        return;
+	return;
 
     /*
      *  Create the hidden links list
      *  if it hasn't been already. - FM
      */
     if (text->hidden_links == NULL)
-    	text->hidden_links = HTList_new();
+	text->hidden_links = HTList_new();
 
     /*
      *  Store the address, in reverse list order
@@ -5734,7 +5687,7 @@ PUBLIC int HText_HiddenLinkCount ARGS1(
     int count = 0;
 
     if (text && text->hidden_links)
-        count = HTList_count((HTList *)text->hidden_links);
+	count = HTList_count((HTList *)text->hidden_links);
 
     return(count);
 }
@@ -5751,8 +5704,8 @@ PUBLIC char * HText_HiddenLinkAt ARGS2(
     char *href = NULL;
 
     if (text && text->hidden_links && number >= 0)
-        href = (char *)HTList_objectAt((HTList *)text->hidden_links, number);
-    
+	href = (char *)HTList_objectAt((HTList *)text->hidden_links, number);
+
     return(href);
 }
 
@@ -5760,7 +5713,7 @@ PUBLIC char * HText_HiddenLinkAt ARGS2(
 /*
  *  Form methods
  *    These routines are used to build forms consisting
- *    of input fields 
+ *    of input fields
  */
 PRIVATE int HTFormMethod;
 PRIVATE char * HTFormAction = NULL;
@@ -5790,11 +5743,11 @@ PUBLIC void HText_beginForm ARGS5(
 	if (!strncmp(action, "mailto:", 7)) {
 	    HTFormMethod = URL_MAIL_METHOD;
 	}
-        StrAllocCopy(HTFormAction, action);
+	StrAllocCopy(HTFormAction, action);
     }
     else
 	StrAllocCopy(HTFormAction, HTLoadedDocumentURL());
-    
+
     /*
      *  Check the METHOD. - FM
      */
@@ -5806,21 +5759,21 @@ PUBLIC void HText_beginForm ARGS5(
      *  Check the ENCTYPE. - FM
      */
     if ((enctype != NULL) && *enctype) {
-        StrAllocCopy(HTFormEnctype, enctype);
+	StrAllocCopy(HTFormEnctype, enctype);
 	if (HTFormMethod != URL_MAIL_METHOD &&
-	    !strncasecomp(enctype, "multipart/form-data", 19)) 
+	    !strncasecomp(enctype, "multipart/form-data", 19))
 	    HTFormMethod = URL_POST_METHOD;
     } else {
-        FREE(HTFormEnctype);
+	FREE(HTFormEnctype);
     }
 
     /*
      *  Check the TITLE. - FM
      */
     if ((title != NULL) && *title)
-        StrAllocCopy(HTFormTitle, title);
+	StrAllocCopy(HTFormTitle, title);
     else
-        FREE(HTFormTitle);
+	FREE(HTFormTitle);
 
     /*
      *  Check for an ACCEPT_CHARSET.  If present, store it and
@@ -5847,10 +5800,10 @@ PUBLIC void HText_beginForm ARGS5(
     if (newform == NULL)
 	outofmem(__FILE__,"HText_beginForm");
     newform->number = HTFormNumber;
-    
+
     PerFormInfo_free(HTCurrentForm); /* shouldn't happen here - kw */
     HTCurrentForm = newform;
-				    
+
     if (TRACE)
 	fprintf(stderr,
 		"BeginForm: action:%s Method:%d%s%s%s%s%s%s\n",
@@ -5867,11 +5820,11 @@ PUBLIC void HText_endForm ARGS1(
 	HText *,	text)
 {
     if (HTFormFields == 1 && text && text->first_anchor) {
-        /*
+	/*
 	 *  Support submission of a single text input field in
-	 *  the form via <return> instead of a submit botton. - FM
+	 *  the form via <return> instead of a submit button. - FM
 	 */
-        TextAnchor * a = text->first_anchor;
+	TextAnchor * a = text->first_anchor;
 	/*
 	 *  Go through list of anchors and get our input field. - FM
 	 */
@@ -5886,7 +5839,7 @@ PUBLIC void HText_endForm ARGS1(
 		StrAllocCopy(a->input_field->submit_action, HTFormAction);
 		if (HTFormEnctype != NULL)
 		    StrAllocCopy(a->input_field->submit_enctype,
-		    		 HTFormEnctype);
+				 HTFormEnctype);
 		if (HTFormTitle != NULL)
 		    StrAllocCopy(a->input_field->submit_title, HTFormTitle);
 		a->input_field->submit_method = HTFormMethod;
@@ -5963,19 +5916,17 @@ PUBLIC void HText_beginSelect ARGS4(
 
     if (TRACE) {
        fprintf(stderr,"HText_beginSelect: name=%s type=%d size=%s\n",
-	       ((HTCurSelectGroup == NULL) ? 
-	       			  "<NULL>" : HTCurSelectGroup),
+	       ((HTCurSelectGroup == NULL) ?
+				  "<NULL>" : HTCurSelectGroup),
 		HTCurSelectGroupType,
-	       ((HTCurSelectGroupSize == NULL) ? 
-	       			      "<NULL>" : HTCurSelectGroupSize));
-#ifdef EXP_CHARTRANS
+	       ((HTCurSelectGroupSize == NULL) ?
+				      "<NULL>" : HTCurSelectGroupSize));
 	fprintf(stderr,"HText_beginSelect: name_cs=%d \"%s\"\n",
 		HTCurSelectGroupCharset,
 		(HTCurSelectGroupCharset >= 0 ?
 		 LYCharSet_UC[HTCurSelectGroupCharset].MIMEname : "<UNKNOWN>"));
-#endif
     }
-} 
+}
 
 /*
 **  This function returns the number of the option whose
@@ -5990,17 +5941,17 @@ PUBLIC int HText_getOptionNum ARGS1(
     int n = 1; /* start count at 1 */
 
     if (!(text && text->last_anchor))
-        return(0);
+	return(0);
 
     a = text->last_anchor;
     if (!(a->link_type == INPUT_ANCHOR && a->input_field &&
-          a->input_field->type == F_OPTION_LIST_TYPE))
-        return(0);
+	  a->input_field->type == F_OPTION_LIST_TYPE))
+	return(0);
 
     for (op = a->input_field->select_list; op; op = op->next)
 	n++;
     if (TRACE)
-        fprintf(stderr, "HText_getOptionNum: Got number '%d'.\n", n);
+	fprintf(stderr, "HText_getOptionNum: Got number '%d'.\n", n);
     return(n);
 }
 
@@ -6022,7 +5973,7 @@ PRIVATE char * HText_skipOptionNumPrefix ARGS1(
 	 *  Skip the option number embedded in the option name so the
 	 *  extra chars won't mess up cgi scripts processing the value.
 	 *  The format is (nnn)__ where nnn is a number and there is a
-	 *  minumum of 5 chars (no underscores if (nnn) exceeds 5 chars).
+	 *  minimum of 5 chars (no underscores if (nnn) exceeds 5 chars).
 	 *  See HTML.c.  If the chars don't exactly match this format,
 	 *  just use all of opname.  - LE
 	 */
@@ -6076,7 +6027,7 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
     int number = 0, i, j;
 
     if (!(text && text->last_anchor &&
-    	  text->last_anchor->link_type == INPUT_ANCHOR)) {
+	  text->last_anchor->link_type == INPUT_ANCHOR)) {
 	if (TRACE)
 	    fprintf(stderr,
 		    "HText_setLastOptionValue: invalid call!  value:%s!\n",
@@ -6093,11 +6044,11 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
      *  Strip end spaces, newline is also whitespace.
      */
     if (*value) {
-        cp = &value[strlen(value)-1];
-        while ((cp >= value) && (isspace((unsigned char)*cp) ||
-       				 IsSpecialAttrChar((unsigned char)*cp)))
-            cp--;
-        *(cp+1) = '\0';
+	cp = &value[strlen(value)-1];
+	while ((cp >= value) && (isspace((unsigned char)*cp) ||
+				 IsSpecialAttrChar((unsigned char)*cp)))
+	    cp--;
+	*(cp+1) = '\0';
     }
 
     /*
@@ -6105,13 +6056,13 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
      */
     cp = value;
     while (isspace((unsigned char)*cp) ||
-   	   IsSpecialAttrChar((unsigned char)*cp))
-        cp++;
+	   IsSpecialAttrChar((unsigned char)*cp))
+	cp++;
     if (HTCurSelectGroupType == F_RADIO_TYPE &&
 	LYSelectPopups &&
 	keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED) {
 	/*
-	 *  Collapse any space beteen the popup option
+	 *  Collapse any space between the popup option
 	 *  prefix and actual value. - FM
 	 */
 	if ((cp1 = HText_skipOptionNumPrefix(cp)) > cp) {
@@ -6129,22 +6080,22 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
     }
 
     if (HTCurSelectGroupType == F_CHECKBOX_TYPE) {
-        StrAllocCopy(text->last_anchor->input_field->value, cp);
+	StrAllocCopy(text->last_anchor->input_field->value, cp);
 	text->last_anchor->input_field->value_cs = val_cs;
-        /*
+	/*
 	 *  Put the text on the screen as well.
 	 */
-        HText_appendText(text, cp);
+	HText_appendText(text, cp);
 
     } else if (LYSelectPopups == FALSE) {
-        StrAllocCopy(text->last_anchor->input_field->value,
+	StrAllocCopy(text->last_anchor->input_field->value,
 		     (submit_value ? submit_value : cp));
 	text->last_anchor->input_field->value_cs = (submit_value ?
 						    submit_val_cs : val_cs);
-        /*
+	/*
 	 *  Put the text on the screen as well.
 	 */
-        HText_appendText(text, cp);
+	HText_appendText(text, cp);
 
     } else {
 	/*
@@ -6175,7 +6126,7 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 		return NULL;
 	    }
 
-	    new_ptr = text->last_anchor->input_field->select_list = 
+	    new_ptr = text->last_anchor->input_field->select_list =
 				(OptionType *)calloc(1, sizeof(OptionType));
 	    if (new_ptr == NULL)
 	        outofmem(__FILE__, "HText_setLastOptionValue");
@@ -6189,7 +6140,7 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	    number++;  /* add one more */
 
 	    op_ptr->next = new_ptr =
-	    			(OptionType *)calloc(1, sizeof(OptionType));
+				(OptionType *)calloc(1, sizeof(OptionType));
 	    if (new_ptr == NULL)
 	        outofmem(__FILE__, "HText_setLastOptionValue");
 	}
@@ -6202,7 +6153,7 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	        cp[i] == HT_EM_SPACE) {
 		cp[j++] = ' ';
 	    } else if (cp[i] != LY_SOFT_HYPHEN &&
-	    	       !IsSpecialAttrChar((unsigned char)cp[i])) {
+		       !IsSpecialAttrChar((unsigned char)cp[i])) {
 		cp[j++] = cp[i];
 	    }
 	}
@@ -6243,18 +6194,18 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	     *  cp_submit_value fields, so free them now to avoid
 	     *  a memory leak. - kw
 	     */
-            FREE(text->last_anchor->input_field->value);
-            FREE(text->last_anchor->input_field->cp_submit_value);
+	    FREE(text->last_anchor->input_field->value);
+	    FREE(text->last_anchor->input_field->cp_submit_value);
 
-	    text->last_anchor->input_field->value = 
+	    text->last_anchor->input_field->value =
 		text->last_anchor->input_field->select_list->name;
-	    text->last_anchor->input_field->orig_value = 
+	    text->last_anchor->input_field->orig_value =
 		text->last_anchor->input_field->select_list->name;
-	    text->last_anchor->input_field->cp_submit_value = 
+	    text->last_anchor->input_field->cp_submit_value =
 		text->last_anchor->input_field->select_list->cp_submit_value;
-	    text->last_anchor->input_field->orig_submit_value = 
+	    text->last_anchor->input_field->orig_submit_value =
 		text->last_anchor->input_field->select_list->cp_submit_value;
-	    text->last_anchor->input_field->value_cs = 
+	    text->last_anchor->input_field->value_cs =
 		new_ptr->value_cs;
 	} else {
 	    int newlen = strlen(new_ptr->name);
@@ -6278,17 +6229,17 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	    text->last_anchor->input_field->value = new_ptr->name;
 	    text->last_anchor->input_field->orig_value = new_ptr->name;
 	    text->last_anchor->input_field->cp_submit_value =
-	    			   new_ptr->cp_submit_value;
+				   new_ptr->cp_submit_value;
 	    text->last_anchor->input_field->orig_submit_value =
-	    			   new_ptr->cp_submit_value;
-	    text->last_anchor->input_field->value_cs = 
+				   new_ptr->cp_submit_value;
+	    text->last_anchor->input_field->value_cs =
 		new_ptr->value_cs;
 	    StrAllocCopy(HTCurSelectedOptionValue, new_ptr->name);
 	    if (newlen > curlen)
 		StrAllocCat(HTCurSelectedOptionValue,
 			    UNDERSCORES(newlen-curlen));
 	}
-	     
+
 	/*
 	 *  Return the selected Option value to be sent to the screen.
 	 */
@@ -6297,7 +6248,7 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	     *  Change the value.
 	     */
 	    text->last_anchor->input_field->size =
-	    			strlen(HTCurSelectedOptionValue); 
+				strlen(HTCurSelectedOptionValue);
 	    ret_Value = HTCurSelectedOptionValue;
 	}
     }
@@ -6306,7 +6257,6 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	fprintf(stderr,"HText_setLastOptionValue:%s value=%s",
 		(order == LAST_ORDER) ? " LAST_ORDER" : "",
 		value);
-#ifdef EXP_CHARTRANS
 	fprintf(stderr,"            val_cs=%d \"%s\"",
 			val_cs,
 			(val_cs >= 0 ?
@@ -6323,14 +6273,13 @@ PUBLIC char * HText_setLastOptionValue ARGS7(
 	else {
 	    fprintf(stderr,"\n");
 	}
-#endif
     }
     return(ret_Value);
 }
 
 /*
  *  Assign a form input anchor.
- *  Returns the number of charactors to leave
+ *  Returns the number of characters to leave
  *  blank so that the input field can fit.
  */
 PUBLIC int HText_beginInput ARGS3(
@@ -6338,9 +6287,9 @@ PUBLIC int HText_beginInput ARGS3(
 	BOOL,			underline,
 	InputFieldData *,	I)
 {
-	
+
     TextAnchor * a = (TextAnchor *) calloc(1, sizeof(*a));
-    FormInfo * f = (FormInfo *) calloc(1, sizeof(*f)); 
+    FormInfo * f = (FormInfo *) calloc(1, sizeof(*f));
     CONST char *cp_option = NULL;
     char *IValue = NULL;
     unsigned char *tmp = NULL;
@@ -6350,7 +6299,7 @@ PUBLIC int HText_beginInput ARGS3(
 	fprintf(stderr,"Entering HText_beginInput\n");
 
     if (a == NULL || f == NULL)
-        outofmem(__FILE__, "HText_beginInput");
+	outofmem(__FILE__, "HText_beginInput");
 
     a->start = text->chars + text->last_line->size;
     a->inUnderline = underline;
@@ -6365,13 +6314,13 @@ PUBLIC int HText_beginInput ARGS3(
      *  name that was checked. - FM
      */
     if (I->type != NULL && !strcmp(I->type,"OPTION") &&
- 	HTCurSelectGroupType == F_RADIO_TYPE && LYSelectPopups == FALSE) {
+	HTCurSelectGroupType == F_RADIO_TYPE && LYSelectPopups == FALSE) {
 	I->type = "RADIO";
 	I->name = HTCurSelectGroup;
 	I->name_cs = HTCurSelectGroupCharset;
     }
     if (I->name && I->type && !strcasecomp(I->type, "radio")) {
-        if (!text->last_anchor) {
+	if (!text->last_anchor) {
 	    I->checked = TRUE;
 	} else {
 	    TextAnchor * b = text->first_anchor;
@@ -6379,7 +6328,7 @@ PUBLIC int HText_beginInput ARGS3(
 	    while (b) {
 	        if (b->link_type == INPUT_ANCHOR &&
 		    b->input_field->type == F_RADIO_TYPE &&
-                    b->input_field->number == HTFormNumber) {
+		    b->input_field->number == HTFormNumber) {
 		    if (!strcmp(b->input_field->name, I->name)) {
 			if (I->checked && b->input_field->num_value) {
 			    b->input_field->num_value = 0;
@@ -6421,13 +6370,13 @@ PUBLIC int HText_beginInput ARGS3(
      *  Set the no_cache flag if the METHOD is POST. - FM
      */
     if (HTFormMethod == URL_POST_METHOD)
-        f->no_cache = TRUE;
+	f->no_cache = TRUE;
 
     /*
      *  Set up VALUE.
      */
     if (I->value)
-        StrAllocCopy(IValue, I->value);
+	StrAllocCopy(IValue, I->value);
     if (IValue && HTCJK != NOCJK) {
 	if ((tmp = (unsigned char *)calloc(1, (strlen(IValue) + 1)))) {
 	    if (kanji_code == EUC) {
@@ -6455,7 +6404,7 @@ PUBLIC int HText_beginInput ARGS3(
     /* set the values and let the parsing below do the work */
     if (I->type != NULL && !strcmp(I->type,"OPTION")) {
 	cp_option = I->type;
- 	if (HTCurSelectGroupType == F_RADIO_TYPE)
+	if (HTCurSelectGroupType == F_RADIO_TYPE)
 	    I->type = "OPTION_LIST";
 	else
 	    I->type = "CHECKBOX";
@@ -6500,12 +6449,12 @@ PUBLIC int HText_beginInput ARGS3(
 
     /*
      *  Set CHECKED
-     *  (num_value is only relevent to check and radio types).
+     *  (num_value is only relevant to check and radio types).
      */
     if (I->checked == TRUE)
- 	f->num_value = 1; 
+	f->num_value = 1;
     else
- 	f->num_value = 0;
+	f->num_value = 0;
 
     /*
      *  Set TYPE.
@@ -6551,7 +6500,7 @@ PUBLIC int HText_beginInput ARGS3(
      *  Set NAME.
      */
     if (I->name != NULL) {
-        StrAllocCopy(f->name,I->name);
+	StrAllocCopy(f->name,I->name);
 	f->name_cs = I->name_cs;
     } else {
 	if (f->type == F_RESET_TYPE ||
@@ -6579,12 +6528,12 @@ PUBLIC int HText_beginInput ARGS3(
      *  Add this anchor to the anchor list
      */
     if (text->last_anchor) {
-        text->last_anchor->next = a;
+	text->last_anchor->next = a;
     } else {
-        text->first_anchor = a;
+	text->first_anchor = a;
     }
 
-    /* 
+    /*
      *  Set VALUE, if it exists.  Otherwise, if it's not
      *  an option list make it a zero-length string. - FM
      */
@@ -6615,7 +6564,7 @@ PUBLIC int HText_beginInput ARGS3(
     }
 
     /*
-     *  Run checks and fill in neccessary values.
+     *  Run checks and fill in necessary values.
      */
     if (f->type == F_RESET_TYPE) {
 	if (f->value && *f->value != '\0') {
@@ -6625,8 +6574,8 @@ PUBLIC int HText_beginInput ARGS3(
 	    f->size = 5;
 	}
     } else if (f->type == F_IMAGE_SUBMIT_TYPE ||
-    	       f->type == F_SUBMIT_TYPE) {
-        if (f->value && *f->value != '\0') {
+	       f->type == F_SUBMIT_TYPE) {
+	if (f->value && *f->value != '\0') {
 	    f->size = strlen(f->value);
 	} else if (f->type == F_IMAGE_SUBMIT_TYPE) {
 	    StrAllocCopy(f->value, "[IMAGE]-Submit");
@@ -6649,20 +6598,20 @@ PUBLIC int HText_beginInput ARGS3(
 	   StrAllocCopy(f->value, (f->type == F_CHECKBOX_TYPE ? "on" : ""));
 
     }
-    FREE(IValue); 
+    FREE(IValue);
 
     /*
      *  Set original values.
      */
     if (f->type == F_RADIO_TYPE || f->type == F_CHECKBOX_TYPE ) {
 	if (f->num_value)
-            StrAllocCopy(f->orig_value, "1");
+	    StrAllocCopy(f->orig_value, "1");
 	else
-            StrAllocCopy(f->orig_value, "0");
+	    StrAllocCopy(f->orig_value, "0");
     } else if (f->type == F_OPTION_LIST_TYPE) {
 	f->orig_value = NULL;
     } else {
-        StrAllocCopy(f->orig_value, f->value);
+	StrAllocCopy(f->orig_value, f->value);
     }
 
     /*
@@ -6694,7 +6643,7 @@ PUBLIC int HText_beginInput ARGS3(
 	default:
 	    if (keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED)
 		a->number = ++(text->last_anchor_number);
-	    else 
+	    else
 		a->number = 0;
 	    break;
     }
@@ -6772,7 +6721,7 @@ PUBLIC int HText_beginInput ARGS3(
     }
 
     /*
-     *  Finalise adding this anchor to the anchor list
+     *  Add this anchor to the anchor list
      */
     text->last_anchor = a;
 
@@ -6799,10 +6748,9 @@ PUBLIC int HText_beginInput ARGS3(
 
     if (TRACE) {
 	fprintf(stderr,"Input link: name=%s\nvalue=%s\nsize=%d\n",
-		 	f->name,
+			f->name,
 			((f->value != NULL) ? f->value : ""),
 			f->size);
-#ifdef EXP_CHARTRANS
 	fprintf(stderr,"Input link: name_cs=%d \"%s\" (from %d \"%s\")\n",
 			f->name_cs,
 			(f->name_cs >= 0 ?
@@ -6817,9 +6765,8 @@ PUBLIC int HText_beginInput ARGS3(
 			I->value_cs,
 			(I->value_cs >= 0 ?
 			 LYCharSet_UC[I->value_cs].MIMEname : "<UNKNOWN>"));
-#endif
     }
-	
+
     /*
      *  Return the SIZE of the input field.
      */
@@ -6948,7 +6895,6 @@ PUBLIC void HText_SubmitForm ARGS4(
     CONST char *out_csname;
     CONST char *target_csname = NULL;
     char *name_used = "";
-#ifdef EXP_CHARTRANS
     BOOL form_has_8bit = NO, form_has_special = NO;
     BOOL field_has_8bit = NO, field_has_special = NO;
     BOOL name_has_8bit = NO, name_has_special = NO;
@@ -6958,10 +6904,9 @@ PUBLIC void HText_SubmitForm ARGS4(
     char *val_used = "";
     char *copied_val_used = NULL;
     char *copied_name_used = NULL;
-#endif
 
     if (!HTMainText)
-        return;
+	return;
 
     thisform = HTList_objectAt(HTMainText->forms, form_number - 1);
     /*  Sanity check */
@@ -6979,19 +6924,19 @@ PUBLIC void HText_SubmitForm ARGS4(
     }
 
     if (submit_item->submit_action) {
-        /*
+	/*
 	 *  If we're mailing, make sure it's a mailto ACTION. - FM
 	 */
-        if ((submit_item->submit_method == URL_MAIL_METHOD) &&
+	if ((submit_item->submit_method == URL_MAIL_METHOD) &&
 	    strncmp(submit_item->submit_action, "mailto:", 7)) {
 	    HTAlert(BAD_FORM_MAILTO);
 	    return;
 	}
 
-        /*
+	/*
 	 *  Set length plus breathing room.
 	 */
-        len = strlen(submit_item->submit_action) + 2048;
+	len = strlen(submit_item->submit_action) + 2048;
     } else {
 	return;
     }
@@ -7034,7 +6979,6 @@ PUBLIC void HText_SubmitForm ARGS4(
      *  TODO:   - deal with list in ACCEPT-CHARSET, find a "best"
      *		  charset to submit
      */
-#ifdef EXP_CHARTRANS
 
     /* Look at ACCEPT-CHARSET on the submitting field if we have one. */
     if (thisform && submit_item->accept_cs &&
@@ -7058,7 +7002,7 @@ PUBLIC void HText_SubmitForm ARGS4(
     }
 
     if (target_cs < 0 &&
-        HTMainText->node_anchor->charset &&
+	HTMainText->node_anchor->charset &&
 	*HTMainText->node_anchor->charset) {
 	target_cs = UCGetLYhndl_byMIME(HTMainText->node_anchor->charset);
 	if (target_cs >= 0) {
@@ -7072,10 +7016,6 @@ PUBLIC void HText_SubmitForm ARGS4(
     if (target_cs < 0) {
 	target_cs = UCLYhndl_for_unspec;
     }
-#else  /* EXP_CHARTRANS */
-    target_cs = LYRawMode ? current_char_set : 0;
-    target_csname = HTMainText->node_anchor->charset;
-#endif  /* EXP_CHARTRANS */
 
     /*
      *  Go through list of anchors and get size first.
@@ -7085,8 +7025,8 @@ PUBLIC void HText_SubmitForm ARGS4(
      */
     anchor_ptr = HTMainText->first_anchor;
     while (anchor_ptr) {
-        if (anchor_ptr->link_type == INPUT_ANCHOR) {
-   	    if (anchor_ptr->input_field->number == form_number) {
+	if (anchor_ptr->link_type == INPUT_ANCHOR) {
+	    if (anchor_ptr->input_field->number == form_number) {
 
 		char *p;
 		char * val;
@@ -7095,7 +7035,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 			            form_ptr->cp_submit_value : form_ptr->value;
 		field_has_8bit = NO;
 		field_has_special = NO;
-	
+
 	        len += (strlen(form_ptr->name) + (Boundary ? 100 : 10));
 		/*
 		 *  Calculate by the option submit value if present.
@@ -7107,7 +7047,6 @@ PUBLIC void HText_SubmitForm ARGS4(
 		}
 	        len += 32; /* plus and ampersand + safety net */
 
-#ifdef EXP_CHARTRANS
 		for (p = val;
 		     p && *p && !(field_has_8bit && field_has_special);
 		     p++)
@@ -7147,7 +7086,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 		} else if (UCCanTranslateFromTo(form_ptr->value_cs, target_cs) != TQ_NO) {
 		    /* also ok */
 		} else if (UCCanTranslateFromTo(target_cs, form_ptr->value_cs) != TQ_NO) {
-		    target_cs = form_ptr->value_cs; 	/* try this */
+		    target_cs = form_ptr->value_cs;	/* try this */
 		    target_csname = NULL; /* will be set after loop */
 		} else {
 		    target_cs = -1; /* don't know what to do */
@@ -7167,12 +7106,11 @@ PUBLIC void HText_SubmitForm ARGS4(
 		} else if (UCCanTranslateFromTo(form_ptr->name_cs, target_cs) != TQ_NO) {
 		    /* also ok */
 		} else if (UCCanTranslateFromTo(target_cs, form_ptr->name_cs) != TQ_NO) {
-		    target_cs = form_ptr->value_cs; 	/* try this */
+		    target_cs = form_ptr->value_cs;	/* try this */
 		    target_csname = NULL; /* will be set after loop */
 		} else {
 		    target_cs = -1; /* don't know what to do */
 		}
-#endif /* EXP_CHARTRANS */
 
 	    } else if (anchor_ptr->input_field->number > form_number) {
 	        break;
@@ -7185,7 +7123,6 @@ PUBLIC void HText_SubmitForm ARGS4(
 	anchor_ptr = anchor_ptr->next;
     }
 
-#ifdef EXP_CHARTRANS
     if (target_csname == NULL && target_cs >= 0) {
 	if (form_has_8bit) {
 	    target_csname = LYCharSet_UC[target_cs].MIMEname;
@@ -7195,30 +7132,29 @@ PUBLIC void HText_SubmitForm ARGS4(
 	    target_csname = "us-ascii";
 	}
     }
-#endif
     /*
      *  Get query ready.
      */
     query = (char *)calloc(1, len);
     if (query == NULL)
-        outofmem(__FILE__, "HText_SubmitForm");
+	outofmem(__FILE__, "HText_SubmitForm");
 
     if (submit_item->submit_method == URL_GET_METHOD && Boundary == NULL) {
-       	strcpy (query, submit_item->submit_action);
-       	/*
+	strcpy (query, submit_item->submit_action);
+	/*
 	 *  Method is GET.  Clip out any anchor in the current URL.
 	 */
-       	strtok (query, "#");
-       	/*
+	strtok (query, "#");
+	/*
 	 *  Clip out any old query in the current URL.
 	 */
-       	strtok (query, "?");
+	strtok (query, "?");
 	/*
 	 *  Add the lead question mark for the new URL.
-	 */  
+	 */
 	strcat(query,"?");
     } else {
-        query[0] = '\0';
+	query[0] = '\0';
 	/*
 	 *  We are submitting POST content to a server,
 	 *  so load the post_content_type element. - FM
@@ -7290,16 +7226,16 @@ PUBLIC void HText_SubmitForm ARGS4(
      *  Go through list of anchors and assemble URL query.
      */
     while (anchor_ptr) {
-        if (anchor_ptr->link_type == INPUT_ANCHOR) {
+	if (anchor_ptr->link_type == INPUT_ANCHOR) {
 	    if (anchor_ptr->input_field->number == form_number) {
 		char *p;
 		int out_cs;
-                form_ptr = anchor_ptr->input_field;
+		form_ptr = anchor_ptr->input_field;
 
 		if (form_ptr->type != F_TEXTAREA_TYPE)
 		    textarea_lineno = 0;
 
-                switch(form_ptr->type) {
+		switch(form_ptr->type) {
 	        case F_RESET_TYPE:
 		    break;
 	        case F_SUBMIT_TYPE:
@@ -7335,13 +7271,12 @@ PUBLIC void HText_SubmitForm ARGS4(
 		    }
 		    /*  fall through  */
 	        case F_RADIO_TYPE:
-                case F_CHECKBOX_TYPE:
+		case F_CHECKBOX_TYPE:
 		case F_TEXTAREA_TYPE:
-                case F_PASSWORD_TYPE:
+		case F_PASSWORD_TYPE:
 	        case F_TEXT_TYPE:
 		case F_OPTION_LIST_TYPE:
 		case F_HIDDEN_TYPE:
-#ifdef EXP_CHARTRANS
 		    /*
 		     *	Be sure to actually look at the option submit value.
 		     */
@@ -7383,7 +7318,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 				    form_ptr->value_cs,
 				    form_ptr->value_cs >= 0 ?
 				    LYCharSet_UC[form_ptr->value_cs].MIMEname :
-				    				          "???",
+									  "???",
 				    target_cs,
 				    target_csname ? target_csname : "???",
 				    success ? "OK" : "FAILED");
@@ -7479,7 +7414,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 				    form_ptr->name_cs,
 				    form_ptr->name_cs >= 0 ?
 				    LYCharSet_UC[form_ptr->name_cs].MIMEname :
-				    				          "???",
+									  "???",
 				    target_cs,
 				    target_csname ? target_csname : "???",
 				    success ? "OK" : "FAILED");
@@ -7524,7 +7459,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 			 *  "should be encoded according to the prescriptions
 			 *  of RFC 1522 [...].  I don't think RFC 1522 actually
 			 *  is meant to apply to parameters like this, and it
-			 *  is unknown wheter any server would make sense of
+			 *  is unknown whether any server would make sense of
 			 *  it, so for now just use some quoting/escaping and
 			 *  otherwise leave 8-bit values as they are.
 			 *  Non-ASCII characters in form field names submitted
@@ -7535,7 +7470,6 @@ PUBLIC void HText_SubmitForm ARGS4(
 			name_used = copied_name_used;
 		    }
 
-#endif /* EXP_CHARTRANS */
 		    break;
 		default:
 		    if (TRACE)
@@ -7650,11 +7584,9 @@ PUBLIC void HText_SubmitForm ARGS4(
 			FREE(escaped1);
 			FREE(escaped2);
 		    }
-#ifdef EXP_CHARTRANS
-    		    FREE(copied_name_used);
-    		    FREE(copied_val_used);
-#endif
-    		    break;
+		    FREE(copied_name_used);
+		    FREE(copied_val_used);
+		    break;
 
 		case F_RADIO_TYPE:
 		case F_CHECKBOX_TYPE:
@@ -7715,10 +7647,8 @@ PUBLIC void HText_SubmitForm ARGS4(
 			FREE(escaped1);
 			FREE(escaped2);
 		    }
-#ifdef EXP_CHARTRANS
-    		    FREE(copied_name_used);
-    		    FREE(copied_val_used);
-#endif
+		    FREE(copied_name_used);
+		    FREE(copied_val_used);
 		    break;
 
 		case F_TEXTAREA_TYPE:
@@ -7730,7 +7660,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 			escaped2 = HTEscapeSP(val_used, URL_XALPHAS);
 		    }
 
-		    if (!last_textarea_name || 
+		    if (!last_textarea_name ||
 			strcmp(last_textarea_name, form_ptr->name)) {
 			textarea_lineno = 1;
 			/*
@@ -7816,9 +7746,7 @@ PUBLIC void HText_SubmitForm ARGS4(
 			}
 		    }
 		    FREE(escaped2);
-#ifdef EXP_CHARTRANS
-    		    FREE(copied_val_used);
-#endif
+		    FREE(copied_val_used);
 		    break;
 
 		case F_PASSWORD_TYPE:
@@ -7877,27 +7805,23 @@ PUBLIC void HText_SubmitForm ARGS4(
 						 "\n" : ""));
 		    FREE(escaped1);
 		    FREE(escaped2);
-#ifdef EXP_CHARTRANS
-    		    FREE(copied_name_used);
-    		    FREE(copied_val_used);
-#endif
+		    FREE(copied_name_used);
+		    FREE(copied_val_used);
 		    break;
 	        }
 	    } else if (anchor_ptr->input_field->number > form_number) {
 	        break;
 	    }
-        }
+	}
 
-        if (anchor_ptr == HTMainText->last_anchor)
-            break;
+	if (anchor_ptr == HTMainText->last_anchor)
+	    break;
 
 	anchor_ptr = anchor_ptr->next;
     }
-#ifdef EXP_CHARTRANS
-	FREE(copied_name_used);
-#endif
+    FREE(copied_name_used);
     if (Boundary) {
-        sprintf(&query[strlen(query)], "\r\n--%s--\r\n", Boundary);
+	sprintf(&query[strlen(query)], "\r\n--%s--\r\n", Boundary);
     }
     FREE(previous_blanks);
 
@@ -7905,12 +7829,12 @@ PUBLIC void HText_SubmitForm ARGS4(
 	_user_message("Submitting %s", submit_item->submit_action);
 	if (TRACE) {
 	    fprintf(stderr, "\nGridText - mailto_address: %s\n",
-	    		    (submit_item->submit_action+7));
+			    (submit_item->submit_action+7));
 	    fprintf(stderr, "GridText - mailto_subject: %s\n",
-	    		    ((submit_item->submit_title &&
+			    ((submit_item->submit_title &&
 			      *submit_item->submit_title) ?
 			      (submit_item->submit_title) :
-			      	        (HText_getTitle() ?
+					(HText_getTitle() ?
 				         HText_getTitle() : "")));
 	    fprintf(stderr,"GridText - mailto_content: %s\n",query);
 	}
@@ -7919,30 +7843,30 @@ PUBLIC void HText_SubmitForm ARGS4(
 		 ((submit_item->submit_title &&
 		   *submit_item->submit_title) ?
 		   (submit_item->submit_title) :
-		   	     (HText_getTitle() ?
+			     (HText_getTitle() ?
 			      HText_getTitle() : "")),
 		 query,
 		 doc->post_content_type);
 	FREE(query);
-        FREE(doc->post_content_type);
+	FREE(doc->post_content_type);
 	return;
     } else {
-        _statusline(SUBMITTING_FORM);
+	_statusline(SUBMITTING_FORM);
     }
-   
+
     if (submit_item->submit_method == URL_POST_METHOD || Boundary) {
-        StrAllocCopy(doc->post_data, query);
-        if (TRACE)
+	StrAllocCopy(doc->post_data, query);
+	if (TRACE)
 	    fprintf(stderr,"GridText - post_data: %s\n",doc->post_data);
-        StrAllocCopy(doc->address, submit_item->submit_action);
-        FREE(query);
-        return;
-    } else { /* GET_METHOD */ 
-        StrAllocCopy(doc->address, query);
-        FREE(doc->post_data);
-        FREE(doc->post_content_type);
-        FREE(query);
-        return;
+	StrAllocCopy(doc->address, submit_item->submit_action);
+	FREE(query);
+	return;
+    } else { /* GET_METHOD */
+	StrAllocCopy(doc->address, query);
+	FREE(doc->post_data);
+	FREE(doc->post_content_type);
+	FREE(query);
+	return;
     }
 }
 
@@ -7952,24 +7876,24 @@ PUBLIC void HText_DisableCurrentForm NOARGS
 
     HTFormDisabled = TRUE;
     if (!HTMainText)
-        return;
+	return;
 
     /*
      *  Go through list of anchors and set the disabled flag.
      */
     anchor_ptr = HTMainText->first_anchor;
     while (anchor_ptr) {
-        if (anchor_ptr->link_type == INPUT_ANCHOR &&
-            anchor_ptr->input_field->number == HTFormNumber) {
+	if (anchor_ptr->link_type == INPUT_ANCHOR &&
+	    anchor_ptr->input_field->number == HTFormNumber) {
 
-            anchor_ptr->input_field->disabled = TRUE;
-        }
+	    anchor_ptr->input_field->disabled = TRUE;
+	}
 
-        if (anchor_ptr == HTMainText->last_anchor)
-            break;
+	if (anchor_ptr == HTMainText->last_anchor)
+	    break;
 
 
-        anchor_ptr = anchor_ptr->next;
+	anchor_ptr = anchor_ptr->next;
     }
 
     return;
@@ -7982,47 +7906,47 @@ PUBLIC void HText_ResetForm ARGS1(
 
     _statusline(RESETTING_FORM);
     if (!HTMainText)
-        return;
+	return;
 
     /*
      *  Go through list of anchors and reset values.
      */
     anchor_ptr = HTMainText->first_anchor;
     while (anchor_ptr) {
-        if (anchor_ptr->link_type == INPUT_ANCHOR) {
-            if (anchor_ptr->input_field->number == form->number) {
+	if (anchor_ptr->link_type == INPUT_ANCHOR) {
+	    if (anchor_ptr->input_field->number == form->number) {
 
-                 if (anchor_ptr->input_field->type == F_RADIO_TYPE ||
-                     anchor_ptr->input_field->type == F_CHECKBOX_TYPE) {
+		 if (anchor_ptr->input_field->type == F_RADIO_TYPE ||
+		     anchor_ptr->input_field->type == F_CHECKBOX_TYPE) {
 
 		    if (anchor_ptr->input_field->orig_value[0] == '0')
 		        anchor_ptr->input_field->num_value = 0;
 		    else
 		        anchor_ptr->input_field->num_value = 1;
-		
+
 		 } else if (anchor_ptr->input_field->type ==
-		 	    F_OPTION_LIST_TYPE) {
+			    F_OPTION_LIST_TYPE) {
 		    anchor_ptr->input_field->value =
 				anchor_ptr->input_field->orig_value;
-		    
+
 		    anchor_ptr->input_field->cp_submit_value =
-		    		anchor_ptr->input_field->orig_submit_value;
+				anchor_ptr->input_field->orig_submit_value;
 
 	         } else {
 		    StrAllocCopy(anchor_ptr->input_field->value,
 					anchor_ptr->input_field->orig_value);
 		 }
 	     } else if (anchor_ptr->input_field->number > form->number) {
-                 break;
+		 break;
 	     }
 
-        }
+	}
 
-        if (anchor_ptr == HTMainText->last_anchor)
-            break;
+	if (anchor_ptr == HTMainText->last_anchor)
+	    break;
 
 
-        anchor_ptr = anchor_ptr->next;
+	anchor_ptr = anchor_ptr->next;
     }
 }
 
@@ -8033,12 +7957,12 @@ PUBLIC void HText_activateRadioButton ARGS1(
     int form_number = form->number;
 
     if (!HTMainText)
-        return;
+	return;
     anchor_ptr = HTMainText->first_anchor;
     while (anchor_ptr) {
-        if (anchor_ptr->link_type == INPUT_ANCHOR &&
-                anchor_ptr->input_field->type == F_RADIO_TYPE) {
-                    
+	if (anchor_ptr->link_type == INPUT_ANCHOR &&
+		anchor_ptr->input_field->type == F_RADIO_TYPE) {
+
 	    if (anchor_ptr->input_field->number == form_number) {
 
 		    /* if it has the same name and its on */
@@ -8051,12 +7975,12 @@ PUBLIC void HText_activateRadioButton ARGS1(
 	            break;
 	    }
 
-        }
+	}
 
-        if (anchor_ptr == HTMainText->last_anchor)
-            break;
+	if (anchor_ptr == HTMainText->last_anchor)
+	    break;
 
-        anchor_ptr = anchor_ptr->next;
+	anchor_ptr = anchor_ptr->next;
    }
 
    form->num_value = 1;
@@ -8083,7 +8007,7 @@ PRIVATE void free_all_texts NOARGS
      *  Simply loop through the loaded texts list killing them off.
      */
     while (loaded_texts && !HTList_isEmpty(loaded_texts)) {
-        if ((cur = (HText *)HTList_removeLastObject(loaded_texts)) != NULL) {
+	if ((cur = (HText *)HTList_removeLastObject(loaded_texts)) != NULL) {
 	    HText_free(cur);
 	}
     }
@@ -8130,7 +8054,7 @@ PUBLIC void HText_setToolbar ARGS1(
 	HText *,	text)
 {
     if (text)
-        text->toolbar = TRUE;
+	text->toolbar = TRUE;
     return;
 }
 
@@ -8144,7 +8068,7 @@ PUBLIC void HText_setNoCache ARGS1(
 	HText *,	text)
 {
     if (text)
-        text->no_cache = TRUE;
+	text->no_cache = TRUE;
     return;
 }
 
@@ -8165,7 +8089,7 @@ PUBLIC BOOL HText_hasUTF8OutputSet ARGS1(
 **  Info on the input charset may be passed in in two forms,
 **  as a string (if given explicitly) and as a pointer to
 **  a LYUCcharset (from chartrans mechanism); either can be NULL.
-**  For Japanes the kcode will be reset at a space or explicit
+**  For Japanese the kcode will be reset at a space or explicit
 **  line or paragraph break, so what we set here may not last for
 **  long.  It's potentially more important not to set HTCJK to
 **  NOCJK unless we are sure. - kw
@@ -8176,7 +8100,7 @@ PUBLIC void HText_setKcode ARGS3(
 	LYUCcharset *,	p_in)
 {
     if (!text)
-        return;
+	return;
 
     /*
     **  Check whether we have some kind of info. - kw
@@ -8221,7 +8145,7 @@ PUBLIC void HText_setKcode ARGS3(
 	       !strcmp(charset, "iso-2022-cn")) {
 	text->kcode = EUC;
     } else {
-        /*
+	/*
 	**  If we get to here, it's not CJK, so disable that if
 	**  it is enabled.  But only if we are quite sure. - FM & kw
 	*/
@@ -8242,7 +8166,7 @@ PUBLIC void HText_setBreakPoint ARGS1(
 	HText *,	text)
 {
     if (!text)
-        return;
+	return;
 
     /*
      *  Can split here. - FM
@@ -8306,9 +8230,9 @@ PUBLIC BOOL HText_AreDifferent ARGS2(
      *  Do the docs differ in the type of request?
      */
     if (MTanc->isHEAD != anchor->isHEAD)
-        return (TRUE);
+	return (TRUE);
 
-    /* 
+    /*
      *  Are the actual URLs different, after factoring
      *  out a "LYNXIMGMAP:" leader in the MainText URL
      *  and its fragment, if present?
@@ -8317,9 +8241,9 @@ PUBLIC BOOL HText_AreDifferent ARGS2(
 			      "LYNXIMGMAP:", 11) ?
 				  MTanc->address : (MTanc->address + 11));
     if ((MTpound = strchr(MTaddress, '#')) != NULL)
-        *MTpound = '\0';
+	*MTpound = '\0';
     if (strcmp(MTaddress, anchor->address)) {
-    	if (MTpound != NULL) {
+	if (MTpound != NULL) {
 	    *MTpound = '#';
 	}
 	return(TRUE);
diff --git a/src/HTInit.c b/src/HTInit.c
index fdcd7d07..3b15191c 100644
--- a/src/HTInit.c
+++ b/src/HTInit.c
@@ -115,13 +115,13 @@ PUBLIC void HTFormatInit NOARGS
  					HTMLPresent,	2.0, 0.0, 0.0, 0);
  HTSetConversion("application/html", "www/source",
  					HTPlainPresent,	1.0, 0.0, 0.0, 0);
- HTSetConversion("application/x-wais-source", "www/source",  	     
+ HTSetConversion("application/x-wais-source", "www/source",
 					HTPlainPresent,	1.0, 0.0, 0.0, 0);
- HTSetConversion("application/x-wais-source", "www/present",  	     
+ HTSetConversion("application/x-wais-source", "www/present",
 				        HTWSRCConvert,	2.0, 0.0, 0.0, 0);
- HTSetConversion("application/x-wais-source", "www/download",  	     
+ HTSetConversion("application/x-wais-source", "www/download",
 					HTWSRCConvert,	1.0, 0.0, 0.0, 0);
- HTSetConversion("application/x-wais-source", "www/dump",  	     
+ HTSetConversion("application/x-wais-source", "www/dump",
 					HTWSRCConvert,	1.0, 0.0, 0.0, 0);
 
  /*
@@ -200,19 +200,19 @@ PUBLIC void HTPreparsedFormatInit NOARGS
 /*
 Copyright (c) 1991 Bell Communications Research, Inc. (Bellcore)
 
-Permission to use, copy, modify, and distribute this material 
-for any purpose and without fee is hereby granted, provided 
-that the above copyright notice and this permission notice 
-appear in all copies, and that the name of Bellcore not be 
-used in advertising or publicity pertaining to this 
-material without the specific, prior written permission 
-of an authorized representative of Bellcore.  BELLCORE 
-MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY 
-OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED "AS IS", 
+Permission to use, copy, modify, and distribute this material
+for any purpose and without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies, and that the name of Bellcore not be
+used in advertising or publicity pertaining to this
+material without the specific, prior written permission
+of an authorized representative of Bellcore.  BELLCORE
+MAKES NO REPRESENTATIONS ABOUT THE ACCURACY OR SUITABILITY
+OF THIS MATERIAL FOR ANY PURPOSE.  IT IS PROVIDED "AS IS",
 WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
 */
-/****************************************************** 
-    Metamail -- A tool to help diverse mail readers 
+/******************************************************
+    Metamail -- A tool to help diverse mail readers
                 cope with diverse multimedia mail formats.
 
     Author:  Nathaniel S. Borenstein, Bellcore
@@ -248,19 +248,19 @@ PRIVATE char *GetCommand ARGS2(
 
     /* marca -- added + 1 for error case -- oct 24, 1993. */
     s2 = malloc(strlen(s)*2 + 1); /* absolute max, if all % signs */
-    if (!s2) 
-        ExitWithError("Out of memory");
+    if (!s2)
+	ExitWithError("Out of memory");
 
     *t = s2;
     while (s && *s) {
 	if (quoted) {
-            if (*s == '%') *s2++ = '%'; /* Quote through next level, ugh! */
+	    if (*s == '%') *s2++ = '%'; /* Quote through next level, ugh! */
 
-            *s2++ = *s++;
+	    *s2++ = *s++;
 	    quoted = 0;
 	} else {
 	    if (*s == ';') {
-                *s2 = '\0';
+		*s2 = '\0';
 		return(++s);
 	    }
 	    if (*s == '\\') {
@@ -273,25 +273,25 @@ PRIVATE char *GetCommand ARGS2(
     }
     *s2 = '\0';
     return(NULL);
-}	
+}
 
 /* no leading or trailing space, all lower case */
 PRIVATE char *Cleanse ARGS1(
-	char *,		s) 
+	char *,		s)
 {
     char *tmp, *news;
-    
+
     /* strip leading white space */
     while (*s && isspace((unsigned char) *s))
-        ++s;
+	++s;
     news = s;
     /* put in lower case */
     for (tmp=s; *tmp; ++tmp) {
-        *tmp = TOLOWER ((unsigned char)*tmp);
+	*tmp = TOLOWER ((unsigned char)*tmp);
     }
     /* strip trailing white space */
     while ((tmp > news) && *--tmp && isspace((unsigned char) *tmp))
-        *tmp = '\0';
+	*tmp = '\0';
     return(news);
 }
 
@@ -304,19 +304,19 @@ PRIVATE int ProcessMailcapEntry ARGS2(
     char *rawentry, *s, *t, *LineBuf;
 
     LineBuf = (char *)malloc(LINE_BUF_SIZE);
-    if (!LineBuf) 
-        ExitWithError("Out of memory");
+    if (!LineBuf)
+	ExitWithError("Out of memory");
     rawentry = (char *)malloc(1 + rawentryalloc);
-    if (!rawentry) 
-        ExitWithError("Out of memory");
+    if (!rawentry)
+	ExitWithError("Out of memory");
     *rawentry = '\0';
     while (fgets(LineBuf, LINE_BUF_SIZE, fp)) {
-	if (LineBuf[0] == '#') 
+	if (LineBuf[0] == '#')
 	    continue;
-        len = strlen(LineBuf);
-        if (len == 0) 
+	len = strlen(LineBuf);
+	if (len == 0)
 	    continue;
-        if (LineBuf[len-1] == '\n') 
+	if (LineBuf[len-1] == '\n')
 	    LineBuf[--len] = '\0';
 	if ((len + strlen(rawentry)) > rawentryalloc) {
 	    rawentryalloc += 2000;
@@ -325,7 +325,7 @@ PRIVATE int ProcessMailcapEntry ARGS2(
 	        ExitWithError("Out of memory");
 	}
 	if (len > 0 && LineBuf[len-1] == '\\') {
-            LineBuf[len-1] = '\0';
+	    LineBuf[len-1] = '\0';
 	    strcat(rawentry, LineBuf);
 	} else {
 	    strcat(rawentry, LineBuf);
@@ -336,7 +336,7 @@ PRIVATE int ProcessMailcapEntry ARGS2(
     FREE(LineBuf);
 
     for (s = rawentry; *s && isspace((unsigned char) *s); ++s)
-        ;
+	;
     if (!*s) {
 	/* totally blank entry -- quietly ignore */
 	FREE(rawentry);
@@ -354,7 +354,7 @@ PRIVATE int ProcessMailcapEntry ARGS2(
     }
     *s++ = '\0';
     if (!strncasecomp(rawentry, "text/html", 9) ||
-        !strncasecomp(rawentry, "text/plain", 10)) {
+	!strncasecomp(rawentry, "text/plain", 10)) {
 	--s;
 	*s = ';';
 	if (TRACE) {
@@ -366,7 +366,7 @@ PRIVATE int ProcessMailcapEntry ARGS2(
 	return(0);
     }
     for (i = 0, j = 0; rawentry[i]; i++) {
-        if (rawentry[i] != ' ') {
+	if (rawentry[i] != ' ') {
 	    rawentry[j++] = TOLOWER(rawentry[i]);
 	}
     }
@@ -379,23 +379,23 @@ PRIVATE int ProcessMailcapEntry ARGS2(
     mc->printcommand = NULL;
     mc->contenttype = (char *)malloc(1 + strlen(rawentry));
     if (!mc->contenttype)
-        ExitWithError("Out of memory");
+	ExitWithError("Out of memory");
     strcpy(mc->contenttype, rawentry);
     mc->quality = 1.0;
     mc->maxbytes = 0;
     t = GetCommand(s, &mc->command);
     if (!t) {
-        goto assign_presentation;
+	goto assign_presentation;
     }
     s = t;
     while (s && *s && isspace((unsigned char) *s)) ++s;
     while (s) {
 	char *arg, *eq, *mallocd_string;
 
-        t = GetCommand(s, &mallocd_string);
+	t = GetCommand(s, &mallocd_string);
 	arg = mallocd_string;
-        eq = strchr(arg, '=');
-        if (eq) {
+	eq = strchr(arg, '=');
+	if (eq) {
 	    *eq++ = '\0';
 	}
 	if (arg && *arg) {
@@ -413,7 +413,7 @@ PRIVATE int ProcessMailcapEntry ARGS2(
 			    mc->testcommand);
 	    } else if (eq && !strcmp(arg, "description")) {
 		mc->label = eq;
-	    } else if (eq && !strcmp(arg, "label")) { 
+	    } else if (eq && !strcmp(arg, "label")) {
 		mc->label = eq; /* bogus old name for description */
 	    } else if (eq && !strcmp(arg, "print")) {
 		mc->printcommand = eq;
@@ -460,20 +460,20 @@ assign_presentation:
 PRIVATE void BuildCommand ARGS5(
 	char **, 	pBuf,
 	size_t,		Bufsize,
-	char *,		controlstring, 
+	char *,		controlstring,
 	char *,		TmpFileName,
 	size_t,		TmpFileLen)
 {
     char *from, *to;
-    int prefixed = 0; 
+    int prefixed = 0;
 
     for (from = controlstring, to = *pBuf; *from != '\0'; from++) {
-        if (prefixed) {
-            prefixed = 0;
-            switch(*from) {
-                case '%':
-                    *to++ = '%';
-                    break;
+	if (prefixed) {
+	    prefixed = 0;
+	    switch(*from) {
+		case '%':
+		    *to++ = '%';
+		    break;
 		case 'n':
 		case 'F':
 		    if (TRACE) {
@@ -482,37 +482,37 @@ PRIVATE void BuildCommand ARGS5(
 				controlstring);
 		    }
 		case 's':
-                    if (TmpFileLen && TmpFileName) {
+		    if (TmpFileLen && TmpFileName) {
 			if ((to - *pBuf) + TmpFileLen + 1 > Bufsize) {
 			    *to = '\0';
 			    if (TRACE) {
 				fprintf(stderr,
 			"BuildCommand: Too long mailcap \"test\" clause,\n");
 				fprintf(stderr,
-			"	       ignoring: %s%s...\n",
+					"              ignoring: %s%s...\n",
 					*pBuf, TmpFileName);
 			    }
 			    **pBuf = '\0';
 			    return;
 			}
-                        strcpy(to, TmpFileName);
-                        to += strlen(TmpFileName);
-                    }
-                    break;
-                default:
+			strcpy(to, TmpFileName);
+			to += strlen(TmpFileName);
+		    }
+		    break;
+		default:
 		    if (TRACE) {
-                    	fprintf(stderr,
+			fprintf(stderr,
   "BuildCommand: Ignoring unrecognized format code in mailcap file '%%%c'.\n",
 			*from);
 		    }
-                    break;
-            }
-        } else if (*from == '%') {
-            prefixed = 1;
-        } else {
-            *to++ = *from;
-        }
-        if (to >= *pBuf + Bufsize) {
+		    break;
+	    }
+	} else if (*from == '%') {
+	    prefixed = 1;
+	} else {
+	    *to++ = *from;
+	}
+	if (to >= *pBuf + Bufsize) {
 	    (*pBuf)[Bufsize - 1] = '\0';
 	    if (TRACE) {
 		fprintf(stderr,
@@ -521,7 +521,7 @@ PRIVATE void BuildCommand ARGS5(
 			"              ignoring: %s...\n",
 			*pBuf);
 	    }
-            **pBuf = '\0';
+	    **pBuf = '\0';
 	    return;
 	}
     }
@@ -539,38 +539,38 @@ PRIVATE int PassesTest ARGS1(
      *  Make sure we have a command
      */
     if (!mc->testcommand)
-        return(1);
+	return(1);
 
     /*
      *  Save overhead of system() calls by faking these. - FM
      */
     if (0 == strcasecomp(mc->testcommand, "test -n \"$DISPLAY\"")) {
-        FREE(mc->testcommand);
-        if (TRACE)
+	FREE(mc->testcommand);
+	if (TRACE)
 	    fprintf(stderr,
-		    "PassesTest: Testing for XWINDOWS environment - ");
+		    "PassesTest: Testing for XWINDOWS environment.\n");
     	if ((cp = getenv(DISPLAY)) != NULL && *cp != '\0') {
 	    if (TRACE)
-	        fprintf(stderr,"passed!\n");
+	        fprintf(stderr,"PassesTest: Test passed!\n");
 	    return(0 == 0);
 	} else {
 	    if (TRACE)
-	        fprintf(stderr,"failed!\n");
+	        fprintf(stderr,"PassesTest: Test failed!\n");
 	    return(-1 == 0);
 	}
     }
     if (0 == strcasecomp(mc->testcommand, "test -z \"$DISPLAY\"")) {
-        FREE(mc->testcommand);
-        if (TRACE)
+	FREE(mc->testcommand);
+	if (TRACE)
 	    fprintf(stderr,
-		    "PassesTest: Testing for NON_XWINDOWS environment - ");
+		    "PassesTest: Testing for NON_XWINDOWS environment.\n");
     	if (!((cp = getenv(DISPLAY)) != NULL && *cp != '\0')) {
 	    if (TRACE)
-	        fprintf(stderr,"passed!\n");
+	        fprintf(stderr,"PassesTest: Test passed!\n");
 	    return(0 == 0);
 	} else {
 	    if (TRACE)
-	        fprintf(stderr,"failed!\n");
+	        fprintf(stderr,"PassesTest: Test failed!\n");
 	    return(-1 == 0);
 	}
     }
@@ -579,11 +579,11 @@ PRIVATE int PassesTest ARGS1(
      *  Why do anything but return success for this one! - FM
      */
     if (0 == strcasecomp(mc->testcommand, "test -n \"$LYNX_VERSION\"")){
-        FREE(mc->testcommand);
-        if (TRACE) {
+	FREE(mc->testcommand);
+	if (TRACE) {
 	    fprintf(stderr,
-		    "PassesTest: Testing for LYNX environment - ");
-	    fprintf(stderr,"passed, of course!\n");
+		    "PassesTest: Testing for LYNX environment.\n");
+	    fprintf(stderr,"PassesTest: Test passed!\n");
 	}
 	return(0 == 0);
     } else
@@ -591,11 +591,11 @@ PRIVATE int PassesTest ARGS1(
      *  ... or failure for this one! - FM
      */
     if (0 == strcasecomp(mc->testcommand, "test -z \"$LYNX_VERSION\"")) {
-        FREE(mc->testcommand);
-        if (TRACE) {
+	FREE(mc->testcommand);
+	if (TRACE) {
 	    fprintf(stderr,
-		    "PassesTest: Testing for non-LYNX environment - ");
-	    fprintf(stderr,"failed, of course!\n");
+		    "PassesTest: Testing for non-LYNX environment.\n");
+	    fprintf(stderr,"PassesTest: Test failed!\n");
 	}
 	return(-1 == 0);
     }
@@ -606,13 +606,13 @@ PRIVATE int PassesTest ARGS1(
     tempname(TmpFileName, NEW_FILE);
     cmd = (char *)malloc(1024);
     if (!cmd)
-        ExitWithError("Out of memory");
+	ExitWithError("Out of memory");
     BuildCommand(&cmd, 1024,
 		 mc->testcommand,
 		 TmpFileName,
 		 strlen(TmpFileName));
     if (TRACE)
-        fprintf(stderr,"PassesTest: Executing test command: %s\n", cmd);
+	fprintf(stderr,"PassesTest: Executing test command: %s\n", cmd);
     result = system(cmd);
     FREE(cmd);
 
@@ -626,7 +626,7 @@ PRIVATE int PassesTest ARGS1(
 	fprintf(stderr,"PassesTest: Test failed!\n");
     else if (TRACE)
 	fprintf(stderr,"PassesTest: Test passed!\n");
-	
+
     return(result == 0);
 }
 
@@ -637,11 +637,11 @@ PRIVATE int ProcessMailcapFile ARGS1(
     FILE *fp;
 
     if (TRACE)
-        fprintf(stderr,
+	fprintf(stderr,
 		"ProcessMailcapFile: Loading file '%s'.\n",
 		file);
     if ((fp = fopen(file, "r")) == NULL) {
-        if (TRACE)
+	if (TRACE)
 	    fprintf(stderr,
 		"ProcessMailcapFile: Could not open '%s'.\n",
 		    file);
@@ -649,7 +649,7 @@ PRIVATE int ProcessMailcapFile ARGS1(
     }
 
     while (fp && !feof(fp)) {
-        ProcessMailcapEntry(fp, &mc);
+	ProcessMailcapEntry(fp, &mc);
     }
     fclose(fp);
     return(0 == 0);
@@ -659,7 +659,7 @@ PRIVATE int ExitWithError ARGS1(
 	char *,		txt)
 {
     if (txt)
-        fprintf(stderr, "metamail: %s\n", txt);
+	fprintf(stderr, "metamail: %s\n", txt);
 #ifndef NOSIGHUP
     (void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
@@ -705,7 +705,7 @@ PUBLIC void HTFileInit NOARGS
     FILE *fp;
 
     if (TRACE)
-        fprintf(stderr,
+	fprintf(stderr,
 		"HTFileInit: Loading default (HTInit) extension maps.\n");
 
     /* default suffix interpretation */
@@ -743,7 +743,7 @@ PUBLIC void HTFileInit NOARGS
 
     HTSetSuffix(".exe.Z",	"application/x-Comp. Executable",
     							     "binary", 1.0);
-  
+
     HTSetSuffix(".Z",	        "application/UNIX Compressed", "binary", 1.0);
 
     HTSetSuffix(".tar_Z",	"application/UNIX Compr. Tar", "binary", 1.0);
@@ -761,7 +761,7 @@ PUBLIC void HTFileInit NOARGS
 
     HTSetSuffix(".zip",		"application/x-Zip File", "binary", 1.0);
 
-    HTSetSuffix(".uu",		"application/x-UUencoded", "8bit", 1.0); 
+    HTSetSuffix(".uu",		"application/x-UUencoded", "8bit", 1.0);
 
     HTSetSuffix(".hqx",		"application/x-Binhex", "8bit", 1.0);
 
@@ -775,13 +775,13 @@ PUBLIC void HTFileInit NOARGS
     HTSetSuffix(".eps",		"application/Postscript", "8bit", 1.0);
     HTSetSuffix(".ai",		"application/Postscript", "8bit", 1.0);
     HTSetSuffix(".ps",		"application/Postscript", "8bit", 1.0);
-  
+
     HTSetSuffix(".rtf",		"application/RTF", "8bit", 1.0);
 
     HTSetSuffix(".dvi",		"application/x-DVI", "8bit", 1.0);
 
     HTSetSuffix(".hdf",		"application/x-HDF", "8bit", 1.0);
-  
+
     HTSetSuffix(".cdf",		"application/x-netcdf", "8bit", 1.0);
     HTSetSuffix(".nc",		"application/x-netcdf", "8bit", 1.0);
 
@@ -858,7 +858,7 @@ PUBLIC void HTFileInit NOARGS
     HTSetSuffix(".wav",		"audio/x-wav", "binary", 1.0);
     HTSetSuffix(".midi",	"audio/midi", "binary", 1.0);
     HTSetSuffix(".mod",		"audio/mod", "binary", 1.0);
-  
+
     HTSetSuffix(".gif",		"image/gif", "binary", 1.0);
     HTSetSuffix(".ief",		"image/ief", "binary", 1.0);
     HTSetSuffix(".jfif",	"image/jpeg", "binary", 1.0); /* xtra */
@@ -915,19 +915,19 @@ PUBLIC void HTFileInit NOARGS
     HTLoadExtensionsConfigFile(global_extension_map);
 
     if ((fp = fopen(personal_extension_map,"r")) != NULL) {
-        fclose(fp);
-        /* These should override everything else. */
-        HTLoadExtensionsConfigFile(personal_extension_map);
+	fclose(fp);
+	/* These should override everything else. */
+	HTLoadExtensionsConfigFile(personal_extension_map);
     } else {
-        char buffer[256];
+	char buffer[256];
 #ifdef VMS
-        sprintf(buffer, "sys$login:%s", personal_extension_map);
+	sprintf(buffer, "sys$login:%s", personal_extension_map);
 #else
-        sprintf(buffer, "%s/%s", (Home_Dir() ? Home_Dir() : ""),
+	sprintf(buffer, "%s/%s", (Home_Dir() ? Home_Dir() : ""),
 				  personal_extension_map);
 #endif /* VMS */
-        /* These should override everything else. */
-        HTLoadExtensionsConfigFile(buffer);
+	/* These should override everything else. */
+	HTLoadExtensionsConfigFile(buffer);
     }
 }
 
@@ -946,12 +946,12 @@ PUBLIC void HTFileInit NOARGS
 PRIVATE int HTGetLine ARGS3(
 	char *,		s,
 	int,		n,
-	FILE *,		f) 
+	FILE *,		f)
 {
     register int i = 0, r;
 
     if (!f)
-        return(1);
+	return(1);
 
     while (1) {
 	r = fgetc(f);
@@ -977,21 +977,21 @@ PRIVATE void HTGetWord ARGS4(
 	char *,		word,
 	char *,		line,
 	char ,		stop,
-	char ,		stop2) 
+	char ,		stop2)
 {
     int x = 0, y;
 
     for (x = 0; line[x] && line[x] != stop && line[x] != stop2; x++) {
-        word[x] = line[x];
+	word[x] = line[x];
     }
 
     word[x] = '\0';
-    if (line[x]) 
-        ++x;
+    if (line[x])
+	++x;
     y=0;
 
     while ((line[y++] = line[x++]))
-        ;
+	;
 
     return;
 }
@@ -1004,41 +1004,41 @@ PRIVATE int HTLoadExtensionsConfigFile ARGS1(
     int x, count = 0;
 
     if (TRACE)
-        fprintf(stderr,
+	fprintf(stderr,
 		"HTLoadExtensionsConfigFile: Loading file '%s'.\n", fn);
 
     if ((f = fopen(fn,"r")) == NULL) {
-        if (TRACE)
-            fprintf(stderr,
+	if (TRACE)
+	    fprintf(stderr,
 		    "HTLoadExtensionsConfigFile: Could not open '%s'.\n", fn);
 	    return count;
     }
 
     while (!(HTGetLine(l,MAX_STRING_LEN,f))) {
-        HTGetWord(w, l, ' ', '\t');
-        if (l[0] == '\0' || w[0] == '#')
-            continue;
-        ct = (char *)malloc(sizeof(char) * (strlen(w) + 1));
-        if (!ct)
-            outofmem(__FILE__, "HTLoadExtensionsConfigFile");
-        strcpy(ct,w);
-        for (x = 0; ct[x]; x++)
-            ct[x] = TOLOWER(ct[x]);
-
-        while(l[0]) {
-            HTGetWord(w, l, ' ', '\t');
-            if (w[0] && (w[0] != ' ')) {
-                char *ext = (char *)malloc(sizeof(char) * (strlen(w)+1+1));
+	HTGetWord(w, l, ' ', '\t');
+	if (l[0] == '\0' || w[0] == '#')
+	    continue;
+	ct = (char *)malloc(sizeof(char) * (strlen(w) + 1));
+	if (!ct)
+	    outofmem(__FILE__, "HTLoadExtensionsConfigFile");
+	strcpy(ct,w);
+	for (x = 0; ct[x]; x++)
+	    ct[x] = TOLOWER(ct[x]);
+
+	while(l[0]) {
+	    HTGetWord(w, l, ' ', '\t');
+	    if (w[0] && (w[0] != ' ')) {
+		char *ext = (char *)malloc(sizeof(char) * (strlen(w)+1+1));
 	        if (!ct)
 	            outofmem(__FILE__, "HTLoadExtensionsConfigFile");
 
-                for (x = 0; w[x]; x++)
-                    ext[x+1] = TOLOWER(w[x]);
-                ext[0] = '.';
-                ext[strlen(w)+1] = '\0';
+		for (x = 0; w[x]; x++)
+		    ext[x+1] = TOLOWER(w[x]);
+		ext[0] = '.';
+		ext[strlen(w)+1] = '\0';
 
-                if (TRACE) {
-                    fprintf (stderr,
+		if (TRACE) {
+		    fprintf (stderr,
 			     "SETTING SUFFIX '%s' to '%s'.\n", ext, ct);
 		}
 
@@ -1050,12 +1050,12 @@ PRIVATE int HTLoadExtensionsConfigFile ARGS1(
 		    HTSetSuffix (ext, ct, "8bit", 1.0);
 	        else
 		    HTSetSuffix (ext, ct, "binary", 1.0);
-                count++;
+		count++;
 
-                FREE(ext);
-            }
-        }
-        FREE(ct);
+		FREE(ext);
+	    }
+	}
+	FREE(ct);
     }
     fclose(f);
 
diff --git a/src/HTML.c b/src/HTML.c
index b769c3ad..069d82d8 100644
--- a/src/HTML.c
+++ b/src/HTML.c
@@ -701,6 +701,8 @@ PRIVATE void HTML_start_element ARGS6(
 	      ElementNumber == HTML_BASE)) {
 	    return;
 	}
+    } else if (!me->text) {
+	UPDATE_STYLE;
     }
 
 #ifdef EXP_CHARTRANS
@@ -774,16 +776,15 @@ PRIVATE void HTML_start_element ARGS6(
 	me->inStyle[element_number]=1; /* this is a goodthing(tm) */
 #endif
 
+    /*
+     *  Handle the start tag. - FM
+     */
     switch (ElementNumber) {
 
     case HTML_HTML:
-	if (!me->text)
-	    UPDATE_STYLE;
 	break;
 
     case HTML_HEAD:
-	if (!me->text)
-	    UPDATE_STYLE;
 	break;
 
     case HTML_BASE:
@@ -889,22 +890,16 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_META:
-        if (!me->text)
-	    UPDATE_STYLE;
 	if (present)
 	    LYHandleMETA(me, present, value, (char **)&include);
 	break;
 
     case HTML_TITLE:
-	if (!me->text)
-	    UPDATE_STYLE;
         HTChunkClear(&me->title);
 	break;
 
     case HTML_LINK:
 	intern_flag = FALSE;
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (present && present[HTML_LINK_HREF]) {
 	    CHECK_FOR_INTERN(value[HTML_LINK_HREF]);
 	    /*
@@ -1246,8 +1241,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_ISINDEX:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (((present)) &&
 	    ((present[HTML_ISINDEX_HREF] && value[HTML_ISINDEX_HREF]) ||
 	     (present[HTML_ISINDEX_ACTION] && value[HTML_ISINDEX_ACTION]))) {
@@ -1329,8 +1322,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_NEXTID:
-	if (!me->text)
-	    UPDATE_STYLE;
     	/* if (present && present[NEXTID_N] && value[NEXTID_N])
 		HText_setNextId(me->text, atoi(value[NEXTID_N])); */
     	break;
@@ -1340,8 +1331,6 @@ PRIVATE void HTML_start_element ARGS6(
 	 *  We're getting it as Litteral text, which, for now,
 	 *  we'll just ignore. - FM
 	 */
-	if (!me->text)
-	    UPDATE_STYLE;
 	HTChunkClear(&me->style_block);
 	break;
 
@@ -1350,27 +1339,19 @@ PRIVATE void HTML_start_element ARGS6(
 	 *  We're getting it as Litteral text, which, for now,
 	 *  we'll just ignore. - FM
 	 */
-	if (!me->text)
-	    UPDATE_STYLE;
 	HTChunkClear(&me->script);
 	break;
 
     case HTML_BODY:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_BODY_ID);
 	if (HText_hasToolbar(me->text))
 	    HText_appendParagraph(me->text);
 	break;
 
     case HTML_FRAMESET:
-	if (!me->text)
-	    UPDATE_STYLE;
 	break;
 
     case HTML_FRAME:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (present && present[HTML_FRAME_NAME] &&
 	    value[HTML_FRAME_NAME] && *value[HTML_FRAME_NAME]) {
 	    StrAllocCopy(id_string, value[HTML_FRAME_NAME]);
@@ -1447,15 +1428,11 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_NOFRAMES:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	break;
 
     case HTML_IFRAME:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (present && present[HTML_IFRAME_NAME] &&
 	    value[HTML_IFRAME_NAME] && *value[HTML_IFRAME_NAME]) {
 	    StrAllocCopy(id_string, value[HTML_IFRAME_NAME]);
@@ -1620,8 +1597,6 @@ PRIVATE void HTML_start_element ARGS6(
 	     me->sp[0].tag_number == HTML_DIR)) {
 	    if (HTML_dtd.tags[HTML_LH].contents == SGML_EMPTY) {
 		ElementNumber = HTML_LH;
-		if (!me->text)
-		    UPDATE_STYLE;
 	    } else {
 		me->new_style = me->sp[0].style;
 		ElementNumber = me->sp[0].tag_number;
@@ -1990,13 +1965,9 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_BASEFONT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	break;
 
     case HTML_FONT:
-	if (!me->text)
-	    UPDATE_STYLE;
 
         /*
 	 *  FONT *may* have been declared SGML_EMPTY in HTMLDTD.c, and
@@ -2068,16 +2039,12 @@ PRIVATE void HTML_start_element ARGS6(
     case HTML_SUP:
     case HTML_TT:
     case HTML_VAR:
-        if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
 	break; /* ignore */
 
     case HTML_DEL:
     case HTML_S:
     case HTML_STRIKE:
-        if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
 	if (me->inUnderline == FALSE)
 	    HText_appendCharacter(me->text, LY_UNDERLINE_START_CHAR);
@@ -2089,8 +2056,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_INS:
-        if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
 	if (me->inUnderline == FALSE)
 	    HText_appendCharacter(me->text, LY_UNDERLINE_START_CHAR);
@@ -2102,8 +2067,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_Q:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
         /*
 	 *  Should check LANG and/or DIR attributes, and the
@@ -2120,11 +2083,15 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_PRE:				/* Formatted text */
-        if (!HText_PreviousLineSize(me->text, FALSE))
-	    me->inPRE = FALSE;
-	else
-            me->inPRE = TRUE;
-    case HTML_LISTING:				/* Litteral text */
+        /*
+	**  Set our inPRE flag to FALSE so that a newline
+	**  immediately following the PRE start tag will
+	**  be ignored.  HTML_put_character() will set it
+	**  to TRUE when the first character within the
+	**  PRE block is received. - FM
+	*/
+	me->inPRE = FALSE;
+    case HTML_LISTING:				/* Literal text */
     case HTML_XMP:
     case HTML_PLAINTEXT:
 	change_paragraph_style(me, styles[ElementNumber]);
@@ -2231,8 +2198,6 @@ PRIVATE void HTML_start_element ARGS6(
         break;
 
     case HTML_DT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
         if (!me->style_change) {
 	    HText_appendParagraph(me->text);
@@ -2243,8 +2208,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_DD:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
 	HText_setLastChar(me->text, ' ');  /* absorb white space */
         if (!me->style_change)  {
@@ -2581,8 +2544,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_SPAN:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
         /*
 	 *  Should check LANG and/or DIR attributes, and the
@@ -2592,8 +2553,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_BDO:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
         /*
 	 *  Should check DIR (and LANG) attributes, and the
@@ -2603,8 +2562,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_SPOT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	CHECK_ID(HTML_GEN_ID);
 	break;
 
@@ -2642,8 +2599,6 @@ PRIVATE void HTML_start_element ARGS6(
 	 *  Set to know we are in an anchor.
 	 */
 	me->inA = TRUE;
-	if (!me->text)
-	    UPDATE_STYLE;
 
 	/*
 	 *  Load id_string if we have an ID or NAME. - FM
@@ -2834,8 +2789,6 @@ PRIVATE void HTML_start_element ARGS6(
     	break;
 
     case HTML_IMG:			/* Images */
-	if (!me->text)
-	    UPDATE_STYLE;
 	/*
 	 *  If we're in an anchor, get the destination, and if it's a
 	 *  clickable image for the current anchor, set our flags for
@@ -3527,8 +3480,6 @@ PRIVATE void HTML_start_element ARGS6(
 
     case HTML_FIG:
         me->inFIG = TRUE;
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (me->inA) {
 	    SET_SKIP_STACK(HTML_A);
 	    HTML_end_element(me, HTML_A, (char **)&include);
@@ -3595,8 +3546,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_OBJECT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (!me->object_started) {
 	    /*
 	     *  This is an outer OBJECT start tag,
@@ -3773,12 +3722,8 @@ PRIVATE void HTML_start_element ARGS6(
 					NULL,			/* Tag */
 					href,			/* Addresss */
 					INTERN_LT);		/* Type */
-		if (!me->text) {
-		    UPDATE_STYLE;
-		} else {
-		    HTML_put_character(me, ' ');
-		    HText_appendCharacter(me->text, '+');
-		}
+		HTML_put_character(me, ' ');
+		HText_appendCharacter(me->text, '+');
 		me->CurrentANum = HText_beginAnchor(me->text,
 						    me->inUnderline,
 						    me->CurrentA);
@@ -3798,8 +3743,6 @@ PRIVATE void HTML_start_element ARGS6(
     case HTML_APPLET:
         me->inAPPLET = TRUE;
 	me->inAPPLETwithP = FALSE;
-	if (!me->text)
-	    UPDATE_STYLE;
 	HTML_put_character(me, ' ');  /* space char may be ignored */
 	/*
 	 *  Load id_string if we have an ID or NAME. - FM
@@ -3990,8 +3933,6 @@ PRIVATE void HTML_start_element ARGS6(
 			         me->inBASE) ?
 			       me->base_href : me->node_anchor->address));
 
-	    if (!me->text)
-	        UPDATE_STYLE;
 	    if (me->inA) {
 		if (me->inBoldA == TRUE && me->inBoldH == FALSE)
 		    HText_appendCharacter(me->text, LY_BOLD_END_CHAR);
@@ -4025,8 +3966,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_EMBED:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (pseudo_inline_alts || clickable_images)
 	    HTML_put_character(me, ' ');  /* space char may be ignored */
 	/*
@@ -4156,8 +4095,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_CREDIT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	me->inCREDIT = TRUE;
@@ -4189,8 +4126,6 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_CAPTION:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	me->inCAPTION = TRUE;
@@ -4231,8 +4166,6 @@ PRIVATE void HTML_start_element ARGS6(
 	    HTChildAnchor * source;
 	    HTAnchor *link_dest;
 
-	    if (!me->text)
-	        UPDATE_STYLE;
 	    /*
 	     *  FORM may have been declared SGML_EMPTY in HTMLDTD.c, and
 	     *  SGML_character() in SGML.c may check for a FORM end
@@ -4377,16 +4310,12 @@ PRIVATE void HTML_start_element ARGS6(
 	break;
 
     case HTML_FIELDSET:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
         CHECK_ID(HTML_FIELDSET_ID);
         break;
 
     case HTML_LEGEND:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
         CHECK_ID(HTML_LEGEND_ID);
@@ -5144,8 +5073,6 @@ PRIVATE void HTML_start_element ARGS6(
 				id_string,		/* Tag */
 				NULL,			/* Addresss */
 				(HTLinkType*)0))) {	/* Type */
-		if (!me->text)
-		    UPDATE_STYLE;
 		HText_beginAnchor(me->text, me->inUnderline, ID_A);
 		HText_endAnchor(me->text, 0);
 		StrAllocCopy(me->textarea_id, id_string);
@@ -5228,8 +5155,6 @@ PRIVATE void HTML_start_element ARGS6(
 	     */
 	    me->inSELECT = TRUE;
 
-	    if (!me->text)
-	        UPDATE_STYLE;
 	    if (!(present && present[HTML_SELECT_NAME] &&
 		  value[HTML_SELECT_NAME]  && *value[HTML_SELECT_NAME])) {
 	        StrAllocCopy(name, "");
@@ -5322,8 +5247,6 @@ PRIVATE void HTML_start_element ARGS6(
 		break;
 	    }
 
-	    if (!me->text)
-	        UPDATE_STYLE;
 	    if (!me->first_option) {
 	        /*
 		 *  Finish the data off.
@@ -5729,11 +5652,9 @@ PRIVATE void HTML_start_element ARGS6(
 
     case HTML_MATH:
         /*
-	 *  We're getting it as Litteral text, which, until we can process
+	 *  We're getting it as Literal text, which, until we can process
 	 *  it, we'll display as is, within brackets to alert the user. - FM
 	 */
-	if (!me->text)
-	    UPDATE_STYLE;
 	HTChunkClear(&me->math);
 	CHECK_ID(HTML_GEN_ID);
 	break;
@@ -5957,7 +5878,7 @@ PRIVATE void HTML_end_element ARGS3(
     /*
      *  Check for unclosed TEXTAREA. - FM
      */
-    if (me->inTEXTAREA && element_number != HTML_TEXTAREA)
+    if (me->inTEXTAREA && element_number != HTML_TEXTAREA) {
         if (TRACE) {
 	    fprintf(stderr, "Bad HTML: Missing TEXTAREA end tag *****\n");
 	} else if (!me->inBadHTML) {
@@ -5965,6 +5886,11 @@ PRIVATE void HTML_end_element ARGS3(
 	    me->inBadHTML = TRUE;
 	    sleep(MessageSecs);
 	}
+    }
+
+    if (!me->text && !LYMapsOnly) {
+	UPDATE_STYLE;
+    }
 
     /*
      *  Handle the end tag. - FM
@@ -5972,8 +5898,6 @@ PRIVATE void HTML_end_element ARGS3(
     switch(element_number) {
 
     case HTML_HTML:
-        if (!me->text)
-	    UPDATE_STYLE;
 	if (me->inA || me->inSELECT || me->inTEXTAREA)
 	    if (TRACE) {
 	        fprintf(stderr,
@@ -5991,8 +5915,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_HEAD:
-        if (!me->text)
-	    UPDATE_STYLE;
 	if (me->inBASE &&
 	    !strcmp(me->node_anchor->address, LYlist_temp_url())) {
 	    /*  If we are parsing the List Page, and have a BASE after
@@ -6012,8 +5934,6 @@ PRIVATE void HTML_end_element ARGS3(
         HTChunkTerminate(&me->title);
     	HTAnchor_setTitle(me->node_anchor, me->title.data);
         HTChunkClear(&me->title);
-        if (!me->text)
-	    UPDATE_STYLE;
 	/*
 	 *  Check if it's a bookmark file, and if so, and multiple
 	 *  bookmark support is on, or it's off but this isn't the
@@ -6058,8 +5978,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_STYLE:
-	if (!me->text)
-	    UPDATE_STYLE;
     	/*
 	 *  We're getting it as Litteral text, which, for now,
 	 *  we'll just ignore. - FM
@@ -6073,8 +5991,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_SCRIPT:
-	if (!me->text)
-	    UPDATE_STYLE;
     	/*
 	 *  We're getting it as Litteral text, which, for now,
 	 *  we'll just ignore. - FM
@@ -6088,8 +6004,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_BODY:
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (me->inA || me->inSELECT || me->inTEXTAREA)
 	    if (TRACE) {
 	        fprintf(stderr,
@@ -6107,15 +6021,11 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_FRAMESET:
-	if (!me->text)
-	    UPDATE_STYLE;
 	change_paragraph_style(me, me->sp->style);  /* Often won't really change */
 	break;
 
     case HTML_NOFRAMES:
     case HTML_IFRAME:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	change_paragraph_style(me, me->sp->style);  /* Often won't really change */
@@ -6259,8 +6169,6 @@ PRIVATE void HTML_end_element ARGS3(
         break;
 
     case HTML_FONT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	me->inFONT = FALSE;
 	break;
 
@@ -6272,8 +6180,6 @@ PRIVATE void HTML_end_element ARGS3(
     case HTML_CITE:			/* Logical character highlighting */
     case HTML_EM:
     case HTML_STRONG:
-	if (!me->text)
-	    UPDATE_STYLE;
         /*
 	 *  Ignore any emphasis end tags if the
 	 *  Underline_Level is not set. - FM
@@ -6311,15 +6217,11 @@ PRIVATE void HTML_end_element ARGS3(
     case HTML_SUP:
     case HTML_TT:
     case HTML_VAR:
-	if (!me->text)
-	    UPDATE_STYLE;
 	break;
 
     case HTML_DEL:
     case HTML_S:
     case HTML_STRIKE:
-        if (!me->text)
-	    UPDATE_STYLE;
 	HTML_put_character(me, ' ');
 	if (me->inUnderline == FALSE)
 	    HText_appendCharacter(me->text, LY_UNDERLINE_START_CHAR);
@@ -6331,8 +6233,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_INS:
-        if (!me->text)
-	    UPDATE_STYLE;
 	HTML_put_character(me, ' ');
 	if (me->inUnderline == FALSE)
 	    HText_appendCharacter(me->text, LY_UNDERLINE_START_CHAR);
@@ -6344,8 +6244,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_Q:
-	if (!me->text)
-	    UPDATE_STYLE;
         if (me->Quote_Level > 0)
 	    me->Quote_Level--;
         /*
@@ -6362,12 +6260,13 @@ PRIVATE void HTML_end_element ARGS3(
         break;
 
     case HTML_PRE:				/* Formatted text */
+	/*
+	 *  Set to know that we are no longer in a PRE block.
+	 */
 	me->inPRE = FALSE;
     case HTML_LISTING:				/* Litteral text */
     case HTML_XMP:
     case HTML_PLAINTEXT:
-	if (!me->text)
-	    UPDATE_STYLE;
     	if (me->comment_start)
     	    HText_appendText(me->text, me->comment_start);
 	change_paragraph_style(me, me->sp->style);  /* Often won't really change */
@@ -6421,8 +6320,6 @@ PRIVATE void HTML_end_element ARGS3(
 	 *  attributes, and the me->node_anchor->charset and/or
 	 *  yet to be added structure elements. - FM
 	 */
-	if (!me->text)
-	    UPDATE_STYLE;
         break;
 
     case HTML_A:
@@ -6485,8 +6382,6 @@ PRIVATE void HTML_end_element ARGS3(
 	break;
 
     case HTML_OBJECT:
-	if (!me->text)
-	    UPDATE_STYLE;
 	/*
 	 *  Finish the data off.
 	 */
@@ -6870,8 +6765,6 @@ End_Object:
 	 */
 	me->inFORM = FALSE;
 
-	if (!me->text)
-	    UPDATE_STYLE;
 	HText_endForm(me->text);
 	/*
 	 *  If we are in a list and are on the first line
@@ -6885,16 +6778,12 @@ End_Object:
 	break;
 
     case HTML_FIELDSET:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	change_paragraph_style(me, me->sp->style);  /* Often won't really change */
         break;
 
     case HTML_LEGEND:
-	if (!me->text)
-	    UPDATE_STYLE;
 	LYEnsureDoubleSpace(me);
 	LYResetParagraphAlignment(me);
 	change_paragraph_style(me, me->sp->style);  /* Often won't really change */
@@ -7059,8 +6948,6 @@ End_Object:
     case HTML_SELECT:
 	{
 	    char *ptr;
-	    if (!me->text)
-	        UPDATE_STYLE;
 
 	    /*
 	     *  Make sure we had a select start tag.
@@ -7224,8 +7111,6 @@ End_Object:
 	break;
 
     case HTML_MATH:
-	if (!me->text)
-	    UPDATE_STYLE;
         /*
 	 *  We're getting it as Litteral text, which, until we can process
 	 *  it, we'll display as is, within brackets to alert the user. - FM
diff --git a/src/LYCgi.c b/src/LYCgi.c
index 6bb32a34..23b65861 100644
--- a/src/LYCgi.c
+++ b/src/LYCgi.c
@@ -473,6 +473,14 @@ PRIVATE int LYLoadCGI ARGS4(
 		    add_environment_value(cp);
 		}
 
+		if (anAnchor->post_data &&
+		    anAnchor->post_content_type) {
+		    cp = NULL;
+		    StrAllocCopy(cp, "CONTENT_TYPE=");
+		    StrAllocCat(cp, anAnchor->post_content_type);
+		    add_environment_value(cp);
+		}
+
 		if (anAnchor->post_data) { /* post script, read stdin */
 		    close(fd1[1]);
 		    dup2(fd1[0], fileno(stdin));
diff --git a/src/LYCharSets.c b/src/LYCharSets.c
index 78b25519..bb8e3684 100644
--- a/src/LYCharSets.c
+++ b/src/LYCharSets.c
@@ -48,49 +48,49 @@ PUBLIC int LYNumCharsets = 0; /* Will be initialized later by UC_Register. */
 **	This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * ISO_Latin1[] = {
-  	"\306",	/* capital AE diphthong (ligature) (&#198;) - AElig */ 
-  	"\301",	/* capital A, acute accent (&#193;) - Aacute */ 
-  	"\302",	/* capital A, circumflex accent (&#194;) - Acirc */ 
-  	"\300",	/* capital A, grave accent (&#192;) - Agrave */ 
-  	"\305",	/* capital A, ring - Aring (&#197;) */ 
-  	"\303",	/* capital A, tilde - Atilde (&#195;) */ 
-  	"\304",	/* capital A, dieresis or umlaut mark (&#196;) - Auml */ 
-  	"\307",	/* capital C, cedilla - Ccedil (&#199;) */ 
-  	"\320",	/* capital Eth (&#208;) or D with stroke - Dstrok */ 
-  	"\320",	/* capital Eth, Icelandic (&#208;) - ETH */ 
-  	"\311",	/* capital E, acute accent (&#201;) - Eacute */ 
-  	"\312",	/* capital E, circumflex accent (&#202;) - Ecirc */ 
-  	"\310",	/* capital E, grave accent (&#200;) - Egrave */ 
-  	"\313",	/* capital E, dieresis or umlaut mark (&#203;) - Euml */ 
-  	"\315",	/* capital I, acute accent (&#205;) - Iacute */ 
-  	"\316",	/* capital I, circumflex accent (&#206;) - Icirc */ 
-  	"\314",	/* capital I, grave accent (&#200;) - Igrave */ 
-  	"\317",	/* capital I, dieresis or umlaut mark (&#207;) - Iuml */ 
-  	"\321",	/* capital N, tilde (&#209;) - Ntilde */ 
-  	"\323",	/* capital O, acute accent (&#211;) - Oacute */ 
-  	"\324",	/* capital O, circumflex accent (&#212;) - Ocirc */ 
-  	"\322",	/* capital O, grave accent (&#210;) - Ograve */ 
-  	"\330",	/* capital O, slash (&#216;) - Oslash */ 
-  	"\325",	/* capital O, tilde (&#213;) - Otilde */ 
-  	"\326",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */ 
-  	"\336",	/* capital THORN, Icelandic (&#222;) - THORN */ 
-  	"\332",	/* capital U, acute accent (&#218;) - Uacute */ 
-  	"\333",	/* capital U, circumflex accent (&#219;) - Ucirc */ 
-  	"\331",	/* capital U, grave accent (&#217;) - Ugrave */ 
-  	"\334",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */ 
-  	"\335",	/* capital Y, acute accent (&#221;) - Yacute */ 
-  	"\341",	/* small a, acute accent (&#225;) - aacute */ 
-  	"\342",	/* small a, circumflex accent (&#226;) - acirc */ 
+	"\306",	/* capital AE diphthong (ligature) (&#198;) - AElig */
+	"\301",	/* capital A, acute accent (&#193;) - Aacute */
+	"\302",	/* capital A, circumflex accent (&#194;) - Acirc */
+	"\300",	/* capital A, grave accent (&#192;) - Agrave */
+	"\305",	/* capital A, ring - Aring (&#197;) */
+	"\303",	/* capital A, tilde - Atilde (&#195;) */
+	"\304",	/* capital A, dieresis or umlaut mark (&#196;) - Auml */
+	"\307",	/* capital C, cedilla - Ccedil (&#199;) */
+  	"\320",	/* capital Eth or D with stroke (&#208;) - Dstrok */ 
+	"\320",	/* capital Eth, Icelandic (&#208;) - ETH */
+	"\311",	/* capital E, acute accent (&#201;) - Eacute */
+	"\312",	/* capital E, circumflex accent (&#202;) - Ecirc */
+	"\310",	/* capital E, grave accent (&#200;) - Egrave */
+	"\313",	/* capital E, dieresis or umlaut mark (&#203;) - Euml */
+	"\315",	/* capital I, acute accent (&#205;) - Iacute */
+	"\316",	/* capital I, circumflex accent (&#206;) - Icirc */
+	"\314",	/* capital I, grave accent (&#200;) - Igrave */
+	"\317",	/* capital I, dieresis or umlaut mark (&#207;) - Iuml */
+	"\321",	/* capital N, tilde (&#209;) - Ntilde */
+	"\323",	/* capital O, acute accent (&#211;) - Oacute */
+	"\324",	/* capital O, circumflex accent (&#212;) - Ocirc */
+	"\322",	/* capital O, grave accent (&#210;) - Ograve */
+	"\330",	/* capital O, slash (&#216;) - Oslash */
+	"\325",	/* capital O, tilde (&#213;) - Otilde */
+	"\326",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */
+	"\336",	/* capital THORN, Icelandic (&#222;) - THORN */
+	"\332",	/* capital U, acute accent (&#218;) - Uacute */
+	"\333",	/* capital U, circumflex accent (&#219;) - Ucirc */
+	"\331",	/* capital U, grave accent (&#217;) - Ugrave */
+	"\334",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */
+	"\335",	/* capital Y, acute accent (&#221;) - Yacute */
+	"\341",	/* small a, acute accent (&#225;) - aacute */
+	"\342",	/* small a, circumflex accent (&#226;) - acirc */
 	"\264",	/* spacing acute (&#180;) - acute */
-  	"\346",	/* small ae diphthong (ligature) (&#230;) - aelig */ 
-  	"\340",	/* small a, grave accent (&#224;) - agrave */ 
-  	"\046",	/* ampersand (&#38;) - amp */ 
-  	"\345",	/* small a, ring (&#229;) - aring */ 
-  	"\343",	/* small a, tilde (&#227;) - atilde */ 
-  	"\344",	/* small a, dieresis or umlaut mark (&#228;) - auml */ 
+	"\346",	/* small ae diphthong (ligature) (&#230;) - aelig */
+	"\340",	/* small a, grave accent (&#224;) - agrave */
+	"\046",	/* ampersand (&#38;) - amp */
+	"\345",	/* small a, ring (&#229;) - aring */
+	"\343",	/* small a, tilde (&#227;) - atilde */
+	"\344",	/* small a, dieresis or umlaut mark (&#228;) - auml */
 	"\246",	/* broken vertical bar (&#166;) - brkbar */
 	"\246",	/* broken vertical bar (&#166;) - brvbar */
-  	"\347",	/* small c, cedilla (&#231;) - ccedil */ 
+	"\347",	/* small c, cedilla (&#231;) - ccedil */
 	"\270",	/* spacing cedilla (&#184;) - cedil */
 	"\242",	/* cent sign (&#162;) - cent */
 	"\251",	/* copyright sign (&#169;) - copy */
@@ -98,28 +98,28 @@ PRIVATE char * ISO_Latin1[] = {
 	"\260",	/* degree sign (&#176;) - deg */
 	"\250",	/* spacing diaresis (&#168;) - die */
 	"\367",	/* division sign (&#247;) - divide */
-  	"\351",	/* small e, acute accent (&#233;) - eacute */ 
-  	"\352",	/* small e, circumflex accent (&#234;) - ecirc */ 
-  	"\350",	/* small e, grave accent (&#232;) - egrave */
+	"\351",	/* small e, acute accent (&#233;) - eacute */
+	"\352",	/* small e, circumflex accent (&#234;) - ecirc */
+	"\350",	/* small e, grave accent (&#232;) - egrave */
 	"-",	/* dash the width of emsp - emdash */
 	"\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
 	"\002",	/* ensp, en space - not collapsed NEVER CHANGE THIS - ensp */
-  	"\360",	/* small eth, Icelandic (&#240;) - eth */ 
-  	"\353",	/* small e, dieresis or umlaut mark (&#235;) - euml */ 
+	"\360",	/* small eth, Icelandic (&#240;) - eth */
+	"\353",	/* small e, dieresis or umlaut mark (&#235;) - euml */
 	"\275",	/* fraction 1/2 (&#189;) - frac12 */
 	"\274",	/* fraction 1/4 (&#188;) - frac14 */
 	"\276",	/* fraction 3/4 (&#190;) - frac34 */
-  	"\076",	/* greater than (&#62;) - gt */ 
+	"\076",	/* greater than (&#62;) - gt */
 	"\257",	/* spacing macron (&#175;) - hibar */
-  	"\355",	/* small i, acute accent (&#237;) - iacute */ 
-  	"\356",	/* small i, circumflex accent (&#238;) - icirc */ 
+	"\355",	/* small i, acute accent (&#237;) - iacute */
+	"\356",	/* small i, circumflex accent (&#238;) - icirc */
 	"\241",	/* inverted exclamation mark (&#161;) - iexcl */
-  	"\354",	/* small i, grave accent (&#236;) - igrave */ 
+	"\354",	/* small i, grave accent (&#236;) - igrave */
 	"\277",	/* inverted question mark (&#191;) - iquest */
-  	"\357",	/* small i, dieresis or umlaut mark (&#239;) - iuml */ 
+	"\357",	/* small i, dieresis or umlaut mark (&#239;) - iuml */
 	"\253",	/* angle quotation mark, left (&#171;) - laquo */
-  	"\074",	/* less than (&#60;) - lt */ 
+	"\074",	/* less than (&#60;) - lt */
 	"\257",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"\265",	/* micro sign (&#181;) - micro */
@@ -127,15 +127,15 @@ PRIVATE char * ISO_Latin1[] = {
 	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"\254",	/* negation sign (&#172;) - not */
-  	"\361",	/* small n, tilde (&#241;) - ntilde */ 
-  	"\363",	/* small o, acute accent (&#243;) - oacute */ 
-  	"\364",	/* small o, circumflex accent (&#244;) - ocirc */ 
-  	"\362",	/* small o, grave accent (&#242;) - ograve */ 
+	"\361",	/* small n, tilde (&#241;) - ntilde */
+	"\363",	/* small o, acute accent (&#243;) - oacute */
+	"\364",	/* small o, circumflex accent (&#244;) - ocirc */
+	"\362",	/* small o, grave accent (&#242;) - ograve */
 	"\252",	/* feminine ordinal indicator (&#170;) - ordf */
 	"\272",	/* masculine ordinal indicator (&#186;) - ordm */
-  	"\370",	/* small o, slash (&#248;) - oslash */ 
-  	"\365",	/* small o, tilde (&#245;) - otilde */ 
-  	"\366",	/* small o, dieresis or umlaut mark (&#246;) - ouml */ 
+	"\370",	/* small o, slash (&#248;) - oslash */
+	"\365",	/* small o, tilde (&#245;) - otilde */
+	"\366",	/* small o, dieresis or umlaut mark (&#246;) - ouml */
 	"\266",	/* paragraph sign (&#182;) - para */
 	"\261",	/* plus-or-minus sign (&#177;) - plusmn */
 	"\243",	/* pound sign (&#163;) - pound */
@@ -147,19 +147,19 @@ PRIVATE char * ISO_Latin1[] = {
 	"\271",	/* superscript 1 (&#185;) - sup1 */
 	"\262",	/* superscript 2 (&#178;) - sup2 */
 	"\263",	/* superscript 3 (&#179;) - sup3 */
-  	"\337",	/* small sharp s, German (sz ligature) (&#223;) - szlig */ 
+	"\337",	/* small sharp s, German (sz ligature) (&#223;) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-  	"\376",	/* small thorn, Icelandic (&#254;) - thorn */ 
-  	"\327",	/* multiplication sign (&#215;) - times */ 
+	"\376",	/* small thorn, Icelandic (&#254;) - thorn */
+	"\327",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-  	"\372",	/* small u, acute accent (&#250;) - uacute */ 
-  	"\373",	/* small u, circumflex accent (&#251;) - ucirc */ 
-  	"\371",	/* small u, grave accent (&#249;) - ugrave */ 
+	"\372",	/* small u, acute accent (&#250;) - uacute */
+	"\373",	/* small u, circumflex accent (&#251;) - ucirc */
+	"\371",	/* small u, grave accent (&#249;) - ugrave */
 	"\250",	/* spacing diaresis (&#168;) - uml */
-  	"\374",	/* small u, dieresis or umlaut mark (&#252;) - uuml */ 
-  	"\375",	/* small y, acute accent (&#253;) - yacute */ 
+	"\374",	/* small u, dieresis or umlaut mark (&#252;) - uuml */
+	"\375",	/* small y, acute accent (&#253;) - yacute */
 	"\245",	/* yen sign (&#165;) - yen */
-  	"\377",	/* small y, dieresis or umlaut mark (&#255;) - yuml */ 
+	"\377",	/* small y, dieresis or umlaut mark (&#255;) - yuml */
 };
 
 /* 	Entity values -- for ISO Latin 2 local representation
@@ -167,49 +167,49 @@ PRIVATE char * ISO_Latin1[] = {
 **	This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * ISO_Latin2[] = {
-  	"AE",	/* capital AE diphthong (ligature) - AElig */ 
-  	"\301",	/* capital A, acute accent - Aacute */ 
-  	"\302",	/* capital A, circumflex accent - Acirc */ 
-  	"A",	/* capital A, grave accent - Agrave */ 
-  	"A",	/* capital A, ring - Aring */ 
-  	"A",	/* capital A, tilde - Atilde */ 
-  	"\304",	/* capital A, dieresis or umlaut mark - Auml */ 
-  	"\307",	/* capital C, cedilla - Ccedil */ 
-  	"\320",	/* capital Eth or D with stroke - Dstrok */ 
-  	"\320",	/* capital Eth, Icelandic - ETH */ 
-  	"\311",	/* capital E, acute accent - Eacute */ 
-  	"E",	/* capital E, circumflex accent - Ecirc */ 
-  	"E",	/* capital E, grave accent - Egrave */ 
-  	"\313",	/* capital E, dieresis or umlaut mark - Euml */ 
-  	"\315",	/* capital I, acute accent - Iacute */ 
-  	"\316",	/* capital I, circumflex accent - Icirc */ 
-  	"I",	/* capital I, grave accent - Igrave */ 
-  	"I",	/* capital I, dieresis or umlaut mark - Iuml */ 
-  	"N",	/* capital N, tilde - Ntilde */ 
-  	"\323",	/* capital O, acute accent - Oacute */ 
-  	"\324",	/* capital O, circumflex accent - Ocirc */ 
-  	"O",	/* capital O, grave accent - Ograve */ 
-  	"O",	/* capital O, slash - Oslash */ 
-  	"O",	/* capital O, tilde - Otilde */ 
-  	"O",	/* capital O, dieresis or umlaut mark - Ouml */ 
-  	"P",	/* capital THORN, Icelandic - THORN */ 
-  	"\332",	/* capital U, acute accent - Uacute */ 
-  	"U",	/* capital U, circumflex accent - Ucirc */ 
-  	"U",	/* capital U, grave accent - Ugrave */ 
-  	"\334",	/* capital U, dieresis or umlaut mark - Uuml */ 
-  	"\335",	/* capital Y, acute accent - Yacute */ 
-  	"\341",	/* small a, acute accent - aacute */ 
-  	"\342",	/* small a, circumflex accent - acirc */ 
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"\301",	/* capital A, acute accent - Aacute */
+	"\302",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
+	"\304",	/* capital A, dieresis or umlaut mark - Auml */
+	"\307",	/* capital C, cedilla - Ccedil */
+	"\320",	/* capital Eth or D with stroke - Dstrok */
+	"\320",	/* capital Eth, Icelandic - ETH */
+	"\311",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"\313",	/* capital E, dieresis or umlaut mark - Euml */
+	"\315",	/* capital I, acute accent - Iacute */
+	"\316",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"\323",	/* capital O, acute accent - Oacute */
+	"\324",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"\332",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
+	"\334",	/* capital U, dieresis or umlaut mark - Uuml */
+	"\335",	/* capital Y, acute accent - Yacute */
+	"\341",	/* small a, acute accent - aacute */
+	"\342",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-  	"ae",	/* small ae diphthong (ligature) - aelig */ 
-  	"a",	/* small a, grave accent - agrave */ 
-  	"\046",	/* ampersand - amp */ 
-  	"a",	/* small a, ring - aring */ 
-  	"a",	/* small a, tilde - atilde */ 
-  	"\344",	/* small a, dieresis or umlaut mark - auml */ 
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"a",	/* small a, grave accent - agrave */
+	"\046",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
+	"\344",	/* small a, dieresis or umlaut mark - auml */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-  	"\347",	/* small c, cedilla - ccedil */ 
+	"\347",	/* small c, cedilla - ccedil */
 	"\270",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -217,28 +217,28 @@ PRIVATE char * ISO_Latin2[] = {
 	"\260",	/* degree sign (&#176;) - deg */
 	"\250",	/* spacing diaresis (&#168;) - die */
 	"\367",	/* division sign (&#247;) - divide */
-  	"\351",	/* small e, acute accent - eacute */ 
-  	"e",	/* small e, circumflex accent - ecirc */ 
-  	"e",	/* small e, grave accent - egrave */
+	"\351",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
 	"\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
 	"\002",	/* ensp, en space - not collapsed NEVER CHANGE THIS - ensp */
-  	"dh",	/* small eth, Icelandic - eth */ 
-  	"\353",	/* small e, dieresis or umlaut mark - euml */ 
+	"dh",	/* small eth, Icelandic - eth */
+	"\353",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-  	"\076",	/* greater than - gt */ 
+	"\076",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-  	"\355",	/* small i, acute accent - iacute */ 
-  	"\356",	/* small i, circumflex accent - icirc */ 
+	"\355",	/* small i, acute accent - iacute */
+	"\356",	/* small i, circumflex accent - icirc */
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-  	"i",	/* small i, grave accent - igrave */ 
+	"i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-  	"i",	/* small i, dieresis or umlaut mark - iuml */ 
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-  	"\074",	/* less than - lt */ 
+	"\074",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
@@ -246,15 +246,15 @@ PRIVATE char * ISO_Latin2[] = {
 	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-  	"n",	/* small n, tilde - ntilde */ 
-  	"\363",	/* small o, acute accent - oacute */ 
-  	"\364",	/* small o, circumflex accent - ocirc */ 
-  	"o",	/* small o, grave accent - ograve */ 
+	"n",	/* small n, tilde - ntilde */
+	"\363",	/* small o, acute accent - oacute */
+	"\364",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-  	"o",	/* small o, slash - oslash */ 
-  	"o",	/* small o, tilde - otilde */ 
-  	"\366",	/* small o, dieresis or umlaut mark - ouml */ 
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
+	"\366",	/* small o, dieresis or umlaut mark - ouml */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"\243",	/* pound sign (&#163;) - pound */
@@ -266,19 +266,19 @@ PRIVATE char * ISO_Latin2[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-  	"\337",	/* small sharp s, German (sz ligature) - szlig */ 
+	"\337",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-  	"p",	/* small thorn, Icelandic - thorn */ 
-  	"\327",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"\327",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-  	"\372",	/* small u, acute accent - uacute */ 
-  	"u",	/* small u, circumflex accent - ucirc */ 
-  	"u",	/* small u, grave accent - ugrave */ 
+	"\372",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\250",	/* spacing diaresis (&#168;) - uml */
-  	"\374",	/* small u, dieresis or umlaut mark - uuml */ 
- 	"\375",	/* small y, acute accent - yacute */
+	"\374",	/* small u, dieresis or umlaut mark - uuml */
+	"\375",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-  	"y",	/* small y, dieresis or umlaut mark - yuml */ 
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- ISO Latin N > 2
@@ -286,65 +286,65 @@ PRIVATE char * ISO_Latin2[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * ISO_LatinN[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -352,52 +352,52 @@ PRIVATE char * ISO_LatinN[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -405,23 +405,23 @@ PRIVATE char * ISO_LatinN[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- DEC Multinational
@@ -429,49 +429,49 @@ PRIVATE char * ISO_LatinN[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * DEC_Multinational[] = {
-  	"\306",	/* capital AE diphthong (ligature) - AElig */ 
-  	"\301",	/* capital A, acute accent - Aacute */ 
-  	"\302",	/* capital A, circumflex accent - Acirc */ 
-  	"\300",	/* capital A, grave accent - Agrave */ 
-  	"\305",	/* capital A, ring - Aring */ 
-  	"\303",	/* capital A, tilde - Atilde */ 
-  	"\304",	/* capital A, dieresis or umlaut mark - Auml */ 
-  	"\307",	/* capital C, cedilla - Ccedil */ 
-  	"Dj",	/* capital D with stroke - Dstrok */ 
-  	"DH",	/* capital Eth, Icelandic - ETH */ 
-  	"\311",	/* capital E, acute accent - Eacute */ 
-  	"\312",	/* capital E, circumflex accent - Ecirc */ 
-  	"\310",	/* capital E, grave accent - Egrave */ 
-  	"\313",	/* capital E, dieresis or umlaut mark - Euml */ 
-  	"\315",	/* capital I, acute accent - Iacute */ 
-  	"\316",	/* capital I, circumflex accent - Icirc */ 
-  	"\314",	/* capital I, grave accent - Igrave */ 
-  	"\317",	/* capital I, dieresis or umlaut mark - Iuml */ 
-  	"\321",	/* capital N, tilde - Ntilde */ 
-  	"\323",	/* capital O, acute accent - Oacute */ 
-  	"\324",	/* capital O, circumflex accent - Ocirc */ 
-  	"\322",	/* capital O, grave accent - Ograve */ 
-  	"\330",	/* capital O, slash - Oslash */ 
-  	"\325",	/* capital O, tilde - Otilde */ 
-  	"\326",	/* capital O, dieresis or umlaut mark - Ouml */ 
-  	"P",	/* capital THORN, Icelandic - THORN */ 
-  	"\332",	/* capital U, acute accent - Uacute */ 
-  	"\333",	/* capital U, circumflex accent - Ucirc */ 
-  	"\331",	/* capital U, grave accent - Ugrave */ 
-  	"\334",	/* capital U, dieresis or umlaut mark - Uuml */ 
-  	"\335",	/* capital Y, acute accent - Yacute */ 
-  	"\341",	/* small a, acute accent - aacute */ 
-  	"\342",	/* small a, circumflex accent - acirc */ 
+	"\306",	/* capital AE diphthong (ligature) - AElig */
+	"\301",	/* capital A, acute accent - Aacute */
+	"\302",	/* capital A, circumflex accent - Acirc */
+	"\300",	/* capital A, grave accent - Agrave */
+	"\305",	/* capital A, ring - Aring */
+	"\303",	/* capital A, tilde - Atilde */
+	"\304",	/* capital A, dieresis or umlaut mark - Auml */
+	"\307",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"\311",	/* capital E, acute accent - Eacute */
+	"\312",	/* capital E, circumflex accent - Ecirc */
+	"\310",	/* capital E, grave accent - Egrave */
+	"\313",	/* capital E, dieresis or umlaut mark - Euml */
+	"\315",	/* capital I, acute accent - Iacute */
+	"\316",	/* capital I, circumflex accent - Icirc */
+	"\314",	/* capital I, grave accent - Igrave */
+	"\317",	/* capital I, dieresis or umlaut mark - Iuml */
+	"\321",	/* capital N, tilde - Ntilde */
+	"\323",	/* capital O, acute accent - Oacute */
+	"\324",	/* capital O, circumflex accent - Ocirc */
+	"\322",	/* capital O, grave accent - Ograve */
+	"\330",	/* capital O, slash - Oslash */
+	"\325",	/* capital O, tilde - Otilde */
+	"\326",	/* capital O, dieresis or umlaut mark - Ouml */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"\332",	/* capital U, acute accent - Uacute */
+	"\333",	/* capital U, circumflex accent - Ucirc */
+	"\331",	/* capital U, grave accent - Ugrave */
+	"\334",	/* capital U, dieresis or umlaut mark - Uuml */
+	"\335",	/* capital Y, acute accent - Yacute */
+	"\341",	/* small a, acute accent - aacute */
+	"\342",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-  	"\346",	/* small ae diphthong (ligature) - aelig */ 
-  	"\340",	/* small a, grave accent - agrave */ 
-  	"\046",	/* ampersand - amp */ 
-  	"\345",	/* small a, ring - aring */ 
-  	"\343",	/* small a, tilde - atilde */ 
-  	"\344",	/* small a, dieresis or umlaut mark - auml */ 
+	"\346",	/* small ae diphthong (ligature) - aelig */
+	"\340",	/* small a, grave accent - agrave */
+	"\046",	/* ampersand - amp */
+	"\345",	/* small a, ring - aring */
+	"\343",	/* small a, tilde - atilde */
+	"\344",	/* small a, dieresis or umlaut mark - auml */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-  	"\347",	/* small c, cedilla - ccedil */ 
+	"\347",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"\242",	/* cent sign (&#162;) - cent */
 	"\251",	/* copyright sign (&#169;) - copy */
@@ -479,28 +479,28 @@ PRIVATE char * DEC_Multinational[] = {
 	"\260",	/* degree sign (&#176;) - deg */
 	"\250",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-  	"\351",	/* small e, acute accent - eacute */ 
-  	"\352",	/* small e, circumflex accent - ecirc */ 
-  	"\350",	/* small e, grave accent - egrave */
+	"\351",	/* small e, acute accent - eacute */
+	"\352",	/* small e, circumflex accent - ecirc */
+	"\350",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
 	"\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
 	"\002",	/* ensp, en space - not collapsed NEVER CHANGE THIS - ensp */
-  	"dh",	/* small eth, Icelandic - eth */ 
-  	"\353",	/* small e, dieresis or umlaut mark - euml */ 
+	"dh",	/* small eth, Icelandic - eth */
+	"\353",	/* small e, dieresis or umlaut mark - euml */
 	"\275",	/* fraction 1/2 (&#189;) - frac12 */
 	"\274",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-  	"\076",	/* greater than - gt */ 
+	"\076",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-  	"\355",	/* small i, acute accent - iacute */ 
-  	"\356",	/* small i, circumflex accent - icirc */ 
+	"\355",	/* small i, acute accent - iacute */
+	"\356",	/* small i, circumflex accent - icirc */
 	"\241",	/* inverted exclamation mark (&#161;) - iexcl */
-  	"\354",	/* small i, grave accent - igrave */ 
+	"\354",	/* small i, grave accent - igrave */
 	"\277",	/* inverted question mark (&#191;) - iquest */
-  	"\357",	/* small i, dieresis or umlaut mark - iuml */ 
+	"\357",	/* small i, dieresis or umlaut mark - iuml */
 	"\253",	/* angle quotation mark, left (&#171;) - laquo */
-  	"\074",	/* less than - lt */ 
+	"\074",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"\265",	/* micro sign (&#181;) - micro */
@@ -508,15 +508,15 @@ PRIVATE char * DEC_Multinational[] = {
 	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172); - not */
-  	"\361",	/* small n, tilde - ntilde */ 
-  	"\363",	/* small o, acute accent - oacute */ 
-  	"\364",	/* small o, circumflex accent - ocirc */ 
-  	"\362",	/* small o, grave accent - ograve */ 
+	"\361",	/* small n, tilde - ntilde */
+	"\363",	/* small o, acute accent - oacute */
+	"\364",	/* small o, circumflex accent - ocirc */
+	"\362",	/* small o, grave accent - ograve */
 	"\252",	/* feminine ordinal indicator (&#170;) - ordf */
 	"\272",	/* masculine ordinal indicator (&#186;) - ordm */
-  	"\370",	/* small o, slash - oslash */ 
-  	"\365",	/* small o, tilde - otilde */ 
-  	"\366",	/* small o, dieresis or umlaut mark - ouml */ 
+	"\370",	/* small o, slash - oslash */
+	"\365",	/* small o, tilde - otilde */
+	"\366",	/* small o, dieresis or umlaut mark - ouml */
 	"\266",	/* paragraph sign (&#182;) - para */
 	"\261",	/* plus-or-minus sign (&#177;) - plusmn */
 	"\243",	/* pound sign (&#163;) - pound */
@@ -528,19 +528,19 @@ PRIVATE char * DEC_Multinational[] = {
 	"\271",	/* superscript 1 (&#185;) - sup1 */
 	"\262",	/* superscript 2 (&#178;) - sup2 */
 	"\263",	/* superscript 3 (&#179;) - sup3 */
-  	"\337",	/* small sharp s, German (sz ligature) - szlig */ 
+	"\337",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-  	"p",	/* small thorn, Icelandic - thorn */ 
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-  	"\372",	/* small u, acute accent - uacute */ 
-  	"\373",	/* small u, circumflex accent - ucirc */ 
-  	"\371",	/* small u, grave accent - ugrave */ 
+	"\372",	/* small u, acute accent - uacute */
+	"\373",	/* small u, circumflex accent - ucirc */
+	"\371",	/* small u, grave accent - ugrave */
 	"\250",	/* spacing diaresis (&#168;) - uml */
-  	"\374",	/* small u, dieresis or umlaut mark - uuml */ 
-  	"y'",	/* small y, acute accent - yacute */ 
+	"\374",	/* small u, dieresis or umlaut mark - uuml */
+	"y'",	/* small y, acute accent - yacute */
 	"\245",	/* yen sign (&#165;) - yen */
-  	"\375",	/* small y, dieresis or umlaut mark - yuml */ 
+	"\375",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*
@@ -551,49 +551,49 @@ PRIVATE char * DEC_Multinational[] = {
 **      updated January 10, 1996  mike@hyperreal.com
 */
 PRIVATE char * PC_charset[] = {
-        "\222",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "\217",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
-        "\216",	/* capital A, dieresis or umlaut mark - Auml */
-        "\200",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "\220",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "\245",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
-        "\231",	/* capital O, dieresis or umlaut mark - Ouml */
-        "\350",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
-        "\232",	/* capital U, dieresis or umlaut mark - Uuml */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "\240",	/* small a, acute accent - aacute */
-        "\203",	/* small a, circumflex accent - acirc */
+	"\222",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"\217",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
+	"\216",	/* capital A, dieresis or umlaut mark - Auml */
+	"\200",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"\220",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"\245",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
+	"\231",	/* capital O, dieresis or umlaut mark - Ouml */
+	"\350",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
+	"\232",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"\240",	/* small a, acute accent - aacute */
+	"\203",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "\221",	/* small ae diphthong (ligature) - aelig */
-        "\205",	/* small a, grave accent - agrave */
-        "\046",	/* ampersand - amp */
-        "\206",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
-        "\204",	/* small a, dieresis or umlaut mark - auml */
+	"\221",	/* small ae diphthong (ligature) - aelig */
+	"\205",	/* small a, grave accent - agrave */
+	"\046",	/* ampersand - amp */
+	"\206",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
+	"\204",	/* small a, dieresis or umlaut mark - auml */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "\207",	/* small c, cedilla - ccedil */
+	"\207",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"\233",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -601,68 +601,68 @@ PRIVATE char * PC_charset[] = {
 	"\370",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"\366",	/* division sign (&#247;) - divide */
-        "\202",	/* small e, acute accent - eacute */
-        "\210",	/* small e, circumflex accent - ecirc */
-        "\212",	/* small e, grave accent - egrave */
+	"\202",	/* small e, acute accent - eacute */
+	"\210",	/* small e, circumflex accent - ecirc */
+	"\212",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic - eth */
-        "\211",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic - eth */
+	"\211",	/* small e, dieresis or umlaut mark - euml */
 	"\253",	/* fraction 1/2 (&#189;) - frac12 */
 	"\254",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        "\076",	/* greater than - gt */
+	"\076",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "\241",	/* small i, acute accent - iacute */
-        "\214",	/* small i, circumflex accent - icirc */
- 	"\255",	/* inverted exclamation mark (&#161;) - iexcl */
- 	"\215",	/* small i, grave accent - igrave */
+	"\241",	/* small i, acute accent - iacute */
+	"\214",	/* small i, circumflex accent - icirc */
+	"\255",	/* inverted exclamation mark (&#161;) - iexcl */
+	"\215",	/* small i, grave accent - igrave */
 	"\250",	/* inverted question mark (&#191;) - iquest */
-        "\213",	/* small i, dieresis or umlaut mark - iuml */
+	"\213",	/* small i, dieresis or umlaut mark - iuml */
 	"\256",	/* angle quotation mark, left (&#171;) - laquo */
-        "\074",	/* less than - lt */
+	"\074",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"\346",	/* micro sign (&#181;) - micro */
 	"\372",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"\252",	/* negation sign (&#172;) - not */
-        "\244",	/* small n, tilde - ntilde */
-        "\242",	/* small o, acute accent - oacute */
-        "\223",	/* small o, circumflex accent - ocirc */
-        "\225",	/* small o, grave accent - ograve */
+	"\244",	/* small n, tilde - ntilde */
+	"\242",	/* small o, acute accent - oacute */
+	"\223",	/* small o, circumflex accent - ocirc */
+	"\225",	/* small o, grave accent - ograve */
 	"\246",	/* feminine ordinal indicator (&#170;) - ordf */
 	"\247",	/* masculine ordinal indicator (&#186;) - ordm */
-        "\355",	/* small o, slash - oslash */  /* Greek letter substitute */
-        "o",	/* small o, tilde - otilde */
-        "\224",	/* small o, dieresis or umlaut mark - ouml */
+	"\355",	/* small o, slash - oslash */  /* Greek letter substitute */
+	"o",	/* small o, tilde - otilde */
+	"\224",	/* small o, dieresis or umlaut mark - ouml */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"\361",	/* plus-or-minus sign (&#177;) - plusmn */
 	"\234",	/* pound sign (&#163;) - pound */
 	"\042",	/* quote '"' - quot */
 	"\257",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
-        "S:",	/* section sign (&#167;) - sect */
+	"S:",	/* section sign (&#167;) - sect */
 	"\007",	/* soft hyphen (&#173;) NEVER CHANGE THIS - shy */
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"\375",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "\341",	/* small sharp s, German (sz ligature) - szlig */
+	"\341",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "\347",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */
+	"\347",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "\243",	/* small u, acute accent - uacute */
-        "\226",	/* small u, circumflex accent - ucirc */
-        "\227",	/* small u, grave accent - ugrave */
+	"\243",	/* small u, acute accent - uacute */
+	"\226",	/* small u, circumflex accent - ucirc */
+	"\227",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
-        "\201",	/* small u, dieresis or umlaut mark - uuml */
-        "y'",	/* small y, acute accent - yacute */
+	"\201",	/* small u, dieresis or umlaut mark - uuml */
+	"y'",	/* small y, acute accent - yacute */
 	"\235",	/* yen sign (&#165;) - yen */
-        "\230",	/* small y, dieresis or umlaut mark - yuml */
+	"\230",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*
@@ -673,49 +673,49 @@ PRIVATE char * PC_charset[] = {
 **      January 10, 1996  mike@hyperreal.com
 */
 PRIVATE char * PC_850_charset[] = {
-        "\222",	/* capital AE diphthong (ligature) - AElig */
-        "\265",	/* capital A, acute accent - Aacute */
-        "\266",	/* capital A, circumflex accent - Acirc */
+	"\222",	/* capital AE diphthong (ligature) - AElig */
+	"\265",	/* capital A, acute accent - Aacute */
+	"\266",	/* capital A, circumflex accent - Acirc */
 	"\267",	/* capital A, grave accent - Agrave */
 	"\217",	/* capital A, ring - Aring */
-        "\307",	/* capital A, tilde - Atilde */
+	"\307",	/* capital A, tilde - Atilde */
 	"\216",	/* capital A, dieresis or umlaut mark - Auml */
-        "\200",	/* capital C, cedilla - Ccedil */
-        "\321",	/* capital Eth or D with stroke - Dstrok */
-        "\321",	/* capital Eth, Icelandic - ETH */
+	"\200",	/* capital C, cedilla - Ccedil */
+	"\321",	/* capital Eth or D with stroke - Dstrok */
+	"\321",	/* capital Eth, Icelandic - ETH */
 	"\220",	/* capital E, acute accent - Eacute */
-        "\322",	/* capital E, circumflex accent - Ecirc */
+	"\322",	/* capital E, circumflex accent - Ecirc */
 	"\324",	/* capital E, grave accent - Egrave */
-        "\323",	/* capital E, dieresis or umlaut mark - Euml */
+	"\323",	/* capital E, dieresis or umlaut mark - Euml */
 	"\326",	/* capital I, acute accent - Iacute */
-        "\327",	/* capital I, circumflex accent - Icirc */
+	"\327",	/* capital I, circumflex accent - Icirc */
 	"\336",	/* capital I, grave accent - Igrave */
-        "\330",	/* capital I, dieresis or umlaut mark - Iuml */
-        "\245",	/* capital N, tilde - Ntilde */
+	"\330",	/* capital I, dieresis or umlaut mark - Iuml */
+	"\245",	/* capital N, tilde - Ntilde */
 	"\340",	/* capital O, acute accent - Oacute */
-        "\342",	/* capital O, circumflex accent - Ocirc */
+	"\342",	/* capital O, circumflex accent - Ocirc */
 	"\343",	/* capital O, grave accent - Ograve */
-        "\235",	/* capital O, slash - Oslash */
-        "\345",	/* capital O, tilde - Otilde */
-        "\231",	/* capital O, dieresis or umlaut mark - Ouml */
-        "\350",	/* capital THORN, Icelandic - THORN */
+	"\235",	/* capital O, slash - Oslash */
+	"\345",	/* capital O, tilde - Otilde */
+	"\231",	/* capital O, dieresis or umlaut mark - Ouml */
+	"\350",	/* capital THORN, Icelandic - THORN */
 	"\351",	/* capital U, acute accent - Uacute */
-        "\352",	/* capital U, circumflex accent - Ucirc */
-        "\353",	/* capital U, grave accent - Ugrave */
-        "\232",	/* capital U, dieresis or umlaut mark - Uuml */
-        "\355",	/* capital Y, acute accent - Yacute */
+	"\352",	/* capital U, circumflex accent - Ucirc */
+	"\353",	/* capital U, grave accent - Ugrave */
+	"\232",	/* capital U, dieresis or umlaut mark - Uuml */
+	"\355",	/* capital Y, acute accent - Yacute */
 	"\240",	/* small a, acute accent - aacute */
-        "\203",	/* small a, circumflex accent - acirc */
+	"\203",	/* small a, circumflex accent - acirc */
 	"\357",	/* spacing acute (&#180;) - acute */
-        "\221",	/* small ae diphthong (ligature) - aelig */
+	"\221",	/* small ae diphthong (ligature) - aelig */
 	"\205",	/* small a, grave accent - agrave */
-        "\046",	/* ampersand - amp */
-        "\206",	/* small a, ring - aring */
-        "\306",	/* small a, tilde - atilde */
-        "\204",	/* small a, dieresis or umlaut mark - auml */
+	"\046",	/* ampersand - amp */
+	"\206",	/* small a, ring - aring */
+	"\306",	/* small a, tilde - atilde */
+	"\204",	/* small a, dieresis or umlaut mark - auml */
 	"\335",	/* broken vertical bar (&#166;) - brkbar */
 	"\335",	/* broken vertical bar (&#166;) - brvbar */
-        "\207",	/* small c, cedilla - ccedil */
+	"\207",	/* small c, cedilla - ccedil */
 	"\367",	/* spacing cedilla (&#184;) - cedil */
 	"\275",	/* cent sign (&#162;) - cent */
 	"\270",	/* copyright sign (&#169;) - copy */
@@ -724,67 +724,67 @@ PRIVATE char * PC_850_charset[] = {
 	"\371",	/* spacing diaresis (&#168;) - die */
 	"\366",	/* division sign (&#247;) - divide */
 	"\202",	/* small e, acute accent - eacute */
-        "\210",	/* small e, circumflex accent - ecirc */
+	"\210",	/* small e, circumflex accent - ecirc */
 	"\212",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "\320",	/* small eth, Icelandic - eth */
-        "\211",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"\320",	/* small eth, Icelandic - eth */
+	"\211",	/* small e, dieresis or umlaut mark - euml */
 	"\253",	/* fraction 1/2 (&#189;) - frac12 */
 	"\254",	/* fraction 1/4 (&#188;) - frac14 */
 	"\363",	/* fraction 3/4 (&#190;) - frac34 */
-        "\076",	/* greater than - gt */
+	"\076",	/* greater than - gt */
 	"\356",	/* spacing macron (&#175;) - hibar */
 	"\241",	/* small i, acute accent - iacute */
-        "\214",	/* small i, circumflex accent - icirc */
- 	"\255",	/* inverted exclamation mark (&#161;) - iexcl */
+	"\214",	/* small i, circumflex accent - icirc */
+	"\255",	/* inverted exclamation mark (&#161;) - iexcl */
 	"\215",	/* small i, grave accent - igrave */
 	"\250",	/* inverted question mark (&#191;) - iquest */
-        "\213",	/* small i, dieresis or umlaut mark - iuml */
+	"\213",	/* small i, dieresis or umlaut mark - iuml */
 	"\256",	/* angle quotation mark, left (&#171;) - laquo */
-        "\074",	/* less than - lt */
+	"\074",	/* less than - lt */
 	"\356",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"\346",	/* micro sign (&#181;) - micro */
 	"\372",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"\252",	/* negation sign (&#172;) - not */
-        "\244",	/* small n, tilde - ntilde */
+	"\244",	/* small n, tilde - ntilde */
 	"\242",	/* small o, acute accent - oacute */
-        "\223",	/* small o, circumflex accent - ocirc */
+	"\223",	/* small o, circumflex accent - ocirc */
 	"\225",	/* small o, grave accent - ograve */
 	"\246",	/* feminine ordinal indicator (&#170;) - ordf */
 	"\247",	/* masculine ordinal indicator (&#186;) - ordm */
-        "\233",	/* small o, slash - oslash */
-        "\344",	/* small o, tilde - otilde */
-        "\224",	/* small o, dieresis or umlaut mark - ouml */
+	"\233",	/* small o, slash - oslash */
+	"\344",	/* small o, tilde - otilde */
+	"\224",	/* small o, dieresis or umlaut mark - ouml */
 	"\364",	/* paragraph sign (&#182;) - para */
 	"\361",	/* plus-or-minus sign (&#177;) - plusmn */
 	"\234",	/* pound sign (&#163;) - pound */
 	"\042",	/* quote '"' - quot */
 	"\257",	/* angle quotation mark, right (&#187;) - raquo */
 	"\251",	/* circled R registered sign (&#174;) - reg */
-        "\365",	/* section sign (&#167;) - sect */
+	"\365",	/* section sign (&#167;) - sect */
 	"\007",	/* soft hyphen (&#173;) NEVER CHANGE THIS - shy */
 	"\373",	/* superscript 1 (&#185;) - sup1 */
 	"\375",	/* superscript 2 (&#178;) - sup2 */
 	"\374",	/* superscript 3 (&#179;) - sup3 */
-        "\341",	/* small sharp s, German (sz ligature) - szlig */
+	"\341",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "\347",	/* small thorn, Icelandic - thorn */
-  	"\236",	/* multiplication sign (&#215;) - times */
+	"\347",	/* small thorn, Icelandic - thorn */
+	"\236",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
 	"\243",	/* small u, acute accent - uacute */
-        "\226",	/* small u, circumflex accent - ucirc */
+	"\226",	/* small u, circumflex accent - ucirc */
 	"\227",	/* small u, grave accent - ugrave */
 	"\371",	/* spacing diaresis (&#168;) - uml */
-        "\201",	/* small u, dieresis or umlaut mark - uuml */
-        "\354",	/* small y, acute accent - yacute */
+	"\201",	/* small u, dieresis or umlaut mark - uuml */
+	"\354",	/* small y, acute accent - yacute */
 	"\276",	/* yen sign (&#165;) - yen */
-        "\230",	/* small y, dieresis or umlaut mark - yuml */
+	"\230",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*
@@ -794,118 +794,118 @@ PRIVATE char * PC_850_charset[] = {
 **      November 6 1995. nkg@freenet.vancouver.bc.ca
 */
 PRIVATE char * Macintosh[] = {
-        "\256",	/* capital AE diphthong (ligature) - AElig */
-        "\347",	/* capital A, acute accent - Aacute */
-        "\345",	/* capital A, circumflex accent - Acirc */
-        "\313",	/* capital A, grave accent - Agrave */
-        "\201",	/* capital A, ring - Aring */
-        "\314",	/* capital A, tilde - Atilde */
-        "\200",	/* capital A, dieresis or umlaut mark - Auml */
-        "\202",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "\203",	/* capital E, acute accent - Eacute */
-        "\346",	/* capital E, circumflex accent - Ecirc */
-        "\351",	/* capital E, grave accent - Egrave */
-        "\350",	/* capital E, dieresis or umlaut mark - Euml */
-        "\352",	/* capital I, acute accent - Iacute */
-        "\353",	/* capital I, circumflex accent - Icirc */
-        "\355",	/* capital I, grave accent - Igrave */
-        "\354",	/* capital I, dieresis or umlaut mark - Iuml */
-        "\204",	/* capital N, tilde - Ntilde */
-        "\356",	/* capital O, acute accent - Oacute */
-        "\357",	/* capital O, circumflex accent - Ocirc */
-        "\361",	/* capital O, grave accent - Ograve */
-        "\257",	/* capital O, slash - Oslash */
-        "\315",	/* capital O, tilde - Otilde */
-        "\205",	/* capital O, dieresis or umlaut mark - Ouml */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "\362",	/* capital U, acute accent - Uacute */
-        "\363",	/* capital U, circumflex accent - Ucirc */
-        "\364",	/* capital U, grave accent - Ugrave */
-        "\206",	/* capital U, dieresis or umlaut mark - Uuml */
-        "Y'",	/* capital Y, acute accent - Yacute */
-        "\207",	/* small a, acute accent - aacute */
-        "\211",	/* small a, circumflex accent - acirc */
-        "\253",	/* spacing acute (&#180;) - acute */
-        "\276",	/* small ae diphthong (ligature) - aelig */
-        "\210",	/* small a, grave accent - agrave */
-        "\046",	/* ampersand - amp */
-        "\214",	/* small a, ring - aring */
-        "\213",	/* small a, tilde - atilde */
-        "\212",	/* small a, dieresis or umlaut mark - auml */
-        "|",	/* broken vertical bar (&#166;) - brkbar */
-        "|",	/* broken vertical bar (&#166;) - brvbar */
-        "\215",	/* small c, cedilla - ccedil */
-        "\374",	/* spacing cedilla (&#184;) - cedil */
-        "\242",	/* cent sign (&#162;) - cent */
-        "\251",	/* copyright sign (&#169;) - copy */
-        "\333",	/* currency sign (&#164;) - curren */
-        "\241",	/* degree sign (&#176;) - deg */
-        "\254",	/* spacing diaresis (&#168;) - die */
-        "\326",	/* division sign (&#247;) - divide */
-        "\216",	/* small e, acute accent - eacute */
-        "\220",	/* small e, circumflex accent - ecirc */
-        "\217",	/* small e, grave accent - egrave */
+	"\256",	/* capital AE diphthong (ligature) - AElig */
+	"\347",	/* capital A, acute accent - Aacute */
+	"\345",	/* capital A, circumflex accent - Acirc */
+	"\313",	/* capital A, grave accent - Agrave */
+	"\201",	/* capital A, ring - Aring */
+	"\314",	/* capital A, tilde - Atilde */
+	"\200",	/* capital A, dieresis or umlaut mark - Auml */
+	"\202",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"\203",	/* capital E, acute accent - Eacute */
+	"\346",	/* capital E, circumflex accent - Ecirc */
+	"\351",	/* capital E, grave accent - Egrave */
+	"\350",	/* capital E, dieresis or umlaut mark - Euml */
+	"\352",	/* capital I, acute accent - Iacute */
+	"\353",	/* capital I, circumflex accent - Icirc */
+	"\355",	/* capital I, grave accent - Igrave */
+	"\354",	/* capital I, dieresis or umlaut mark - Iuml */
+	"\204",	/* capital N, tilde - Ntilde */
+	"\356",	/* capital O, acute accent - Oacute */
+	"\357",	/* capital O, circumflex accent - Ocirc */
+	"\361",	/* capital O, grave accent - Ograve */
+	"\257",	/* capital O, slash - Oslash */
+	"\315",	/* capital O, tilde - Otilde */
+	"\205",	/* capital O, dieresis or umlaut mark - Ouml */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"\362",	/* capital U, acute accent - Uacute */
+	"\363",	/* capital U, circumflex accent - Ucirc */
+	"\364",	/* capital U, grave accent - Ugrave */
+	"\206",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Y'",	/* capital Y, acute accent - Yacute */
+	"\207",	/* small a, acute accent - aacute */
+	"\211",	/* small a, circumflex accent - acirc */
+	"\253",	/* spacing acute (&#180;) - acute */
+	"\276",	/* small ae diphthong (ligature) - aelig */
+	"\210",	/* small a, grave accent - agrave */
+	"\046",	/* ampersand - amp */
+	"\214",	/* small a, ring - aring */
+	"\213",	/* small a, tilde - atilde */
+	"\212",	/* small a, dieresis or umlaut mark - auml */
+	"|",	/* broken vertical bar (&#166;) - brkbar */
+	"|",	/* broken vertical bar (&#166;) - brvbar */
+	"\215",	/* small c, cedilla - ccedil */
+	"\374",	/* spacing cedilla (&#184;) - cedil */
+	"\242",	/* cent sign (&#162;) - cent */
+	"\251",	/* copyright sign (&#169;) - copy */
+	"\333",	/* currency sign (&#164;) - curren */
+	"\241",	/* degree sign (&#176;) - deg */
+	"\254",	/* spacing diaresis (&#168;) - die */
+	"\326",	/* division sign (&#247;) - divide */
+	"\216",	/* small e, acute accent - eacute */
+	"\220",	/* small e, circumflex accent - ecirc */
+	"\217",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp, en space - not collapsed NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic - eth */
-        "\221",	/* small e, dieresis or umlaut mark - euml */
-        " 1/2",	/* fraction 1/2 (&#189;) - frac12 */
-        " 1/4",	/* fraction 1/4 (&#188;) - frac14 */
-        " 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        "\076",	/* greater than - gt */
-        "\370",	/* spacing macron (&#175;) - hibar */
-        "\222",	/* small i, acute accent - iacute */
-        "\224",	/* small i, circumflex accent - icirc */
-        "\301",	/* inverted exclamation mark (&#161;) - iexcl */
-        "\223",	/* small i, grave accent - igrave */
-        "\300",	/* inverted question mark (&#191;) - iquest */
-        "\225",	/* small i, dieresis or umlaut mark - iuml */
-        "\307",	/* angle quotation mark, left (&#171;) - laquo */
-        "\074",	/* less than - lt */
-        "\370",	/* spacing macron (&#175;) - macr */
+	"\002",	/* ensp, en space - not collapsed NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic - eth */
+	"\221",	/* small e, dieresis or umlaut mark - euml */
+	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
+	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
+	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
+	"\076",	/* greater than - gt */
+	"\370",	/* spacing macron (&#175;) - hibar */
+	"\222",	/* small i, acute accent - iacute */
+	"\224",	/* small i, circumflex accent - icirc */
+	"\301",	/* inverted exclamation mark (&#161;) - iexcl */
+	"\223",	/* small i, grave accent - igrave */
+	"\300",	/* inverted question mark (&#191;) - iquest */
+	"\225",	/* small i, dieresis or umlaut mark - iuml */
+	"\307",	/* angle quotation mark, left (&#171;) - laquo */
+	"\074",	/* less than - lt */
+	"\370",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
-        "\265",	/* micro sign (&#181;) - micro */
-        "\245",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\265",	/* micro sign (&#181;) - micro */
+	"\245",	/* middle dot (&#183;) - middot */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
-        "\302",	/* negation sign (&#172;) - not */
-        "\226",	/* small n, tilde - ntilde */
-        "\227",	/* small o, acute accent - oacute */
-        "\231",	/* small o, circumflex accent - ocirc */
-        "\230",	/* small o, grave accent - ograve */
-        "\273",	/* feminine ordinal indicator (&#170;) - ordf */
-        "\274",	/* masculine ordinal indicator (&#186;) - ordm */
-        "\277",	/* small o, slash - oslash */
-        "\233",	/* small o, tilde - otilde */
-        "\232",	/* small o, dieresis or umlaut mark - ouml */
-        "\246",	/* paragraph sign (&#182;) - para */
-        "\261",	/* plus-or-minus sign (&#177;) - plusmn */
-        "\243",	/* pound sign (&#163;) - pound */
-        "\042",	/* quote '"' - quot */
-        "\310",	/* angle quotation mark, right (&#187;) - raquo */
-        "\250",	/* circled R registered sign (&#174;) - reg */
-        "\244",	/* section sign (&#167;) - sect */
-        "\007",	/* soft hyphen (&#173;) NEVER CHANGE THIS - shy */
-        "^1",	/* superscript 1 (&#185;) - sup1 */
-        "^2",	/* superscript 2 (&#178;) - sup2 */
-        "^3",	/* superscript 3 (&#179;) - sup3 */
-        "\247",	/* small sharp s, German (sz ligature) - szlig */
+	"\302",	/* negation sign (&#172;) - not */
+	"\226",	/* small n, tilde - ntilde */
+	"\227",	/* small o, acute accent - oacute */
+	"\231",	/* small o, circumflex accent - ocirc */
+	"\230",	/* small o, grave accent - ograve */
+	"\273",	/* feminine ordinal indicator (&#170;) - ordf */
+	"\274",	/* masculine ordinal indicator (&#186;) - ordm */
+	"\277",	/* small o, slash - oslash */
+	"\233",	/* small o, tilde - otilde */
+	"\232",	/* small o, dieresis or umlaut mark - ouml */
+	"\246",	/* paragraph sign (&#182;) - para */
+	"\261",	/* plus-or-minus sign (&#177;) - plusmn */
+	"\243",	/* pound sign (&#163;) - pound */
+	"\042",	/* quote '"' - quot */
+	"\310",	/* angle quotation mark, right (&#187;) - raquo */
+	"\250",	/* circled R registered sign (&#174;) - reg */
+	"\244",	/* section sign (&#167;) - sect */
+	"\007",	/* soft hyphen (&#173;) NEVER CHANGE THIS - shy */
+	"^1",	/* superscript 1 (&#185;) - sup1 */
+	"^2",	/* superscript 2 (&#178;) - sup2 */
+	"^3",	/* superscript 3 (&#179;) - sup3 */
+	"\247",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-        "*",	/* multiplication sign (&#215;) - times */
-        "\252",	/* circled TM trade mark sign (&#8482;) - trade */
-        "\234",	/* small u, acute accent - uacute */
-        "\236",	/* small u, circumflex accent - ucirc */
-        "\235",	/* small u, grave accent - ugrave*/
-        "\254",	/* spacing diaresis (&#168;) - uml */
-        "\237",	/* small u, dieresis or umlaut mark - uuml */
-        "y'",	/* small y, acute accent - yacute*/
-        "\264",	/* yen sign (&#165;) - yen */
-        "\330",	/* small y, dieresis or umlaut mark - yuml */
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
+	"\252",	/* circled TM trade mark sign (&#8482;) - trade */
+	"\234",	/* small u, acute accent - uacute */
+	"\236",	/* small u, circumflex accent - ucirc */
+	"\235",	/* small u, grave accent - ugrave*/
+	"\254",	/* spacing diaresis (&#168;) - uml */
+	"\237",	/* small u, dieresis or umlaut mark - uuml */
+	"y'",	/* small y, acute accent - yacute*/
+	"\264",	/* yen sign (&#165;) - yen */
+	"\330",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- NeXT
@@ -1015,7 +1015,7 @@ PRIVATE char * NeXT_Step[] = {
 	"\373",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
 	"\374",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
 	"\363",	/* small u, acute accent - uacute */
 	"\364",	/* small u, circumflex accent - ucirc */
@@ -1033,65 +1033,65 @@ PRIVATE char * NeXT_Step[] = {
 **      Dec 11, 1995, ache@astral.msk.su
 */
 PRIVATE char * KOI8_R[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
 	"\263",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"\277",	/* copyright sign (&#169;) - copy */
@@ -1099,52 +1099,52 @@ PRIVATE char * KOI8_R[] = {
 	"\234",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"\237",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
 	"\243",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	"\236",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1152,23 +1152,23 @@ PRIVATE char * KOI8_R[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"\235",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- Chinese (EUC)
@@ -1176,65 +1176,65 @@ PRIVATE char * KOI8_R[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * Chinese[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1242,52 +1242,52 @@ PRIVATE char * Chinese[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1295,23 +1295,23 @@ PRIVATE char * Chinese[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- Japanese (EUC)
@@ -1319,65 +1319,65 @@ PRIVATE char * Chinese[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * EUC_JP[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1385,52 +1385,52 @@ PRIVATE char * EUC_JP[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1438,23 +1438,23 @@ PRIVATE char * EUC_JP[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- Japanese (SJIS)
@@ -1462,65 +1462,65 @@ PRIVATE char * EUC_JP[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * Shift_JIS[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1528,52 +1528,52 @@ PRIVATE char * Shift_JIS[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1581,23 +1581,23 @@ PRIVATE char * Shift_JIS[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- Korean (EUC)
@@ -1605,65 +1605,65 @@ PRIVATE char * Shift_JIS[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * Korean[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1671,52 +1671,52 @@ PRIVATE char * Korean[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1724,23 +1724,23 @@ PRIVATE char * Korean[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- Taipei (Big5)
@@ -1748,65 +1748,65 @@ PRIVATE char * Korean[] = {
 **	This MUST match exactly the table referred to in the DTD!
 */
 PRIVATE char * Taipei[] = {
-        "AE",	/* capital AE diphthong (ligature) - AElig */
-        "A",	/* capital A, acute accent - Aacute */
-        "A",	/* capital A, circumflex accent - Acirc */
-        "A",	/* capital A, grave accent - Agrave */
-        "A",	/* capital A, ring - Aring */
-        "A",	/* capital A, tilde - Atilde */
+	"AE",	/* capital AE diphthong (ligature) - AElig */
+	"A",	/* capital A, acute accent - Aacute */
+	"A",	/* capital A, circumflex accent - Acirc */
+	"A",	/* capital A, grave accent - Agrave */
+	"A",	/* capital A, ring - Aring */
+	"A",	/* capital A, tilde - Atilde */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla - Ccedil */
-        "Dj",	/* capital D with stroke - Dstrok */
-        "DH",	/* capital Eth, Icelandic - ETH */
-        "E",	/* capital E, acute accent - Eacute */
-        "E",	/* capital E, circumflex accent - Ecirc */
-        "E",	/* capital E, grave accent - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark - Euml */
-        "I",	/* capital I, acute accent - Iacute */
-        "I",	/* capital I, circumflex accent - Icirc */
-        "I",	/* capital I, grave accent - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark - Iuml */
-        "N",	/* capital N, tilde - Ntilde */
-        "O",	/* capital O, acute accent - Oacute */
-        "O",	/* capital O, circumflex accent - Ocirc */
-        "O",	/* capital O, grave accent - Ograve */
-        "O",	/* capital O, slash - Oslash */
-        "O",	/* capital O, tilde - Otilde */
+	"C",	/* capital C, cedilla - Ccedil */
+	"Dj",	/* capital D with stroke - Dstrok */
+	"DH",	/* capital Eth, Icelandic - ETH */
+	"E",	/* capital E, acute accent - Eacute */
+	"E",	/* capital E, circumflex accent - Ecirc */
+	"E",	/* capital E, grave accent - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark - Euml */
+	"I",	/* capital I, acute accent - Iacute */
+	"I",	/* capital I, circumflex accent - Icirc */
+	"I",	/* capital I, grave accent - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark - Iuml */
+	"N",	/* capital N, tilde - Ntilde */
+	"O",	/* capital O, acute accent - Oacute */
+	"O",	/* capital O, circumflex accent - Ocirc */
+	"O",	/* capital O, grave accent - Ograve */
+	"O",	/* capital O, slash - Oslash */
+	"O",	/* capital O, tilde - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic - THORN */
-        "U",	/* capital U, acute accent - Uacute */
-        "U",	/* capital U, circumflex accent - Ucirc */
-        "U",	/* capital U, grave accent - Ugrave */
+	"P",	/* capital THORN, Icelandic - THORN */
+	"U",	/* capital U, acute accent - Uacute */
+	"U",	/* capital U, circumflex accent - Ucirc */
+	"U",	/* capital U, grave accent - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent - Yacute */
-        "a",	/* small a, acute accent - aacute */
-        "a",	/* small a, circumflex accent - acirc */
+	"Y",	/* capital Y, acute accent - Yacute */
+	"a",	/* small a, acute accent - aacute */
+	"a",	/* small a, circumflex accent - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) - aelig */
-        "`a",	/* small a, grave accent - agrave */
-        "&",	/* ampersand - amp */
-        "a",	/* small a, ring - aring */
-        "a",	/* small a, tilde - atilde */
+	"ae",	/* small ae diphthong (ligature) - aelig */
+	"`a",	/* small a, grave accent - agrave */
+	"&",	/* ampersand - amp */
+	"a",	/* small a, ring - aring */
+	"a",	/* small a, tilde - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark - auml */
+	"ae",	/* small a, dieresis or umlaut mark - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark - auml */
+	"a",	/* small a, dieresis or umlaut mark - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla - ccedil */
+	"c",	/* small c, cedilla - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1814,52 +1814,52 @@ PRIVATE char * Taipei[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent - eacute */
-        "e",	/* small e, circumflex accent - ecirc */
-        "e",	/* small e, grave accent - egrave */
+	"e",	/* small e, acute accent - eacute */
+	"e",	/* small e, circumflex accent - ecirc */
+	"e",	/* small e, grave accent - egrave */
 	"-",	/* dash the width of emsp - emdash */
 	"\002",	/* emsp, em space - not collapsed NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth */
-        "e",	/* small e, dieresis or umlaut mark - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth */
+	"e",	/* small e, dieresis or umlaut mark - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than - gt */
+	">",	/* greater than - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent - iacute */
-        "i",	/* small i, circumflex accent - icirc*/
+	"i",	/* small i, acute accent - iacute */
+	"i",	/* small i, circumflex accent - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent - igrave */
+	"`i",	/* small i, grave accent - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark - iuml */
+	"i",	/* small i, dieresis or umlaut mark - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt */
+	"<",	/* less than - lt */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde - ntilde */
-        "o",	/* small o, acute accent - oacute */
-        "o",	/* small o, circumflex accent - ocirc */
-        "o",	/* small o, grave accent - ograve */
+	"n",	/* small n, tilde - ntilde */
+	"o",	/* small o, acute accent - oacute */
+	"o",	/* small o, circumflex accent - ocirc */
+	"o",	/* small o, grave accent - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash - oslash */
-        "o",	/* small o, tilde - otilde */
+	"o",	/* small o, slash - oslash */
+	"o",	/* small o, tilde - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark - ouml */
+	"oe",	/* small o, dieresis or umlaut mark - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark - ouml */
+	"o",	/* small o, dieresis or umlaut mark - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' - quot */
+	"\"",	/* quote '"' - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -1867,23 +1867,23 @@ PRIVATE char * Taipei[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent - uacute */
-        "u",	/* small u, circumflex accent - ucirc */
-        "u",	/* small u, grave accent - ugrave */
+	"u",	/* small u, acute accent - uacute */
+	"u",	/* small u, circumflex accent - ucirc */
+	"u",	/* small u, grave accent - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark - uuml */
+	"ue",	/* small u, dieresis or umlaut mark - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark - uuml */
+	"u",	/* small u, dieresis or umlaut mark - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent - yacute */
+	"y",	/* small y, acute accent - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark - yuml */
+	"y",	/* small y, dieresis or umlaut mark - yuml */
 };
 
 /*      Entity values -- 7 bit character approximations
@@ -1891,65 +1891,65 @@ PRIVATE char * Taipei[] = {
 **      This MUST match exactly the table referred to in the DTD!
 */
 PUBLIC char * SevenBitApproximations[] = {
-        "AE",	/* capital AE diphthong (ligature) (&#198;) - AElig */
-        "A",	/* capital A, acute accent (&#193;) - Aacute */
-        "A",	/* capital A, circumflex accent (&#194;) - Acirc */
-        "A",	/* capital A, grave accent (&#192;) - Agrave */
-        "A",	/* capital A, ring - Aring (&#197;) */
-        "A",	/* capital A, tilde - Atilde (&#195;) */
+	"AE",	/* capital AE diphthong (ligature) (&#198;) - AElig */
+	"A",	/* capital A, acute accent (&#193;) - Aacute */
+	"A",	/* capital A, circumflex accent (&#194;) - Acirc */
+	"A",	/* capital A, grave accent (&#192;) - Agrave */
+	"A",	/* capital A, ring - Aring (&#197;) */
+	"A",	/* capital A, tilde - Atilde (&#195;) */
 #ifdef LY_UMLAUT
-        "Ae",	/* capital A, dieresis or umlaut mark (&#196;) - Auml*/
+	"Ae",	/* capital A, dieresis or umlaut mark (&#196;) - Auml*/
 #else
-        "A",	/* capital A, dieresis or umlaut mark (&#196;) - Auml*/
+	"A",	/* capital A, dieresis or umlaut mark (&#196;) - Auml*/
 #endif /* LY_UMLAUT */
-        "C",	/* capital C, cedilla (&#199;) - Ccedil */
-        "Dj",	/* capital D with stroke (&#208;) - Dstrok */
-        "DH",	/* capital Eth, Icelandic (&#208;) - ETH */
-        "E",	/* capital E, acute accent (&#201;) - Eacute */
-        "E",	/* capital E, circumflex accent (&#202;) - Ecirc */
-        "E",	/* capital E, grave accent (&#200;) - Egrave */
-        "E",	/* capital E, dieresis or umlaut mark (&#203;) - Euml */
-        "I",	/* capital I, acute accent (&#205;) - Iacute */
-        "I",	/* capital I, circumflex accent (&#206;) - Icirc */
-        "I",	/* capital I, grave accent (&#204;) - Igrave */
-        "I",	/* capital I, dieresis or umlaut mark (&#207;) - Iuml */
-        "N",	/* capital N, tilde - Ntilde (&#209;) */
-        "O",	/* capital O, acute accent (&#211;) - Oacute */
-        "O",	/* capital O, circumflex accent (&#212;) - Ocirc */
-        "O",	/* capital O, grave accent (&#210;) - Ograve */
-        "O",	/* capital O, slash (&#216;) - Oslash */
-        "O",	/* capital O, tilde (&#213;) - Otilde */
+	"C",	/* capital C, cedilla (&#199;) - Ccedil */
+	"Dj",	/* capital D with stroke (&#208;) - Dstrok */
+	"DH",	/* capital Eth, Icelandic (&#208;) - ETH */
+	"E",	/* capital E, acute accent (&#201;) - Eacute */
+	"E",	/* capital E, circumflex accent (&#202;) - Ecirc */
+	"E",	/* capital E, grave accent (&#200;) - Egrave */
+	"E",	/* capital E, dieresis or umlaut mark (&#203;) - Euml */
+	"I",	/* capital I, acute accent (&#205;) - Iacute */
+	"I",	/* capital I, circumflex accent (&#206;) - Icirc */
+	"I",	/* capital I, grave accent (&#204;) - Igrave */
+	"I",	/* capital I, dieresis or umlaut mark (&#207;) - Iuml */
+	"N",	/* capital N, tilde - Ntilde (&#209;) */
+	"O",	/* capital O, acute accent (&#211;) - Oacute */
+	"O",	/* capital O, circumflex accent (&#212;) - Ocirc */
+	"O",	/* capital O, grave accent (&#210;) - Ograve */
+	"O",	/* capital O, slash (&#216;) - Oslash */
+	"O",	/* capital O, tilde (&#213;) - Otilde */
 #ifdef LY_UMLAUT
-        "Oe",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */
+	"Oe",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */
 #else
-        "O",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */
+	"O",	/* capital O, dieresis or umlaut mark (&#214;) - Ouml */
 #endif /* LY_UMLAUT */
-        "P",	/* capital THORN, Icelandic (&#222;) - THORN */
-        "U",	/* capital U, acute accent (&#218;) - Uacute */
-        "U",	/* capital U, circumflex accent (&#219;) - Ucirc */
-        "U",	/* capital U, grave accent (&#217;) - Ugrave */
+	"P",	/* capital THORN, Icelandic (&#222;) - THORN */
+	"U",	/* capital U, acute accent (&#218;) - Uacute */
+	"U",	/* capital U, circumflex accent (&#219;) - Ucirc */
+	"U",	/* capital U, grave accent (&#217;) - Ugrave */
 #ifdef LY_UMLAUT
-        "Ue",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */
+	"Ue",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */
 #else
-        "U",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */
+	"U",	/* capital U, dieresis or umlaut mark (&#220;) - Uuml */
 #endif /* LY_UMLAUT */
-        "Y",	/* capital Y, acute accent (&#221;) - Yacute */
-        "a",	/* small a, acute accent (&#225;) - aacute */
-        "a",	/* small a, circumflex accent (&#226;) - acirc */
+	"Y",	/* capital Y, acute accent (&#221;) - Yacute */
+	"a",	/* small a, acute accent (&#225;) - aacute */
+	"a",	/* small a, circumflex accent (&#226;) - acirc */
 	"'",	/* spacing acute (&#180;) - acute */
-        "ae",	/* small ae diphthong (ligature) (&#230;) - aelig */
-        "`a",	/* small a, grave accent (&#232;) - agrave */
-        "&",	/* ampersand (&#38;) - amp */
-        "a",	/* small a, ring (&#229;) - aring */
-        "a",	/* small a, tilde (&#227;) - atilde */
+	"ae",	/* small ae diphthong (ligature) (&#230;) - aelig */
+	"`a",	/* small a, grave accent (&#232;) - agrave */
+	"&",	/* ampersand (&#38;) - amp */
+	"a",	/* small a, ring (&#229;) - aring */
+	"a",	/* small a, tilde (&#227;) - atilde */
 #ifdef LY_UMLAUT
-        "ae",	/* small a, dieresis or umlaut mark (&#228;) - auml */
+	"ae",	/* small a, dieresis or umlaut mark (&#228;) - auml */
 #else
-        "a",	/* small a, dieresis or umlaut mark (&#228;) - auml */
+	"a",	/* small a, dieresis or umlaut mark (&#228;) - auml */
 #endif /* LY_UMLAUT */
 	"|",	/* broken vertical bar (&#166;) - brkbar */
 	"|",	/* broken vertical bar (&#166;) - brvbar */
-        "c",	/* small c, cedilla (&#231;) - ccedil */
+	"c",	/* small c, cedilla (&#231;) - ccedil */
 	",",	/* spacing cedilla (&#184;) - cedil */
 	"-c-",	/* cent sign (&#162;) - cent */
 	"(c)",	/* copyright sign (&#169;) - copy */
@@ -1957,52 +1957,52 @@ PUBLIC char * SevenBitApproximations[] = {
 	"DEG",	/* degree sign (&#176;) - deg */
 	"\042",	/* spacing diaresis (&#168;) - die */
 	"/",	/* division sign (&#247;) - divide */
-        "e",	/* small e, acute accent (&#233;) - eacute */
-        "e",	/* small e, circumflex accent (&#234;) - ecirc */
-        "e",	/* small e, grave accent (&#232;) - egrave */
+	"e",	/* small e, acute accent (&#233;) - eacute */
+	"e",	/* small e, circumflex accent (&#234;) - ecirc */
+	"e",	/* small e, grave accent (&#232;) - egrave */
 	"-",	/* dash the width of emsp - emdash */
-        "\002",	/* emsp NEVER CHANGE THIS - emsp */
+	"\002",	/* emsp NEVER CHANGE THIS - emsp */
 	"-",	/* dash the width of ensp - endash */
-        "\002",	/* ensp NEVER CHANGE THIS - ensp */
-        "dh",	/* small eth, Icelandic eth (&#240;) */
-        "e",	/* small e, dieresis or umlaut mark (&#235;) - euml */
+	"\002",	/* ensp NEVER CHANGE THIS - ensp */
+	"dh",	/* small eth, Icelandic eth (&#240;) */
+	"e",	/* small e, dieresis or umlaut mark (&#235;) - euml */
 	" 1/2",	/* fraction 1/2 (&#189;) - frac12 */
 	" 1/4",	/* fraction 1/4 (&#188;) - frac14 */
 	" 3/4",	/* fraction 3/4 (&#190;) - frac34 */
-        ">",	/* greater than (&#62;) - gt */
+	">",	/* greater than (&#62;) - gt */
 	"-",	/* spacing macron (&#175;) - hibar */
-        "i",	/* small i, acute accent (&#237;) - iacute */
-        "i",	/* small i, circumflex accent (&#238;) - icirc*/
+	"i",	/* small i, acute accent (&#237;) - iacute */
+	"i",	/* small i, circumflex accent (&#238;) - icirc*/
 	"!",	/* inverted exclamation mark (&#161;) - iexcl */
-        "`i",	/* small i, grave accent (&#236;) - igrave */
+	"`i",	/* small i, grave accent (&#236;) - igrave */
 	"?",	/* inverted question mark (&#191;) - iquest */
-        "i",	/* small i, dieresis or umlaut mark (&#239;) - iuml */
+	"i",	/* small i, dieresis or umlaut mark (&#239;) - iuml */
 	"<<",	/* angle quotation mark, left (&#171;) - laquo */
-        "<",	/* less than - lt (&#60;) */
+	"<",	/* less than - lt (&#60;) */
 	"-",	/* spacing macron (&#175;) - macr */
 	"-",	/* dash the width of emsp - mdash */
 	"u",	/* micro sign (&#181;) - micro */
 	".",	/* middle dot (&#183;) - middot */
-        "\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
+	"\001",	/* nbsp non-breaking space NEVER CHANGE THIS - nbsp */
 	"-",	/* dash the width of ensp - ndash */
 	"NOT",	/* negation sign (&#172;) - not */
-        "n",	/* small n, tilde (&#241;) - ntilde */
-        "o",	/* small o, acute accent (&#243;) - oacute */
-        "o",	/* small o, circumflex accent (&#244;) - ocirc */
-        "o",	/* small o, grave accent (&#242;) - ograve */
+	"n",	/* small n, tilde (&#241;) - ntilde */
+	"o",	/* small o, acute accent (&#243;) - oacute */
+	"o",	/* small o, circumflex accent (&#244;) - ocirc */
+	"o",	/* small o, grave accent (&#242;) - ograve */
 	"-a",	/* feminine ordinal indicator (&#170;) - ordf */
 	"-o",	/* masculine ordinal indicator (&#186;) - ordm */
-        "o",	/* small o, slash (&#248;) - oslash */
-        "o",	/* small o, tilde (&#245;) - otilde */
+	"o",	/* small o, slash (&#248;) - oslash */
+	"o",	/* small o, tilde (&#245;) - otilde */
 #ifdef LY_UMLAUT
-        "oe",	/* small o, dieresis or umlaut mark (&#246;) - ouml */
+	"oe",	/* small o, dieresis or umlaut mark (&#246;) - ouml */
 #else
-        "o",	/* small o, dieresis or umlaut mark (&#246;) - ouml */
+	"o",	/* small o, dieresis or umlaut mark (&#246;) - ouml */
 #endif /* LY_UMLAUT */
 	"P:",	/* paragraph sign (&#182;) - para */
 	"+-",	/* plus-or-minus sign (&#177;) - plusmn */
 	"-L-",	/* pound sign (&#163;) - pound */
-        "\"",	/* quote '"' (&#34;) - quot */
+	"\"",	/* quote '"' (&#34;) - quot */
 	">>",	/* angle quotation mark, right (&#187;) - raquo */
 	"(R)",	/* circled R registered sign (&#174;) - reg */
 	"S:",	/* section sign (&#167;) - sect */
@@ -2010,31 +2010,31 @@ PUBLIC char * SevenBitApproximations[] = {
 	"^1",	/* superscript 1 (&#185;) - sup1 */
 	"^2",	/* superscript 2 (&#178;) - sup2 */
 	"^3",	/* superscript 3 (&#179;) - sup3 */
-        "ss",	/* small sharp s, German (sz ligature) (&#223;) - szlig */
+	"ss",	/* small sharp s, German (sz ligature) (&#223;) - szlig */
 	"\002",	/* thin space - not collapsed NEVER CHANGE THIS - thinsp */
-        "p",	/* small thorn, Icelandic (&#254;) - thorn */
-  	"*",	/* multiplication sign (&#215;) - times */ 
+	"p",	/* small thorn, Icelandic (&#254;) - thorn */
+	"*",	/* multiplication sign (&#215;) - times */
 	"(TM)",	/* circled TM trade mark sign (&#8482;) - trade */
-        "u",	/* small u, acute accent (&#250;) - uacute */
-        "u",	/* small u, circumflex accent (&#251;) - ucirc */
-        "u",	/* small u, grave accent (&#249;) - ugrave */
+	"u",	/* small u, acute accent (&#250;) - uacute */
+	"u",	/* small u, circumflex accent (&#251;) - ucirc */
+	"u",	/* small u, grave accent (&#249;) - ugrave */
 	"\042",	/* spacing diaresis (&#168;) - uml */
 #ifdef LY_UMLAUT
-        "ue",	/* small u, dieresis or umlaut mark (&#252;) - uuml */
+	"ue",	/* small u, dieresis or umlaut mark (&#252;) - uuml */
 #else
-        "u",	/* small u, dieresis or umlaut mark (&#252;) - uuml */
+	"u",	/* small u, dieresis or umlaut mark (&#252;) - uuml */
 #endif /* LY_UMLAUT */
-        "y",	/* small y, acute accent (&#253;) - yacute */
+	"y",	/* small y, acute accent (&#253;) - yacute */
 	"YEN",	/* yen sign (&#165;) - yen */
-        "y",	/* small y, dieresis or umlaut mark (&#255;) - yuml */
+	"y",	/* small y, dieresis or umlaut mark (&#255;) - yuml */
 };
 
 /*
  *  Add your new character sets HERE (but only if you
- *  can't contruct Unicode tables for them). - FM
+ *  can't construct Unicode tables for them). - FM
  */
 
-/* 
+/*
  *  Add the array name to LYCharSets
  */
 PUBLIC char ** LYCharSets[MAXCHARSETS]={
@@ -2060,7 +2060,7 @@ PUBLIC char ** LYCharSets[MAXCHARSETS]={
 
 /*
  *  Add the name that the user will see below.
- *  The order of LYCharSets and char_set_names MUST be the same
+ *  The order of LYCharSets and LYchar_set_names MUST be the same
  */
 PUBLIC CONST char * LYchar_set_names[MAXCHARSETSP]={
 	"ISO Latin 1         ",
@@ -2070,8 +2070,8 @@ PUBLIC CONST char * LYchar_set_names[MAXCHARSETSP]={
 	"DEC Multinational   ",
 	"Macintosh (8 bit)   ",
 	"NeXT character set  ",
- 	"KOI8-R Cyrillic     ",
- 	"Chinese             ",
+	"KOI8-R Cyrillic     ",
+	"Chinese             ",
 	"Japanese (EUC)      ",
 	"Japanese (SJIS)     ",
 	"Korean              ",
@@ -2079,8 +2079,8 @@ PUBLIC CONST char * LYchar_set_names[MAXCHARSETSP]={
 	"Vietnamese (VISCII) ",
 	"7 bit approximations",
 	"Transparent         ",
-	"IBM PC character set",
-	"IBM PC codepage 850 ",
+	"DosLatinUS (cp437)  ",
+	"DosLatin1 (cp850)   ",
 	(char *) 0
 };
 
@@ -2121,11 +2121,11 @@ PUBLIC LYUCcharset LYCharSet_UC[MAXCHARSETS]=
 			0,			UCT_R_8BIT,UCT_R_ASCII},
   {-1,"dec-mcs",	UCT_ENC_8BIT,0,0,	UCT_R_8BIT,UCT_R_ASCII},
   {-1,"macintosh",	UCT_ENC_8BIT,0,0,	UCT_R_8BIT,UCT_R_ASCII},
-  {-1,"x-next",		UCT_ENC_8BIT,0,0,	UCT_R_8BIT,UCT_R_ASCII},
+  {-1,"next",		UCT_ENC_8BIT,0,0,	UCT_R_8BIT,UCT_R_ASCII},
   {-1,"koi8-r",		UCT_ENC_8BIT,0,0,	UCT_R_8BIT,UCT_R_ASCII},
 
   /*
-   *  There is no strict correlation for the next five, since the tranfer
+   *  There is no strict correlation for the next five, since the transfer
    *  charset gets decoded into Display Char Set by the CJK code (separate
    *  from Unicode mechanism).  For now we use the MIME name that describes
    *  what is output to the terminal. - KW
@@ -2161,7 +2161,6 @@ PUBLIC LYUCcharset LYCharSet_UC[MAXCHARSETS]=
 /*
  *  Add the code of the the lowest character with the high bit set
  *  that can be directly displayed.
- *  Used by SLANG and for character translation.
  *  The order of LYCharSets and LYlowest_eightbit MUST be the same.
  */
 PUBLIC int LYlowest_eightbit[MAXCHARSETS]={
@@ -2185,7 +2184,7 @@ PUBLIC int LYlowest_eightbit[MAXCHARSETS]={
 	128	/* DosLatin1 (cp850)	*/
 };
 
-/* 
+/*
  *  The default character set.
  *  --------------------------
  *  Use lynx.cfg and/or user
@@ -2193,7 +2192,7 @@ PUBLIC int LYlowest_eightbit[MAXCHARSETS]={
  *  set a different default.
  */
 PUBLIC char** p_entity_values = ISO_Latin1;	/* Pointer to translation */
-PUBLIC int current_char_set = 0;		/* Index for tranaslation */
+PUBLIC int current_char_set = 0;		/* Index for translation */
 
 /*
  *  Function to set the handling of selected character sets
@@ -2209,6 +2208,11 @@ PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 	    chndl = UCGetLYhndl_byMIME(UCAssume_MIMEcharset);
 	HTCJK = NOCJK;
 	kanji_code = NOKANJI;
+
+	HTPassEightBitNum =
+	    ((LYCharSet_UC[i].codepoints & UCT_CP_SUPERSETOF_LAT1) ||
+		(LYCharSet_UC[i].like8859 & UCT_R_HIGH8BIT));
+
 	if (i == (chndl < 0 ? 0 : chndl)) {
 	    LYRawMode = LYUseDefaultRawMode ? TRUE : FALSE;
 	} else {
@@ -2219,11 +2223,6 @@ PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 	} else {
 	    HTPassEightBitRaw = FALSE;
 	}
-
-	HTPassEightBitNum =
-	    ((LYCharSet_UC[i].codepoints & UCT_CP_SUPERSETOF_LAT1) ||
-		(LYCharSet_UC[i].like8859 & UCT_R_HIGH8BIT));
-	
 	if (LYRawMode || i == chndl) {
 	    HTPassHighCtrlRaw = (LYlowest_eightbit[i] <= 130);
 	} else {
@@ -2232,26 +2231,6 @@ PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 
 	HTPassHighCtrlNum = FALSE;
 
-#ifdef NOTDEFINED
-    } else if (!strncmp(LYchar_set_names[i], "ISO Latin 1", 11)) {
-	HTCJK = NOCJK;
-	kanji_code = NOKANJI;
-	HTPassEightBitRaw = LYUseDefaultRawMode ? TRUE : FALSE;
-	LYRawMode = HTPassEightBitRaw;
-	HTPassEightBitNum = TRUE;
-        HTPassHighCtrlRaw = FALSE;
-	HTPassHighCtrlNum = FALSE;
-
-    } else if (!strncmp(LYchar_set_names[i], "KOI8-R Cyrillic", 15)) {
-	HTCJK = NOCJK;
-	kanji_code = NOKANJI;
-	HTPassEightBitRaw = LYUseDefaultRawMode ? FALSE : TRUE;
-	LYRawMode = HTPassEightBitRaw;
-	HTPassEightBitNum = FALSE;
-        HTPassHighCtrlRaw = TRUE;
-	HTPassHighCtrlNum = FALSE;
-#endif /* NOTDEFINED */
-
     } else if (!strncmp(LYchar_set_names[i], "Chinese", 7)) {
 	HTCJK = LYUseDefaultRawMode ? CHINESE : NOCJK;
 	LYRawMode = (HTCJK != NOCJK) ? TRUE : FALSE;
@@ -2348,7 +2327,7 @@ PUBLIC void HTMLSetCharacterHandling ARGS1(int,i)
 PUBLIC void HTMLSetRawModeDefault ARGS1(int,i)
 {
     if (!strncmp(LYchar_set_names[i], "ISO Latin 1", 11) ||
-    	!strncmp(LYchar_set_names[i], "Chinese", 7) ||
+	!strncmp(LYchar_set_names[i], "Chinese", 7) ||
 	!strncmp(LYchar_set_names[i], "Japanese (EUC)", 14) ||
 	!strncmp(LYchar_set_names[i], "Japanese (SJIS)", 15) ||
 	!strncmp(LYchar_set_names[i], "Korean", 6) ||
@@ -2459,68 +2438,68 @@ PUBLIC CONST char * LYEntityNames[] = {
 	"iquest",	/* 191,	inverted question mark */
 	"Agrave",	/* 192,	capital A, grave accent */
 	"Aacute",	/* 193,	capital A, acute accent */
-	"Acirc",	/* 194,	capital A, circumflex accent */ 
-	"Atilde",	/* 195,	capital A, tilde */ 
-	"Auml",		/* 196,	capital A, dieresis or umlaut mark */ 
-	"Aring",	/* 197,	capital A, ring */ 
-	"AElig",	/* 198,	capital AE diphthong (ligature) */ 
-	"Ccedil",	/* 199,	capital C, cedilla */ 
+	"Acirc",	/* 194,	capital A, circumflex accent */
+	"Atilde",	/* 195,	capital A, tilde */
+	"Auml",		/* 196,	capital A, dieresis or umlaut mark */
+	"Aring",	/* 197,	capital A, ring */
+	"AElig",	/* 198,	capital AE diphthong (ligature) */
+	"Ccedil",	/* 199,	capital C, cedilla */
 	"Egrave",	/* 200,	capital E, grave accent */
 	"Eacute",	/* 201,	capital E, acute accent */
-	"Ecirc",	/* 202,	capital E, circumflex accent */ 
-	"Euml",		/* 203,	capital E, dieresis or umlaut mark */ 
+	"Ecirc",	/* 202,	capital E, circumflex accent */
+	"Euml",		/* 203,	capital E, dieresis or umlaut mark */
 	"Igrave",	/* 204,	capital I, grave accent */
 	"Iacute",	/* 205,	capital I, acute accent */
-	"Icirc",	/* 206,	capital I, circumflex accent */ 
-	"Iuml",		/* 207,	capital I, dieresis or umlaut mark */ 
-	"ETH",		/* 208,	capital Eth, Icelandic (or Latin2 Dstrok) */ 
-	"Ntilde",	/* 209,	capital N, tilde */ 
+	"Icirc",	/* 206,	capital I, circumflex accent */
+	"Iuml",		/* 207,	capital I, dieresis or umlaut mark */
+	"ETH",		/* 208,	capital Eth, Icelandic (or Latin2 Dstrok) */
+	"Ntilde",	/* 209,	capital N, tilde */
 	"Ograve",	/* 210,	capital O, grave accent */
 	"Oacute",	/* 211,	capital O, acute accent */
-	"Ocirc",	/* 212,	capital O, circumflex accent */ 
-	"Otilde",	/* 213,	capital O, tilde */ 
-	"Ouml",		/* 214,	capital O, dieresis or umlaut mark */ 
-	"times",	/* 215,	multiplication sign */ 
-	"Oslash",	/* 216,	capital O, slash */ 
+	"Ocirc",	/* 212,	capital O, circumflex accent */
+	"Otilde",	/* 213,	capital O, tilde */
+	"Ouml",		/* 214,	capital O, dieresis or umlaut mark */
+	"times",	/* 215,	multiplication sign */
+	"Oslash",	/* 216,	capital O, slash */
 	"Ugrave",	/* 217,	capital U, grave accent */
 	"Uacute",	/* 218,	capital U, acute accent */
-	"Ucirc",	/* 219,	capital U, circumflex accent */ 
-	"Uuml",		/* 220,	capital U, dieresis or umlaut mark */ 
-	"Yacute",	/* 221,	capital Y, acute accent */ 
-	"THORN",	/* 222,	capital THORN, Icelandic */ 
-	"szlig",	/* 223,	small sharp s, German (sz ligature) */ 
+	"Ucirc",	/* 219,	capital U, circumflex accent */
+	"Uuml",		/* 220,	capital U, dieresis or umlaut mark */
+	"Yacute",	/* 221,	capital Y, acute accent */
+	"THORN",	/* 222,	capital THORN, Icelandic */
+	"szlig",	/* 223,	small sharp s, German (sz ligature) */
 	"agrave",	/* 224,	small a, grave accent */
 	"aacute",	/* 225,	small a, acute accent */
-	"acirc",	/* 226,	small a, circumflex accent */ 
+	"acirc",	/* 226,	small a, circumflex accent */
 	"atilde",	/* 227,	small a, tilde */
-	"auml",		/* 228,	small a, dieresis or umlaut mark */ 
-  	"aring",	/* 229,	small a, ring */
-	"aelig",	/* 230,	small ae diphthong (ligature) */ 
-	"ccedil",	/* 231,	small c, cedilla */ 
+	"auml",		/* 228,	small a, dieresis or umlaut mark */
+	"aring",	/* 229,	small a, ring */
+	"aelig",	/* 230,	small ae diphthong (ligature) */
+	"ccedil",	/* 231,	small c, cedilla */
 	"egrave",	/* 232,	small e, grave accent */
 	"eacute",	/* 233,	small e, acute accent */
-	"ecirc",	/* 234,	small e, circumflex accent */ 
-	"euml",		/* 235,	small e, dieresis or umlaut mark */ 
+	"ecirc",	/* 234,	small e, circumflex accent */
+	"euml",		/* 235,	small e, dieresis or umlaut mark */
 	"igrave",	/* 236,	small i, grave accent */
 	"iacute",	/* 237,	small i, acute accent */
-	"icirc",	/* 238,	small i, circumflex accent */ 
-	"iuml",		/* 239,	small i, dieresis or umlaut mark */ 
-	"eth",		/* 240,	small eth, Icelandic */ 
-	"ntilde",	/* 241,	small n, tilde */ 
+	"icirc",	/* 238,	small i, circumflex accent */
+	"iuml",		/* 239,	small i, dieresis or umlaut mark */
+	"eth",		/* 240,	small eth, Icelandic */
+	"ntilde",	/* 241,	small n, tilde */
 	"ograve",	/* 242,	small o, grave accent */
 	"oacute",	/* 243,	small o, acute accent */
-	"ocirc",	/* 244,	small o, circumflex accent */ 
-	"otilde",	/* 245,	small o, tilde */ 
-	"ouml",		/* 246,	small o, dieresis or umlaut mark */ 
+	"ocirc",	/* 244,	small o, circumflex accent */
+	"otilde",	/* 245,	small o, tilde */
+	"ouml",		/* 246,	small o, dieresis or umlaut mark */
 	"divide",	/* 247,	division sign */
-	"oslash",	/* 248,	small o, slash */ 
+	"oslash",	/* 248,	small o, slash */
 	"ugrave",	/* 249,	small u, grave accent */
 	"uacute",	/* 250,	small u, acute accent */
-	"ucirc",	/* 251,	small u, circumflex accent */ 
-	"uuml",		/* 252,	small u, dieresis or umlaut mark */ 
-	"yacute",	/* 253,	small y, acute accent */ 
-	"thorn",	/* 254,	small thorn, Icelandic */ 
-	"yuml",		/* 255,	small y, dieresis or umlaut mark */ 
+	"ucirc",	/* 251,	small u, circumflex accent */
+	"uuml",		/* 252,	small u, dieresis or umlaut mark */
+	"yacute",	/* 253,	small y, acute accent */
+	"thorn",	/* 254,	small thorn, Icelandic */
+	"yuml",		/* 255,	small y, dieresis or umlaut mark */
 };
 
 /*
@@ -2528,9 +2507,9 @@ PUBLIC CONST char * LYEntityNames[] = {
  *  ISO-8859-1 8-bit characters. - FM
  */
 PUBLIC CONST char * HTMLGetEntityName ARGS1(
-	int,		i)
+	UCode_t,	code)
 {
-#define IntValue i
+#define IntValue code
     int MaxValue = ((sizeof(LYEntityNames)/sizeof(char **)) - 1);
 
     if (IntValue < 0 || IntValue > MaxValue) {
@@ -2646,7 +2625,7 @@ PUBLIC char HTMLGetLatinOneValue ARGS1(int,i)
 {
     char ch = ISO_Latin1[i][0];
 
-    switch ((unsigned char)ch) { 
+    switch ((unsigned char)ch) {
         case HT_NON_BREAK_SPACE:
 	    ch = 160;
 	    break;
@@ -2690,12 +2669,8 @@ PUBLIC void HTMLUseCharacterSet ARGS1(int,i)
  */
 PUBLIC int LYCharSetsDeclared NOPARAMS
 {
-    int status = 1;
-
-#ifdef EXP_CHARTRANS
     UCInit();
-    status = UCInitialized;
-    
+
     if (UCAssume_MIMEcharset && *UCAssume_MIMEcharset) {
 	UCLYhndl_for_unspec = UCGetLYhndl_byMIME(UCAssume_MIMEcharset);
     } else {
@@ -2707,8 +2682,6 @@ PUBLIC int LYCharSetsDeclared NOPARAMS
     if (UCAssume_unrecMIMEcharset && *UCAssume_unrecMIMEcharset)
 	UCLYhndl_for_unrec =
 	    UCGetLYhndl_byMIME(UCAssume_unrecMIMEcharset);
-#endif
 
-    return status;
+    return UCInitialized;
 }
-
diff --git a/src/LYCharSets.h b/src/LYCharSets.h
index bd873fb7..41f09c5c 100644
--- a/src/LYCharSets.h
+++ b/src/LYCharSets.h
@@ -12,28 +12,24 @@
 extern int current_char_set;
 extern CONST char * LYchar_set_names[];
 
+/*
+ *  Initializer for LYCharSets.c.
+ */
+extern int LYCharSetsDeclared NOPARAMS;
+
 
 extern char ** LYCharSets[];
-extern char * SevenBitApproximations[];    /* made public. -kw */
+extern char * SevenBitApproximations[];
 extern char ** p_entity_values;
-#if defined(USE_SLANG) || defined(EXP_CHARTRANS)
 extern int LYlowest_eightbit[];
-#endif /* USE_SLANG || EXP_CHARTRANS */
-
-#ifdef EXP_CHARTRANS
 extern int LYNumCharsets;
 extern LYUCcharset LYCharSet_UC[];
-#endif   /* EXP_CHARTRANS */
-
-/* Initializer for LYCharSets.c */
-extern int LYCharSetsDeclared NOPARAMS;
-
 extern void HTMLSetCharacterHandling PARAMS((int i));
 extern void HTMLSetRawModeDefault PARAMS((int i));
 extern void HTMLSetUseDefaultRawMode PARAMS((int i, BOOLEAN modeflag));
 extern void HTMLSetHaveCJKCharacterSet PARAMS((int i));
 extern CONST char * LYEntityNames[];
-extern CONST char * HTMLGetEntityName PARAMS((int i));
+extern CONST char * HTMLGetEntityName PARAMS((UCode_t code));
 extern UCode_t HTMLGetEntityUCValue PARAMS((CONST char *name));
 extern char HTMLGetLatinOneValue PARAMS((int i));
 extern void HTMLUseCharacterSet PARAMS((int i));
diff --git a/src/LYCharUtils.c b/src/LYCharUtils.c
index d7bdf33f..c5b4bd81 100644
--- a/src/LYCharUtils.c
+++ b/src/LYCharUtils.c
@@ -1345,12 +1345,14 @@ PRIVATE char ** LYUCFullyTranslateString_1 ARGS9(
 		    /* What else can we do? */
 		    code = (unsigned char)(*p);
 		}
+#ifdef NOTUSED_FOTEMODS
 	    } else if (T.strip_raw_char_in &&
 		       (unsigned char)(*p) >= 0xc0 &&
 		       (unsigned char)(*p) < 255) {
 		code = ((*p & 0x7f));
 		state = S_got_outchar;
 		break;
+#endif /* NOTUSED_FOTEMODS */
 	    } else if (!T.trans_from_uni) {
 		state = S_got_outchar;
 		break;
@@ -1680,22 +1682,22 @@ PRIVATE char ** LYUCFullyTranslateString_1 ARGS9(
 		*cp = cpe;
 		*q++ = '&';
 		state = S_done;
+#ifdef NOTUSED_FOTEMODS
+	    } else if (T.strip_raw_char_in &&
+		(unsigned char)(*p) >= 0xc0 &&
+		(unsigned char)(*p) < 255) {
+		code = (((*p) & 0x7f));
+		state = S_got_outchar;
+#endif /* NOTUSED_FOTEMODS */
+	    } else if (!T.output_utf8 && stype == st_HTML && !hidden &&
+		!(HTPassEightBitRaw &&
+		 (unsigned char)(*p) >= lowest_8)) {
+		sprintf(replace_buf, "U%.2lX", code);
+		state = S_got_outstring;
 	    } else {
-		if (T.strip_raw_char_in &&
-		    (unsigned char)(*p) >= 0xc0 &&
-		    (unsigned char)(*p) < 255) {
-		    code = (((*p) & 0x7f));
-		    state = S_got_outchar;
-		} else if (!T.output_utf8 && stype == st_HTML && !hidden &&
-		    !(HTPassEightBitRaw &&
-		      (unsigned char)(*p) >= lowest_8)) {
-		    sprintf(replace_buf, "U%.2lX", code);
-		    state = S_got_outstring;
-		} else {
-		    puni = p;
-		    code = (unsigned char)(*p);
-		    state = S_got_outchar;
-		}
+		puni = p;
+		code = (unsigned char)(*p);
+		state = S_got_outchar;
 	    }
 	    break;
 
@@ -3314,11 +3316,13 @@ PRIVATE BOOL LYUCTranslateString ARGS7(
 		    /* What else can we do? */
 		    unsign_c = (unsigned char)p[i];
 		}
+#ifdef NOTUSED_FOTEMODS
 	    } else if (T.strip_raw_char_in &&
 		       (unsigned char)p[i] >= 0xc0 &&
 		       (unsigned char)p[i] < 255) {
 		REPLACE_CHAR((p[i] & 0x7f));
 		done = YES;
+#endif /* NOTUSED_FOTEMODS */
 	    } else if (!T.trans_from_uni) {
 		done = YES;
 	    }
@@ -3371,11 +3375,14 @@ PRIVATE BOOL LYUCTranslateString ARGS7(
 		    REPLACE_STRING(replace_buf);
 		}
 	    } else if (unsign_c > 255) {
+#ifdef NOTUSED_FOTEMODS
 		if (T.strip_raw_char_in &&
 		    (unsigned char)p[i] >= 0xc0 &&
 		    (unsigned char)p[i] < 255) {
 		    REPLACE_CHAR((p[i] & 0x7f));
-		} else {
+		} else
+#endif /* NOTUSED_FOTEMODS */
+		{
 		    sprintf(replace_buf, "U%.2lX", unsign_c);
 		    REPLACE_STRING(replace_buf);
 		}
@@ -4227,13 +4234,12 @@ PUBLIC void LYHandleSELECT ARGS5(
 	 */
 	me->inSELECT = TRUE;
 
-	if (!me->text)
-	    UPDATE_STYLE;
 	if (present && present[HTML_SELECT_NAME] &&
-	    value[HTML_SELECT_NAME] && *value[HTML_SELECT_NAME])  
+	    value[HTML_SELECT_NAME] && *value[HTML_SELECT_NAME]) {
 	    StrAllocCopy(name, value[HTML_SELECT_NAME]);
-	else
+	} else {
 	    StrAllocCopy(name, "");
+	}
 	if (present && present[HTML_SELECT_MULTIPLE])  
 	    multiple=YES;
 	if (present && present[HTML_SELECT_DISABLED])  
@@ -4246,10 +4252,11 @@ PUBLIC void LYHandleSELECT ARGS5(
 	    /*
 	     *  Let the size be determined by the number of OPTIONs. - FM
 	     */
-	    if (TRACE)
+	    if (TRACE) {
 		fprintf(stderr,
 			"LYHandleSELECT: Ignoring SIZE=\"%s\" for SELECT.\n",
 			(char *)value[HTML_SELECT_SIZE]);
+	    }
 #endif /* NOTDEFINED */
 	}
 
@@ -4267,18 +4274,18 @@ PUBLIC void LYHandleSELECT ARGS5(
 
 	if ((multiple == NO && LYSelectPopups == TRUE) &&
 	    me->sp[0].tag_number == HTML_PRE &&
-	        HText_LastLineSize(me->text, FALSE) > (LYcols - 8)) {
-		/*
-		 *  Force a newline when we're using a popup in
-		 *  a PRE block and are within 7 columns from the
-		 *  right margin.  This will allow for the '['
-		 *  popup designater and help avoid a wrap in the
-		 *  underscore placeholder for the retracted popup
-		 *  entry in the HText structure. - FM
-		 */
-		HTML_put_character(me, '\n');
-		me->in_word = NO;
-	    }
+	    HText_LastLineSize(me->text, FALSE) > (LYcols - 8)) {
+	    /*
+	     *  Force a newline when we're using a popup in
+	     *  a PRE block and are within 7 columns from the
+	     *  right margin.  This will allow for the '['
+	     *  popup designater and help avoid a wrap in the
+	     *  underscore placeholder for the retracted popup
+	     *  entry in the HText structure. - FM
+	     */
+	    HTML_put_character(me, '\n');
+	    me->in_word = NO;
+	}
 
 	LYCheckForID(me, present, value, (int)HTML_SELECT_ID);
 
@@ -4292,8 +4299,6 @@ PUBLIC void LYHandleSELECT ARGS5(
 	 *  Handle end tag.
 	 */
 	char *ptr;
-	if (!me->text)
-	    UPDATE_STYLE;
 
 	/*
 	 *  Make sure we had a select start tag.
diff --git a/src/LYClean.c b/src/LYClean.c
index cca9dd34..cd8e8b7b 100644
--- a/src/LYClean.c
+++ b/src/LYClean.c
@@ -7,6 +7,7 @@
 #include "LYGlobalDefs.h"
 #include "LYStrings.h"
 #include "LYTraversal.h"
+#include "UCAuto.h"
 
 #include "LYexit.h"
 #include "LYLeaks.h"
diff --git a/src/LYCurses.c b/src/LYCurses.c
index 41f75a53..b726bc94 100644
--- a/src/LYCurses.c
+++ b/src/LYCurses.c
@@ -499,6 +499,8 @@ PRIVATE void LYsetWAttr ARGS1(WINDOW *, win)
 	if (no_color_video < 0) {
 		no_color_video = tigetnum("ncv");
 	}
+	if (no_color_video < 0)
+		no_color_video = 0;
 #endif /* __DJGPP__ */
 
 	if (Current_Attr & A_BOLD)
@@ -515,12 +517,10 @@ PRIVATE void LYsetWAttr ARGS1(WINDOW *, win)
 	 */
 	if ((Current_Attr & A_BOLD) && !(no_color_video & 33)) {
 		attr |= A_BOLD;
-		offs = 17;
 	}
 
-	if ((Current_Attr & A_UNDERLINE) && !(no_color_video & 2)) {
+	if ((Current_Attr == A_UNDERLINE) && !(no_color_video & 2)) {
 		attr |= A_UNDERLINE;
-		offs = 17;
 	}
 
 	attr |= COLOR_PAIR(code+offs);
@@ -590,16 +590,17 @@ PUBLIC void lynx_standout ARGS1(int, flag)
 PRIVATE void lynx_init_colors NOARGS
 {
     if (lynx_has_color) {
-	int n, m;
+	size_t n, m;
 
 	lynx_color_cfg[0].fg = default_fg;
 	lynx_color_cfg[0].bg = default_bg;
 
 	for (n = 0; n < sizeof(lynx_color_cfg)/sizeof(lynx_color_cfg[0]); n++) {
 	    for (m = 0; m <= 16; m += 8) {
-		init_pair(n+m+1,
-			lynx_color_pairs[n+m+1].fg,
-			lynx_color_pairs[n+m+1].bg);
+		int pair = n + m + 1;
+		init_pair(pair,
+			lynx_color_pairs[pair].fg,
+			lynx_color_pairs[pair].bg);
 	    }
 	    if (n == 0 && LYShowColor >= SHOW_COLOR_ON)
 		bkgd(COLOR_PAIR(9) | ' ');
@@ -833,7 +834,7 @@ PUBLIC void start_curses NOARGS
 
     noecho();
 
-#if defined(HAVE_KEYPAD)
+#if HAVE_KEYPAD
     keypad(stdscr,TRUE);
 #endif /* HAVE_KEYPAD */
 
diff --git a/src/LYCurses.h b/src/LYCurses.h
index 7247b7e5..3f685cbc 100644
--- a/src/LYCurses.h
+++ b/src/LYCurses.h
@@ -1,6 +1,8 @@
 #ifndef LYCURSES_H
 #define LYCURSES_H
 
+#include "userdefs.h"
+
 /*
  * The simple color scheme maps the 8 combinations of bold/underline/reverse
  * to the standard 8 ANSI colors (with some variations based on context).
@@ -109,6 +111,10 @@ extern void LYbox PARAMS((WINDOW *win, BOOLEAN formfield));
 #define BOXHORI '*'	/* character for popup window horizontal borders */
 #endif
 
+#ifndef KEY_DOWN
+#undef HAVE_KEYPAD	/* avoid confusion with bogus 'keypad()' */
+#endif
+
 extern int LYlines;  /* replaces LINES */
 extern int LYcols;   /* replaces COLS */
 
diff --git a/src/LYForms.c b/src/LYForms.c
index 67a11869..0387ad1d 100644
--- a/src/LYForms.c
+++ b/src/LYForms.c
@@ -571,7 +571,7 @@ PRIVATE int popup_options ARGS7(
     int num_options = 0, top, bottom, length = -1;
     OptionType * opt_ptr = list;
     int window_offset = 0;
-    int display_lines;
+    int lines_to_show;
     int npages;
 #ifdef VMS
     extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */
@@ -602,12 +602,12 @@ PRIVATE int popup_options ARGS7(
     QueryNum = QueryTotal;
 
     /*
-     *  Set display_lines based on the user_mode global.
+     *  Set lines_to_show based on the user_mode global.
      */
     if (user_mode == NOVICE_MODE)
-	display_lines = LYlines-4;
+	lines_to_show = LYlines-4;
     else
-	display_lines = LYlines-2;
+	lines_to_show = LYlines-2;
 
     /*
      *  Counting the number of options to be displayed.
@@ -654,16 +654,16 @@ PRIVATE int popup_options ARGS7(
     /*
      *  Hmm...  If the bottom goes beyond the number of lines available,
      */
-    if (bottom > display_lines) {
+    if (bottom > lines_to_show) {
 	/*
 	 *  Position the window at the top if we have more
 	 *  options than will fit in the window.
 	 */
-	if (i_length+3 > display_lines) {
+	if (i_length+3 > lines_to_show) {
 	    top = 0;
 	    bottom = top + i_length+3;
-	    if (bottom > display_lines)
-		bottom = display_lines + 1;
+	    if (bottom > lines_to_show)
+		bottom = lines_to_show + 1;
 	} else {
 	    /*
 	     *  Try to position the window so that the selected option will
@@ -671,8 +671,8 @@ PRIVATE int popup_options ARGS7(
 	     *  It could end up too high, at this point, but we'll move it
 	     *    down latter, if that has happened.
 	     */
-	    top = (display_lines + 1) - (i_length + 3);
-	    bottom = (display_lines + 1);
+	    top = (lines_to_show + 1) - (i_length + 3);
+	    bottom = (lines_to_show + 1);
 	}
     }
 
@@ -686,8 +686,8 @@ PRIVATE int popup_options ARGS7(
      */
     if (bottom < ly + 2) {
 	bottom = ly + 2;
-	if (bottom > display_lines + 1)
-	    bottom = display_lines + 1;
+	if (bottom > lines_to_show + 1)
+	    bottom = lines_to_show + 1;
 	top = bottom - length - 2;
     }
 
diff --git a/src/LYGetFile.c b/src/LYGetFile.c
index 863c905a..dc1b0d73 100644
--- a/src/LYGetFile.c
+++ b/src/LYGetFile.c
@@ -48,8 +48,6 @@
 
 PRIVATE int fix_http_urls PARAMS((document *doc));
 extern char * WWW_Download_File;
-extern char LYCancelDownload;
-extern BOOL redirect_post_content;
 #ifdef VMS
 extern BOOLEAN LYDidRename;
 #endif /* VMS */
diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h
index 0a2f1526..1b6508f6 100644
--- a/src/LYGlobalDefs.h
+++ b/src/LYGlobalDefs.h
@@ -219,6 +219,7 @@ extern BOOLEAN no_newspost;
 extern BOOLEAN no_mail;
 extern BOOLEAN no_dotfiles;
 extern BOOLEAN no_useragent;
+extern BOOLEAN no_statusline;
 extern BOOLEAN no_filereferer;
 extern BOOLEAN local_host_only;
 extern BOOLEAN override_no_download;
@@ -242,6 +243,7 @@ extern BOOLEAN nolist;
 extern BOOLEAN historical_comments;
 extern BOOLEAN minimal_comments;
 extern BOOLEAN soft_dquotes;
+extern BOOLEAN LYCancelDownload;
 extern BOOLEAN LYValidate;
 extern BOOLEAN LYPermitURL;
 extern BOOLEAN enable_scrollback; /* Clear screen before displaying new page */
diff --git a/src/LYLocal.c b/src/LYLocal.c
index 177af674..4799c4d8 100644
--- a/src/LYLocal.c
+++ b/src/LYLocal.c
@@ -76,7 +76,7 @@
 #define FREE(x) if (x) {free(x); x = NULL;}
 
 
-PUBLIC int LYExecv PARAMS((
+PRIVATE int LYExecv PARAMS((
 	char *		path,
 	char **		argv,
 	char *		msg));
@@ -2209,7 +2209,7 @@ PRIVATE char * render_item ARGS6(
 /*
  *  Execute DIRED command.
  */
-PUBLIC int LYExecv ARGS3(
+PRIVATE int LYExecv ARGS3(
 	char *,		path,
 	char **,	argv,
 	char *,		msg)
diff --git a/src/LYLocal.h b/src/LYLocal.h
index 8c1b5730..47fff5c0 100644
--- a/src/LYLocal.h
+++ b/src/LYLocal.h
@@ -37,6 +37,10 @@
 /* Special return code for LYMainLoop.c */
 #define PERMIT_FORM_RESULT (-99)
 
+extern char LYPermitFileURL[];
+extern char LYDiredFileURL[];
+extern char LYUploadFileURL[];
+
 extern BOOLEAN local_create PARAMS((document *doc));
 extern BOOLEAN local_modify PARAMS((document *doc, char **newpath));
 extern BOOLEAN local_remove PARAMS((document *doc));
diff --git a/src/LYMain.c b/src/LYMain.c
index 79046eee..91ef32c6 100644
--- a/src/LYMain.c
+++ b/src/LYMain.c
@@ -22,9 +22,7 @@
 #include "LYClean.h"
 #include "LYCharSets.h"
 #include "LYCharUtils.h"
-#ifdef EXP_CHARTRANS
 #include "UCMap.h"
-#endif /* EXP_CHARTRANS */
 #include "LYReadCFG.h"
 #include "LYrcFile.h"
 #include "LYKeymap.h"
@@ -154,7 +152,7 @@ PUBLIC lynx_html_item_type *downloaders = NULL;
 			    /* linked list of upload options */
 #ifdef USE_EXTERNALS
 PUBLIC lynx_html_item_type *externals = NULL;
-                            /* linked list of external options */
+			    /* linked list of external options */
 #endif
 PUBLIC lynx_html_item_type *uploaders = NULL;
 PUBLIC int port_syntax = 1;
@@ -316,11 +314,9 @@ PUBLIC BOOLEAN scan_for_buried_news_references = TRUE;
 PUBLIC BOOLEAN LYRawMode;
 PUBLIC BOOLEAN LYDefaultRawMode;
 PUBLIC BOOLEAN LYUseDefaultRawMode = TRUE;
-#ifdef EXP_CHARTRANS
 PUBLIC char *UCAssume_MIMEcharset = NULL;
 PUBLIC char *UCAssume_localMIMEcharset = NULL;
 PUBLIC char *UCAssume_unrecMIMEcharset = NULL;
-#endif /* EXP_CHARTRANS */
 PUBLIC int LYlines = 24;
 PUBLIC int LYcols = 80;
 PUBLIC int dump_output_width = 0;
@@ -462,8 +458,8 @@ PRIVATE void free_lynx_globals NOARGS
     FREE(bookmark_page);
     FREE(BookmarkPage);
     for (i = 0; i <= MBM_V_MAXFILES; i++) {
-        FREE(MBM_A_subbookmark[i]);
-        FREE(MBM_A_subdescript[i]);
+	FREE(MBM_A_subbookmark[i]);
+	FREE(MBM_A_subdescript[i]);
     }
     FREE(editor);
     FREE(authentication_info[0]);
@@ -484,14 +480,13 @@ PRIVATE void free_lynx_globals NOARGS
     FREE(UCAssume_unrecMIMEcharset);
     FREE(UCAssume_localMIMEcharset);
     for (i = 0; i < nlinks; i++) {
-        FREE(links[i].lname);
+	FREE(links[i].lname);
     }
     nlinks = 0;
 
     return;
 }
 
-
 /*
  *  This function frees the LYStdinArgs list. - FM
  */
@@ -501,7 +496,7 @@ PRIVATE void LYStdinArgs_free NOARGS
     HTList *cur = LYStdinArgs;
 
     if (cur == NULL)
-        return;
+	return;
 
     while (NULL != (argument = (char *)HTList_nextObject(cur))) {
 	FREE(argument);
@@ -551,12 +546,12 @@ PUBLIC int main ARGS2(
 #endif
 
 #if defined(_WINDOWS) || defined(DJGPP)
-        /*
-        * To prevent corrupting binary data with _WINDOWS and DJGPP
-        * we open files and stdout in BINARY mode by default.
-        * Where necessary we should open and (close!) TEXT mode.
-        */
-        _fmode = O_BINARY;
+	/*
+	 * To prevent corrupting binary data with _WINDOWS and DJGPP
+	 * we open files and stdout in BINARY mode by default.
+	 * Where necessary we should open and (close!) TEXT mode.
+	 */
+	_fmode = O_BINARY;
 	setmode( fileno( stdout ), O_BINARY );
 #endif
 
@@ -606,11 +601,11 @@ PUBLIC int main ARGS2(
      */
 #ifdef ULTRIX
     /*
-     *  Need this for ultrix.
+     *  Need this for Ultrix.
      */
     terminal = getenv("TERM");
     if ((terminal == NULL) || !strncasecomp(terminal, "xterm", 5))
-        terminal = "vt100";
+	terminal = "vt100";
 #endif /* ULTRIX */
     /*
      *  Zero the links and history struct arrays.
@@ -635,9 +630,9 @@ PUBLIC int main ARGS2(
     StrAllocCopy(startfile, STARTFILE);
     LYTrimHead(startfile);
     if (!strncasecomp(startfile, "lynxexec:", 9) ||
-        !strncasecomp(startfile, "lynxprog:", 9)) {
+	!strncasecomp(startfile, "lynxprog:", 9)) {
 	/*
-	 *  The original implementions of these schemes expected
+	 *  The original implementations of these schemes expected
 	 *  white space without hex escaping, and did not check
 	 *  for hex escaping, so we'll continue to support that,
 	 *  until that code is redone in conformance with SGML
@@ -659,7 +654,7 @@ PUBLIC int main ARGS2(
     StrAllocCat(LYUserAgent, "/");
     StrAllocCat(LYUserAgent, LYNX_VERSION);
     if (HTLibraryVersion) {
-        StrAllocCat(LYUserAgent, " libwww-FM/");
+	StrAllocCat(LYUserAgent, " libwww-FM/");
 	StrAllocCat(LYUserAgent, HTLibraryVersion);
     }
     StrAllocCopy(LYUserAgentDefault, LYUserAgent);
@@ -671,16 +666,16 @@ PUBLIC int main ARGS2(
     putenv(lynx_version_putenv_command);
 #endif /* VMS */
     if ((cp = getenv("LYNX_TEMP_SPACE")) != NULL)
-        StrAllocCopy(lynx_temp_space, cp);
+	StrAllocCopy(lynx_temp_space, cp);
     else
 #ifdef DOSPATH
        if ((cp = getenv("TEMP")) != NULL)
-                StrAllocCopy(lynx_temp_space, cp);
+		StrAllocCopy(lynx_temp_space, cp);
        else if ((cp = getenv("TMP")) != NULL)
-                StrAllocCopy(lynx_temp_space, cp);
+		StrAllocCopy(lynx_temp_space, cp);
        else
 #endif
-        StrAllocCopy(lynx_temp_space, TEMP_SPACE);
+	StrAllocCopy(lynx_temp_space, TEMP_SPACE);
     if ((cp = strchr(lynx_temp_space, '~'))) {
 	*(cp++) = '\0';
 	StrAllocCopy(temp, lynx_temp_space);
@@ -715,14 +710,14 @@ PUBLIC int main ARGS2(
     }
 #ifdef VMS
     for (i = 0; lynx_temp_space[i]; i++)
-        lynx_temp_space[i] = TOLOWER(lynx_temp_space[i]);
+	lynx_temp_space[i] = TOLOWER(lynx_temp_space[i]);
     if (strchr(lynx_temp_space, '/') != NULL) {
 	if ((len = strlen(lynx_temp_space)) == 1) {
 	    StrAllocCopy(lynx_temp_space, "sys$scratch:");
 	} else {
 	    if (lynx_temp_space[len-1] != '/')
 		StrAllocCat(lynx_temp_space, "/");
-            StrAllocCopy(temp, HTVMS_name("", lynx_temp_space));
+	    StrAllocCopy(temp, HTVMS_name("", lynx_temp_space));
 	    StrAllocCopy(lynx_temp_space, temp);
 	    FREE(temp);
 	}
@@ -770,7 +765,7 @@ PUBLIC int main ARGS2(
 	}
     }
     if (!LYchar_set_names[i])
-        current_char_set = i = 0;
+	current_char_set = i = 0;
     HTMLSetRawModeDefault(i);
 
     /*
@@ -812,11 +807,11 @@ PUBLIC int main ARGS2(
 #endif /* SOCKS */
 	} else if (strncmp(argv[i], "-cfg", 4) == 0) {
 	    if ((cp=strchr(argv[i],'=')) != NULL)
-                StrAllocCopy(lynx_cfg_file, cp+1);
-            else {
-                StrAllocCopy(lynx_cfg_file, argv[i+1]);
-                i++;
-            }
+		StrAllocCopy(lynx_cfg_file, cp+1);
+	    else {
+		StrAllocCopy(lynx_cfg_file, argv[i+1]);
+		i++;
+	    }
 
 #if defined(USE_HASH)
 	} else if (strncmp(argv[i], "-lss", 4) == 0) {
@@ -849,7 +844,7 @@ PUBLIC int main ARGS2(
      *  on the line (also terminated by RETURN). - FM
      */
     for (i = 1; i < argc; i++) {
-        if (strcmp(argv[i], "-") == 0) {
+	if (strcmp(argv[i], "-") == 0) {
 	    LYGetStdinArgs = TRUE;
 	}
     }
@@ -1006,7 +1001,7 @@ PUBLIC int main ARGS2(
 
 #ifdef SOCKS
     if (socks_flag)
-        SOCKSinit(argv[0]);
+	SOCKSinit(argv[0]);
 #endif /* SOCKS */
 
     /*
@@ -1025,15 +1020,15 @@ PUBLIC int main ARGS2(
      *  a TRACE log NOW. - FM
      */
     if (!LYValidate && !anon_restrictions_set &&
-        strlen((char *)ANONYMOUS_USER) > 0 &&
+	strlen((char *)ANONYMOUS_USER) > 0 &&
 #if defined (VMS) || defined (NOUSERS)
 	!strcasecomp(((char *)getenv("USER")==NULL ? " " : getenv("USER")),
 		     ANONYMOUS_USER)) {
 #else
 #if HAVE_CUSERID
-        STREQ((char *)cuserid((char *) NULL), ANONYMOUS_USER)) {
+	STREQ((char *)cuserid((char *) NULL), ANONYMOUS_USER)) {
 #else
-        STREQ(((char *)getlogin()==NULL ? " " : getlogin()), ANONYMOUS_USER)) {
+	STREQ(((char *)getlogin()==NULL ? " " : getlogin()), ANONYMOUS_USER)) {
 #endif /* HAVE_CUSERID */
 #endif /* VMS */
 	parse_restrictions("default");
@@ -1052,7 +1047,7 @@ PUBLIC int main ARGS2(
 #endif /* VMS */
     LYOrigStderr = *stderr;
     if (TRACE && LYUseTraceLog) {
-        /*
+	/*
 	 *  If we can't open it for writing, give up.
 	 *  Otherwise, on VMS close it, delete it and any
 	 *  versions from previous sessions so they don't
@@ -1094,7 +1089,7 @@ PUBLIC int main ARGS2(
 #ifdef JUMPFILE
     StrAllocCopy(jumpfile, JUMPFILE);
     {
-        temp = (char *)malloc(strlen(jumpfile) + 10);
+	temp = (char *)malloc(strlen(jumpfile) + 10);
 	if (!temp) {
 	    outofmem(__FILE__, "main");
 	} else {
@@ -1113,7 +1108,7 @@ PUBLIC int main ARGS2(
      *  the command line, see if it's in the environment.
      */
     if (!lynx_cfg_file) {
-        if (((cp=getenv("LYNX_CFG")) != NULL) ||
+	if (((cp=getenv("LYNX_CFG")) != NULL) ||
 	    (cp=getenv("lynx_cfg")) != NULL)
 	    StrAllocCopy(lynx_cfg_file, cp);
     }
@@ -1148,22 +1143,20 @@ PUBLIC int main ARGS2(
      *  inform the user and exit.
      */
     if ((fp = fopen(lynx_cfg_file, "r")) == NULL) {
-        fprintf(stderr, "\nConfiguration file %s is not available.\n\n",
+	fprintf(stderr, "\nConfiguration file %s is not available.\n\n",
 			lynx_cfg_file);
 	exit(-1);
     }
     fclose(fp);
 
-#ifdef EXP_CHARTRANS
     /*
      * Make sure we have the character sets declared.
      *  This will initialize the CHARTRANS handling. - KW
      */
     if (!LYCharSetsDeclared()) {
-        fprintf(stderr, "\nLynx character sets not declared.\n\n");
+	fprintf(stderr, "\nLynx character sets not declared.\n\n");
 	exit(-1);
     }
-#endif /* EXP_CHARTRANS */
 
 #if defined(USE_HASH)
     /*
@@ -1171,9 +1164,9 @@ PUBLIC int main ARGS2(
      *  the command line, see if it's in the environment.
      */
     if (!lynx_lss_file) {
-        if (((cp=getenv("LYNX_LSS")) != NULL) ||
-            (cp=getenv("lynx_lss")) != NULL)
-            StrAllocCopy(lynx_lss_file, cp);
+	if (((cp=getenv("LYNX_LSS")) != NULL) ||
+	    (cp=getenv("lynx_lss")) != NULL)
+	    StrAllocCopy(lynx_lss_file, cp);
     }
 
     /*
@@ -1181,37 +1174,37 @@ PUBLIC int main ARGS2(
      *  use the userdefs.h definition.
      */
     if (!lynx_lss_file)
-        StrAllocCopy(lynx_lss_file, LYNX_LSS_FILE);
+	StrAllocCopy(lynx_lss_file, LYNX_LSS_FILE);
 
     /*
      *  Convert a '~' in the lynx-style file path to $HOME.
      */
     if ((cp = strchr(lynx_lss_file, '~'))) {
-        *(cp++) = '\0';
-        StrAllocCopy(temp, lynx_lss_file);
-        if ((len=strlen(temp)) > 0 && temp[len-1] == '/')
-            temp[len-1] = '\0';
+	*(cp++) = '\0';
+	StrAllocCopy(temp, lynx_lss_file);
+	if ((len=strlen(temp)) > 0 && temp[len-1] == '/')
+	    temp[len-1] = '\0';
 #ifdef VMS
-        StrAllocCat(temp, HTVMS_wwwName((char *)Home_Dir()));
+	StrAllocCat(temp, HTVMS_wwwName((char *)Home_Dir()));
 #else
-        StrAllocCat(temp, Home_Dir());
+	StrAllocCat(temp, Home_Dir());
 #endif /* VMS */
-        StrAllocCat(temp, cp);
-        StrAllocCopy(lynx_lss_file, temp);
-        FREE(temp);
+	StrAllocCat(temp, cp);
+	StrAllocCopy(lynx_lss_file, temp);
+	FREE(temp);
     }
     /*
      *  If the lynx-style file is not available,
      *  inform the user and exit.
      */
     if ((fp = fopen(lynx_lss_file, "r")) == NULL) {
-        fprintf(stderr, "\nLynxile file %s is not available.\n\n",
-                        lynx_lss_file);
+	fprintf(stderr, "\nLynxile file %s is not available.\n\n",
+			lynx_lss_file);
     }
     else
     {
-        fclose(fp);
-        style_readFromFile(lynx_lss_file);
+	fclose(fp);
+	style_readFromFile(lynx_lss_file);
     }
 #endif
 
@@ -1219,7 +1212,7 @@ PUBLIC int main ARGS2(
      *  Make sure we have the edit map declared. - FM
      */
     if (!LYEditmapDeclared()) {
-        fprintf(stderr, "\nLynx edit map not declared.\n\n");
+	fprintf(stderr, "\nLynx edit map not declared.\n\n");
 	exit(-1);
     }
 
@@ -1264,16 +1257,16 @@ PUBLIC int main ARGS2(
      *  one will be overridden. - FM
      */
     if ((cp=getenv("LYNX_SAVE_SPACE")) != NULL)
-        StrAllocCopy(lynx_save_space, cp);
+	StrAllocCopy(lynx_save_space, cp);
 
     /*
      *  We have a save space path, make sure it's valid. - FM
      */
     if (lynx_save_space && *lynx_save_space == '\0') {
-        FREE(lynx_save_space);
+	FREE(lynx_save_space);
     }
     if (lynx_save_space) {
-        if ((cp = strchr(lynx_save_space, '~')) != NULL) {
+	if ((cp = strchr(lynx_save_space, '~')) != NULL) {
 	    *(cp++) = '\0';
 	    StrAllocCopy(temp, lynx_save_space);
 	    if (((len = strlen(temp)) > 0) && temp[len-1] == '/')
@@ -1290,21 +1283,21 @@ PUBLIC int main ARGS2(
 	    StrAllocCat(temp, cp);
 	    StrAllocCopy(lynx_save_space, temp);
 	    FREE(temp);
-        }
+	}
 #ifdef VMS
-        for (i = 0; lynx_save_space[i]; i++)
-            lynx_save_space[i] = TOLOWER(lynx_save_space[i]);
-        if (strchr(lynx_save_space, '/') != NULL) {
+	for (i = 0; lynx_save_space[i]; i++)
+	    lynx_save_space[i] = TOLOWER(lynx_save_space[i]);
+	if (strchr(lynx_save_space, '/') != NULL) {
 	    if ((len = strlen(lynx_save_space)) == 1) {
 		StrAllocCopy(lynx_save_space, "sys$login:");
 	    } else {
 		if (lynx_save_space[len-1] != '/')
 		    StrAllocCat(lynx_save_space, "/");
-                StrAllocCopy(temp, HTVMS_name("", lynx_save_space));
+		StrAllocCopy(temp, HTVMS_name("", lynx_save_space));
 		StrAllocCopy(lynx_save_space, temp);
 		FREE(temp);
 	    }
-        }
+	}
 	if (strchr(lynx_save_space, ':') == NULL &&
 	    strchr(lynx_save_space, ']') == NULL) {
 	    StrAllocCat(lynx_save_space, ":");
@@ -1338,7 +1331,7 @@ PUBLIC int main ARGS2(
 	if (!strncasecomp(startfile, "lynxexec:", 9) ||
 	    !strncasecomp(startfile, "lynxprog:", 9)) {
 	    /*
-	     *  The original implementions of these schemes expected
+	     *  The original implementations of these schemes expected
 	     *  white space without hex escaping, and did not check
 	     *  for hex escaping, so we'll continue to support that,
 	     *  until that code is redone in conformance with SGML
@@ -1370,12 +1363,12 @@ PUBLIC int main ARGS2(
      *  loaded into LYStdinArgs. - FM
      */
     if (LYStdinArgs != NULL) {
-	char *argv[2];
+	char *my_args[2];
 	HTList *cur = LYStdinArgs;
 
-	argv[1] = NULL;
-	while (NULL != (argv[0] = (char *)HTList_nextObject(cur))) {
-	    parse_arg(argv, NULL, -1);
+	my_args[1] = NULL;
+	while (NULL != (my_args[0] = (char *)HTList_nextObject(cur))) {
+	    parse_arg(my_args, NULL, -1);
 	}
 	LYStdinArgs_free();
     }
@@ -1415,28 +1408,28 @@ PUBLIC int main ARGS2(
 #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
 #ifdef NEVER_ALLOW_REMOTE_EXEC
     if (local_exec) {
-        local_exec = FALSE;
+	local_exec = FALSE;
 	local_exec_on_local_files = TRUE;
     }
 #endif /* NEVER_ALLOW_REMOTE_EXEC */
 #endif /* EXEC_LINKS || EXEC_SCRIPTS */
 
     if (emacs_keys)
-        set_emacs_keys();
+	set_emacs_keys();
 
     if (vi_keys)
-        set_vi_keys();
+	set_vi_keys();
 
     if (number_links && keypad_mode == NUMBERS_AS_ARROWS)
 	keypad_mode = LINKS_ARE_NUMBERED;
     if (keypad_mode == NUMBERS_AS_ARROWS)
-        set_numbers_as_arrows();
+	set_numbers_as_arrows();
 
     /*
      *  Check the -popup command line toggle. - FM
      */
     if (LYUseDefSelPop == FALSE) {
-        if (LYSelectPopups == TRUE)
+	if (LYSelectPopups == TRUE)
 	    LYSelectPopups = FALSE;
 	else
 	    LYSelectPopups = TRUE;
@@ -1466,9 +1459,9 @@ PUBLIC int main ARGS2(
      *  or via command line restrictions. - FM
      */
     if (no_multibook)
-        LYMBMBlocked = TRUE;
+	LYMBMBlocked = TRUE;
     if (dump_output_immediately || LYMBMBlocked || no_multibook) {
-        LYMultiBookmarks = FALSE;
+	LYMultiBookmarks = FALSE;
 	LYMBMBlocked = TRUE;
 	no_multibook = TRUE;
     }
@@ -1480,7 +1473,7 @@ PUBLIC int main ARGS2(
     /* trap interrupts */
     if (!dump_output_immediately)
 #ifndef NOSIGHUP
-        (void) signal(SIGHUP, cleanup_sig);
+	(void) signal(SIGHUP, cleanup_sig);
 #endif /* NOSIGHUP */
     (void) signal(SIGTERM, cleanup_sig);
 #ifdef SIGWINCH
@@ -1488,15 +1481,15 @@ PUBLIC int main ARGS2(
 #endif /* SIGWINCH */
 #ifndef VMS
     if (!TRACE && !dump_output_immediately && !stack_dump) {
-        (void) signal(SIGINT, cleanup_sig);
+	(void) signal(SIGINT, cleanup_sig);
 #ifndef __linux__
 #ifndef DOSPATH
-        (void) signal(SIGBUS, FatalProblem);
+	(void) signal(SIGBUS, FatalProblem);
 #endif /* DOSPATH */
 #endif /* !__linux__ */
-        (void) signal(SIGSEGV, FatalProblem);
-        (void) signal(SIGILL, FatalProblem);
-        /*
+	(void) signal(SIGSEGV, FatalProblem);
+	(void) signal(SIGILL, FatalProblem);
+	/*
 	 *  Since we're doing lots of TCP, just ignore SIGPIPE altogether.
 	 *
 	 *  HTTCP.c should deal with a broken pipe for servers.
@@ -1506,7 +1499,7 @@ PUBLIC int main ARGS2(
 	 *   more.
 	 */
 #ifndef DOSPATH
-        (void) signal(SIGPIPE, SIG_IGN);
+	(void) signal(SIGPIPE, SIG_IGN);
 #endif /* DOSPATH */
     }
 #endif /* !VMS */
@@ -1531,7 +1524,7 @@ PUBLIC int main ARGS2(
      *  not an absolute URL, make it one. - FM
      */
     if (homepage) {
-        LYFillLocalFileURL((char **)&homepage, "file://localhost");
+	LYFillLocalFileURL((char **)&homepage, "file://localhost");
 	LYEnsureAbsoluteURL((char **)&homepage, "HOMEPAGE");
     }
 
@@ -1543,7 +1536,7 @@ PUBLIC int main ARGS2(
     if (!(homepage && *homepage)) {
 	StrAllocCopy(homepage, startfile);
     } else {
-        StrAllocCopy(LynxHome, homepage);
+	StrAllocCopy(LynxHome, homepage);
     }
 
     /*
@@ -1551,14 +1544,14 @@ PUBLIC int main ARGS2(
      */
     if (inlocaldomain()) {
 #if !defined(HAVE_UTMP) || defined(VMS) /* not selective */
-        telnet_ok = !no_inside_telnet && !no_outside_telnet && telnet_ok;
+	telnet_ok = !no_inside_telnet && !no_outside_telnet && telnet_ok;
 	news_ok = !no_inside_news && !no_outside_news && news_ok;
 	ftp_ok = !no_inside_ftp && !no_outside_ftp && ftp_ok;
 	rlogin_ok = !no_inside_rlogin && !no_outside_rlogin && rlogin_ok;
 #else
 	if (TRACE)
 	   fprintf(stderr,"LYMain.c: User in Local domain\n");
-        telnet_ok = !no_inside_telnet && telnet_ok;
+	telnet_ok = !no_inside_telnet && telnet_ok;
 	news_ok = !no_inside_news && news_ok;
 	ftp_ok = !no_inside_ftp && ftp_ok;
 	rlogin_ok = !no_inside_rlogin && rlogin_ok;
@@ -1566,7 +1559,7 @@ PUBLIC int main ARGS2(
     } else {
 	if (TRACE)
 	   fprintf(stderr,"LYMain.c: User in REMOTE domain\n");
-        telnet_ok = !no_outside_telnet && telnet_ok;
+	telnet_ok = !no_outside_telnet && telnet_ok;
 	news_ok = !no_outside_news && news_ok;
 	ftp_ok = !no_outside_ftp && ftp_ok;
 	rlogin_ok = !no_outside_rlogin && rlogin_ok;
@@ -1584,15 +1577,15 @@ PUBLIC int main ARGS2(
      *  Check for a valid HEAD request. - FM
      */
     if (HEAD_request && LYCanDoHEAD(startfile) != TRUE) {
-        fprintf(stderr,
+	fprintf(stderr,
  "The '-head' switch is for http HEAD requests and cannot be used for\n'%s'.\n",
 		startfile);
 #ifndef NOSIGHUP
-        (void) signal(SIGHUP, SIG_DFL);
+	(void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
-        (void) signal(SIGTERM, SIG_DFL);
+	(void) signal(SIGTERM, SIG_DFL);
 #ifndef VMS
-        (void) signal(SIGINT, SIG_DFL);
+	(void) signal(SIGINT, SIG_DFL);
 #endif /* !VMS */
 #ifdef SIGTSTP
 	if (no_suspend)
@@ -1605,15 +1598,15 @@ PUBLIC int main ARGS2(
      *  Check for a valid MIME headers request. - FM
      */
     if (keep_mime_headers && LYCanDoHEAD(startfile) != TRUE) {
-        fprintf(stderr,
+	fprintf(stderr,
  "The '-mime_header' switch is for http URLs and cannot be used for\n'%s'.\n",
 		startfile);
 #ifndef NOSIGHUP
-        (void) signal(SIGHUP, SIG_DFL);
+	(void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
-        (void) signal(SIGTERM, SIG_DFL);
+	(void) signal(SIGTERM, SIG_DFL);
 #ifndef VMS
-        (void) signal(SIGINT, SIG_DFL);
+	(void) signal(SIGINT, SIG_DFL);
 #endif /* !VMS */
 #ifdef SIGTSTP
 	if (no_suspend)
@@ -1626,15 +1619,15 @@ PUBLIC int main ARGS2(
      *  Check for a valid traversal request. - FM
      */
     if (traversal && strncmp(startfile, "http", 4)) {
-        fprintf(stderr,
+	fprintf(stderr,
  "The '-traversal' switch is for http URLs and cannot be used for\n'%s'.\n",
 		startfile);
 #ifndef NOSIGHUP
-        (void) signal(SIGHUP, SIG_DFL);
+	(void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
-        (void) signal(SIGTERM, SIG_DFL);
+	(void) signal(SIGTERM, SIG_DFL);
 #ifndef VMS
-        (void) signal(SIGINT, SIG_DFL);
+	(void) signal(SIGINT, SIG_DFL);
 #endif /* !VMS */
 #ifdef SIGTSTP
 	if (no_suspend)
@@ -1648,7 +1641,7 @@ PUBLIC int main ARGS2(
      */
     StrAllocCopy(helpfilepath, helpfile);
     if ((cp=strrchr(helpfilepath, '/')) != NULL)
-        *cp = '\0';
+	*cp = '\0';
     /*
      *  Remove code to merge the historical about_lynx
      *  directory into lynx_help. - HN
@@ -1661,27 +1654,27 @@ PUBLIC int main ARGS2(
      *  are all allocated and synchronized. - FM
      */
     if (!bookmark_page || *bookmark_page == '\0') {
-        StrAllocCopy(bookmark_page, "lynx_bookmarks");
-        StrAllocCat(bookmark_page, HTML_SUFFIX);
-        StrAllocCopy(BookmarkPage, bookmark_page);
-        StrAllocCopy(MBM_A_subbookmark[0], bookmark_page);
-        StrAllocCopy(MBM_A_subdescript[0], "Default");
+	StrAllocCopy(bookmark_page, "lynx_bookmarks");
+	StrAllocCat(bookmark_page, HTML_SUFFIX);
+	StrAllocCopy(BookmarkPage, bookmark_page);
+	StrAllocCopy(MBM_A_subbookmark[0], bookmark_page);
+	StrAllocCopy(MBM_A_subdescript[0], "Default");
     }
     if (!BookmarkPage || *BookmarkPage == '\0') {
-        StrAllocCopy(BookmarkPage, bookmark_page);
-        StrAllocCopy(MBM_A_subbookmark[0], bookmark_page);
-        StrAllocCopy(MBM_A_subdescript[0], MULTIBOOKMARKS_DEFAULT);
+	StrAllocCopy(BookmarkPage, bookmark_page);
+	StrAllocCopy(MBM_A_subbookmark[0], bookmark_page);
+	StrAllocCopy(MBM_A_subdescript[0], MULTIBOOKMARKS_DEFAULT);
     }
 
     /*
      *  Here's where we do all the work.
      */
     if (dump_output_immediately) {
-        /*
+	/*
 	 *  Finish setting up and start a
 	 *  NON-INTERACTIVE session. - FM
 	 */
-        if (crawl && !number_links) {
+	if (crawl && !number_links) {
 	    keypad_mode = NUMBERS_AS_ARROWS;
 	} else if (!nolist) {
 	    if (keypad_mode == NUMBERS_AS_ARROWS) {
@@ -1700,18 +1693,18 @@ PUBLIC int main ARGS2(
 	     keypad_mode == LINKS_AND_FORM_FIELDS_ARE_NUMBERED))
 	    printlist(stdout,FALSE);
 #ifndef NOSIGHUP
-        (void) signal(SIGHUP, SIG_DFL);
+	(void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
-        (void) signal(SIGTERM, SIG_DFL);
+	(void) signal(SIGTERM, SIG_DFL);
 #ifndef VMS
-        (void) signal(SIGINT, SIG_DFL);
+	(void) signal(SIGINT, SIG_DFL);
 #endif /* !VMS */
 #ifdef SIGTSTP
 	if (no_suspend)
 	  (void) signal(SIGTSTP,SIG_DFL);
 #endif /* SIGTSTP */
     } else {
-        /*
+	/*
 	 *  Finish setting up and start an
 	 *  INTERACTIVE session. - FM
 	 */
@@ -1765,9 +1758,9 @@ PRIVATE char * scan3D ARGS2(
     char *result;
 
     if ((result=strchr(argv[0],'=')) != NULL)
-        return result+1;
+	return result+1;
     if (argv[1] && i)
-        (*i)++; /* Let master know we've stolen an argument */
+	(*i)++; /* Let master know we've stolen an argument */
     return argv[1];
 }
 
@@ -1791,7 +1784,7 @@ PRIVATE void parse_arg ARGS3(
 	if (!strncasecomp(startfile, "lynxexec:", 9) ||
 	    !strncasecomp(startfile, "lynxprog:", 9)) {
 	    /*
-	     *  The original implementions of these schemes expected
+	     *  The original implementations of these schemes expected
 	     *  white space without hex escaping, and did not check
 	     *  for hex escaping, so we'll continue to support that,
 	     *  until that code is redone in conformance with SGML
@@ -1809,14 +1802,14 @@ PRIVATE void parse_arg ARGS3(
      *  special handling. - FM
      */
     if (strcmp(argv[0], "-") == 0) {
-        return;
+	return;
     }
 
     switch (TOLOWER(argv[0][1])) {
 
     case 'a':
     if (strncmp(argv[0], "-anonymous", 10) == 0) {
-        /*
+	/*
 	 *  Should already have been set, so we don't
 	 *  override or replace any additional
 	 *  restrictions from the command line. - FM
@@ -1825,7 +1818,6 @@ PRIVATE void parse_arg ARGS3(
 	    parse_restrictions("default");
 	    anon_restrictions_set = TRUE;
 
-#ifdef EXP_CHARTRANS
     } else if ((strncmp(argv[0], "-assume_charset", 15) == 0) ||
 	       (strncmp(argv[0], "-assume_local_charset", 21) == 0) ||
 	       (strncmp(argv[0], "-assume_unrec_charset", 21) == 0)) {
@@ -1862,11 +1854,8 @@ PRIVATE void parse_arg ARGS3(
 		UCLYhndl_for_unspec = 0;
 	}
 
-
-#endif
-
     } else if (strncmp(argv[0], "-auth", 5) == 0) {
-        /*
+	/*
 	 *  Authentication information for protected documents.
 	 */
 	char *auth_info = NULL;
@@ -1875,7 +1864,7 @@ PRIVATE void parse_arg ARGS3(
 	    StrAllocCopy(auth_info, cp);
 	    memset(cp, ' ', strlen(cp));	/* Let's not show too much */
 	}
-        if (auth_info != NULL)  {
+	if (auth_info != NULL)	{
 	    if ((cp = strchr(auth_info, ':')) != NULL) {	/* Pw */
 		*cp++ = '\0';	/* Terminate ID */
 		if (*cp) {
@@ -1891,13 +1880,13 @@ PRIVATE void parse_arg ARGS3(
 	}
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'b':
     if (strcmp(argv[0], "-base") == 0) {
-        /*
+	/*
 	 *  Treat -source equivalently to an interactive
 	 *  download with LYPrefixBaseToSource configured
 	 *  to TRUE, so that a BASE tag is prepended for
@@ -1912,27 +1901,27 @@ PRIVATE void parse_arg ARGS3(
 	}
 
     } else if (strcmp(argv[0], "-book") == 0) {
-        /*
+	/*
 	 *  Use bookmarks as startfile.
 	 */
 	bookmark_start = TRUE;
 
     } else if (strcmp(argv[0], "-buried_news") == 0) {
-        /*
+	/*
 	 *  Toggle scans for buried news references.
 	 */
-        if (scan_for_buried_news_references)
+	if (scan_for_buried_news_references)
 	    scan_for_buried_news_references = FALSE;
 	else
 	    scan_for_buried_news_references = TRUE;
 
 #ifdef USE_SLANG
     } else if (strncmp(argv[0], "-blink", 6) == 0) {
-        Lynx_Color_Flags |= SL_LYNX_USE_BLINK;
+	Lynx_Color_Flags |= SL_LYNX_USE_BLINK;
 #endif /* USE_SLANG */
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -1962,7 +1951,7 @@ PRIVATE void parse_arg ARGS3(
 
 #ifdef USE_SLANG
     } else if (strncmp(argv[0], "-color", 6) == 0) {
-        Lynx_Color_Flags |= SL_LYNX_USE_COLOR;
+	Lynx_Color_Flags |= SL_LYNX_USE_COLOR;
 	if (LYShowColor != SHOW_COLOR_ALWAYS) {
 	    LYShowColor = SHOW_COLOR_ON;
 	}
@@ -1973,21 +1962,21 @@ PRIVATE void parse_arg ARGS3(
 	LYcols = 80;
 
     } else if (strncmp(argv[0], "-cookies", 8) == 0) {
-        if (LYSetCookies)
+	if (LYSetCookies)
 	    LYSetCookies = FALSE;
 	else
 	    LYSetCookies = TRUE;
 
 #ifndef VMS
     } else if (strncmp(argv[0], "-core", 5) == 0) {
-        if (LYNoCore)
+	if (LYNoCore)
 	    LYNoCore = FALSE;
 	else
 	    LYNoCore = TRUE;
 #endif /* !VMS */
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2013,7 +2002,7 @@ PRIVATE void parse_arg ARGS3(
 	LYcols=80;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2027,13 +2016,13 @@ PRIVATE void parse_arg ARGS3(
 	emacs_keys = TRUE;
 
     } else if (strncmp(argv[0], "-enable_scrollback", 18) == 0) {
-        if (enable_scrollback)
+	if (enable_scrollback)
 	    enable_scrollback = FALSE;
 	else
 	    enable_scrollback = TRUE;
 
     } else if (strncmp(argv[0], "-error_file", 11) == 0) {
-        /*
+	/*
 	 *  Output return (success/failure) code
 	 *  of an HTTP transaction.
 	 */
@@ -2050,7 +2039,7 @@ PRIVATE void parse_arg ARGS3(
 #endif /* EXEC_LINKS || EXEC_SCRIPTS */
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2066,13 +2055,13 @@ PRIVATE void parse_arg ARGS3(
 #endif /* VMS */
 
     } else if (strncmp(argv[0], "-force_secure", 13) == 0) {
-        if (LYForceSSLCookiesSecure)
+	if (LYForceSSLCookiesSecure)
 	    LYForceSSLCookiesSecure = FALSE;
 	else
 	    LYForceSSLCookiesSecure = TRUE;
 
     } else if (strncmp(argv[0], "-from", 5) == 0) {
-        if (LYNoFromHeader)
+	if (LYNoFromHeader)
 	    LYNoFromHeader = FALSE;
 	else
 	    LYNoFromHeader = TRUE;
@@ -2081,28 +2070,28 @@ PRIVATE void parse_arg ARGS3(
 	ftp_ok = FALSE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'g':
     if (strcmp(argv[0], "-get_data") == 0) {
-        /*
+	/*
 	 *  User data for GET form.
 	 */
 	char **get_data;
 	char buf[1024];
 
-        /*
+	/*
 	 *  On Unix, conflicts with curses when interactive
-         *  so let's force a dump.  - CL
+	 *  so let's force a dump.  - CL
 	 *
 	 *  On VMS, mods have been made in LYCurses.c to deal with
 	 *  potential conflicts, so don't force the dump here. - FM
-         */
+	 */
 #ifndef VMS
 	dump_output_immediately = TRUE;
-        LYcols = 80;
+	LYcols = 80;
 #endif /* VMS */
 
 	StrAllocCopy(form_get_data, "?");   /* Prime the pump */
@@ -2124,22 +2113,22 @@ PRIVATE void parse_arg ARGS3(
 	}
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'h':
     if (strcmp(argv[0], "-help") == 0) {
-        goto Output_Help_List;
+	goto Output_Help_List;
 
     } else if (strcmp(argv[0], "-head") == 0) {
-        /*
+	/*
 	 *  Return mime headers.
 	 */
 	HEAD_request = TRUE;
 
     } else if (strncmp(argv[0], "-hiddenlinks", 7) == 0) {
-        if (nextarg) {
+	if (nextarg) {
 	    if (strncasecomp(cp, "merge", 1) == 0)
 		LYHiddenLinks = HIDDENLINKS_MERGE;
 	    else if (strncasecomp(cp, "listonly", 1) == 0)
@@ -2152,7 +2141,7 @@ PRIVATE void parse_arg ARGS3(
 	    LYHiddenLinks = HIDDENLINKS_MERGE;
 
     } else if (strncmp(argv[0], "-historical", 11) == 0) {
-        if (historical_comments)
+	if (historical_comments)
 	    historical_comments = FALSE;
 	else
 	    historical_comments = TRUE;
@@ -2164,7 +2153,7 @@ PRIVATE void parse_arg ARGS3(
 	    if (!strncasecomp(homepage, "lynxexec:", 9) ||
 		!strncasecomp(homepage, "lynxprog:", 9)) {
 		/*
-		 *  The original implementions of these schemes expected
+		 *  The original implementations of these schemes expected
 		 *  white space without hex escaping, and did not check
 		 *  for hex escaping, so we'll continue to support that,
 		 *  until that code is redone in conformance with SGML
@@ -2175,7 +2164,7 @@ PRIVATE void parse_arg ARGS3(
 	    }
 	}
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2197,13 +2186,13 @@ PRIVATE void parse_arg ARGS3(
 	    LYNoISMAPifUSEMAP = TRUE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'l':
     if (strncmp(argv[0], "-link", 5) == 0) {
-        if (nextarg)
+	if (nextarg)
 	    ccount = atoi(cp);
 
     } else if (strncmp(argv[0], "-localhost", 10) == 0) {
@@ -2216,22 +2205,22 @@ PRIVATE void parse_arg ARGS3(
 
 #if defined(USE_HASH)
     } else if (strncmp(argv[0], "-lss", 4) == 0) {
-        /*
+	/*
 	 *  Already read the alternate lynx-style file
-         *  so just check whether we need to increment i
-         */
-        if (nextarg)
-            ; /* do nothing */
+	 *  so just check whether we need to increment i
+	 */
+	if (nextarg)
+	    ; /* do nothing */
 #endif
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'm':
     if (strcmp(argv[0], "-mime_header") == 0) {
-        /*
+	/*
 	 *  Include mime headers and force source dump.
 	 */
 	keep_mime_headers = TRUE;
@@ -2241,19 +2230,19 @@ PRIVATE void parse_arg ARGS3(
 	LYcols=999;
 
     } else if (strncmp(argv[0], "-minimal", 11) == 0) {
-        if (minimal_comments)
+	if (minimal_comments)
 	    minimal_comments = FALSE;
 	else
 	    minimal_comments = TRUE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'n':
     if (strncmp(argv[0], "-newschunksize", 14) == 0) {
-        if (nextarg) {
+	if (nextarg) {
 	    HTNewsChunkSize = atoi(cp);
 	    /*
 	     * If the new HTNewsChunkSize exceeds the maximum,
@@ -2265,7 +2254,7 @@ PRIVATE void parse_arg ARGS3(
 	}
 
     } else if (strncmp(argv[0], "-newsmaxchunk", 13) == 0) {
-        if (nextarg) {
+	if (nextarg) {
 	    HTNewsMaxChunk = atoi(cp);
 	    /*
 	     * If HTNewsChunkSize exceeds the new maximum,
@@ -2304,7 +2293,7 @@ PRIVATE void parse_arg ARGS3(
 	error_logging = FALSE;
 
     } else if (strcmp(argv[0], "-nopause") == 0) { /* No statusline pauses */
-        InfoSecs = 0;
+	InfoSecs = 0;
 	MessageSecs = 0;
 	AlertSecs = 0;
 
@@ -2312,7 +2301,7 @@ PRIVATE void parse_arg ARGS3(
 	no_print = TRUE;
 
     } else if (strcmp(argv[0], "-noredir") == 0) {
-        /*
+	/*
 	 *  Don't follow URL redirections.
 	 */
 	no_url_redirection = TRUE;
@@ -2329,16 +2318,16 @@ PRIVATE void parse_arg ARGS3(
 	no_statusline = TRUE;
 
     } else if (strncmp(argv[0], "-number_links", 9) == 0) {
-        number_links = TRUE;
+	number_links = TRUE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'p':
     if (strncmp(argv[0], "-pauth", 6) == 0) {
-        /*
+	/*
 	 *  Authentication information for protected proxy server. - AJL
 	 */
 	char *pauth_info = NULL;
@@ -2347,7 +2336,7 @@ PRIVATE void parse_arg ARGS3(
 	    StrAllocCopy(pauth_info, cp);
 	    memset(cp, ' ', strlen(cp));	/* Let's not show too much */
 	}
-        if (pauth_info != NULL)  {
+	if (pauth_info != NULL)  {
 	    if ((cp = strchr(pauth_info, ':')) != NULL) {	/* Pw */
 		*cp++ = '\0';	/* Terminate ID */
 		if (*cp) {
@@ -2366,22 +2355,22 @@ PRIVATE void parse_arg ARGS3(
 	LYUseDefSelPop = FALSE;
 
     } else if (strcmp(argv[0], "-post_data") == 0) {
-        /*
+	/*
 	 *  User data for POST form.
 	 */
 	char **post_data;
 	char buf[1024];
 
-        /*
+	/*
 	 *  On Unix, conflicts with curses when interactive
-         *  so let's force a dump.  - CL
+	 *  so let's force a dump.  - CL
 	 *
 	 *  On VMS, mods have been made in LYCurses.c to deal with
 	 *  potential conflicts, so don't force a dump here. - FM
-         */
+	 */
 #ifndef VMS
 	dump_output_immediately = TRUE;
-        LYcols = 80;
+	LYcols = 80;
 #endif /* VMS */
 
 	post_data = &form_post_data;
@@ -2402,7 +2391,7 @@ PRIVATE void parse_arg ARGS3(
 	}
 
     } else if (strncmp(argv[0], "-preparsed", 9) == 0) {
-        LYPreparsedSource = TRUE;
+	LYPreparsedSource = TRUE;
 
     } else if (strncmp(argv[0], "-print", 6) == 0) {
 	no_print=FALSE;
@@ -2414,19 +2403,19 @@ PRIVATE void parse_arg ARGS3(
 	    pseudo_inline_alts = TRUE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'r':
     if (strncmp(argv[0], "-raw", 4) == 0) {
-        LYUseDefaultRawMode = FALSE;
+	LYUseDefaultRawMode = FALSE;
 
     } else if (strncmp(argv[0], "-realm", 6) == 0) {
 	check_realm = TRUE;
 
     } else if (strncmp(argv[0], "-reload", 7) == 0) {
-        reloading = TRUE;
+	reloading = TRUE;
 
     } else if (strncmp(argv[0], "-restrictions", 13) == 0) {
 	if ((cp=strchr(argv[0],'=')) != NULL)
@@ -2445,14 +2434,14 @@ PRIVATE void parse_arg ARGS3(
 		printf("\
    change_exec_perms  disallow changing the eXecute permission on files\n\
                    (but still allow it for directories) when local file\n\
-		   management is enabled.\n");
+                   management is enabled.\n");
 #endif /* DIRED_SUPPORT && OK_PERMIT */
 		printf("\
    default         same as commandline option -anonymous.  Disables\n\
                    default services for anonymous users.  Currently set to,\n\
                    all restricted except for: inside_telnet, outside_telnet,\n\
                    inside_news, inside_ftp, outside_ftp, inside_rlogin,\n\
-		   outside_rlogin, goto, jump and mail.  Defaults\n\
+                   outside_rlogin, goto, jump and mail.  Defaults\n\
                    are settable within userdefs.h\n");
 #ifdef DIRED_SUPPORT
 		printf("\
@@ -2464,10 +2453,10 @@ PRIVATE void parse_arg ARGS3(
    download        disallow downloaders in the download menu\n\
    editor          disallow editing\n\
    exec            disable execution scripts\n\
-    exec_frozen     disallow the user from changing the execution link\n");
+   exec_frozen     disallow the user from changing the execution link\n");
 #ifdef USE_EXTERNALS
 		printf("\
-    externals       disable passing URLs to external programs\n");
+   externals       disable passing URLs to external programs\n");
 #endif
 		printf("\
    file_url        disallow using G)oto, served links or bookmarks for\n\
@@ -2535,7 +2524,7 @@ PRIVATE void parse_arg ARGS3(
 	rlogin_ok = FALSE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2547,7 +2536,7 @@ PRIVATE void parse_arg ARGS3(
 	LYUseDefShoCur = FALSE;
 
     } else if (strncmp(argv[0], "-soft_dquotes", 13) == 0) {
-        if (soft_dquotes)
+	if (soft_dquotes)
 	    soft_dquotes = FALSE;
 	else
 	    soft_dquotes = TRUE;
@@ -2562,7 +2551,7 @@ PRIVATE void parse_arg ARGS3(
 	stack_dump = TRUE;
 
     } else if (strncmp(argv[0], "-startfile_ok", 13) == 0) {
-        startfile_ok = TRUE;
+	startfile_ok = TRUE;
 
 #ifndef VMS
 #ifdef SYSLOG_REQUESTED_URLS
@@ -2573,7 +2562,7 @@ PRIVATE void parse_arg ARGS3(
 #endif /* !VMS */
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2586,13 +2575,13 @@ PRIVATE void parse_arg ARGS3(
 	    terminal = cp;
 
     } else if (strncmp(argv[0], "-tlog", 5) == 0) {
-        /*
+	/*
 	 *  Already handled. - FM
 	 */
 	break;
 
     } else if (strncmp(argv[0], "-trace", 6) == 0) {
-        /*
+	/*
 	 *  Already handled. - FM
 	 */
 	break;
@@ -2606,7 +2595,7 @@ PRIVATE void parse_arg ARGS3(
 #endif /* USE_SLANG */
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2619,23 +2608,23 @@ PRIVATE void parse_arg ARGS3(
 
 #if defined(NCURSES_MOUSE_VERSION) || defined(USE_SLANG_MOUSE)
     } else if (strncmp(argv[0], "-use_mouse", 9) == 0) {
-        LYUseMouse = TRUE;
+	LYUseMouse = TRUE;
 #endif
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
     case 'v':
     if (strcmp(argv[0], "-validate") == 0) {
-        /*
+	/*
 	 *  Follow only http URLs.
 	 *  Already handled. - FM
 	 */
 	break;
 
     } else if (strncmp(argv[0], "-version", 8) == 0) {
-	printf("\n%s Version %s (1997)\n", LYNX_NAME, LYNX_VERSION);
+	printf("\n%s Version %s (1998)\n", LYNX_NAME, LYNX_VERSION);
 	printf(
  "Copyrights held by the University of Kansas, CERN, and other contributors.\n"
 	      );
@@ -2649,7 +2638,7 @@ PRIVATE void parse_arg ARGS3(
 	vi_keys = TRUE;
 
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2664,7 +2653,7 @@ PRIVATE void parse_arg ARGS3(
 	}
 	dump_output_width = 80;
     } else {
-        goto Output_Error_and_Help_List;
+	goto Output_Error_and_Help_List;
     }
     break;
 
@@ -2690,11 +2679,9 @@ Output_Help_List:
     printf("    -                receive the arguments from stdin (enclose\n");
     printf("                     in double-quotes (\"-\") on VMS)\n");
     printf("    -anonymous       used to specify the anonymous account\n");
-#ifdef EXP_CHARTRANS
     printf("    -assume_charset=MIMEname  charset for documents that don't specify it\n");
     printf("    -assume_local_charset=MIMEname  charset assumed for local files\n");
     printf("    -assume_unrec_charset=MIMEname  use this instead of unrecognized charsets\n");
-#endif /* EXP_CHARTRANS */
     printf("    -auth=id:pw      authentication information for protected documents\n");
     printf("    -base            prepend a request URL comment and BASE tag to text/html\n");
     printf("                     outputs for -source dumps\n");
@@ -2826,7 +2813,7 @@ PRIVATE void FatalProblem ARGS1(
      *  Ignore further interrupts. - mhc: 11/2/91
      */
 #ifndef NOSIGHUP
-				(void) signal(SIGHUP, SIG_IGN);
+    (void) signal(SIGHUP, SIG_IGN);
 #endif /* NOSIGHUP */
     (void) signal (SIGTERM, SIG_IGN);
     (void) signal (SIGINT, SIG_IGN);
@@ -2863,20 +2850,20 @@ PRIVATE void FatalProblem ARGS1(
      *  Issue appropriate messages and abort or exit. - FM
      */
     if (LYOutOfMemory == FALSE) {
-        fprintf (stderr, "\r\n\
+	fprintf (stderr, "\r\n\
 A Fatal error has occurred in %s Ver. %s\r\n", LYNX_NAME, LYNX_VERSION);
 
-        fprintf(stderr, "\r\n\
+	fprintf(stderr, "\r\n\
 Please notify your system administrator to confirm a bug, and\r\n\
 if confirmed, to notify the lynx-dev list.  Bug reports should\r\n\
 have concise descriptions of the command and/or URL which causes\r\n\
 the problem, the operating system name with version number, the\r\n\
 TCPIP implementation, and any other relevant information.\r\n");
 
-        fprintf(stderr, "\r\n\
+	fprintf(stderr, "\r\n\
 Do NOT mail the core file if one was generated.\r\n");
 
-        fprintf(stderr, "\r\n\
+	fprintf(stderr, "\r\n\
 Lynx now exiting with signal:  %d\r\n\r\n", sig);
 
 	/*
diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c
index 212de74d..06ed21aa 100644
--- a/src/LYMainLoop.c
+++ b/src/LYMainLoop.c
@@ -184,9 +184,6 @@ int mainloop NOARGS
 #ifdef DIRED_SUPPORT
     char *tp = NULL;
     struct stat dir_info;
-    extern char LYPermitFileURL[];
-    extern char LYDiredFileURL[];
-    extern char LYUploadFileURL[];
 #endif /* DIRED_SUPPORT */
 
 /*
diff --git a/src/LYMap.h b/src/LYMap.h
index a0ef6337..ae0f9d69 100644
--- a/src/LYMap.h
+++ b/src/LYMap.h
@@ -10,5 +10,6 @@ extern BOOL LYAddImageMap PARAMS((char *address, char *title,
 extern BOOL LYAddMapElement PARAMS((char *map, char *address, char *title,
 				    HTParentAnchor *node_anchor,
 				    BOOL intern_flag));
+extern BOOL LYHaveImageMap PARAMS((char *address));
 
 #endif /* LYMAP_H */
diff --git a/src/LYPrint.c b/src/LYPrint.c
index 94b335ed..11474556 100644
--- a/src/LYPrint.c
+++ b/src/LYPrint.c
@@ -82,7 +82,6 @@ PUBLIC int printfile ARGS1(
     static BOOLEAN first_mail_preparsed = TRUE;
     char *envbuffer = NULL;
 #ifdef VMS
-    extern BOOLEAN HadVMSInterrupt;
     BOOLEAN isPMDF = FALSE;
     char hdrfile[256];
     FILE *hfd;
diff --git a/src/LYStrings.c b/src/LYStrings.c
index 3a4a7b46..9033ad3d 100644
--- a/src/LYStrings.c
+++ b/src/LYStrings.c
@@ -245,7 +245,7 @@ PUBLIC int LYmbcsstrlen ARGS2(
 #endif
 
 #if !defined(GetChar)
-#ifdef HAVE_KEYPAD
+#if HAVE_KEYPAD
 #define GetChar getch
 #else
 #ifndef USE_GETCHAR
@@ -690,7 +690,7 @@ re_read:
 #endif /* NCURSES_MOUSE_VERSION */
 	}
     }
-#endif /* defined(HAVE_KEYPAD) */
+#endif /* HAVE_KEYPAD */
 
     if (c > DO_NOTHING) {
 	/*
diff --git a/src/LYUtils.c b/src/LYUtils.c
index 0ece6343..73825488 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -1818,7 +1818,6 @@ PUBLIC void statusline ARGS1(
 {
     char buffer[256];
     unsigned char *temp = NULL;
-    extern BOOLEAN no_statusline;
     int max_length, len, i, j;
     unsigned char k;
 
@@ -2183,7 +2182,7 @@ PUBLIC BOOLEAN LYisLocalFile ARGS1(
 	char *,		filename)
 {
     char *host = NULL;
-    char *access = NULL;
+    char *acc_method = NULL;
     char *cp;
 
     if (!filename)
@@ -2198,8 +2197,8 @@ PUBLIC BOOLEAN LYisLocalFile ARGS1(
     if ((cp=strchr(host, ':')) != NULL)
         *cp = '\0';
 
-    if ((access = HTParse(filename, "", PARSE_ACCESS))) {
-        if (0==strcmp("file", access) &&
+    if ((acc_method = HTParse(filename, "", PARSE_ACCESS))) {
+        if (0==strcmp("file", acc_method) &&
 	    (0==strcmp(host, "localhost") ||
 #ifdef VMS
              0==strcasecomp(host, HTHostName())))
@@ -2208,13 +2207,13 @@ PUBLIC BOOLEAN LYisLocalFile ARGS1(
 #endif /* VMS */
         {
 	    FREE(host);
-	    FREE(access);
+	    FREE(acc_method);
 	    return YES;
 	}
     }
 
     FREE(host);
-    FREE(access);
+    FREE(acc_method);
     return NO;
 }
 
@@ -2853,6 +2852,10 @@ PUBLIC char * quote_pathname ARGS1(
     return result;
 }
 
+#if HAVE_UTMP
+extern char *ttyname PARAMS((int fd));
+#endif
+
 /*
  *  Checks to see if the current process is attached
  *  via a terminal in the local domain.
@@ -2867,7 +2870,6 @@ PUBLIC BOOLEAN inlocaldomain NOARGS
     FILE *fp;
     struct utmp me;
     char *cp, *mytty = NULL;
-    extern char *ttyname PARAMS((int fd));
 
     if ((cp=ttyname(0)))
 	mytty = strrchr(cp, '/');
@@ -5131,7 +5133,7 @@ PUBLIC BOOLEAN LYPathOffHomeOK ARGS2(
  *  This function appends fname to the home path and returns
  *  the full path and filename.  The fname string can be just
  *  a filename (e.g., "lynx_bookmarks.html"), or include a
- *  subirectory off the home directory, in which case fname
+ *  subdirectory off the home directory, in which case fname
  *  should begin with "./" (e.g., ./BM/lynx_bookmarks.html)
  *  Use LYPathOffHomeOK() to check and/or fix up fname before
  *  calling this function.  On VMS, the resultant full path
diff --git a/src/UCAuto.c b/src/UCAuto.c
index 8e0d29f8..906ab638 100644
--- a/src/UCAuto.c
+++ b/src/UCAuto.c
@@ -94,6 +94,7 @@ PRIVATE void write_esc ARGS1(
 	CONST char *,	p)
 {
     int fd = open("/dev/tty", O_WRONLY);
+
     if (fd >= 0) {
 	write(fd, p, strlen(p));
 	close(fd);
@@ -104,9 +105,10 @@ PRIVATE int nonempty_file ARGS1(
 	CONST char *,	p)
 {
     struct stat sb;
-    return (stat(p, &sb) == 0
-       &&   (sb.st_mode & S_IFMT) == S_IFREG
-       &&   (sb.st_size != 0));
+
+    return (stat(p, &sb) == 0 &&
+	    (sb.st_mode & S_IFMT) == S_IFREG && 
+	    (sb.st_size != 0));
 }
 
 /*
@@ -133,20 +135,23 @@ PUBLIC void UCChangeTerminalCodepage ARGS2(
     char tmpbuf1[100], tmpbuf2[20];
     char *cp;
 
-    /* Restore the original character set */
+    /*
+     *  Restore the original character set.
+     */
     if (newcs < 0 || p == 0) {
-	if (old_font && *old_font
-	 && old_umap && *old_umap) {
+	if (old_font && *old_font &&
+	    old_umap && *old_umap) {
 	    int have_font = nonempty_file(old_font);
 	    int have_umap = nonempty_file(old_umap);
 
 	    if (have_font) {
-		if (have_umap)
+		if (have_umap) {
 		    sprintf(tmpbuf1, "%s %s -u %s %s",
 			    SETFONT, old_font, old_umap, NOOUTPUT);
-		else
+		} else {
 		    sprintf(tmpbuf1, "%s %s %s",
 			    SETFONT, old_font, NOOUTPUT);
+		}
 		system(tmpbuf1);
 	    }
 
@@ -179,8 +184,6 @@ PUBLIC void UCChangeTerminalCodepage ARGS2(
 
     /*
      *  Use this for output of escape sequences.
-     *
-     *  For some reason stdout won't do; maybe needs flush() somewhere.
      */
     if (display || (cp = getenv(DISPLAY)) != NULL) {
 	/*
diff --git a/src/UCAux.c b/src/UCAux.c
index a88ea273..09fa6833 100644
--- a/src/UCAux.c
+++ b/src/UCAux.c
@@ -53,7 +53,6 @@ PUBLIC UCTQ_t UCCanTranslateFromTo ARGS2(
     {
 	CONST char * fromname = LYCharSet_UC[from].MIMEname;
 	CONST char * toname = LYCharSet_UC[to].MIMEname;
-	UCTQ_t tqmin = TQ_NO, tqmax = TQ_GOOD;
 	if (!strcmp(fromname, "x-transparent") ||
 	    !strcmp(toname, "x-transparent")) {
 	    return TQ_GOOD;
@@ -78,36 +77,18 @@ PUBLIC UCTQ_t UCCanTranslateFromTo ARGS2(
 		 !strcmp(fromname, "shift_jis")))
 		return TQ_GOOD;
 	    /*
-	    **  The other charsets for CJK were handled
+	    **  The euc-cn and euc-kr charsets were handled
 	    **  by the (from == to) above, so we need not
 	    **  check those. - FM
 	    **/
 	    return TQ_NO;
 	}
-	if (!strcmp(fromname, "koi8-r")) {
-	    /*
-	     *  Will try to use stripping of high bit...
-	     */
-	    tqmin = TQ_POOR;
-	}
-
-	if (!strcmp(fromname, "koi8-r") || /* from cyrillic */
-	    !strcmp(fromname, "iso-8859-5") ||
-	    !strcmp(fromname, "cp866") ||
-	    !strcmp(fromname, "cp1251") ||
-	    !strcmp(fromname, "koi-8")) {
-	    if (strcmp(toname, "iso-8859-5") &&
-		strcmp(toname, "koi8-r") &&
-		strcmp(toname, "cp866") &&
-		strcmp(toname, "cp1251"))
-		tqmax = TQ_POOR;
-	}
-	return ((LYCharSet_UC[from].UChndl >= 0) ? tqmax : tqmin);
+	return ((LYCharSet_UC[from].UChndl >= 0) ? TQ_GOOD : TQ_NO);
     }
 }
 
 /*
-**  Returns YES if no tranlation necessary (because
+**  Returns YES if no translation necessary (because
 **  charsets are equal, are equivalent, etc.).
 */
 PUBLIC BOOL UCNeedNotTranslate ARGS2(
@@ -167,7 +148,7 @@ PUBLIC BOOL UCNeedNotTranslate ARGS2(
 /*
 **  The idea here is that any stage of the stream pipe which is interested
 **  in some charset dependent processing will call this function.
-**  Given input and ouptput charsets, this function will set various flags
+**  Given input and output charsets, this function will set various flags
 **  in a UCTransParams structure that _suggest_ to the caller what to do.
 **
 **  Should be called once when a stage starts processing text (and the
@@ -274,6 +255,7 @@ PUBLIC void UCSetTransParams ARGS5(
 	    **  We set this, presently, for VISCII. - FM
 	    */
 	    pT->repl_translated_C0 = (p_out->enc == UCT_ENC_8BIT_C0);
+#ifdef NOTDEFINED
 	    /*
 	    **  This is a flag for whether we are dealing with koi8-r
 	    **  as the input, and could do 8th-bit stripping for other
@@ -291,6 +273,9 @@ PUBLIC void UCSetTransParams ARGS5(
 				       UCT_REP_SUBSETOF_LAT1)) &&
 				     cs_in != cs_out &&
 				     !strcmp(p_in->MIMEname, "koi8-r"));
+#else
+	    pT->strip_raw_char_in = FALSE;
+#endif /* NOTDEFINED */
 	    /*
 	    **  use_ucs should be set TRUE if we have or will create
 	    **  Unicode values for input octets or UTF multibytes. - FM
@@ -298,15 +283,15 @@ PUBLIC void UCSetTransParams ARGS5(
 	    use_ucs = (intm_ucs || pT->trans_to_uni);
 	    /*
 	    **  This is set TRUE if use_ucs was set FALSE.  It is
-	    **  parallel to the HTPassEightBitRaw flag, which
+	    **  complementary to the HTPassEightBitRaw flag, which
 	    **  is set TRUE or FALSE elsewhere based on the raw mode
 	    **  setting in relation to the current Display Character
 	    **  Set. - FM
 	    */
 	    pT->do_8bitraw = (!use_ucs);
 	    /*
-	    **  This is set TRUE when 160 and 173 should not be treated
-	    **  specially as nbsp and shy, respectively. - FM
+	    **  This is set TRUE when 160 and 173 should not be
+	    **  treated as nbsp and shy, respectively. - FM
 	    */
 	    pT->pass_160_173_raw = (!use_ucs &&
 				    !(p_in->like8859 & UCT_R_8859SPECL));
@@ -335,7 +320,7 @@ PUBLIC void UCSetTransParams ARGS5(
 }
 
 /*
-**  This function initalizes the transformation
+**  This function initializes the transformation
 **  structure by setting all its elements to
 **  FALSE. - KW
 */
@@ -355,14 +340,15 @@ PUBLIC void UCTransParams_clear ARGS1(
     pT->repl_translated_C0 = FALSE;
     pT->trans_from_uni = FALSE;
 }
+
 /*
- *  If terminal is in UTF-8 mode, it probably cannot understand
- *  box drawing chars as (n)curses handles them.  (This may also
- *  be true for other display character sets, but isn't currently
- *  checked.)  In that case set the chars for hori and vert drawing
- *  chars to displayable ASCII chars if '0' was requested.  They'll
- *  stay as they are otherwise. - kw
- */
+**  If terminal is in UTF-8 mode, it probably cannot understand
+**  box drawing chars as (n)curses handles them.  (This may also
+**  be true for other display character sets, but isn't currently
+**  checked.)  In that case set the chars for hori and vert drawing
+**  chars to displayable ASCII chars if '0' was requested.  They'll
+**  stay as they are otherwise. - kw
+*/
 PUBLIC void UCSetBoxChars ARGS5(
     int,	cset,
     int *,	pvert_out,
@@ -371,25 +357,26 @@ PUBLIC void UCSetBoxChars ARGS5(
     int,	hori_in)
 {
     if (cset >= -1 && LYCharSet_UC[cset].enc == UCT_ENC_UTF8) {
-	*pvert_out = (vert_in ? vert_in : '|'); 
+	*pvert_out = (vert_in ? vert_in : '|');
 	*phori_out = (hori_in ? hori_in : '-');
     } else {
 	*pvert_out = vert_in;
 	*phori_out = hori_in;
     }
 }
+
 /*
- *  Given an output target HTStream* (can also be a HTStructured* via
- *  typecast), the target stream's put_character method, and a unicode
- *  character,  CPutUtf8_charstring() will either output the UTF8
- *  encoding of the unicode and return YES, or do nothing and return
- *  NO (if conversion would be unnecessary or the unicode character is
- *  considered invalid).
- *
- *  [Could be used more generally, but is currently only used for &#nnnnn 
- *  stuff - generation of UTF8 from 8-bit encoded charsets not yet done
- *  by SGML.c etc.]
- */
+**  Given an output target HTStream* (can also be a HTStructured* via
+**  typecast), the target stream's put_character method, and a Unicode
+**  character,  CPutUtf8_charstring() will either output the UTF8
+**  encoding of the Unicode and return YES, or do nothing and return
+**  NO (if conversion would be unnecessary or the Unicode character is
+**  considered invalid).
+**
+**  [Could be used more generally, but is currently only used for &#nnnnn
+**  stuff - generation of UTF8 from 8-bit encoded charsets not yet done
+**  by SGML.c etc.]
+*/
 #define PUTC(ch) ((*myPutc)(target, (char)(ch)))
 #define PUTC2(ch) ((*myPutc)(target,(char)(0x80|(0x3f &(ch)))))
 
diff --git a/src/UCdomap.c b/src/UCdomap.c
index a03812cc..088d42ee 100644
--- a/src/UCdomap.c
+++ b/src/UCdomap.c
@@ -1,6 +1,6 @@
 /*
- * UCmap.c
- *  =======
+ *  UCdomap.c
+ *  =========
  *
  * Derived from code in the Linux kernel console driver.
  * The GNU Public Licence therefore applies, see
@@ -228,7 +228,7 @@ PRIVATE u16 translations[][256] = {
     0xf0f8, 0xf0f9, 0xf0fa, 0xf0fb, 0xf0fc, 0xf0fd, 0xf0fe, 0xf0ff
   }
 };
-static u16 *UC_translate = NULL;
+PRIVATE u16 *UC_translate = NULL;
 
 PRIVATE struct UC_charset UCInfo[MAXCHARSETS];
 
@@ -321,31 +321,36 @@ PRIVATE int default_UChndl = -1;
 PRIVATE void set_inverse_transl ARGS1(
 	int,		i)
 {
-	int j, glyph;
-	u16 *p = translations[i];
-	unsigned char *q = inverse_translations[i];
-
-	if (!q) {
-		/* slightly messy to avoid calling kmalloc too early */
-		q = inverse_translations[i] = ((i == LAT1_MAP)
-			? inv_norm_transl
-			: (unsigned char *) malloc(MAX_GLYPH));
-		if (!q)
-			return;
-	}
-	for (j=0; j<MAX_GLYPH; j++)
-		q[j] = 0;
-
-	for (j=0; j<E_TABSZ; j++) {
-		glyph = conv_uni_to_pc(p[j], 0);
-		if (glyph >= 0 && glyph < MAX_GLYPH && q[glyph] < 32) {
-			/* prefer '-' above SHY etc. */
-			q[glyph] = j;
-		}
+    int j, glyph;
+    u16 *p = translations[i];
+    unsigned char *q = inverse_translations[i];
+
+    if (!q) {
+	/*
+	 *  Slightly messy to avoid calling kmalloc too early.
+	 */
+	q = inverse_translations[i] = ((i == LAT1_MAP) ?
+				       inv_norm_transl :
+				       (unsigned char *)malloc(MAX_GLYPH));
+	if (!q)
+	    return;
+    }
+    for (j = 0; j < MAX_GLYPH; j++)
+	q[j] = 0;
+
+    for (j = 0; j < E_TABSZ; j++) {
+	glyph = conv_uni_to_pc(p[j], 0);
+	if (glyph >= 0 && glyph < MAX_GLYPH && q[glyph] < 32) {
+	    /*
+	     *  Prefer '-' above SHY etc.
+	     */
+	    q[glyph] = j;
 	}
+    }
 }
 
-PRIVATE u16 *set_translate ARGS1(int, m)
+PRIVATE u16 *set_translate ARGS1(
+	int,		m)
 {
 	if (!inverse_translations[m])
 		set_inverse_transl(m);
@@ -374,80 +379,81 @@ PRIVATE unsigned char inverse_translate ARGS1(
 }
 
 /*
- * Load customizable translation table
- * arg points to a 256 byte translation table.
+ *  Load customizable translation table.
+ *  'arg' points to a 256 byte translation table.
  *
- * The "old" variants are for translation directly to font (using the
- * 0xf000-0xf0ff "transparent" Unicodes) whereas the "new" variants set
- * Unicodes explictly.
+ *  The "old" variants are for translation directly to font (using the
+ *  0xf000-0xf0ff "transparent" Unicodes) whereas the "new" variants set
+ *  Unicodes explicitly.
  */
-int con_set_trans_old(unsigned char * arg)
+PRIVATE int con_set_trans_old ARGS1(
+	unsigned char *,	arg)
 {
-	int i;
-	u16 *p = translations[USER_MAP];
+    int i;
+    u16 *p = translations[USER_MAP];
 #if(0)
-	i = verify_area(VERIFY_READ, (void *)arg, E_TABSZ);
-	if (i)
-		return i;
+    i = verify_area(VERIFY_READ, (void *)arg, E_TABSZ);
+    if (i)
+	return i;
 #endif
-	for (i=0; i<E_TABSZ ; i++)
-		p[i] = UNI_DIRECT_BASE | (u16) arg[i];
+    for (i = 0; i < E_TABSZ; i++)
+	p[i] = UNI_DIRECT_BASE | (u16)arg[i];
 
-	set_inverse_transl(USER_MAP);
-	return 0;
+    set_inverse_transl(USER_MAP);
+    return 0;
 }
 
-int con_get_trans_old(unsigned char * arg)
+PRIVATE int con_get_trans_old ARGS1(
+	unsigned char *,	arg)
 {
-	int i, ch;
-	u16 *p = translations[USER_MAP];
+    int i, ch;
+    u16 *p = translations[USER_MAP];
 #if(0)
-	i = verify_area(VERIFY_WRITE, (void *)arg, E_TABSZ);
-	if (i)
-		return i;
+    i = verify_area(VERIFY_WRITE, (void *)arg, E_TABSZ);
+    if (i)
+	return i;
 #endif
-	for (i=0; i<E_TABSZ ; i++)
-	  {
-	    ch = conv_uni_to_pc(p[i]);
-/*	    put_user((ch & ~0xff) ? 0 : ch, arg+i); */
-	    arg[i] = (unsigned char)((ch & ~0xff) ? 0 : ch);
-	  }
-	return 0;
+    for (i = 0; i < E_TABSZ; i++) {
+	ch = conv_uni_to_pc(p[i]);
+#ifdef NOTDEFINED
+	put_user((ch & ~0xff) ? 0 : ch, arg+i);
+#endif /* NOTDEFINED */
+	arg[i] = (unsigned char)((ch & ~0xff) ? 0 : ch);
+    }
+    return 0;
 }
 
 PRIVATE int con_set_trans_new ARGS1(
 	u16 *,		arg)
 {
-	int i;
-	u16 *p = translations[USER_MAP];
+    int i;
+    u16 *p = translations[USER_MAP];
 #if(0)
-	i = verify_area(VERIFY_READ, (void *)arg,
-			E_TABSZ*sizeof(u16));
-	if (i)
-		return i;
+    i = verify_area(VERIFY_READ, (void *)arg, E_TABSZ*sizeof(u16));
+    if (i)
+	return i;
 #endif
-	for (i=0; i<E_TABSZ ; i++)
-	  p[i] = arg[i];
+    for (i = 0; i < E_TABSZ; i++)
+	p[i] = arg[i];
 
-	set_inverse_transl(USER_MAP);
-	return 0;
+    set_inverse_transl(USER_MAP);
+    return 0;
 }
 
 PRIVATE int con_get_trans_new ARGS1(
 	u16 *		arg)
 {
-	int i;
-	u16 *p = translations[USER_MAP];
+    int i;
+    u16 *p = translations[USER_MAP];
 #if(0)
-	i = verify_area(VERIFY_WRITE, (void *)arg,
-			E_TABSZ*sizeof(u16));
-	if (i)
-		return i;
+    i = verify_area(VERIFY_WRITE, (void *)arg, E_TABSZ*sizeof(u16));
+    if (i)
+	return i;
 #endif
-	for (i=0; i<E_TABSZ ; i++)
-	  arg[i] = p[i];
+    for (i = 0; i < E_TABSZ; i++)
+	arg[i] = p[i];
 
-	return 0;
+    return 0;
 }
 #endif /* NOTDEFINED */
 
@@ -468,7 +474,7 @@ PRIVATE void UC_con_set_trans ARGS3(
 
     if (!UC_valid_UC_charset(UC_charset_in_hndl)) {
 	if (TRACE)
-	    fprintf(stderr,"UC_con_set_trans: Invalid charset handle %d.\n",
+	    fprintf(stderr, "UC_con_set_trans: Invalid charset handle %d.\n",
 		    UC_charset_in_hndl);
 	return;
     }
@@ -507,18 +513,18 @@ PRIVATE void UC_con_set_trans ARGS3(
  * "paged table" instead.  Simulation has shown the memory cost of
  * this 3-level paged table scheme to be comparable to a hash table.
  */
+PRIVATE int hashtable_contents_valid = 0; /* Use ASCII-only mode for bootup*/
+PRIVATE int hashtable_str_contents_valid = 0;
 
-PRIVATE int unitable_contents_valid = 0; /* Use ASCII-only mode for bootup*/
-PRIVATE int unitable_str_contents_valid = 0;
-
-static u16 **uni_pagedir[32] =
+PRIVATE u16 **uni_pagedir[32] =
 {
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
 };
-static char* **uni_pagedir_str[32] =
+
+PRIVATE char* **uni_pagedir_str[32] =
 {
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
   NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
@@ -559,40 +565,40 @@ PRIVATE int con_insert_unipair ARGS3(
 	u16,		fontpos,
 	int,		fordefault)
 {
-  int i, n;
-  u16 **p1, *p2;
-
-  if(fordefault)
-      p1 = unidefault_pagedir[n = unicode >> 11];
-  else
-      p1 = uni_pagedir[n = unicode >> 11];
-  if (!p1)
-    {
-      p1 = (u16* *) malloc(32*sizeof(u16 *));
-      if (fordefault)
-	  unidefault_pagedir[n] = p1;
-      else
-	  uni_pagedir[n] = p1;
-      if ( !p1 )
-	return -ENOMEM;
+    int i, n;
+    u16 **p1, *p2;
+
+    if(fordefault)
+	p1 = unidefault_pagedir[n = unicode >> 11];
+    else
+	p1 = uni_pagedir[n = unicode >> 11];
+    if (!p1) {
+	p1 = (u16* *)malloc(32*sizeof(u16 *));
+	if (fordefault)
+	    unidefault_pagedir[n] = p1;
+	else
+	    uni_pagedir[n] = p1;
+	if ( !p1 )
+	    return -ENOMEM;
 
-      for ( i = 0 ; i < 32 ; i++ )
-	p1[i] = NULL;
+	for (i = 0; i < 32; i++) {
+	    p1[i] = NULL;
+	}
     }
 
-  if ( !(p2 = p1[n = (unicode >> 6) & 0x1f]) )
-    {
-      p2 = p1[n] = (u16 *) malloc(64*sizeof(u16));
-      if ( !p2 )
-	return -ENOMEM;
+    if (!(p2 = p1[n = (unicode >> 6) & 0x1f])) {
+	p2 = p1[n] = (u16 *)malloc(64*sizeof(u16));
+	if (!p2)
+	    return -ENOMEM;
 
-      for ( i = 0 ; i < 64 ; i++ )
-	p2[i] = 0xffff;		/* No glyph for this character (yet) */
+	for (i = 0; i < 64; i++) {
+	    p2[i] = 0xffff;		/* No glyph for this character (yet) */
+	}
     }
 
-  p2[unicode & 0x3f] = fontpos;
+    p2[unicode & 0x3f] = fontpos;
 
-  return 0;
+    return 0;
 }
 
 PRIVATE int con_insert_unipair_str ARGS3(
@@ -600,78 +606,79 @@ PRIVATE int con_insert_unipair_str ARGS3(
 	char *,		replace_str,
 	int,		fordefault)
 {
-  int i, n;
-  char ***p1, **p2;
-
-  if(fordefault)
-      p1 = unidefault_pagedir_str[n = unicode >> 11];
-  else
-      p1 = uni_pagedir_str[n = unicode >> 11];
-  if (!p1)
-    {
-      p1 = (char** *) malloc(32*sizeof(char **));
-      if (fordefault)
-	  unidefault_pagedir_str[n] = p1;
-      else
-	  uni_pagedir_str[n] = p1;
-      if ( !p1 )
-	return -ENOMEM;
+    int i, n;
+    char ***p1, **p2;
+
+    if(fordefault)
+	p1 = unidefault_pagedir_str[n = unicode >> 11];
+    else
+	p1 = uni_pagedir_str[n = unicode >> 11];
+    if (!p1) {
+	p1 = (char** *)malloc(32*sizeof(char **));
+	if (fordefault)
+	    unidefault_pagedir_str[n] = p1;
+	else
+	    uni_pagedir_str[n] = p1;
+	if ( !p1 )
+	    return -ENOMEM;
 
-      for ( i = 0 ; i < 32 ; i++ )
-	p1[i] = NULL;
+	for (i = 0; i < 32; i++) {
+	    p1[i] = NULL;
+	}
     }
 
-  if ( !(p2 = p1[n = (unicode >> 6) & 0x1f]) )
-    {
-      p2 = p1[n] = (char* *) malloc(64*sizeof(char *));
-      if ( !p2 )
-	return -ENOMEM;
+    if (!(p2 = p1[n = (unicode >> 6) & 0x1f])) {
+	p2 = p1[n] = (char* *)malloc(64*sizeof(char *));
+	if (!p2)
+	    return -ENOMEM;
 
-      for ( i = 0 ; i < 64 ; i++ )
-	p2[i] = NULL;		/* No replace string this character (yet) */
+	for (i = 0; i < 64; i++) {
+	    p2[i] = NULL;	/* No replace string this character (yet) */
+	}
     }
 
-  p2[unicode & 0x3f] = replace_str;
+    p2[unicode & 0x3f] = replace_str;
 
-  return 0;
+    return 0;
 }
 
-/* ui arg was a leftover, deleted -kw */
-PRIVATE void
-con_clear_unimap ARGS1(int, fordefault)
+/* 
+ *  ui arg was a leftover, deleted. - KW
+ */
+PRIVATE void con_clear_unimap ARGS1(
+	int,		fordefault)
 {
-  int i, j;
-  u16 **p1;
-
-  if (fordefault) {
-    for (i = 0; i < 32; i++) {
-	if ((p1 = unidefault_pagedir[i]) != NULL) {
-	    for (j = 0; j < 32; j++) {
-		FREE(p1[j]);
+    int i, j;
+    u16 **p1;
+
+    if (fordefault) {
+	for (i = 0; i < 32; i++) {
+	    if ((p1 = unidefault_pagedir[i]) != NULL) {
+		for (j = 0; j < 32; j++) {
+		    FREE(p1[j]);
+		}
+		FREE(p1);
 	    }
-	    FREE(p1);
+	    unidefault_pagedir[i] = NULL;
 	}
-      unidefault_pagedir[i] = NULL;
-    }
 
-    unidefault_contents_valid = 1;
-  } else {
-    for (i = 0; i < 32; i++) {
-	if ((p1 = uni_pagedir[i]) != NULL) {
-	    for (j = 0; j < 32; j++) {
-		FREE(p1[j]);
+	unidefault_contents_valid = 1;
+    } else {
+	for (i = 0; i < 32; i++) {
+	    if ((p1 = uni_pagedir[i]) != NULL) {
+		for (j = 0; j < 32; j++) {
+		    FREE(p1[j]);
+		}
+		FREE(p1);
 	    }
-	    FREE(p1);
+	    uni_pagedir[i] = NULL;
 	}
-      uni_pagedir[i] = NULL;
-    }
 
-    unitable_contents_valid = 1;
-  }
+	hashtable_contents_valid = 1;
+    }
 }
 
-PRIVATE void
-con_clear_unimap_str ARGS1(int, fordefault)
+PRIVATE void con_clear_unimap_str ARGS1(int, fordefault)
 {
   int i, j;
   char ***p1;
@@ -699,61 +706,65 @@ con_clear_unimap_str ARGS1(int, fordefault)
       uni_pagedir_str[i] = NULL;
     }
 
-    unitable_str_contents_valid = 1;  /* ??? probably no use... */
+    hashtable_str_contents_valid = 1;  /* ??? probably no use... */
   }
 }
 
 #ifdef NOTDEFINED
-int
-con_set_unimap ARGS2(u16, ct, struct unipair *, list)
+PRIVATE int con_set_unimap ARGS2(
+	u16,			ct,
+	struct unipair *,	list)
 {
-  int err = 0, err1, i;
+    int err = 0, err1, i;
 
-  while( ct-- )
-    {
-      if ( (err1 = con_insert_unipair(list->unicode,
-				      list->fontpos)) != 0 )
-	err = err1;
-      list++;
+    while (ct--) {
+	if ((err1 = con_insert_unipair(list->unicode, list->fontpos)) != 0) {
+	    err = err1;
+	}
+	list++;
     }
 
-  for ( i = 0 ; i <= 3 ; i++ )
-    set_inverse_transl(i); /* Update all inverse translations */
-
-  return err;
+    for (i = 0; i <= 3; i++) {
+	set_inverse_transl(i); /* Update all inverse translations */
+    }
+    return err;
 }
 #endif /* NOTDEFINED */
 
-/* Loads the unimap for the hardware font, as defined in uni_hash.tbl.
-   The representation used was the most compact I could come up
-   with.  This routine is executed at sys_setup time, and when the
-   PIO_FONTRESET ioctl is called. */
-
-PRIVATE void
-con_set_default_unimap NOARGS
+/*
+ *  Loads the unimap for the hardware font, as defined in uni_hash.tbl.
+ *  The representation used was the most compact I could come up
+ *  with.  This routine is executed at sys_setup time, and when the
+ *  PIO_FONTRESET ioctl is called.
+ */
+PRIVATE void con_set_default_unimap NOARGS
 {
-  int i, j;
-  u16 *p;
-
-  /* The default font is always 256 characters */
+    int i, j;
+    u16 *p;
 
-  con_clear_unimap(1);
+    /*
+     *  The default font is always 256 characters.
+     */
+    con_clear_unimap(1);
 
-  p = dfont_unitable;
-  for ( i = 0 ; i < 256 ; i++ )
-    for ( j = dfont_unicount[i] ; j ; j-- )
-      con_insert_unipair(*(p++), i, 1);
+    p = dfont_unitable;
+    for (i = 0; i < 256; i++) {
+	for (j = dfont_unicount[i]; j; j--) {
+	    con_insert_unipair(*(p++), i, 1);
+	}
+    }
 
 #if 0
-  for ( i = 0 ; i <= 3 ; i++ )
-    set_inverse_transl(i);	/* Update all inverse translations */
+    for (i = 0; i <= 3; i++) {
+	set_inverse_transl(i);	/* Update all inverse translations */
+    }
 #endif
 
-  UC_default_unitable = dfont_unitable;
+    UC_default_unitable = dfont_unitable;
 
-  con_clear_unimap_str(1);
-  UC_con_set_unimap_str(dfont_replacedesc.entry_ct, repl_map, 1);
-  UC_default_unitable_str = &dfont_replacedesc;
+    con_clear_unimap_str(1);
+    UC_con_set_unimap_str(dfont_replacedesc.entry_ct, repl_map, 1);
+    UC_default_unitable_str = &dfont_replacedesc;
 }
 
 PUBLIC int UCNumCharsets = 0;
@@ -767,25 +778,26 @@ PRIVATE int UC_con_set_unimap ARGS2(
 	int,		UC_charset_out_hndl,
 	int,		update_flag)
 {
-  int i, j;
-  u16 *p;
+    int i, j;
+    u16 *p;
 
     if (!UC_valid_UC_charset(UC_charset_out_hndl)) {
-      if (TRACE)
-	fprintf(stderr,"UC_con_set_unimap: Invalid charset handle %d.\n",
-		UC_charset_out_hndl);
-      return -1;
+	if (TRACE)
+	    fprintf(stderr, "UC_con_set_unimap: Invalid charset handle %d.\n",
+		    UC_charset_out_hndl);
+	return -1;
     }
 
-  p = UCInfo[UC_charset_out_hndl].unitable;
-  if (p == UC_current_unitable) {    /* test whether pointers are equal */
-    return update_flag;			/* nothing to be done */
-  }
-  UC_current_unitable = p;
-
-  /* The font is always 256 characters - so far. */
+    p = UCInfo[UC_charset_out_hndl].unitable;
+    if (p == UC_current_unitable) {    /* test whether pointers are equal */
+	return update_flag;			/* nothing to be done */
+    }
+    UC_current_unitable = p;
 
-  con_clear_unimap(0);
+    /*
+     *  The font is always 256 characters - so far.
+     */
+    con_clear_unimap(0);
 
     for (i = 0; i < 256; i++) {
 	for (j = UCInfo[UC_charset_out_hndl].unicount[i]; j; j--) {
@@ -793,26 +805,29 @@ PRIVATE int UC_con_set_unimap ARGS2(
 	}
     }
 
-  if (update_flag)
-    for ( i = 0 ; i <= 3 ; i++ )
-      set_inverse_transl(i);	/* Update all inverse translations */
-  return 0;
+    if (update_flag) {
+	for (i = 0; i <= 3; i++) {
+	    set_inverse_transl(i);	/* Update all inverse translations */
+	}
+    }
+
+    return 0;
 }
 
 PRIVATE int UC_con_set_unimap_str ARGS3(
-    u16,		ct,
-    struct unipair_str *, list,
-    int,		fordefault)
+	u16,		ct,
+	struct unipair_str *, list,
+	int,		fordefault)
 {
-  int err = 0, err1;
+    int err = 0, err1;
 
-  while( ct-- )
-    {
-      if ( (err1 = con_insert_unipair_str(list->unicode,
-					  list->replace_str,
-					  fordefault)) != 0 )
-	err = err1;
-      list++;
+    while (ct--) {
+	if ((err1 = con_insert_unipair_str(list->unicode,
+					   list->replace_str,
+					   fordefault)) != 0) {
+	    err = err1;
+	}
+	list++;
     }
 
     /*
@@ -822,80 +837,100 @@ PRIVATE int UC_con_set_unimap_str ARGS3(
 	if (fordefault)
 	    unidefault_str_contents_valid = 1;
 	else
-	    unitable_str_contents_valid = 1;
+	    hashtable_str_contents_valid = 1;
     }
 
-  return err;
+    return err;
 }
 
-#if 0	/* UNUSED */
-int
-con_get_unimap ARGS3(u16, ct, u16 *, uct, struct unipair *, list)
+#ifdef NOTDEFINED
+PRIVATE int con_get_unimap ARGS3(
+	u16,			ct,
+	u16 *,			uct,
+	struct unipair *, 	list)
 {
-	int i, j, k, ect;
-	u16 **p1, *p2;
-
-	ect = 0;
-	if (hashtable_contents_valid)
-	  {
-	    for ( i = 0 ; i < 32 ; i++ )
-	      if ( (p1 = uni_pagedir[i]) != NULL )
-		for ( j = 0 ; j < 32 ; j++ )
-		  if ( (p2 = *(p1++)) != NULL )
-		    for ( k = 0 ; k < 64 ; k++ )
-		      {
-			if ( *p2 < MAX_GLYPH && ect++ < ct )
-			  {
-			    list->unicode = (u16) ((i<<11)+(j<<6)+k);
-			    list->fontpos = (u16) *p2;
-			    list++;
-			  }
-			p2++;
-		      }
-	  }
-	*uct = ect;
-	return ((ect <= ct) ? 0 : -ENOMEM);
+    int i, j, k, ect;
+    u16 **p1, *p2;
+
+    ect = 0;
+    if (hashtable_contents_valid) {
+	for (i = 0; i < 32; i++) {
+	    if ((p1 = uni_pagedir[i]) != NULL) {
+		for (j = 0; j < 32; j++) {
+		    if ((p2 = *(p1++)) != NULL) {
+			for (k = 0; k < 64; k++) {
+			    if (*p2 < MAX_GLYPH && ect++ < ct) {
+				list->unicode = (u16) ((i<<11)+(j<<6)+k);
+				list->fontpos = (u16) *p2;
+				list++;
+			    }
+			    p2++;
+			}
+		    }
+		}
+	    }
+	}
+    }
+    *uct = ect;
+    return ((ect <= ct) ? 0 : -ENOMEM);
 }
-#endif
+#endif /* NOTDEFINED */
 
 PRIVATE int conv_uni_to_pc ARGS2(
 	long,		ucs,
 	int,		usedefault)
 {
-  int h;
-  u16 **p1, *p2;
-
-  /* Only 16-bit codes supported at this time */
-  if (ucs > 0xffff)
-    ucs = 0xfffd;		/* U+FFFD: REPLACEMENT CHARACTER */
-  else if (ucs < 0x20 || ucs >= 0xfffe)
-    return -1;		/* Not a printable character */
-  else if (ucs == 0xfeff || (ucs >= 0x200a && ucs <= 0x200f))
-    return -2;			/* Zero-width space */
-  /*
-   * UNI_DIRECT_BASE indicates the start of the region in the User Zone
-   * which always has a 1:1 mapping to the currently loaded font.  The
-   * UNI_DIRECT_MASK indicates the bit span of the region.
-   */
-  else if ( (ucs & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE )
-    return ucs & UNI_DIRECT_MASK;
+    int h;
+    u16 **p1, *p2;
+  
+    /*
+     *  Only 16-bit codes supported at this time.
+     */
+    if (ucs > 0xffff) {
+	/*
+	 *  U+FFFD: REPLACEMENT CHARACTER.
+	 */
+	ucs = 0xfffd;
+    } else if (ucs < 0x20 || ucs >= 0xfffe) {
+	/*
+	 *  Not a printable character.
+	 */
+	return -1;
+    } else if (ucs == 0xfeff || (ucs >= 0x200a && ucs <= 0x200f)) {
+	/*
+	 *  Zero-width space.
+	 */
+	return -2;
+    } else if ((ucs & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE) {
+	/*
+	 *  UNI_DIRECT_BASE indicates the start of the region in the
+	 *  User Zone which always has a 1:1 mapping to the currently
+	 *  loaded font.  The UNI_DIRECT_MASK indicates the bit span
+	 *  of the region.
+	 */
+	return (ucs & UNI_DIRECT_MASK);
+    }
 
-  if (usedefault) {
-      if (!unidefault_contents_valid)
-	  return -3;
-      p1 = unidefault_pagedir[ucs >> 11];
-  } else {
-      if (!unitable_contents_valid)
-	  return -3;
-      p1 = uni_pagedir[ucs >> 11];
-  }
+    if (usedefault) {
+	if (!unidefault_contents_valid)
+	    return -3;
+	p1 = unidefault_pagedir[ucs >> 11];
+    } else {
+	if (!hashtable_contents_valid)
+	    return -3;
+	p1 = uni_pagedir[ucs >> 11];
+    }
 
-  if (p1 &&
-      (p2 = p1[(ucs >> 6) & 0x1f]) &&
-      (h = p2[ucs & 0x3f]) < MAX_GLYPH )
-    return h;
+    if (p1 &&
+	(p2 = p1[(ucs >> 6) & 0x1f]) &&
+	(h = p2[ucs & 0x3f]) < MAX_GLYPH) {
+	return h;
+    }
 
-  return -4;		/* not found */
+    /*
+     *  Not found.
+     */
+    return -4;
 }
 
 /*
@@ -907,44 +942,58 @@ PRIVATE int conv_uni_to_str ARGS4(
 	long,		ucs,
 	int,		usedefault)
 {
-  char *h;
-  char ***p1, **p2;
-
-  /* Only 16-bit codes supported at this time */
-  if (ucs > 0xffff)
-    ucs = 0xfffd;		/* U+FFFD: REPLACEMENT CHARACTER */
-/* Maybe the following two cases should be allowed here?? -kw */
-  else if (ucs < 0x20 || ucs >= 0xfffe)
-    return -1;		/* Not a printable character */
-  else if (ucs == 0xfeff || (ucs >= 0x200a && ucs <= 0x200f))
-    return -2;			/* Zero-width space */
-  /*
-   * UNI_DIRECT_BASE indicates the start of the region in the User Zone
-   * which always has a 1:1 mapping to the currently loaded font.  The
-   * UNI_DIRECT_MASK indicates the bit span of the region.
-   */
-/* We dont handle the following here: */
-#if(0)
-  else if ( (ucs & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE )
-    return ucs & UNI_DIRECT_MASK;
-#endif
+    char *h;
+    char ***p1, **p2;
 
-  if (usedefault) {
-      if (!unidefault_str_contents_valid)
-	  return -3;
-      p1 = unidefault_pagedir_str[ucs >> 11];
-  } else {
-      if (!unitable_str_contents_valid)
-	  return -3;
-      p1 = uni_pagedir_str[ucs >> 11];
-  }
+    /*
+     *  Only 16-bit codes supported at this time.
+     */
+    if (ucs > 0xffff) {
+	/*
+	 *  U+FFFD: REPLACEMENT CHARACTER.
+	 */
+	ucs = 0xfffd;
+    /*
+     *  Maybe the following two cases should be allowed here?? - KW
+     */
+    } else if (ucs < 0x20 || ucs >= 0xfffe) {
+	/*
+	 *  Not a printable character.
+	 */
+	return -1;
+    } else if (ucs == 0xfeff || (ucs >= 0x200a && ucs <= 0x200f)) {
+	/*
+	 *  Zero-width space.
+	 */
+	return -2;
+#ifdef NOTDEFINED	/* We don't handle the following here: */
+    } else if ((ucs & ~UNI_DIRECT_MASK) == UNI_DIRECT_BASE) {
+	/*
+	 *  UNI_DIRECT_BASE indicates the start of the region in the
+	 *  User Zone which always has a 1:1 mapping to the currently
+	 *  loaded font.  The UNI_DIRECT_MASK indicates the bit span
+	 *  of the region.
+	 */
+	return ucs & UNI_DIRECT_MASK;
+#endif /* NOTDEFINED */
+    }
 
-  if (p1 &&
-      (p2 = p1[(ucs >> 6) & 0x1f]) &&
-      (h = p2[ucs & 0x3f]) ) {
-    strncpy (outbuf,h,(size_t) (buflen-1));
-    return 1;     /* ok ! */
-  }
+    if (usedefault) {
+	if (!unidefault_str_contents_valid)
+	    return -3;
+	p1 = unidefault_pagedir_str[ucs >> 11];
+    } else {
+	if (!hashtable_str_contents_valid)
+	    return -3;
+	p1 = uni_pagedir_str[ucs >> 11];
+    }
+
+    if (p1 &&
+	(p2 = p1[(ucs >> 6) & 0x1f]) &&
+	(h = p2[ucs & 0x3f])) {
+	strncpy (outbuf,h,(size_t) (buflen-1));
+	return 1;     /* ok ! */
+    }
 
     /*
      *  Not found.
@@ -959,8 +1008,7 @@ PUBLIC int UCInitialized = 0;
  * initialized.  It must be possible to call kmalloc(..., GFP_KERNEL)
  * from this function, hence the call from sys_setup.
  */
-PRIVATE void
-UCconsole_map_init NOARGS
+PRIVATE void UCconsole_map_init NOARGS
 {
     con_set_default_unimap();
     UCInitialized = 1;
@@ -1028,83 +1076,84 @@ PUBLIC int UCTransUniCharStr ARGS5(
 	int,		charset_out,
 	int,		chk_single_flag)
 {
-  int rc = -14, src = 0, ignore_err;
-  int UChndl_out;
-  int isdefault, trydefault = 0;
-  struct unimapdesc_str * repl;
-  u16 * ut;
-
-  if (buflen<2)
-      return -13;
-
-  if ((UChndl_out = LYCharSet_UC[charset_out].UChndl) < 0) {
-      if ((UChndl_out = default_UChndl) < 0)
-	  return -12;
-      isdefault = 1;
-  } else {
-      isdefault = UCInfo[UChndl_out].replacedesc.isdefault;
-      trydefault = UCInfo[UChndl_out].replacedesc.trydefault;
-  }
+    int rc = -14, src = 0, ignore_err;
+    int UChndl_out;
+    int isdefault, trydefault = 0;
+    struct unimapdesc_str * repl;
+    u16 * ut;
 
-  if (chk_single_flag) {
-      if (!isdefault) {
-	  ut = UCInfo[UChndl_out].unitable;
-	  if (ut != UC_current_unitable) {
-	      src = UC_con_set_unimap(UChndl_out, 1);
-	      if (src < 0) {
-		  return src;
-	      }
-	  }
-      }
-      src = conv_uni_to_pc(unicode, isdefault);
-      if (src >= 32) {
-	  outbuf[0] = src; outbuf[1] = '\0';
-	  return 1;
-      }
-  }
-  repl = &(UCInfo[UChndl_out].replacedesc);
-  if (!isdefault) {
-      if (repl != UC_current_unitable_str)  {
-	  con_clear_unimap_str(0);
-	  ignore_err = UC_con_set_unimap_str(repl->entry_ct, repl->entries, 0);
-	  UC_current_unitable_str = repl;
-      }
-      rc = conv_uni_to_str(outbuf, buflen, unicode, 0);
-      if (rc >= 0)
-	  return (strlen(outbuf));
-  }
-  if (trydefault && chk_single_flag) {
-      src = conv_uni_to_pc(unicode, 1);
-      if (src >= 32) {
-	  outbuf[0] = src; outbuf[1] = '\0';
-	  return 1;
-      }
-  }
-  if (isdefault || trydefault) {
-      rc = conv_uni_to_str(outbuf, buflen, unicode, 1);
-      if (rc >= 0)
-	  return (strlen(outbuf));
-  }
-  if (rc == -4) {
-    if (!isdefault)
-	rc = conv_uni_to_str(outbuf, buflen, 0xfffd, 0);
-    if ((rc == -4) && (isdefault || trydefault))
-	rc = conv_uni_to_str(outbuf, buflen, 0xfffd, 1);
-    if (rc >= 0)
-	return (strlen(outbuf));
-  }
-  if (chk_single_flag && src == -4) {
-      if (!isdefault)
-	  rc = conv_uni_to_pc(0xfffd, 0);
-      if ((rc == -4) && (isdefault || trydefault))
-	  rc = conv_uni_to_pc(0xfffd, 1);
-      if (rc >= 32) {
-	  outbuf[0] = rc; outbuf[1] = '\0';
-	  return 1;
-      }
-      return rc;
-  }
-  return -4;
+    if (buflen < 2)
+	return -13;
+
+    if ((UChndl_out = LYCharSet_UC[charset_out].UChndl) < 0) {
+	if ((UChndl_out = default_UChndl) < 0)
+	    return -12;
+	isdefault = 1;
+    } else {
+	isdefault = UCInfo[UChndl_out].replacedesc.isdefault;
+	trydefault = UCInfo[UChndl_out].replacedesc.trydefault;
+    }
+
+    if (chk_single_flag) {
+	if (!isdefault) {
+	    ut = UCInfo[UChndl_out].unitable;
+	    if (ut != UC_current_unitable) {
+		src = UC_con_set_unimap(UChndl_out, 1);
+		if (src < 0) {
+		    return src;
+		}
+	    }
+	}
+	src = conv_uni_to_pc(unicode, isdefault);
+	if (src >= 32) {
+	    outbuf[0] = src; outbuf[1] = '\0';
+	    return 1;
+	}
+    }
+
+    repl = &(UCInfo[UChndl_out].replacedesc);
+    if (!isdefault) {
+	if (repl != UC_current_unitable_str)  {
+	    con_clear_unimap_str(0);
+	    ignore_err = UC_con_set_unimap_str(repl->entry_ct, repl->entries, 0);
+	    UC_current_unitable_str = repl;
+	}
+	rc = conv_uni_to_str(outbuf, buflen, unicode, 0);
+	if (rc >= 0)
+	    return (strlen(outbuf));
+    }
+    if (trydefault && chk_single_flag) {
+	src = conv_uni_to_pc(unicode, 1);
+	if (src >= 32) {
+	    outbuf[0] = src; outbuf[1] = '\0';
+	    return 1;
+	}
+    }
+    if (isdefault || trydefault) {
+	rc = conv_uni_to_str(outbuf, buflen, unicode, 1);
+	if (rc >= 0)
+	    return (strlen(outbuf));
+    }
+    if (rc == -4) {
+	if (!isdefault)
+	    rc = conv_uni_to_str(outbuf, buflen, 0xfffd, 0);
+	if ((rc == -4) && (isdefault || trydefault))
+	    rc = conv_uni_to_str(outbuf, buflen, 0xfffd, 1);
+	if (rc >= 0)
+	    return (strlen(outbuf));
+    }
+    if (chk_single_flag && src == -4) {
+	if (!isdefault)
+	    rc = conv_uni_to_pc(0xfffd, 0);
+	if ((rc == -4) && (isdefault || trydefault))
+	    rc = conv_uni_to_pc(0xfffd, 1);
+	if (rc >= 32) {
+	    outbuf[0] = rc; outbuf[1] = '\0';
+	    return 1;
+	}
+	return rc;
+    }
+    return -4;
 }
 
 PRIVATE int UC_lastautoGN = 0;
@@ -1113,10 +1162,10 @@ PRIVATE int UC_MapGN ARGS2(
 	int,		UChndl,
 	int,		update_flag)
 {
-    int i,Gn,found,lasthndl;
+    int i, Gn, found, lasthndl;
     found = 0;
     Gn = -1;
-    for (i=0; i<4 && Gn<0; i++) {
+    for (i = 0; i < 4 && Gn < 0; i++) {
 	if (UC_GNhandles[i] < 0) {
 	    Gn = i;
 	} else if (UC_GNhandles[i] == UChndl) {
@@ -1183,7 +1232,6 @@ PUBLIC int UCTransChar ARGS3(
     if ((Gn = UCInfo[UChndl_in].GN) < 0) {
 	Gn = UC_MapGN(UChndl_in,0);
 	upd = 1;
-
     }
 
     ut = UCInfo[UChndl_out].unitable;
@@ -1336,7 +1384,7 @@ PUBLIC int UCTransCharStr ARGS6(
     u16 * ut;
     int upd = 0;
 
-    if (buflen<2)
+    if (buflen < 2)
 	return -13;
 #ifndef UC_NO_SHORTCUTS
     if (chk_single_flag && charset_in == charset_out) {
@@ -1359,8 +1407,10 @@ PUBLIC int UCTransCharStr ARGS6(
 	isdefault = UCInfo[UChndl_out].replacedesc.isdefault;
 	trydefault = UCInfo[UChndl_out].replacedesc.trydefault;
     }
-    if ((Gn = UCInfo[UChndl_in].GN) < 0)
-    {Gn = UC_MapGN(UChndl_in,!chk_single_flag); upd=chk_single_flag;}
+    if ((Gn = UCInfo[UChndl_in].GN) < 0) {
+	Gn = UC_MapGN(UChndl_in, !chk_single_flag);
+	upd = chk_single_flag;
+    }
 
     UC_translate = set_translate(Gn);
     unicode = UC_translate[(unsigned char)ch_in];
@@ -1472,7 +1522,7 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1(
 	 (i < MAXCHARSETS && i < LYNumCharsets &&
 	  LYchar_set_names[i] && LYhndl < 0); i++) {
 	if (LYCharSet_UC[i].MIMEname &&
-	    !strcmp(UC_MIMEcharset,LYCharSet_UC[i].MIMEname)) {
+	    !strcmp(UC_MIMEcharset, LYCharSet_UC[i].MIMEname)) {
 	    LYhndl = i;
 	}
     }
@@ -1482,6 +1532,9 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1(
 	 */
 	if (!strcmp(UC_MIMEcharset, "unicode-1-1-utf-8") ||
 	    !strcmp(UC_MIMEcharset, "utf8")) {
+	    /*
+	     *  Treat these as synonyms for the IANA registered name. - FM
+	     */
 	    return UCGetLYhndl_byMIME("utf-8");
 	}
 	if (!strncmp(UC_MIMEcharset, "iso-2022-jp", 11) ||
@@ -1491,29 +1544,45 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1(
 	if (!strcmp(UC_MIMEcharset, "x-shift-jis")) {
 	    return UCGetLYhndl_byMIME("shift_jis");
 	}
-	else if (!strcmp(UC_MIMEcharset, "iso-2022-kr")) {
+	if (!strcmp(UC_MIMEcharset, "iso-2022-kr")) {
 	    return UCGetLYhndl_byMIME("euc-kr");
 	}
-	else if (!strcmp(UC_MIMEcharset, "gb2312") ||
-		   !strncmp(UC_MIMEcharset, "cn-gb", 5) ||
-		   !strcmp(UC_MIMEcharset, "iso-2022-cn")) {
+	if (!strcmp(UC_MIMEcharset, "gb2312") ||
+	    !strncmp(UC_MIMEcharset, "cn-gb", 5) ||
+	    !strcmp(UC_MIMEcharset, "iso-2022-cn")) {
 	    return UCGetLYhndl_byMIME("euc-cn");
 	}
-	else if (!strcmp(UC_MIMEcharset, "cn-big5")) {
+	if (!strcmp(UC_MIMEcharset, "cn-big5")) {
 	    return UCGetLYhndl_byMIME("big5");
 	}
-	else if (!strcmp(UC_MIMEcharset, "x-mac-roman") ||
-		   !strcmp(UC_MIMEcharset, "mac-roman")) {
+	if (!strcmp(UC_MIMEcharset, "x-mac-roman") ||
+	    !strcmp(UC_MIMEcharset, "mac-roman")) {
 	    return UCGetLYhndl_byMIME("macintosh");
 	}
-	else if (!strcmp(UC_MIMEcharset, "x-next") ||
-		   !strcmp(UC_MIMEcharset, "nextstep") ||
-		   !strcmp(UC_MIMEcharset, "x-nextstep")) {
-	    return UCGetLYhndl_byMIME("x-next");
+	if (!strcmp(UC_MIMEcharset, "x-next") ||
+	    !strcmp(UC_MIMEcharset, "nextstep") ||
+	    !strcmp(UC_MIMEcharset, "x-nextstep")) {
+	    return UCGetLYhndl_byMIME("next");
 	}
-	if (!strcmp(UC_MIMEcharset,
-		   "iso-8859-1-windows-3.1-latin-1")) {
-	    return UCGetLYhndl_byMIME("cp1252");
+	if (!strcmp(UC_MIMEcharset, "iso-8859-1-windows-3.1-latin-1") ||
+	    !strcmp(UC_MIMEcharset, "cp1252") ||
+	    !strcmp(UC_MIMEcharset, "cp-1252") ||
+	    !strcmp(UC_MIMEcharset, "ibm1252") ||
+	    !strcmp(UC_MIMEcharset, "iso-8859-1-windows-3.0-latin-1")) {
+	    /*
+	     *  Treat these as synonyms for windows-1252, which is more
+	     *  commonly used than the IANA registered name. - FM
+	     */
+	    return UCGetLYhndl_byMIME("windows-1252");
+	}
+	if (!strcmp(UC_MIMEcharset, "iso-8859-2-windows-latin-2") ||
+	    !strcmp(UC_MIMEcharset, "cp1250") ||
+	    !strcmp(UC_MIMEcharset, "cp-1250") ||
+	    !strcmp(UC_MIMEcharset, "ibm1250")) {
+	    /*
+	     *  Treat these as synonyms for windows-1250. - FM
+	     */
+	    return UCGetLYhndl_byMIME("windows-1250");
 	}
 	if ((!strncmp(UC_MIMEcharset, "ibm", 3) ||
 	     !strncmp(UC_MIMEcharset, "cp-", 3)) &&
@@ -1529,6 +1598,15 @@ PUBLIC int UCGetLYhndl_byMIME ARGS1(
 	    StrAllocCopy(cptmp, (UC_MIMEcharset + 1));
 	    cptmp[0] = 'c';
 	    cptmp[1] = 'p';
+	    if ((LYhndl = UCGetLYhndl_byMIME(cptmp)) >= 0) {
+		FREE(cptmp);
+		return LYhndl;
+	    }
+	    /*
+	     *  Try windows-NNN<...> if not yet found. - FM
+	     */
+	    StrAllocCopy(cptmp, "windows-");
+	    StrAllocCat(cptmp, (UC_MIMEcharset + 3));
 	    LYhndl = UCGetLYhndl_byMIME(cptmp);
 	    FREE(cptmp);
 	    return LYhndl;
@@ -1580,19 +1658,21 @@ PRIVATE char ** remember_allocated_LYCharSets[MAXCHARSETS];
 
 PRIVATE void UCreset_allocated_LYCharSets NOARGS
 {
-	int i=0;
-	for(;i<MAXCHARSETS;i++)
-	remember_allocated_LYCharSets[i]=NULL;
+    int i = 0;
+
+    for (; i < MAXCHARSETS; i++) {
+	remember_allocated_LYCharSets[i] = NULL;
+    }
 }
 
 PRIVATE void UCfree_allocated_LYCharSets NOARGS
 {
-    int i=0;
+    int i = 0;
 
     for (; i < MAXCHARSETS; i++) {
 	if (remember_allocated_LYCharSets[i] != NULL) {
-	FREE(remember_allocated_LYCharSets[i]);
-}
+	    FREE(remember_allocated_LYCharSets[i]);
+	}
     }
 }
 
@@ -1600,33 +1680,34 @@ PRIVATE char ** UC_setup_LYCharSets_repl ARGS2(
 	int,		UC_charset_in_hndl,
 	int,		lowest8)
 {
-  char ** ISO_Latin1 = LYCharSets[0];
-  char **p;
-  char **prepl;
-  u16 *pp;
-  char ** tp;
-  char *s7;
-  char *s8;
-  int i,j,changed;
-  u16 k;
-  u8 *ti;
+    char **ISO_Latin1 = LYCharSets[0];
+    char **p;
+    char **prepl;
+    u16 *pp;
+    char **tp;
+    char *s7;
+    char *s8;
+    int i, j, changed;
+    u16 k;
+    u8 *ti;
 
     /*
      *  Create a temporary table for reverse lookup of latin1 codes:
      */
-  tp = (char **) malloc(96 * sizeof(char *));
-  if (!tp) return NULL;
-  for (i=0; i<96; i++)
-    tp[i] = NULL;
-  ti = (u8 *) malloc(96 * sizeof(u8));
-  if (!ti) {
-    FREE(tp);
-    return NULL;
-  }
-  for (i=0; i<96; i++)
-    ti[i] = 0;
+    tp = (char **)malloc(96 * sizeof(char *));
+    if (!tp)
+	return NULL;
+    for (i = 0; i < 96; i++)
+	tp[i] = NULL;
+    ti = (u8 *)malloc(96 * sizeof(u8));
+    if (!ti) {
+	FREE(tp);
+	return NULL;
+    }
+    for (i = 0; i < 96; i++)
+	ti[i] = 0;
 
-  pp = UCInfo[UC_charset_in_hndl].unitable;
+    pp = UCInfo[UC_charset_in_hndl].unitable;
 
     /*
      *  Determine if we have any mapping of a Unicode in the range 160-255
@@ -1635,60 +1716,60 @@ PRIVATE char ** UC_setup_LYCharSets_repl ARGS2(
      */
     if (UCInfo[UC_charset_in_hndl].num_uni > 0) {
 	for (i = 0; i < 256; i++) {
-	if ((j = UCInfo[UC_charset_in_hndl].unicount[i])) {
-	  if ((k = *pp) >= 160 && k < 256 && i >= lowest8) {
-	    ti[k-160] = i;
-	  }
+	    if ((j = UCInfo[UC_charset_in_hndl].unicount[i])) {
+		if ((k = *pp) >= 160 && k < 256 && i >= lowest8) {
+		   ti[k-160] = i;
+		}
 		for (; j; j--) {
-	    pp++;
-	}
-      }
+		    pp++;
+		}
+	    }
 	}
     }
-  {
-    u16 ct;
-    struct unipair_str *list;
+    {
+	u16 ct;
+	struct unipair_str *list;
 
 	/*
 	 *  Determine if we have any mapping of a Unicode in the range
 	 *  160-255 to a replacement string for our new charset...
 	 *  Store any mappings found in tp[].
 	 */
-    ct = UCInfo[UC_charset_in_hndl].replacedesc.entry_ct;
-    list = UCInfo[UC_charset_in_hndl].replacedesc.entries;
+	ct = UCInfo[UC_charset_in_hndl].replacedesc.entry_ct;
+	list = UCInfo[UC_charset_in_hndl].replacedesc.entries;
 	while (ct--) {
-	if ((k = list->unicode) >= 160 && k < 256) {
-	  tp[k-160] = list->replace_str;
+	    if ((k = list->unicode) >= 160 && k < 256) {
+		tp[k-160] = list->replace_str;
+	    }
+	    list++;
 	}
-	list++;
-      }
-  }
+    }
     /*
      *  Now allocate a new table compatible with LYCharSets[]
      *  and with the HTMLDTD for entities.
      *  We don't know yet whether we'll keep it around. */
-  p = prepl = (char **) malloc(HTML_dtd.number_of_entities * sizeof(char *));
-  if (!p) {
+    p = prepl = (char **)malloc(HTML_dtd.number_of_entities * sizeof(char *));
+    if (!p) {
 	FREE(tp);
 	FREE(ti);
-    return NULL;
-  }
-  changed = 0;
-  for (i=0; i<HTML_dtd.number_of_entities; i++,p++) {
+	return NULL;
+    }
+    changed = 0;
+    for (i = 0; i < HTML_dtd.number_of_entities; i++, p++) {
 	/*
 	 *  For each of those entities, we check what the "old method"
 	 *  ISO_Latin1[] mapping does with them.  If it is nothing we
 	 *  want to use, just point to the SevenBitApproximations[] string.
 	 */
-    s7 = SevenBitApproximations[i];
-    s8 = ISO_Latin1[i];
-    *p = s7;
-    if (s8 && (unsigned char)(*s8) >= 160 && strlen(s8) == 1) {
+	s7 = SevenBitApproximations[i];
+	s8 = ISO_Latin1[i];
+	*p = s7;
+	if (s8 && (unsigned char)(*s8) >= 160 && strlen(s8) == 1) {
 	    /*
 	     *  We have an entity that is mapped to
 	     *  one valid eightbit latin1 char.
 	     */
-      if (ti[(unsigned char)(*s8) - 160] >= lowest8 &&
+	    if (ti[(unsigned char)(*s8) - 160] >= lowest8 &&
 		!(s7[0] == ti[(unsigned char)(*s8) - 160] &&
 		s7[1] == '\0')) {
 		/*
@@ -1697,21 +1778,21 @@ PRIVATE char ** UC_setup_LYCharSets_repl ARGS2(
 		 *   charset: either to itself...
 		 */
 		if (ti[(unsigned char)(*s8) - 160] == (unsigned char)(*s8)) {
-	  *p = s8;
+		    *p = s8;
 		} else {
 		    /*
 		     *			      ...or another byte...
 		     */
 #ifdef NOTDEFINED
-	  *p = (char *)malloc(2*sizeof(char));
-	  if (!*p) {
+		    *p = (char *)malloc(2*sizeof(char));
+		    if (!*p) {
 			FREE(tp);
 			FREE(ti);
 			FREE(prepl);
-	    return NULL;
-	  }
-	  (*p)[0] = ti[(unsigned char)(*s8) - 160];
-	  (*p)[1] = '\0';
+			return NULL;
+		    }
+		    (*p)[0] = ti[(unsigned char)(*s8) - 160];
+		    (*p)[1] = '\0';
 #else
 		    /*
 		     *  Use this instead... make those 1-char strings
@@ -1719,30 +1800,31 @@ PRIVATE char ** UC_setup_LYCharSets_repl ARGS2(
 		     *  at exit... all for the sake of preventing
 		     *  memory leaks, sigh.
 		     */
-	  static char dummy[2];	/* one char dummy string */
+		    static char dummy[2];	/* one char dummy string */
 
-	  dummy[0] = ti[(unsigned char)(*s8) - 160];
-	  *p = HTAtom_name(HTAtom_for(dummy));
-#endif /* ! NOTDEFINED */
-	}
-	changed = 1;
+		    dummy[0] = ti[(unsigned char)(*s8) - 160];
+		    *p = HTAtom_name(HTAtom_for(dummy));
+#endif /* NOTDEFINED */
+		}
+		changed = 1;
 	    } else if (tp[(unsigned char)(*s8) - 160] &&
 		       strcmp(s7, tp[(unsigned char)(*s8) - 160])) {
 		/*
 		 *  ...or which is mapped, by our "new method",
 		 *  to a replacement string for this new charset.
 		 */
-	*p = tp[(unsigned char)(*s8) - 160];
-	changed = 1;
-      }
+		*p = tp[(unsigned char)(*s8) - 160];
+		changed = 1;
+	    }
+	}
     }
-  }
-  FREE(tp); FREE(ti);
-  if (!changed) {
-    FREE(prepl);
-    return NULL;
-  }
-  return prepl;
+    FREE(tp);
+    FREE(ti);
+    if (!changed) {
+	FREE(prepl);
+	return NULL;
+    }
+    return prepl;
 }
 
 /*
@@ -1754,8 +1836,8 @@ PRIVATE int UC_Register_with_LYCharSets ARGS4(
 	CONST char *,	UC_LYNXcharset,
 	int,		lowest_eightbit)
 {
-  int i, LYhndl,found;
-  char ** repl;
+  int i, LYhndl, found;
+  char **repl;
 
   LYhndl = -1;
     if (LYNumCharsets == 0) {
@@ -1813,7 +1895,9 @@ PRIVATE int UC_Register_with_LYCharSets ARGS4(
 	found = 1;
     }
   LYCharSet_UC[LYhndl].UChndl = s;
-			   /* Can we just copy the pointer? Hope so... */
+    /*
+     *  Can we just copy the pointer?  Hope so...
+     */
   LYCharSet_UC[LYhndl].MIMEname = UC_MIMEcharset;
   LYCharSet_UC[LYhndl].enc = UCInfo[s].enc;
 
@@ -1855,8 +1939,8 @@ PUBLIC void UC_Charset_Setup ARGS8(
 	int,			lowest_eight,
 	int,			UC_rawuni)
 {
-  int s, Gn;
-  int i, status = 0, found;
+    int s, Gn;
+    int i, status = 0, found;
 
     /*
      *  Get (new?) slot.
@@ -1875,39 +1959,41 @@ PUBLIC void UC_Charset_Setup ARGS8(
 		fprintf(stderr, "UC_Charset_Setup: Too many. Ignoring %s/%s.",
 				UC_MIMEcharset, UC_LYNXcharset);
 	    }
-	return;
-      }
-    s = UCNumCharsets;
-    UCInfo[s].MIMEname = UC_MIMEcharset;
-  }
-  UCInfo[s].LYNXname = UC_LYNXcharset;
-  UCInfo[s].unicount = unicount;
-  UCInfo[s].unitable = unitable;
-  UCInfo[s].num_uni = nnuni;
-  UCInfo[s].replacedesc = replacedesc;
-  if (replacedesc.isdefault) {
-      default_UChndl = s;
-  }
-  Gn = UC_FindGN_byMIME(UC_MIMEcharset);
-  if (Gn >= 0)
-    UC_GNhandles[Gn] = s;
-  UCInfo[s].GN = Gn;
-  if (UC_rawuni == UCT_ENC_UTF8) lowest_eight = 128;  /* cheat here */
-  UCInfo[s].lowest_eight = lowest_eight;
-  UCInfo[s].enc = UC_rawuni;
+	    return;
+	}
+	s = UCNumCharsets;
+	UCInfo[s].MIMEname = UC_MIMEcharset;
+    }
+    UCInfo[s].LYNXname = UC_LYNXcharset;
+    UCInfo[s].unicount = unicount;
+    UCInfo[s].unitable = unitable;
+    UCInfo[s].num_uni = nnuni;
+    UCInfo[s].replacedesc = replacedesc;
+    if (replacedesc.isdefault) {
+	default_UChndl = s;
+    }
+    Gn = UC_FindGN_byMIME(UC_MIMEcharset);
+    if (Gn >= 0)
+	UC_GNhandles[Gn] = s;
+    UCInfo[s].GN = Gn;
+    if (UC_rawuni == UCT_ENC_UTF8)
+	lowest_eight = 128;  /* cheat here */
+    UCInfo[s].lowest_eight = lowest_eight;
+    UCInfo[s].enc = UC_rawuni;
     UCInfo[s].LYhndl = UC_Register_with_LYCharSets(s,
 						   UC_MIMEcharset,
 						   UC_LYNXcharset,
 						   lowest_eight);
-  UCInfo[s].uc_status = status;
+    UCInfo[s].uc_status = status;
     if (found < 0)
 	UCNumCharsets++;
-  return;
+    return;
 }
 
 PRIVATE void UCcleanup_mem NOARGS
 {
     int i;
+
     UCfree_allocated_LYCharSets();
     con_clear_unimap_str(0);
     con_clear_unimap_str(1);
@@ -1915,7 +2001,7 @@ PRIVATE void UCcleanup_mem NOARGS
     con_clear_unimap(1);
     for (i = 1; i < 4; i++) {	/* first one is static! */
 	FREE(inverse_translations[i]);
-}
+    }
 }
 
 PUBLIC void UCInit NOARGS
@@ -1928,19 +2014,18 @@ PUBLIC void UCInit NOARGS
 
     UC_CHARSET_SETUP_iso_8859_1;	  /* ISO Latin 1	  */
     UC_CHARSET_SETUP_iso_8859_2;	  /* ISO Latin 2	  */
+    UC_CHARSET_SETUP_windows_1252;	  /* WinLatin1 (cp1252)	  */
+    UC_CHARSET_SETUP_cp852;		  /* DosLatin2 (cp852)	  */
 
-    UC_CHARSET_SETUP_cp1252;		  /* WinLatin1 (cp1252)	  */
     UC_CHARSET_SETUP_dec_mcs;		  /* DEC Multinational    */
     UC_CHARSET_SETUP_macintosh;		  /* Macintosh (8 bit)    */
-    UC_CHARSET_SETUP_x_next;		  /* NeXT character set   */
-    UC_CHARSET_SETUP_koi8_r;		  /* KOI8-5 Cyrillic	  */
+    UC_CHARSET_SETUP_next;		  /* NeXT character set   */
+    UC_CHARSET_SETUP_koi8_r;		  /* KOI8-R Cyrillic	  */
 
     UC_CHARSET_SETUP_viscii;		  /* Vietnamese (VISCII)  */
 
     UC_CHARSET_SETUP_cp437;		  /* DosLatinUS (cp437)	  */
     UC_CHARSET_SETUP_cp850;		  /* DosLatin1 (cp850)	  */
-
-    UC_CHARSET_SETUP_cp852;		  /* DosLatin2 (cp852)	  */
     UC_CHARSET_SETUP_cp866;		  /* DosCyrillic (cp866)  */
     UC_CHARSET_SETUP_cp864;		  /* DosArabic (cp864)	  */
     UC_CHARSET_SETUP_cp737;		  /* DosGreek (cp737)	  */
@@ -1948,12 +2033,12 @@ PUBLIC void UCInit NOARGS
     UC_CHARSET_SETUP_cp869;		  /* DosGreek2 (cp869)	  */
     UC_CHARSET_SETUP_cp862;		  /* DosHebrew (cp862)	  */
 
-    UC_CHARSET_SETUP_cp1250;		  /* WinLatin2 (cp1250)	  */
-    UC_CHARSET_SETUP_cp1251;		  /* WinCyrillic (cp1251) */
+    UC_CHARSET_SETUP_windows_1250;	  /* WinLatin2 (cp1250)	  */
+    UC_CHARSET_SETUP_windows_1251;	  /* WinCyrillic (cp1251) */
     UC_CHARSET_SETUP_windows_1253;	  /* WinGreek (cp1253)	  */
     UC_CHARSET_SETUP_windows_1255;	  /* WinHebrew (cp1255)	  */
     UC_CHARSET_SETUP_windows_1256;	  /* WinArabic (cp1256)	  */
-    UC_CHARSET_SETUP_cp1257;		  /* WinBaltRim (cp1257)  */
+    UC_CHARSET_SETUP_windows_1257;	  /* WinBaltRim (cp1257)  */
 
     UC_CHARSET_SETUP_iso_8859_3;	  /* ISO Latin 3	  */
     UC_CHARSET_SETUP_iso_8859_4;	  /* ISO Latin 4	  */
diff --git a/src/chrtrans/cp1250_uni.tbl b/src/chrtrans/cp1250_uni.tbl
index 0bb7202a..41e8581d 100644
--- a/src/chrtrans/cp1250_uni.tbl
+++ b/src/chrtrans/cp1250_uni.tbl
@@ -1,8 +1,8 @@
 #The MIME name of this charset.
-Mcp1250
+Mwindows-1250
 
 #Name as a Display Charset (used on Options screen)
-OptionName WinLatin2 (cp1250)
+OWinLatin2 (cp1250)
 
 #
 #    Name:     cp1250_WinLatin2 to Unicode table
diff --git a/src/chrtrans/cp1251_uni.tbl b/src/chrtrans/cp1251_uni.tbl
index 75d7fe25..21a44414 100644
--- a/src/chrtrans/cp1251_uni.tbl
+++ b/src/chrtrans/cp1251_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset.
-Mcp1251
+Mwindows-1251
 
 #Name as a Display Charset (used on Options screen)
 OWinCyrillic (cp1251)
diff --git a/src/chrtrans/cp1252_uni.tbl b/src/chrtrans/cp1252_uni.tbl
index ced249b0..d1ce324d 100644
--- a/src/chrtrans/cp1252_uni.tbl
+++ b/src/chrtrans/cp1252_uni.tbl
@@ -3,10 +3,10 @@
 D0
 #
 #The MIME name of this charset. 
-Mcp1252
+Mwindows-1252
 
 #Name as a Display Charset (used on Options screen)
-O WinLatin1 (cp1252)
+OWinLatin1 (cp1252)
 
 #
 #    Name:     cp1252_WinLatin1 to Unicode table
diff --git a/src/chrtrans/cp1253_uni.tbl b/src/chrtrans/cp1253_uni.tbl
index 176ba7e6..83b85c56 100644
--- a/src/chrtrans/cp1253_uni.tbl
+++ b/src/chrtrans/cp1253_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset. 
-MIMEname windows-1253
+Mwindows-1253
 
 #Name as a Display Charset (used on Options screen)
 OWinGreek (cp1253)
diff --git a/src/chrtrans/cp1255_uni.tbl b/src/chrtrans/cp1255_uni.tbl
index eb446da8..47c58b6e 100644
--- a/src/chrtrans/cp1255_uni.tbl
+++ b/src/chrtrans/cp1255_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset.
-MIMEname windows-1255
+Mwindows-1255
 
 #Name as a Display Charset (used on Options screen).
 OWinHebrew (cp1255)
diff --git a/src/chrtrans/cp1256_uni.tbl b/src/chrtrans/cp1256_uni.tbl
index 900c72c3..0f43728a 100644
--- a/src/chrtrans/cp1256_uni.tbl
+++ b/src/chrtrans/cp1256_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset.
-MIMEname windows-1256
+Mwindows-1256
 
 #Name as a Display Charset (used on Options screen).
 OWinArabic (cp1256)
diff --git a/src/chrtrans/cp1257_uni.tbl b/src/chrtrans/cp1257_uni.tbl
index 03c81637..794df717 100644
--- a/src/chrtrans/cp1257_uni.tbl
+++ b/src/chrtrans/cp1257_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset. 
-Mcp1257
+Mwindows-1257
 
 #Name as a Display Charset (used on Options screen)
 OWinBaltRim (cp1257)
diff --git a/src/chrtrans/cp437_uni.tbl b/src/chrtrans/cp437_uni.tbl
index 56c937a5..41753ac7 100644
--- a/src/chrtrans/cp437_uni.tbl
+++ b/src/chrtrans/cp437_uni.tbl
@@ -6,7 +6,7 @@ D0
 Mcp437
 
 #Name as a Display Charset (used on Options screen)
-OIBM PC character set
+ODosLatinUS (cp437)
 #
 #    Name:     cp437_DOSLatinUS to Unicode table
 #    Unicode version: 1.1
@@ -18,11 +18,11 @@ OIBM PC character set
 #    General notes: none
 #
 #    Format: Three tab-separated columns
-#        Column #1 is the cp437 code (in hex)
+#        Column #1 is the cp437_DosLatinUS code (in hex)
 #        Column #2 is the Unicode (in hex as U+XXXX)
 #        Column #3 is the Unicode name (follows a comment sign, '#')
 #
-#    The entries are in cp437_DOSLatinUS order
+#    The entries are in cp437_DosLatinUS order
 #
 # some mapppings of greek letters to latin letters added,
 #  just for fun.. -kw
diff --git a/src/chrtrans/cp850_uni.tbl b/src/chrtrans/cp850_uni.tbl
index a8e66e15..30df79c0 100644
--- a/src/chrtrans/cp850_uni.tbl
+++ b/src/chrtrans/cp850_uni.tbl
@@ -6,7 +6,7 @@ D0
 Mcp850
 
 #Name as a Display Charset (used on Options screen)
-OIBM PC codepage 850 
+ODosLatin1 (cp850)
 #
 #    Name:     cp850_DOSLatin1 to Unicode table
 #    Unicode version: 1.1
diff --git a/src/chrtrans/cp852_uni.tbl b/src/chrtrans/cp852_uni.tbl
index e84454a8..ec812352 100644
--- a/src/chrtrans/cp852_uni.tbl
+++ b/src/chrtrans/cp852_uni.tbl
@@ -2,7 +2,7 @@
 Mcp852
 
 #Name as a Display Charset (used on Options screen)
-O PC Latin2 CP 852
+ODosLatin2 (cp852)
 
 #
 #    Name:     cp852_DOSLatin2 to Unicode table
diff --git a/src/chrtrans/def7_uni.tbl b/src/chrtrans/def7_uni.tbl
index 42cca597..6a3d09f0 100644
--- a/src/chrtrans/def7_uni.tbl
+++ b/src/chrtrans/def7_uni.tbl
@@ -232,6 +232,7 @@ U+0217:u)
 # IPA symbols, from
 #   Linkname: FAQ: Representing IPA Phonetics in ASCII
 #        URL: http://www.hpl.hp.com/personal/Evan_Kirshenbaum/IPA/faq.html
+#        (corrected in Russian Cyrillic area).
 # 
 0x41	U+0251 #	LATIN SMALL LETTER SCRIPT A	-> A
 U+0252:A.
@@ -418,7 +419,6 @@ U+03e1:p3
 U+03f4:'%
 U+03f5:j3
 # Cyrillic capital letters
-0x65	U+0401
 U+0402:D%
 U+0403:G%
 U+0404:IE
@@ -432,50 +432,75 @@ U+040b:Ts
 U+040c:KJ
 U+040e:V%
 U+040f:DZ
-0x61-0x62	U+0410-U+0411
-0x77	U+0412
-0x67	U+0413
-0x64-0x65	U+0414-U+0415
-0x76	U+0416
-0x7a	U+0417
-0x69-0x70	U+0418-U+041f
-0x72-0x75	U+0420-U+0423
-0x66	U+0424
-0x68	U+0425
-0x63	U+0426
-0x7e	U+0427
-0x7b	U+0428
-0x7d	U+0429
-0x27	U+042a
-0x79	U+042b
-0x78	U+042c
-0x7c	U+042d
-0x60	U+042e
-0x71	U+042f
-
-# Cyrillic small letters
-0x41-0x42	U+0430-U+0431
-0x57	U+0432
-0x47	U+0433
-0x44-0x45	U+0434-U+0435
-0x56	U+0436
-0x5a	U+0437
-0x49-0x50	U+0438-U+043f
-0x52-0x55	U+0440-U+0443
-0x46	U+0444
-0x48	U+0445
-0x43	U+0446
-0x5e	U+0447
-0x5b	U+0448
-0x5d	U+0449
-0x27	U+044a
-0x59	U+044b
-0x58	U+044c
-0x5c	U+044d
-0x40	U+044e
-0x51	U+044f
-
-0x65	U+0451	#:io
+# Russian Cyrillic letters, transliterated
+U+0401:IO
+U+0410:A
+U+0411:B
+U+0412:V
+U+0413:G
+U+0414:D
+U+0415:E
+U+0416:ZH
+U+0417:Z
+U+0418:I
+U+0419:J
+U+041a:K
+U+041b:L
+U+041c:M
+U+041d:N
+U+041e:O
+U+041f:P
+U+0420:R
+U+0421:S
+U+0422:T
+U+0423:U
+U+0424:F
+U+0425:H
+U+0426:C
+U+0427:CH
+U+0428:SH
+U+0429:SCH
+U+042a:"
+U+042b:Y
+U+042c:'
+U+042d:`E
+U+042e:JU
+U+042f:JA
+U+0430:a
+U+0431:b
+U+0432:v
+U+0433:g
+U+0434:d
+U+0435:e
+U+0436:zh
+U+0437:z
+U+0438:i
+U+0439:j
+U+043a:k
+U+043b:l
+U+043c:m
+U+043d:n
+U+043e:o
+U+043f:p
+U+0440:r
+U+0441:s
+U+0442:t
+U+0443:u
+U+0444:f
+U+0445:h
+U+0446:c
+U+0447:ch
+U+0448:sh
+U+0449:sch
+U+044a:"
+U+044b:y
+U+044c:'
+U+044d:`e
+U+044e:ju
+U+044f:ja
+U+0451:io
+# end of Russian Cyrillic letters.
+# Cyrillic small letters (and some archaic)
 U+0452:d%
 U+0453:g%
 U+0454:ie
@@ -1432,7 +1457,8 @@ U+223c:?1
 U+223e:CG
 U+2243:?-
 U+2245:?=
-U+2248:?2
+# ALMOST EQUAL TO:
+U+2248:~=
 U+224c:=?
 U+2253:HI
 U+2260:!=
@@ -1467,6 +1493,7 @@ U+2315:TR
 U+2318:88
 U+2320:Iu
 U+2321:Il
+U+2323::)
 U+2329:</
 U+232a:/>
 U+2423:Vs
diff --git a/src/chrtrans/next_uni.tbl b/src/chrtrans/next_uni.tbl
index 914a842a..55b03084 100644
--- a/src/chrtrans/next_uni.tbl
+++ b/src/chrtrans/next_uni.tbl
@@ -1,5 +1,5 @@
 #The MIME name of this charset.
-MIMEname x-next
+Mnext
 
 #Name as a Display Charset (used on Options screen)
 ONeXT character set
diff --git a/src/chrtrans/rfc_suni.tbl b/src/chrtrans/rfc_suni.tbl
index 4dd8b3f6..3d097e08 100644
--- a/src/chrtrans/rfc_suni.tbl
+++ b/src/chrtrans/rfc_suni.tbl
@@ -5,10 +5,10 @@
 # mnemonic,ds
 
 #The MIME name of this charset. 
-M mnemonic+ascii+0
+Mmnemonic+ascii+0
 
 #Name as a Display Charset (used on Options screen)
-O RFC 1345 w/o Intro
+ORFC 1345 w/o Intro
 
 # Don't fall back to default table for unicode -> 8bit
 Fallback NO
diff --git a/src/chrtrans/utf8_uni.tbl b/src/chrtrans/utf8_uni.tbl
index 84aaa000..eb120065 100644
--- a/src/chrtrans/utf8_uni.tbl
+++ b/src/chrtrans/utf8_uni.tbl
@@ -1,12 +1,13 @@
 #
 # This one is not really much of a "translation table", it mostly just
-# tells Lynx that "unicode-1-1-utf-8" is Unicode/UCS2 encoded in UTF8...
+# tells Lynx that "utf-8" is Unicode/UCS2 encoded in UTF8.  Note that
+# "unicode-1-1-utf-8" and "utf8" are treated as synonyms.
 #
 #The MIME name of this charset. 
 Mutf-8
 
 #Name as a Display Charset (used on Options screen)
-OptionName UNICODE UTF 8
+OUNICODE UTF 8
 
 # Some kind of raw Unicode?
 # Use 6 for for really "raw" 16bit UCS-2, 7 for UTF-8, ...
diff --git a/userdefs.h b/userdefs.h
index 31261533..2e991d9a 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -91,7 +91,6 @@
 #define LYNX_CFG_FILE "Lynx_Dir:lynx.cfg"
 #endif /* LYNX_CFG_FILE */
 
-
 /**************************
  * The EXTENSION_MAP file allows you to map file suffix's to 
  * mime types.
@@ -638,10 +637,10 @@
  *   DosGreek (cp737)			cp737
  *   DosGreek2 (cp869)			cp869
  *   DosHebrew (cp862)			cp862
- *   IBM PC character set		cp437
- *   IBM PC codepage 850		cp850
+ *   DosLatin1 (cp850)			cp850
+ *   DosLatin2 (cp852)			cp852
+ *   DosLatinUS (cp437)			cp437
  *   ISO 8859-10			iso-8859-10
- *   ISO 8859-5 Cyrillic		iso-8859-5
  *   ISO 8859-6 Arabic			iso-8859-6
  *   ISO 8859-7 Greek			iso-8859-7
  *   ISO 8859-8 Hebrew			iso-8859-8
@@ -650,14 +649,14 @@
  *   ISO Latin 2			iso-8859-2
  *   ISO Latin 3			iso-8859-3
  *   ISO Latin 4			iso-8859-4
+ *   ISO Latin 5 Cyrillic		iso-8859-5
  *   Japanese (EUC)			euc-jp
  *   Japanese (SJIS)			shift_jis
- *   KOI8-R character set		koi8-r
+ *   KOI8-R Cyrillic			koi8-r
  *   Korean				euc-kr
  *   Macintosh (8 bit)			macintosh
- *   NeXT character set			x-next
+ *   NeXT character set			next
  *   Other ISO Latin			x-iso-8859-other
- *   PC Latin2 CP 852			cp852
  *   RFC 1345 Mnemonic			mnemonic
  *   RFC 1345 w/o Intro			mnemonic+ascii+0
  *   Taipei (Big5)			big5
@@ -665,12 +664,12 @@
  *   UNICODE UTF 8			utf-8
  *   Vietnamese (VISCII)		viscii
  *   WinArabic (cp1256)			windows-1256
- *   WinBaltRim (cp1257)		cp1257
- *   WinCyrillic (cp1251)		cp1251
+ *   WinBaltRim (cp1257)		windows-1257
+ *   WinCyrillic (cp1251)		windows-1251
  *   WinGreek (cp1253)			windows-1253
  *   WinHebrew (cp1255)			windows-1255
- *   WinLatin1 (cp1252)			cp1252
- *   WinLatin2 (cp1250)			cp1250
+ *   WinLatin1 (cp1252)			windows-1252
+ *   WinLatin2 (cp1250)			windows-1250
  */
 #define CHARACTER_SET "ISO Latin 1"
 
@@ -1207,7 +1206,7 @@
  * the version definition with the Project Version on checkout. Just
  * ignore it. - kw */
 /* $Format: "#define LYNX_VERSION \"$ProjectVersion$\""$ */
-#define LYNX_VERSION "2.7.1ac-0.106"
+#define LYNX_VERSION "2.7.1ac-0.110"
 
 #ifndef MAXINT
 #define MAXINT 2147483647	/* max integer */
@@ -1225,8 +1224,8 @@
 #define SEARCH_GOAL_LINE 4	/* try to position search target there */
 #endif
 
-#define MAXCHARSETS 50		/* max character sets supported */
-#define MAXCHARSETSP 51		/* always one more than MAXCHARSETS */
+#define MAXCHARSETS 60		/* max character sets supported */
+#define MAXCHARSETSP 61		/* always one more than MAXCHARSETS */
 
 #ifdef __DJGPP__
 #define FNAMES_8_3
@@ -1249,6 +1248,10 @@
 
 #ifdef DOSPATH
 /*
+**  Following executables may be sought from your PATH at run-time.
+**  To get those programs look for GNU-port stuff elsewhere.
+**  Currently, if compiled with -DUSE_ZLIB (default), you need only "cp"
+**
 **    WINDOWS
 **  ===========
 */