about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1997-07-22 11:57:03 -0400
committerThomas E. Dickey <dickey@invisible-island.net>1997-07-22 11:57:03 -0400
commit36863953e4886d5269a325c93bd433847694a5fb (patch)
tree485d1197eea38785b908bcdc1e0f228ab90b80e1
parent57bfc74ff4ec4c2980b2330f2badc54a8990842d (diff)
downloadlynx-snapshots-36863953e4886d5269a325c93bd433847694a5fb.tar.gz
snapshot of project "lynx", label v2-7-1ac_0-38
-rw-r--r--.Lynx.prcs_aux74
-rw-r--r--CHANGES.new22
-rw-r--r--Lynx.prj101
-rw-r--r--WWW/Library/Implementation/HTAccess.c2
-rw-r--r--WWW/Library/Implementation/HTAtom.c2
-rw-r--r--WWW/Library/Implementation/HTTP.h11
-rw-r--r--aclocal.m443
-rw-r--r--config.hin1
-rwxr-xr-xconfigure487
-rw-r--r--configure.in15
-rw-r--r--lynx.cfg16
-rw-r--r--src/GridText.c10
-rw-r--r--src/HTAlert.c8
-rw-r--r--src/HTAlert.h4
-rw-r--r--src/HTFWriter.c2
-rw-r--r--src/LYBookmark.c4
-rw-r--r--src/LYCgi.c2
-rw-r--r--src/LYClean.c2
-rw-r--r--src/LYClean.h5
-rw-r--r--src/LYCurses.c181
-rw-r--r--src/LYCurses.h13
-rw-r--r--src/LYForms.c65
-rw-r--r--src/LYGetFile.c6
-rw-r--r--src/LYGlobalDefs.h1
-rw-r--r--src/LYHistory.c3
-rw-r--r--src/LYKeymap.h79
-rw-r--r--src/LYMail.c3
-rw-r--r--src/LYMain.c22
-rw-r--r--src/LYMainLoop.c6
-rw-r--r--src/LYMap.c3
-rw-r--r--src/LYNews.c2
-rw-r--r--src/LYNews.h4
-rw-r--r--src/LYOptions.c1611
-rw-r--r--src/LYOptions.h13
-rw-r--r--src/LYStrings.c7
-rw-r--r--src/LYStrings.h16
-rw-r--r--src/LYUtils.c20
-rw-r--r--src/LYexit.c1
-rw-r--r--userdefs.h11
39 files changed, 1522 insertions, 1356 deletions
diff --git a/.Lynx.prcs_aux b/.Lynx.prcs_aux
index 3d223089..fadcfcea 100644
--- a/.Lynx.prcs_aux
+++ b/.Lynx.prcs_aux
@@ -5,7 +5,7 @@
 (WWW/Library/Implementation/HTList.c 6153 856833014 h/4_HTList.c 1.1)
 (WWW/Library/Implementation/HTGroup.h 5641 856833014 f/49_HTGroup.h 1.1)
 (src/tcpwareolb.opt 24 856833014 d/8_tcpwareolb 1.1)
-(src/LYGlobalDefs.h 11427 869211854 d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.3)
+(src/LYGlobalDefs.h 11491 869443761 d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.4)
 (CHANGES2-3 18114 856833014 h/46_CHANGES2-3 1.1)
 (CHANGES2-4 48390 856833014 h/45_CHANGES2-4 1.1)
 (WWW/Library/freebsd/Makefile 600 856833014 f/10_Makefile 1.1)
@@ -34,16 +34,16 @@
 (build.com 8386 868451907 e/38_build.com 1.2)
 (lynx_help/lynx_url_support.html 28106 862290745 e/13_lynx_url_s 1.2)
 (lynx_help/keystroke_commands/follow_help.html 7617 868266973 43_follow_hel 1.1.1.1.1.2)
-(configure.in 7551 864148507 10_configure. 1.7)
+(configure.in 7786 869443761 10_configure. 1.8)
 (makefile.in 15252 868719652 8_makefile.i 1.1.1.7)
 (src/LYDownload.h 315 856833014 c/46_LYDownload 1.1)
 (src/chrtrans/cp1252_uni.tbl 10789 856856948 h/51_cp1252_uni 1.1)
 (utils/inews/config.h-dist 13461 856833014 b/51_config.h-d 1.1)
 (WWW/Library/Implementation/HTFTP.c 91171 868775901 h/14_HTFTP.c 1.6)
-(src/GridText.c 187269 869211854 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.2)
-(src/LYMain.c 85760 869211854 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.2)
+(src/GridText.c 187205 869443761 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.3)
+(src/LYMain.c 85862 869443761 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.3)
 (src/tcpwareshr.opt 30 856833014 d/6_tcpwareshr 1.1)
-(src/LYGetFile.c 33344 868567209 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.2)
+(src/LYGetFile.c 33329 869443761 d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.3)
 (src/chrtrans/iso05_uni.tbl 1865 856925688 i/8_iso05_uni. 1.2)
 (src/chrtrans/mnem_suni.tbl 24067 856856948 h/50_mnem_suni. 1.1)
 (README.configure 1047 861154810 14_README.con 1.3)
@@ -86,22 +86,22 @@
 (WWW/Library/convex/Makefile 723 856833014 f/2_Makefile 1.1)
 (config.sub 19236 861154810 30_config.sub 1.1)
 (src/AttrList.h 1306 864519259 33_AttrList.h 1.3)
-(src/LYKeymap.h 3808 863772691 d/30_LYKeymap.h 1.1.2.4)
+(src/LYKeymap.h 4048 869443761 d/30_LYKeymap.h 1.1.2.5)
 (src/gnuc.opt 84 856833014 d/12_gnuc.opt 1.1)
 (WWW/Library/Implementation/HTML.h 5859 868346760 g/28_HTML.h 1.1.2.2.1.1.1.1.1.1.1.2)
 (src/LYSearch.c 10569 868435012 d/38_LYSearch.c 1.2.2.5)
 (WWW/Library/Implementation/ufc-crypt.h 2491 856833014 f/33_ufc-crypt. 1.1)
 (src/socketshr_tcp.opt 16 856833014 d/9_socketshr_ 1.1)
-(src/HTAlert.c 12383 868401363 e/4_HTAlert.c 1.1.2.2)
-(src/LYUtils.c 133038 869186660 d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.6.1.2)
+(src/HTAlert.c 12383 869443761 e/4_HTAlert.c 1.1.2.3)
+(src/LYUtils.c 132921 869558057 d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.6.1.2.1.2)
 (src/LYCharUtils.c 74284 869211854 c/22_LYCharUtil 1.2.1.1.2.1.2.2.1.2.1.1.1.2.1.1.1.1.1.2)
 (PROBLEMS 7324 868157008 h/35_PROBLEMS 1.3)
 (src/LYSearch.h 326 861212923 d/28_LYSearch.h 1.2)
 (WWW/Library/next/Makefile 992 856833014 f/16_Makefile 1.1)
-(src/LYCgi.c 11405 863772691 c/28_LYCgi.c 1.1.1.2)
+(src/LYCgi.c 11378 869443761 c/28_LYCgi.c 1.1.1.3)
 (utils/lpansi/lpansi.c 4570 856833014 b/49_lpansi.c 1.1)
 (src/chrtrans/iso09_uni.tbl 857 856925688 i/11_iso09_uni. 1.2)
-(src/HTAlert.h 3283 868157008 d/1_HTAlert.h 1.2)
+(src/HTAlert.h 3283 869443761 d/1_HTAlert.h 1.3)
 (lynx_help/lynx_help_main.html 2726 868922448 e/29_lynx_help_ 1.3)
 (src/LYUtils.h 4016 868401363 d/34_LYUtils.h 1.1.2.3)
 (src/LYCharUtils.h 2338 868567209 c/19_LYCharUtil 1.1.2.3)
@@ -111,7 +111,7 @@
 (WWW/Library/clix/Makefile 683 856833014 e/49_Makefile 1.1)
 (RELEASE_STATEMENT 1212 860264978 h/33_RELEASE_ST 1.2)
 (utils/inews/README 2391 856833014 c/7_README 1.1)
-(src/LYHistory.c 18823 868567209 d/21_LYHistory. 1.1.2.1.4.1.1.1.1.2)
+(src/LYHistory.c 18817 869443761 d/21_LYHistory. 1.1.2.1.4.1.1.1.1.3)
 (src/chrtrans/makeuctb.c 14000 868719652 b/19_makeuctb.c 1.2)
 (utils/inews/Makefile 1484 857398594 c/9_Makefile 1.1.1.1)
 (WWW/Library/Implementation/HTChunk.h 3543 856833014 g/26_HTChunk.h 1.1)
@@ -139,7 +139,7 @@
 (src/chrtrans/cp1250_uni.tbl 10813 856856948 h/48_cp1250_uni 1.1)
 (src/decc.opt 58 856833014 d/13_decc.opt 1.1)
 (WWW/Library/Implementation/HTStyle.h 6741 856833014 g/18_HTStyle.h 1.1)
-(CHANGES.new 101263 869211854 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)
+(CHANGES.new 102390 869558057 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.2)
 (WWW/Library/Implementation/HTMLGen.h 753 856833014 g/22_HTMLGen.h 1.1)
 (WWW/Library/Implementation/HTFormat.h 10966 856833014 g/13_HTFormat.h 1.1)
 (WWW/Library/Implementation/HTUU.h 964 856833014 f/43_HTUU.h 1.1)
@@ -153,7 +153,7 @@
 (WWW/Library/sgi/Makefile 683 856833014 f/14_Makefile 1.1)
 (WWW/Library/Implementation/HTFile.h 4772 856856948 g/33_HTFile.h 1.2)
 (WWW/Library/isc/Makefile 679 856833014 e/50_Makefile 1.1)
-(src/LYMap.c 10509 868792596 c/21_LYMap.c 1.1.2.1.1.2.1.2.1.1)
+(src/LYMap.c 10459 869443761 c/21_LYMap.c 1.1.2.1.1.2.1.2.1.2)
 (src/LYPrint.c 30359 868567209 d/40_LYPrint.c 1.1.1.1.1.1.1.1.1.1.1.2)
 (WWW/Library/Implementation/HTTelnet.c 15458 862109152 h/24_HTTelnet.c 1.4)
 (about_lynx/about_lynx.html 4135 856833014 e/43_about_lynx 1.1)
@@ -165,7 +165,7 @@
 (src/LYReadCFG.c 33133 869211854 d/39_LYReadCFG. 1.1.1.1.3.2.3.1.1.3)
 (WWW/Library/vms/descrip.mms 9051 856833014 f/22_descrip.mm 1.1)
 (src/LYPrint.h 304 856833014 d/7_LYPrint.h 1.1)
-(WWW/Library/Implementation/HTAccess.c 36081 861698732 h/17_HTAccess.c 1.5)
+(WWW/Library/Implementation/HTAccess.c 36065 869443761 h/17_HTAccess.c 1.5.2.1)
 (WWW/Library/Implementation/HTTelnet.h 582 856833014 g/5_HTTelnet.h 1.1)
 (WWW/Library/Implementation/HTAnchor.c 33141 868567209 h/6_HTAnchor.c 1.1.4.3)
 (utils/inews/inews.c 7996 856833014 c/2_inews.c 1.1)
@@ -174,7 +174,7 @@
 (src/LYrcFile.c 27542 868401363 d/15_LYrcFile.c 1.1.3.2)
 (src/UCAux.c 6277 868451907 b/15_UCAux.c 1.1)
 (WWW/Library/Implementation/HTAccess.h 7620 860064663 g/35_HTAccess.h 1.3)
-(WWW/Library/Implementation/HTAtom.c 3868 856833014 h/7_HTAtom.c 1.1)
+(WWW/Library/Implementation/HTAtom.c 3883 869552380 h/7_HTAtom.c 1.1.2.1)
 (WWW/Library/Implementation/HTAAFile.c 5620 856833014 g/44_HTAAFile.c 1.1)
 (WWW/Library/Implementation/HTPasswd.c 7766 856833014 g/43_HTPasswd.c 1.1)
 (samples/mailcap 4771 856833014 e/11_mailcap 1.1)
@@ -190,9 +190,9 @@
 (src/descrip.mms 5045 868451907 e/6_descrip.mm 1.2)
 (src/LYSignal.h 300 856833014 d/23_LYSignal.h 1.1)
 (lynx_help/keystroke_commands/other_help.html 6511 868266973 e/22_other_help 1.4)
-(aclocal.m4 25832 864519259 12_aclocal.m4 1.9)
+(aclocal.m4 26986 869443761 12_aclocal.m4 1.10)
 (WWW/Library/Implementation/patchlevel.h 959 856833014 f/34_patchlevel 1.1)
-(userdefs.h 55297 868567209 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.2)
+(userdefs.h 55517 869443761 c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.3)
 (TCPWARE.announce 1352 856833014 h/31_TCPWARE.an 1.1)
 (WWW/Library/Implementation/HTMLDTD.c 63227 869211854 h/26_HTMLDTD.c 1.1.2.6)
 (WWW/Library/Implementation/HTAssoc.c 1736 856833014 g/39_HTAssoc.c 1.1)
@@ -201,7 +201,7 @@
 (src/LYUpload.h 300 856833014 c/49_LYUpload.h 1.1)
 (lynx_help/keystroke_commands/edit_help.html 1409 856833014 e/17_edit_help. 1.1)
 (src/LYLeaks.c 14715 868401363 c/31_LYLeaks.c 1.1.1.2)
-(src/LYMainLoop.c 144732 868567209 d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.2)
+(src/LYMainLoop.c 144664 869443761 d/43_LYMainLoop 1.2.4.2.2.1.2.6.1.2.1.1.1.1.1.1.1.1.1.3)
 (about_lynx/about_lynx-dev.html 2500 856833014 e/42_about_lynx 1.1)
 (VMSPrint.com 616 856833014 h/30_VMSPrint.c 1.1)
 (WWW/Library/netbsd/Makefile 613 856833014 f/0_Makefile 1.1)
@@ -218,7 +218,7 @@
 (samples/lynx.com 2192 856833014 e/10_lynx.com 1.1)
 (src/chrtrans/README.format 3551 860516309 i/5_README.for 1.2)
 (src/HTFont.h 438 856833014 d/0_HTFont.h 1.1)
-(src/LYStrings.c 36224 868567209 d/36_LYStrings. 1.1.3.3.2.6)
+(src/LYStrings.c 35922 869443761 d/36_LYStrings. 1.1.3.3.2.7)
 (src/LYCharSets.c 110574 868567209 c/45_LYCharSets 1.1.1.1.1.2)
 (WWW/Library/Implementation/Makefile 15116 856833014 f/40_Makefile 1.1)
 (WWW/Library/Implementation/HTDOS.c 1855 860588360 28_HTDOS.C 1.1)
@@ -230,7 +230,7 @@
 (utils/inews/clientlib.c 11163 856833014 c/5_clientlib. 1.1)
 (src/HTML.c 214654 869211854 e/2_HTML.c 1.1.4.1.1.1.1.2.1.4.1.2.1.3.1.2.1.3)
 (lynx_help/keystroke_commands/movement_help.html 1795 856833014 e/24_movement_h 1.1)
-(src/LYStrings.h 4782 868567209 d/20_LYStrings. 1.1.1.3)
+(src/LYStrings.h 4977 869443761 d/20_LYStrings. 1.1.1.4)
 (WWW/Library/sun3/Makefile 636 856833014 f/12_Makefile 1.1)
 (src/LYCharSets.h 1071 856856948 c/44_LYCharSets 1.2)
 (WWW/Library/Implementation/HTDOS.h 771 860588360 27_HTDOS.H 1.1)
@@ -246,12 +246,12 @@
 (src/LYStyle.c 9090 864519259 36_LYStyle.c 1.6)
 (newfiles.chartrans 1286 860620937 b/0_newfiles.chartrans 1.4)
 (WWW/Library/Implementation/HTParse.c 20852 860064663 h/18_HTParse.c 1.3)
-(src/HTFWriter.c 32219 869211854 d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.2)
+(src/HTFWriter.c 32218 869443761 d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.3)
 (WWW/Library/Implementation/HTWAIS.h 1554 856833014 g/4_HTWAIS.h 1.1)
 (WWW/Library/unix_x/Makefile 15482 856833014 f/1_Makefile 1.1)
 (WWW/Library/Implementation/SGML.h 8815 868567209 g/29_SGML.h 1.1.2.2)
 (WWW/Library/Implementation/HTRules.h 4105 856833014 g/14_HTRules.h 1.1)
-(lynx.cfg 76382 869211854 e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.3)
+(lynx.cfg 76687 869558057 e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.4)
 (src/HTInit.c 30678 864519259 e/3_HTInit.c 1.2.1.2)
 (WWW/Library/snake/Makefile 649 856833014 f/13_Makefile 1.1)
 (src/LYStyle.h 676 864519259 b/5_LYStyle.h 1.2)
@@ -273,7 +273,7 @@
 (WWW/Library/Implementation/HTAuth.c 5776 856833014 h/28_HTAuth.c 1.1)
 (lynx.hlp 13935 868688257 e/31_lynx.hlp 1.9)
 (src/HTSaveToFile.h 554 856833014 c/50_HTSaveToFi 1.1)
-(src/LYCurses.c 38156 868719652 d/51_LYCurses.c 1.1.5.1.1.8)
+(src/LYCurses.c 38110 869558057 d/51_LYCurses.c 1.1.5.1.1.8.1.2)
 (WWW/Library/Implementation/HTInit.h 613 856833014 g/12_HTInit.h 1.1)
 (WWW/Library/Implementation/HTAAServ.h 4950 856833014 g/1_HTAAServ.h 1.1)
 (WWW/Library/mips/Makefile 663 856833014 f/3_Makefile 1.1)
@@ -290,9 +290,9 @@
 (WWW/Library/Implementation/HTAuth.h 1791 856833014 f/47_HTAuth.h 1.1)
 (src/chrtrans/utf8_uni.tbl 936 856856948 i/7_utf8_uni.t 1.1)
 (WWW/Library/Implementation/HTTCP.c 28466 868567209 h/13_HTTCP.c 1.2.3.1.1.2)
-(src/LYCurses.h 9527 868719652 d/22_LYCurses.h 1.1.4.1.1.1.1.3)
+(src/LYCurses.h 9939 869443761 d/22_LYCurses.h 1.1.4.1.1.1.1.4)
 (descrip.mms 3765 868451907 e/37_descrip.mm 1.2)
-(WWW/Library/Implementation/HTTP.h 598 856833014 g/34_HTTP.h 1.1)
+(WWW/Library/Implementation/HTTP.h 672 869443761 g/34_HTTP.h 1.2)
 (test/TestComment.html 2032 856833014 c/13_TestCommen 1.1)
 (src/makefile.dos 2119 864148507 1_makefile.d 1.5)
 (WWW/Library/Implementation/HTString.h 1153 856833014 g/16_HTString.h 1.1)
@@ -304,7 +304,7 @@
 (src/win_tcp.opt 36 856833014 c/33_win_tcp.op 1.1)
 (config.guess 20446 862326975 31_config.gue 1.2)
 (src/LYHash.c 981 868224571 35_LYHash.c 1.3)
-(config.hin 4229 864148507 11_config.hin 1.7)
+(config.hin 4176 869443761 11_config.hin 1.8)
 (FM.announce 3655 856833014 h/40_FM.announc 1.1)
 (src/LYHash.h 791 868224571 34_LYHash.h 1.4)
 (WWW/Library/Implementation/HTPlain.c 15473 868567209 h/11_HTPlain.c 1.1.2.2)
@@ -313,7 +313,7 @@
 (WWW/Library/Implementation/HTAlert.c 3066 868157008 h/2_HTAlert.c 1.2)
 (src/vaxc.opt 54 856833014 c/34_vaxc.opt 1.1)
 (src/chrtrans/MAKEFILE.W32 1857 857398594 4_MAKEFILE.W 1.1)
-(configure 157077 864519259 13_configure 1.9)
+(configure 158691 869443761 13_configure 1.10)
 (WWW/Library/Implementation/HTPlain.h 460 856833014 g/25_HTPlain.h 1.1)
 (WWW/Library/Implementation/HTLex.c 3090 856833014 g/38_HTLex.c 1.1)
 (utils/inews/Manifest 649 856833014 c/8_Manifest 1.1)
@@ -336,19 +336,19 @@
 (utils/inews/nntp.h 2530 856833014 c/1_nntp.h 1.1)
 (src/LYLocal.h 2561 856833014 c/37_LYLocal.h 1.1)
 (src/chrtrans/iso07_uni.tbl 1791 856925688 i/13_iso07_uni. 1.2)
-(src/LYOptions.c 71247 869186660 d/41_LYOptions. 1.1.2.1.1.1.1.3)
+(src/LYOptions.c 69169 869443761 d/41_LYOptions. 1.1.2.1.1.1.1.4)
 (WWW/Library/Implementation/HTNews.c 62341 869211854 h/25_HTNews.c 1.1.2.2)
 (WWW/Library/Implementation/HTVMS_WaisUI.h 21281 856833014 f/26_HTVMS_Wais 1.1)
-(src/LYNews.c 11804 868567209 d/42_LYNews.c 1.5)
+(src/LYNews.c 11803 869443761 d/42_LYNews.c 1.6)
 (WWW/Library/rs6000/Makefile 610 856833014 f/15_Makefile 1.1)
 (utils/lpansi/README 3202 856833014 b/48_README 1.1)
 (WWW/Library/Implementation/BSDI_Makefile 13904 859167360 f/31_BSDI_Makef 1.2)
 (WWW/BUILD 1376 856833014 e/45_BUILD 1.1)
 (CRAWL.announce 5978 856833014 h/42_CRAWL.anno 1.1)
 (WWW/Library/Implementation/HTACL.c 6107 856833014 g/41_HTACL.c 1.1)
-(src/LYOptions.h 1223 868401363 d/17_LYOptions. 1.1.2.2)
+(src/LYOptions.h 1311 869443761 d/17_LYOptions. 1.1.2.3)
 (WWW/Library/Implementation/HTNews.h 1150 856833014 g/9_HTNews.h 1.1)
-(src/LYNews.h 212 856833014 c/42_LYNews.h 1.1)
+(src/LYNews.h 240 869443761 c/42_LYNews.h 1.2)
 (CHANGES.chartrans 7967 869211854 c/0_CHANGES.chartrans 1.9.1.4.1.1.1.1.1.3)
 (src/UCdomap.c 45422 868567209 i/20_UCdomap.c 1.5)
 (WWW/Library/Implementation/HTACL.h 3535 856833014 f/48_HTACL.h 1.1)
@@ -361,9 +361,9 @@
 (WWW/Library/Implementation/HTAABrow.c 36175 868266973 g/45_HTAABrow.c 1.2.1.2)
 (src/chrtrans/iso02_uni.tbl 2035 860516309 i/17_iso02_uni. 1.3)
 (WWW/Library/Implementation/HTFinger.h 476 856833014 f/23_HTFinger.h 1.1)
-(src/LYBookmark.c 23021 868567209 e/1_LYBookmark 1.1.2.1.1.5)
+(src/LYBookmark.c 23019 869443761 e/1_LYBookmark 1.1.2.1.1.6)
 (lynx_help/keystroke_commands/scrolling_help.html 2366 856833014 e/20_scrolling_ 1.1)
-(src/LYClean.c 3604 864519259 e/0_LYClean.c 1.1.4.1.1.3)
+(src/LYClean.c 3603 869443761 e/0_LYClean.c 1.1.4.1.1.4)
 (WWW/Library/Implementation/HTHistory.c 3973 856833014 g/49_HTHistory. 1.1)
 (WWW/Library/Implementation/HTAABrow.h 5323 868157008 g/0_HTAABrow.h 1.2)
 (src/chrtrans/def7_uni.tbl 24891 864183229 25_def7_uni.t 1.2)
@@ -372,9 +372,9 @@
 (newfiles.configure 272 861154810 7_newfiles.c 1.4)
 (WWW/Library/Implementation/HTFWriter.c 7487 856833014 h/10_HTFWriter. 1.1)
 (src/LYEditmap.c 5899 856833014 c/23_LYEditmap. 1.1)
-(src/LYForms.c 37274 868567209 d/49_LYForms.c 1.1.4.1.2.1.1.1.1.2)
+(src/LYForms.c 36826 869443761 d/49_LYForms.c 1.1.4.1.2.1.1.1.1.3)
 (WWW/Library/Implementation/HTGopher.c 53261 860064663 g/48_HTGopher.c 1.3)
-(src/LYClean.h 340 856833014 d/24_LYClean.h 1.1)
+(src/LYClean.h 390 869443761 d/24_LYClean.h 1.1.2.1)
 (WWW/Library/Implementation/HTGroup.c 18502 856833014 g/42_HTGroup.c 1.1)
 (WWW/Library/Implementation/HTHistory.h 2830 856833014 g/10_HTHistory. 1.1)
 (lynx_help/keystroke_commands/history_help.html 1801 856833014 e/25_history_he 1.1)
@@ -383,8 +383,8 @@
 (README.chartrans 8305 863760678 d/0_README.chartrans 1.6)
 (WWW/Library/Implementation/tcp.h 16708 863772691 h/19_tcp.h 1.7)
 (WWW/Library/Implementation/HTFWriter.h 998 856833014 g/23_HTFWriter. 1.1)
-(src/LYexit.c 3587 862343362 d/4_LYexit.c 1.5)
-(src/LYMail.c 30591 868567209 d/45_LYMail.c 1.1.1.1.1.1.3.4)
+(src/LYexit.c 3615 869552380 d/4_LYexit.c 1.6)
+(src/LYMail.c 30579 869443761 d/45_LYMail.c 1.1.1.1.1.1.3.5)
 (WWW/Library/solaris2/Makefile 655 856833014 f/6_Makefile 1.1)
 (WWW/Library/Implementation/HTGopher.h 562 856833014 g/8_HTGopher.h 1.1)
 (samples/lynx.cfg 76390 869211854 e/12_lynx.cfg 1.2.1.2.1.1.2.1.1.1.1.2)
diff --git a/CHANGES.new b/CHANGES.new
index a4836319..290cfed1 100644
--- a/CHANGES.new
+++ b/CHANGES.new
@@ -10,6 +10,28 @@ README.configure), and miscellaneous other changes.  Note that the 2.7 ->
 2.7.1 changes (which are listed at the beginning of the current CHANGES
 file) are duplicated here. - KW]
 
+1997-07-21
+* Check for lynx_uses_color and LYShowColor in lynx_start_status_color()
+  and lynx_stop_status_color() of LYCurses.c so that the statusline
+  will appear reverse (or otherwise hightlighted if the terminal doesn't
+  support reverse), if color support is compiled in but not currently
+  used. - KW
+* Added comments on color usage to lynx.cfg. - KW
+1997-07-20
+* Added command-line option "-nocolor" to disable color on terminals that
+  would otherwise support it.  Added options toggle for colors, tested
+  with ncurses. - TD
+* Remove option value from configure option "--with-color-styles". - TD
+* Correct background of popups in LYOptions.c - TD
+* Add configure check for compiler options to enable prototypes - TD
+* Remove IRIX "-cckr" compiler flags. - TD
+1997-07-18
+* Mods in LYexit.c and LYCurses.c to ensure restoration of stderr (if it
+  was changed for output to the trace log) on all exits. - BRL & FM
+* Include an unsigned char typecast in the HASH_FUNCTION definition for
+  HTAtom.c - CK
+* Modified change to is_url() of 1997-07-13 to check for the slash after
+  stripping any lead space characters. - FM
 1997-07-15
 * Added support for a commentURL attribute in cookies.  This attribute is
   under discussion in the HTTP-WG and not presently in the draft (see the
diff --git a/Lynx.prj b/Lynx.prj
index 0b15c75b..7f7e0e36 100644
--- a/Lynx.prj
+++ b/Lynx.prj
@@ -1,12 +1,13 @@
 ;; -*- Lisp -*-
 (Created-By-Prcs-Version 1 2 0)
 (Project-Description "PRCS Project for The Lynx browser")
-(Project-Version Lynx 2.7.1ac-0 36)
-(Parent-Version Lynx 2.7.1ac-0 35)
+(Project-Version Lynx 2.7.1ac-0 38)
+(Parent-Version Lynx 2.7.1ac-0 37)
 
-(Version-Log "with Fotemods up to 1997-07-15")
+(Version-Log "Several small changes: statusline attributes without color,
+ small fixes from fotemods")
 (New-Version-Log "")
-(Checkin-Time "Fri, 18 Jul 1997 01:44:14 -0600")
+(Checkin-Time "Tue, 22 Jul 1997 01:54:17 -0600")
 (Checkin-Login kweide)
 (Populate-Ignore ("\\.o$" "\\.a$" "~$" "^a.out$" "^core$"
                   "\\.dvi$" "\\.aux$" "^\\..*_aux$" "\\.log"
@@ -39,7 +40,7 @@
   (utils/inews/README (Lynx/c/7_README 1.1 644))
   (utils/inews/Manifest (Lynx/c/8_Manifest 1.1 644))
   (utils/inews/Makefile (Lynx/c/9_Makefile 1.1.1.1 644) :no-keywords)
-  (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.2 644))
+  (userdefs.h (Lynx/c/10_userdefs.h 1.1.2.1.1.1.1.1.1.1.2.1.1.1.1.3 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))
@@ -50,14 +51,14 @@
   (src/LYCookie.c (Lynx/c/18_LYCookie.c 1.2.1.7 644))
   (src/LYCharUtils.h (Lynx/c/19_LYCharUtil 1.1.2.3 644))
   (src/LYMap.h (Lynx/c/20_LYMap.h 1.2 644))
-  (src/LYMap.c (Lynx/c/21_LYMap.c 1.1.2.1.1.2.1.2.1.1 644))
+  (src/LYMap.c (Lynx/c/21_LYMap.c 1.1.2.1.1.2.1.2.1.2 644))
   
   (src/LYEditmap.c (Lynx/c/23_LYEditmap. 1.1 644))
   (src/LYTraversal.h (Lynx/c/24_LYTraversa 1.1 644))
   (src/LYTraversal.c (Lynx/c/25_LYTraversa 1.1.2.3 644))
   (src/LYList.h (Lynx/c/26_LYList.h 1.2 644))
   (src/LYCgi.h (Lynx/c/27_LYCgi.h 1.1 644))
-  (src/LYCgi.c (Lynx/c/28_LYCgi.c 1.1.1.2 644))
+  (src/LYCgi.c (Lynx/c/28_LYCgi.c 1.1.1.3 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.2 644))
@@ -71,7 +72,7 @@
   (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.1 644))
-  (src/LYNews.h (Lynx/c/42_LYNews.h 1.1 644))
+  (src/LYNews.h (Lynx/c/42_LYNews.h 1.2 644))
   (src/LYMail.h (Lynx/c/43_LYMail.h 1.2 644))
   (src/LYCharSets.h (Lynx/c/44_LYCharSets 1.2 644))
   (src/LYCharSets.c (Lynx/c/45_LYCharSets 1.1.1.1.1.2 644))
@@ -82,10 +83,10 @@
   (src/HTSaveToFile.h (Lynx/c/50_HTSaveToFi 1.1 644))
   (src/DefaultStyle.c (Lynx/c/51_DefaultSty 1.1.1.1 644))
   (src/HTFont.h (Lynx/d/0_HTFont.h 1.1 644))
-  (src/HTAlert.h (Lynx/d/1_HTAlert.h 1.2 644))
-  (src/HTFWriter.c (Lynx/d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.2 644))
+  (src/HTAlert.h (Lynx/d/1_HTAlert.h 1.3 644))
+  (src/HTFWriter.c (Lynx/d/2_HTFWriter. 1.1.3.1.3.1.1.1.1.1.3.3 644))
   (src/LYList.c (Lynx/d/3_LYList.c 1.1.3.2.1.1.1.2 644))
-  (src/LYexit.c (Lynx/d/4_LYexit.c 1.5 644))
+  (src/LYexit.c (Lynx/d/4_LYexit.c 1.6 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))
@@ -98,47 +99,47 @@
   (src/cmu_tcp.opt (Lynx/d/14_cmu_tcp.op 1.1 644))
   (src/LYrcFile.c (Lynx/d/15_LYrcFile.c 1.1.3.2 644))
   (src/LYEdit.h (Lynx/d/16_LYEdit.h 1.1 644))
-  (src/LYOptions.h (Lynx/d/17_LYOptions. 1.1.2.2 644))
+  (src/LYOptions.h (Lynx/d/17_LYOptions. 1.1.2.3 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.1.3 644))
-  (src/LYHistory.c (Lynx/d/21_LYHistory. 1.1.2.1.4.1.1.1.1.2 644))
-  (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.3 644))
+  (src/LYStrings.h (Lynx/d/20_LYStrings. 1.1.1.4 644))
+  (src/LYHistory.c (Lynx/d/21_LYHistory. 1.1.2.1.4.1.1.1.1.3 644))
+  (src/LYCurses.h (Lynx/d/22_LYCurses.h 1.1.4.1.1.1.1.4 644))
   (src/LYSignal.h (Lynx/d/23_LYSignal.h 1.1 644))
-  (src/LYClean.h (Lynx/d/24_LYClean.h 1.1 644))
-  (src/LYGlobalDefs.h (Lynx/d/25_LYGlobalDe 1.1.3.1.2.1.1.1.1.1.1.3 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.4 644))
   (src/LYStructs.h (Lynx/d/26_LYStructs. 1.1.3.4 644))
   
   (src/LYSearch.h (Lynx/d/28_LYSearch.h 1.2 644))
   (src/Makefile (Lynx/d/29_Makefile 1.2.2.4 644))
-  (src/LYKeymap.h (Lynx/d/30_LYKeymap.h 1.1.2.4 644))
+  (src/LYKeymap.h (Lynx/d/30_LYKeymap.h 1.1.2.5 644))
   (src/LYKeymap.c (Lynx/d/31_LYKeymap.c 1.1.2.6.1.1 644))
   (src/HTForms.h (Lynx/d/32_HTForms.h 1.2 644))
   (src/GridText.h (Lynx/d/33_GridText.h 1.1.1.1.1.3.1.1.1.1.1.2 644))
   (src/LYUtils.h (Lynx/d/34_LYUtils.h 1.1.2.3 644))
   (src/LYUpload.c (Lynx/d/35_LYUpload.c 1.1.4.2 644))
-  (src/LYStrings.c (Lynx/d/36_LYStrings. 1.1.3.3.2.6 644))
+  (src/LYStrings.c (Lynx/d/36_LYStrings. 1.1.3.3.2.7 644))
   (src/LYShowInfo.c (Lynx/d/37_LYShowInfo 1.1.2.1.2.7 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.3 644))
   (src/LYPrint.c (Lynx/d/40_LYPrint.c 1.1.1.1.1.1.1.1.1.1.1.2 644))
-  (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.3 644))
-  (src/LYNews.c (Lynx/d/42_LYNews.c 1.5 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.2 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.2 644))
-  (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.4 644))
+  (src/LYOptions.c (Lynx/d/41_LYOptions. 1.1.2.1.1.1.1.4 644))
+  (src/LYNews.c (Lynx/d/42_LYNews.c 1.6 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.3 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.3 644))
+  (src/LYMail.c (Lynx/d/45_LYMail.c 1.1.1.1.1.1.3.5 644))
   (src/LYLocal.c (Lynx/d/46_LYLocal.c 1.2.3.2 644))
   (src/LYJump.c (Lynx/d/47_LYJump.c 1.3 644))
-  (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.2 644))
-  (src/LYForms.c (Lynx/d/49_LYForms.c 1.1.4.1.2.1.1.1.1.2 644))
+  (src/LYGetFile.c (Lynx/d/48_LYGetFile. 1.5.2.3.2.1.1.1.1.3 644))
+  (src/LYForms.c (Lynx/d/49_LYForms.c 1.1.4.1.2.1.1.1.1.3 644))
   (src/LYEdit.c (Lynx/d/50_LYEdit.c 1.1.2.1.1.2 644))
   
-  (src/LYClean.c (Lynx/e/0_LYClean.c 1.1.4.1.1.3 644))
-  (src/LYBookmark.c (Lynx/e/1_LYBookmark 1.1.2.1.1.5 644))
+  (src/LYClean.c (Lynx/e/0_LYClean.c 1.1.4.1.1.4 644))
+  (src/LYBookmark.c (Lynx/e/1_LYBookmark 1.1.2.1.1.6 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.3 644))
   (src/HTInit.c (Lynx/e/3_HTInit.c 1.2.1.2 644))
-  (src/HTAlert.c (Lynx/e/4_HTAlert.c 1.1.2.2 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.2 644))
+  (src/HTAlert.c (Lynx/e/4_HTAlert.c 1.1.2.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.3 644))
   (src/descrip.mms (Lynx/e/6_descrip.mm 1.2 644))
   (samples/jumpsVMS.html (Lynx/e/7_jumpsVMS.h 1.1 644))
   (samples/jumpsUnix.html (Lynx/e/8_jumpsUnix. 1.1 644))
@@ -165,7 +166,7 @@
   (lynx_help/lynx_help_main.html (Lynx/e/29_lynx_help_ 1.3 644))
   (lynx.man (Lynx/e/30_lynx.man 1.5.2.5 644))
   (lynx.hlp (Lynx/e/31_lynx.hlp 1.9 644))
-  (lynx.cfg (Lynx/e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.3 644))
+  (lynx.cfg (Lynx/e/32_lynx.cfg 1.2.1.2.1.1.2.1.1.4 644))
   (fixed512.com (Lynx/e/33_fixed512.c 1.1 644))
   (docs/RFC-MAILCAP.txt (Lynx/e/34_RFC-MAILCA 1.1 644))
   (docs/README.txt (Lynx/e/35_README.txt 1.1 644))
@@ -271,7 +272,7 @@
   (WWW/Library/Implementation/HTFTP.h (Lynx/g/31_HTFTP.h 1.1 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.2 644))
-  (WWW/Library/Implementation/HTTP.h (Lynx/g/34_HTTP.h 1.1 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.3 644))
   (WWW/Library/Implementation/HTParse.h (Lynx/g/36_HTParse.h 1.1 644))
   (WWW/Library/Implementation/HTUU.c (Lynx/g/37_HTUU.c 1.2 644))
@@ -296,7 +297,7 @@
   (WWW/Library/Implementation/HTList.c (Lynx/h/4_HTList.c 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.3 644))
-  (WWW/Library/Implementation/HTAtom.c (Lynx/h/7_HTAtom.c 1.1 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 644))
   (WWW/Library/Implementation/HTMLGen.c (Lynx/h/9_HTMLGen.c 1.1.2.2 644))
   (WWW/Library/Implementation/HTFWriter.c (Lynx/h/10_HTFWriter. 1.1 644))
@@ -306,7 +307,7 @@
   (WWW/Library/Implementation/HTFTP.c (Lynx/h/14_HTFTP.c 1.6 644))
   (WWW/Library/Implementation/HTBTree.c (Lynx/h/15_HTBTree.c 1.1 644))
   (WWW/Library/Implementation/HTTP.c (Lynx/h/16_HTTP.c 1.1.1.1.1.1.1.1.1.3 644))
-  (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.5 644))
+  (WWW/Library/Implementation/HTAccess.c (Lynx/h/17_HTAccess.c 1.5.2.1 644))
   (WWW/Library/Implementation/HTParse.c (Lynx/h/18_HTParse.c 1.3 644))
   (WWW/Library/Implementation/tcp.h (Lynx/h/19_tcp.h 1.7 644))
   (WWW/Library/Implementation/HTWSRC.c (Lynx/h/20_HTWSRC.c 1.1.1.1 644))
@@ -390,17 +391,17 @@
 
 ;; 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 644))
+  (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.2 644))
 
 ;; Files added by populate at Tue, 11 Mar 1997 04:22:39 -0600:
 
   (newfiles.configure (Lynx/7_newfiles.c 1.4 644))
   (makefile.in (Lynx/8_makefile.i 1.1.1.7 644))
   (install.sh (Lynx/9_install.sh 1.1 755))
-  (configure.in (Lynx/10_configure. 1.7 644))
-  (config.hin (Lynx/11_config.hin 1.7 644))
-  (aclocal.m4 (Lynx/12_aclocal.m4 1.9 644))
-  (configure (Lynx/13_configure 1.9 755))
+  (configure.in (Lynx/10_configure. 1.8 644))
+  (config.hin (Lynx/11_config.hin 1.8 644))
+  (aclocal.m4 (Lynx/12_aclocal.m4 1.10 644))
+  (configure (Lynx/13_configure 1.10 755))
   (README.configure (Lynx/14_README.con 1.3 644))
   (CHANGES.configure (Lynx/15_CHANGES.co 1.1.1.4 644))
 
@@ -436,29 +437,21 @@
   (src/LYStyle.h (Lynx/b/5_LYStyle.h 1.2 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.8 644))
+  (src/LYCurses.c (Lynx/d/51_LYCurses.c 1.1.5.1.1.8.1.2 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.2 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.6.1.2 644))
+  (src/LYUtils.c (Lynx/d/27_LYUtils.c 1.1.4.1.2.2.1.1.1.6.1.2.1.2 644))
 
 
   (src/chrtrans/build-chrtrans.com (Lynx/b/0_build-chrt 1.1 644))
   (src/chrtrans/build-header.com (Lynx/c/0_build-head 1.1 644)))
 (Merge-Parents
-  (2.7.1fm-0.28 complete
-    (src/LYCookie.h src/LYCookie.h src/LYCookie.h r) (src/LYCookie.c src/LYCookie.c src/LYCookie.c m)
-    (src/LYCharUtils.c src/LYCharUtils.c src/LYCharUtils.c m) (src/HTFWriter.c src/HTFWriter.c src/HTFWriter.c m)
-    (src/LYGlobalDefs.h src/LYGlobalDefs.h src/LYGlobalDefs.h m) (src/LYReadCFG.c src/LYReadCFG.c src/LYReadCFG.c m)
-    (src/LYMain.c src/LYMain.c src/LYMain.c m) (src/HTML.c src/HTML.c src/HTML.c m)
-    (src/GridText.c src/GridText.c src/GridText.c m) (samples/lynx.cfg samples/lynx.cfg samples/lynx.cfg m)
-    (lynx_help/Lynx_users_guide.html lynx_help/Lynx_users_guide.html lynx_help/Lynx_users_guide.html m) (lynx_help/lynx_help_main.html lynx_help/lynx_help_main.html lynx_help/lynx_help_main.html r)
-    (lynx.man lynx.man lynx.man r) (lynx.hlp lynx.hlp lynx.hlp r)
-    (lynx.cfg lynx.cfg lynx.cfg m) (WWW/Library/Implementation/HTMIME.h WWW/Library/Implementation/HTMIME.h WWW/Library/Implementation/HTMIME.h r)
-    (WWW/Library/Implementation/HTMLDTD.h WWW/Library/Implementation/HTMLDTD.h WWW/Library/Implementation/HTMLDTD.h m) (WWW/Library/Implementation/HTMIME.c WWW/Library/Implementation/HTMIME.c WWW/Library/Implementation/HTMIME.c m)
-    (WWW/Library/Implementation/SGML.c WWW/Library/Implementation/SGML.c WWW/Library/Implementation/SGML.c m) (WWW/Library/Implementation/HTTP.c WWW/Library/Implementation/HTTP.c WWW/Library/Implementation/HTTP.c m)
-    (WWW/Library/Implementation/HTNews.c WWW/Library/Implementation/HTNews.c WWW/Library/Implementation/HTNews.c m) (WWW/Library/Implementation/HTMLDTD.c WWW/Library/Implementation/HTMLDTD.c WWW/Library/Implementation/HTMLDTD.c m)
-    (() FOTEMODS FOTEMODS n) (() 00README 00README n))
+  (2.7.1acfm-0.11 complete
+    (src/LYexit.c src/LYexit.c src/LYexit.c r) (WWW/Library/Implementation/HTAtom.c WWW/Library/Implementation/HTAtom.c WWW/Library/Implementation/HTAtom.c r)
+    (CHANGES.new CHANGES.new CHANGES.new m) (src/LYCurses.c src/LYCurses.c src/LYCurses.c m)
+    (src/LYUtils.c src/LYUtils.c src/LYUtils.c m) 
+  )
 )
 (New-Merge-Parents)
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index 440cb1b1..0c85ae52 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -40,6 +40,7 @@
 #endif
 
 #include "HTUtils.h"
+#include "HTTP.h"
 #include "HTAlert.h"
 /*
 **  Implements:
@@ -605,7 +606,6 @@ PRIVATE BOOL HTLoadDocument ARGS4(
     extern char * HTLoadedDocumentURL NOPARAMS;		   /* in GridText.c */
     extern BOOL HText_hasNoCacheSet PARAMS((HText *text)); /* in GridText.c */
     extern BOOL reloading;
-    extern char *redirecting_url;
     extern BOOL permanent_redirection;
     char *cp;
     BOOL ForcingNoCache = LYforce_no_cache;
diff --git a/WWW/Library/Implementation/HTAtom.c b/WWW/Library/Implementation/HTAtom.c
index 8286f49b..8fc95d16 100644
--- a/WWW/Library/Implementation/HTAtom.c
+++ b/WWW/Library/Implementation/HTAtom.c
@@ -38,7 +38,7 @@ PRIVATE void free_atoms NOPARAMS;
 /*
  *	Alternate hashing function.
  */
-#define HASH_FUNCTION(cp_hash) ((strlen(cp_hash) * *cp_hash) % HASH_SIZE)
+#define HASH_FUNCTION(cp_hash) ((strlen(cp_hash) * (unsigned char)*cp_hash) % HASH_SIZE)
 
 PUBLIC HTAtom * HTAtom_for ARGS1(CONST char *, string)
 {
diff --git a/WWW/Library/Implementation/HTTP.h b/WWW/Library/Implementation/HTTP.h
index c97369fb..92f1951c 100644
--- a/WWW/Library/Implementation/HTTP.h
+++ b/WWW/Library/Implementation/HTTP.h
@@ -1,6 +1,6 @@
 /*                     /Net/dxcern/userd/timbl/hypertext/WWW/Library/Implementation/HTTP.html
                                 HYPERTEXT TRANFER PROTOCOL
-                                             
+
  */
 #ifndef HTTP_H
 #define HTTP_H
@@ -19,10 +19,15 @@ GLOBALREF HTProtocol HTTPS;
 #define URL_POST_METHOD 2
 #define URL_MAIL_METHOD 3
 
+extern BOOL reloading;
+extern char * redirecting_url;
+extern BOOL permanent_redirection;
+extern BOOL redirect_post_content;
+
 #endif /* HTTP_H */
 
 /*
 
    end of HTTP module definition
-   
-    */
+
+ */
diff --git a/aclocal.m4 b/aclocal.m4
index 6c5a5f38..ac2cbac8 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -2,7 +2,7 @@ dnl Macros for auto-configure script.
 dnl written feb/1997
 dnl by T.E.Dickey <dickey@clark.net>
 dnl and Jim Spath <jspath@mail.bcpl.lib.md.us>
-
+dnl
 dnl ---------------------------------------------------------------------------
 dnl Add an include-directory to $CPPFLAGS.  Don't add /usr/include, since it's
 dnl redundant.  Also, don't add /usr/local/include if we're using gcc.
@@ -27,6 +27,47 @@ do
 		cf_add_incdir="$cf_top_incdir"
 	done
 done
+])dnl
+dnl ---------------------------------------------------------------------------
+dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES'
+dnl in the sharutils 4.2 distribution.
+AC_DEFUN([CF_ANSI_CC],
+[
+AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
+AC_CACHE_VAL(cf_cv_ansi_cc,[
+cf_cv_ansi_cc=no
+cf_save_CFLAGS="$CFLAGS"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX			-Aa -D_HPUX_SOURCE
+# SVR4			-Xc
+# UnixWare 1.2		(cannot use -Xc, since ANSI/POSIX clashes)
+for cf_arg in "-DCC_HAS_PROTOS" "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
+do
+	CFLAGS="$cf_save_CFLAGS $cf_arg"
+	AC_TRY_COMPILE(
+[
+#ifndef CC_HAS_PROTOS
+#if !defined(__STDC__) || __STDC__ != 1
+choke me
+#endif
+#endif
+],[
+	int test (int i, double x);
+	struct s1 {int (*f) (int a);};
+	struct s2 {int (*f) (double a);};],
+	[cf_cv_ansi_cc="$cf_arg"; break])
+done
+CFLAGS="$cf_save_CFLAGS"
+])
+AC_MSG_RESULT($cf_cv_ansi_cc)
+if test "$cf_cv_ansi_cc" != "no"; then
+if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+	CFLAGS="$CFLAGS $cf_cv_ansi_cc"
+fi
+fi
 ])
 dnl ---------------------------------------------------------------------------
 dnl Check for existence of alternate-character-set support in curses, so we
diff --git a/config.hin b/config.hin
index 645f1a6c..29f3dd3b 100644
--- a/config.hin
+++ b/config.hin
@@ -1,6 +1,5 @@
 /* The configure script translates "config.hin" into "lynx_cfg.h" */
 #undef USE_COLOR_STYLE		/* FIXME: was 'CS' */
-#undef SLCS			/* FIXME: rename to USE_SLANG_STYLE */
 #undef USEHASH			/* FIXME: rename to USE_HASHING */
 #undef UNPAINT_CACHE		/* FIXME: for RP's code */
 /* #undef TEST			** FIXME: for RP's code */
diff --git a/configure b/configure
index 8627b01b..05dc6570 100755
--- a/configure
+++ b/configure
@@ -18,7 +18,7 @@ ac_help="$ac_help
   --with-screen=XXX       select screen type
                           (XXX is curses (default), ncurses or slang)"
 ac_help="$ac_help
-  --with-color-style=XXX  enable color style (types are ncurses, slang)"
+  --with-color-style      enable color style"
 ac_help="$ac_help
   --disable-parent-dir-refs
                           disable \"Up-to\" parent-links in directory listings"
@@ -2029,13 +2029,69 @@ cat >> confdefs.h <<\EOF
 EOF
 
 
+
+echo $ac_n "checking for ${CC-cc} option to accept ANSI C""... $ac_c" 1>&6
+echo "configure:2035: 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
+  
+cf_cv_ansi_cc=no
+cf_save_CFLAGS="$CFLAGS"
+# Don't try gcc -ansi; that turns off useful extensions and
+# breaks some systems' header files.
+# AIX			-qlanglvl=ansi
+# Ultrix and OSF/1	-std1
+# HP-UX			-Aa -D_HPUX_SOURCE
+# SVR4			-Xc
+# UnixWare 1.2		(cannot use -Xc, since ANSI/POSIX clashes)
+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 2053 "configure"
+#include "confdefs.h"
+
+#ifndef CC_HAS_PROTOS
+#if !defined(__STDC__) || __STDC__ != 1
+choke me
+#endif
+#endif
+
+int main() {
+
+	int test (int i, double x);
+	struct s1 {int (*f) (int a);};
+	struct s2 {int (*f) (double a);};
+; return 0; }
+EOF
+if { (eval echo configure:2069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  cf_cv_ansi_cc="$cf_arg"; break
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+CFLAGS="$cf_save_CFLAGS"
+
+fi
+
+echo "$ac_t""$cf_cv_ansi_cc" 1>&6
+if test "$cf_cv_ansi_cc" != "no"; then
+if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then
+	CFLAGS="$CFLAGS $cf_cv_ansi_cc"
+fi
+fi
+
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2034: checking for working const" >&5
+echo "configure:2090: 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 2039 "configure"
+#line 2095 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2084,7 +2140,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:2088: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -2134,7 +2190,10 @@ isc*)
 	LIBS="$LIBS -linet -lnsl_s -lcposix"
 	;;
 irix*)
-	CFLAGS="$CFLAGS -cckr" 
+	# The original makefile used the $CFLAGS option -cckr for some form
+	# of K&R compatibility.  However, this causes compilation warnings for
+	# varargs on IRIX 5.2, and does not appear to be needed.
+	#removed: CFLAGS="$CFLAGS -cckr" 
 	;;
 linux*)
 	CFLAGS="$CFLAGS -DLINUX" 
@@ -2170,12 +2229,12 @@ esac
 
 NETLIBS=""
 echo $ac_n "checking for gethostname""... $ac_c" 1>&6
-echo "configure:2174: checking for gethostname" >&5
+echo "configure:2233: checking for gethostname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2179 "configure"
+#line 2238 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostname(); below.  */
@@ -2198,7 +2257,7 @@ gethostname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostname=yes"
 else
@@ -2220,7 +2279,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for gethostname in -lnsl""... $ac_c" 1>&6
-echo "configure:2224: checking for gethostname in -lnsl" >&5
+echo "configure:2283: 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
@@ -2228,7 +2287,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $NETLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2232 "configure"
+#line 2291 "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
@@ -2239,7 +2298,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2302: \"$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
@@ -2262,7 +2321,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for gethostname in -lsocket""... $ac_c" 1>&6
-echo "configure:2266: checking for gethostname in -lsocket" >&5
+echo "configure:2325: 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
@@ -2270,7 +2329,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2274 "configure"
+#line 2333 "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
@@ -2281,7 +2340,7 @@ int main() {
 gethostname()
 ; return 0; }
 EOF
-if { (eval echo configure:2285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2344: \"$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
@@ -2310,12 +2369,12 @@ fi
 fi
 
 echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:2314: checking for socket" >&5
+echo "configure:2373: checking for socket" >&5
 if eval "test \"`echo '$''{'ac_cv_func_socket'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2319 "configure"
+#line 2378 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char socket(); below.  */
@@ -2338,7 +2397,7 @@ socket();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_socket=yes"
 else
@@ -2360,7 +2419,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6
-echo "configure:2364: checking for socket in -lsocket" >&5
+echo "configure:2423: 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
@@ -2368,7 +2427,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket $NETLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2372 "configure"
+#line 2431 "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
@@ -2379,7 +2438,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2442: \"$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
@@ -2402,7 +2461,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for socket in -lbsd""... $ac_c" 1>&6
-echo "configure:2406: checking for socket in -lbsd" >&5
+echo "configure:2465: 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
@@ -2410,7 +2469,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2414 "configure"
+#line 2473 "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
@@ -2421,7 +2480,7 @@ int main() {
 socket()
 ; return 0; }
 EOF
-if { (eval echo configure:2425: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2484: \"$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
@@ -2450,12 +2509,12 @@ fi
 fi
 
 echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:2454: checking for gethostbyname" >&5
+echo "configure:2513: checking for gethostbyname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2459 "configure"
+#line 2518 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostbyname(); below.  */
@@ -2478,7 +2537,7 @@ gethostbyname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_gethostbyname=yes"
 else
@@ -2500,7 +2559,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:2504: checking for gethostbyname in -lnsl" >&5
+echo "configure:2563: 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
@@ -2508,7 +2567,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl $NETLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2512 "configure"
+#line 2571 "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
@@ -2519,7 +2578,7 @@ int main() {
 gethostbyname()
 ; return 0; }
 EOF
-if { (eval echo configure:2523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2582: \"$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
@@ -2546,12 +2605,12 @@ fi
 fi
 
 echo $ac_n "checking for strcasecmp""... $ac_c" 1>&6
-echo "configure:2550: checking for strcasecmp" >&5
+echo "configure:2609: checking for strcasecmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strcasecmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2555 "configure"
+#line 2614 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strcasecmp(); below.  */
@@ -2574,7 +2633,7 @@ strcasecmp();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_strcasecmp=yes"
 else
@@ -2596,7 +2655,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:2600: checking for strcasecmp in -lresolv" >&5
+echo "configure:2659: 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
@@ -2604,7 +2663,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv $NETLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2608 "configure"
+#line 2667 "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
@@ -2615,7 +2674,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:2619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2678: \"$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
@@ -2645,7 +2704,7 @@ LIBS="$LIBS $NETLIBS"
 
 
 echo $ac_n "checking for screen type""... $ac_c" 1>&6
-echo "configure:2649: checking for screen type" >&5
+echo "configure:2708: checking for screen type" >&5
 if eval "test \"`echo '$''{'cf_cv_screen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2673,12 +2732,12 @@ case $cf_cv_screen in
 curses)
 	
 echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:2677: checking for initscr" >&5
+echo "configure:2736: 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 2682 "configure"
+#line 2741 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -2701,7 +2760,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:2705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -2729,7 +2788,7 @@ if test -d /usr/5lib ; then
 fi
 cf_save_LIBS="$LIBS"
 echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:2733: checking for tgoto in -ltermcap" >&5
+echo "configure:2792: 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
@@ -2737,7 +2796,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2741 "configure"
+#line 2800 "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 +2807,7 @@ int main() {
 tgoto()
 ; 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:2811: \"$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
@@ -2766,7 +2825,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   
 	LIBS="-ltermcap $cf_save_LIBS"
 	echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
-echo "configure:2770: checking for initscr in -lcurses" >&5
+echo "configure:2829: 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
@@ -2774,7 +2833,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2778 "configure"
+#line 2837 "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
@@ -2785,7 +2844,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:2789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2848: \"$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
@@ -2812,7 +2871,7 @@ else
   echo "$ac_t""no" 1>&6
 
 		echo $ac_n "checking for initscr in -lcursesX""... $ac_c" 1>&6
-echo "configure:2816: checking for initscr in -lcursesX" >&5
+echo "configure:2875: checking for initscr in -lcursesX" >&5
 ac_lib_var=`echo cursesX'_'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
@@ -2820,7 +2879,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcursesX  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2824 "configure"
+#line 2883 "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
@@ -2831,7 +2890,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:2835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2894: \"$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
@@ -2858,7 +2917,7 @@ else
   echo "$ac_t""no" 1>&6
 
 			echo $ac_n "checking for initscr in -ljcurses""... $ac_c" 1>&6
-echo "configure:2862: checking for initscr in -ljcurses" >&5
+echo "configure:2921: checking for initscr in -ljcurses" >&5
 ac_lib_var=`echo jcurses'_'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
@@ -2866,7 +2925,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ljcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2870 "configure"
+#line 2929 "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
@@ -2877,7 +2936,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:2881: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2940: \"$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
@@ -2915,7 +2974,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for initscr in -lcurses""... $ac_c" 1>&6
-echo "configure:2919: checking for initscr in -lcurses" >&5
+echo "configure:2978: 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
@@ -2923,7 +2982,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 2927 "configure"
+#line 2986 "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
@@ -2934,7 +2993,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:2938: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2997: \"$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
@@ -2970,14 +3029,14 @@ fi
 
 	
 echo $ac_n "checking for curses performance tradeoff""... $ac_c" 1>&6
-echo "configure:2974: checking for curses performance tradeoff" >&5
+echo "configure:3033: 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 2981 "configure"
+#line 3040 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -2991,11 +3050,11 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:2995: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3054: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   
 	cat > conftest.$ac_ext <<EOF
-#line 2999 "configure"
+#line 3058 "configure"
 #include "confdefs.h"
 
 #define CURS_PERFORMANCE
@@ -3010,7 +3069,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:3014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_curs_performance=yes
 else
@@ -3035,20 +3094,20 @@ EOF
 ncurses)
 	
 echo $ac_n "checking for ncurses header file""... $ac_c" 1>&6
-echo "configure:3039: checking for ncurses header file" >&5
+echo "configure:3098: 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 3045 "configure"
+#line 3104 "configure"
 #include "confdefs.h"
 #include <curses.h>
 int main() {
 printf("%s\n", NCURSES_VERSION)
 ; return 0; }
 EOF
-if { (eval echo configure:3052: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_header=predefined
 else
@@ -3129,12 +3188,12 @@ done
 esac
 
 	echo $ac_n "checking for initscr""... $ac_c" 1>&6
-echo "configure:3133: checking for initscr" >&5
+echo "configure:3192: 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 3138 "configure"
+#line 3197 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char initscr(); below.  */
@@ -3157,7 +3216,7 @@ initscr();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_initscr=yes"
 else
@@ -3186,7 +3245,7 @@ case $cf_cv_ncurses_header in
 	;;
 esac
 echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:3190: checking for Gpm_Open in -lgpm" >&5
+echo "configure:3249: 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
@@ -3194,7 +3253,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3198 "configure"
+#line 3257 "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
@@ -3205,7 +3264,7 @@ int main() {
 Gpm_Open()
 ; return 0; }
 EOF
-if { (eval echo configure:3209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3268: \"$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 +3281,7 @@ 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:3226: checking for initscr in -lgpm" >&5
+echo "configure:3285: 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
@@ -3230,7 +3289,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgpm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3234 "configure"
+#line 3293 "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
@@ -3241,7 +3300,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3304: \"$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
@@ -3259,7 +3318,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   
 		# don't try to link with gpm, since it contains curses
 		echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:3263: checking for initscr in -lncurses" >&5
+echo "configure:3322: checking for initscr in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'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
@@ -3267,7 +3326,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3271 "configure"
+#line 3330 "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
@@ -3278,7 +3337,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3341: \"$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
@@ -3310,17 +3369,17 @@ else
   echo "$ac_t""no" 1>&6
 
 		echo $ac_n "checking if ncurses needs -lgpm to link""... $ac_c" 1>&6
-echo "configure:3314: checking if ncurses needs -lgpm to link" >&5
+echo "configure:3373: checking if ncurses needs -lgpm to link" >&5
 		LIBS="-lncurses $cf_save_LIBS"
 		cat > conftest.$ac_ext <<EOF
-#line 3317 "configure"
+#line 3376 "configure"
 #include "confdefs.h"
 #include <$cf_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_need_gpm=no
 else
@@ -3329,14 +3388,14 @@ else
   rm -rf conftest*
   LIBS="-lncurses -lgpm $cf_save_LIBS"
 			cat > conftest.$ac_ext <<EOF
-#line 3333 "configure"
+#line 3392 "configure"
 #include "confdefs.h"
 #include <$cf_header>
 int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_need_gpm=yes
 else
@@ -3355,7 +3414,7 @@ fi
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:3359: checking for initscr in -lncurses" >&5
+echo "configure:3418: checking for initscr in -lncurses" >&5
 ac_lib_var=`echo ncurses'_'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
@@ -3363,7 +3422,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3367 "configure"
+#line 3426 "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
@@ -3374,7 +3433,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3378: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3437: \"$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
@@ -3417,7 +3476,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:3421: checking for tigetstr in -ltermlib" >&5
+echo "configure:3480: 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
@@ -3425,7 +3484,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3429 "configure"
+#line 3488 "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
@@ -3436,7 +3495,7 @@ int main() {
 tigetstr()
 ; return 0; }
 EOF
-if { (eval echo configure:3440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3499: \"$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
@@ -3459,7 +3518,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:3463: checking for tgoto in -ltermlib" >&5
+echo "configure:3522: 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
@@ -3467,7 +3526,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermlib  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3471 "configure"
+#line 3530 "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
@@ -3478,7 +3537,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3541: \"$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
@@ -3502,7 +3561,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:3506: checking for initscr in -lcurses" >&5
+echo "configure:3565: 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
@@ -3510,7 +3569,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3514 "configure"
+#line 3573 "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
@@ -3521,7 +3580,7 @@ int main() {
 initscr()
 ; return 0; }
 EOF
-if { (eval echo configure:3525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3584: \"$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
@@ -3542,7 +3601,7 @@ else
 fi
 
 	echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
-echo "configure:3546: checking for tgoto in -ltermcap" >&5
+echo "configure:3605: 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
@@ -3550,7 +3609,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3554 "configure"
+#line 3613 "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
@@ -3561,7 +3620,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3624: \"$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
@@ -3584,7 +3643,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:3588: checking for tgoto in -ltermcap" >&5
+echo "configure:3647: 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
@@ -3592,7 +3651,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ltermcap  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3596 "configure"
+#line 3655 "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
@@ -3603,7 +3662,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3666: \"$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
@@ -3626,7 +3685,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:3630: checking for tgoto in -lncurses" >&5
+echo "configure:3689: 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
@@ -3634,7 +3693,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lncurses  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3638 "configure"
+#line 3697 "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
@@ -3645,7 +3704,7 @@ int main() {
 tgoto()
 ; return 0; }
 EOF
-if { (eval echo configure:3649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3708: \"$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
@@ -3675,20 +3734,20 @@ fi
 
 	
 echo $ac_n "checking for slang header file""... $ac_c" 1>&6
-echo "configure:3679: checking for slang header file" >&5
+echo "configure:3738: 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 3685 "configure"
+#line 3744 "configure"
 #include "confdefs.h"
 #include <slang.h>
 int main() {
 printf("%s\n", SLANG_VERSION)
 ; return 0; }
 EOF
-if { (eval echo configure:3692: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3751: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_slang_header=predefined
 else
@@ -3749,12 +3808,12 @@ done
 
 	
 	echo $ac_n "checking for SLtt_get_screen_size""... $ac_c" 1>&6
-echo "configure:3753: checking for SLtt_get_screen_size" >&5
+echo "configure:3812: 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 3758 "configure"
+#line 3817 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char SLtt_get_screen_size(); below.  */
@@ -3777,7 +3836,7 @@ SLtt_get_screen_size();
 
 ; return 0; }
 EOF
-if { (eval echo configure:3781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3840: \"$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
@@ -3796,7 +3855,7 @@ else
   echo "$ac_t""no" 1>&6
 
 	echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
-echo "configure:3800: checking for SLtt_get_screen_size in -lslang" >&5
+echo "configure:3859: checking for SLtt_get_screen_size in -lslang" >&5
 ac_lib_var=`echo slang'_'SLtt_get_screen_size | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3804,7 +3863,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lslang "-lm" $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3808 "configure"
+#line 3867 "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
@@ -3815,7 +3874,7 @@ int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:3819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3878: \"$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
@@ -3834,7 +3893,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for SLtt_get_screen_size in -lslang""... $ac_c" 1>&6
-echo "configure:3838: checking for SLtt_get_screen_size in -lslang" >&5
+echo "configure:3897: checking for SLtt_get_screen_size in -lslang" >&5
 ac_lib_var=`echo slang'_'SLtt_get_screen_size | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3842,7 +3901,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lslang "-lm" $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3846 "configure"
+#line 3905 "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
@@ -3853,7 +3912,7 @@ int main() {
 SLtt_get_screen_size()
 ; return 0; }
 EOF
-if { (eval echo configure:3857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3916: \"$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
@@ -3884,12 +3943,12 @@ esac
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3888: checking for ANSI C header files" >&5
+echo "configure:3947: 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 3893 "configure"
+#line 3952 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -3897,7 +3956,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -3914,7 +3973,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 3918 "configure"
+#line 3977 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -3932,7 +3991,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 3936 "configure"
+#line 3995 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -3953,7 +4012,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 3957 "configure"
+#line 4016 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -3964,7 +4023,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:3968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -3988,12 +4047,12 @@ EOF
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3992: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:4051: 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 3997 "configure"
+#line 4056 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -4002,7 +4061,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:4006: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -4027,12 +4086,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:4031: checking for $ac_hdr that defines DIR" >&5
+echo "configure:4090: 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 4036 "configure"
+#line 4095 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -4040,7 +4099,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:4044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -4065,7 +4124,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:4069: checking for opendir in -ldir" >&5
+echo "configure:4128: 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
@@ -4073,7 +4132,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4077 "configure"
+#line 4136 "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
@@ -4084,7 +4143,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4147: \"$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
@@ -4106,7 +4165,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:4110: checking for opendir in -lx" >&5
+echo "configure:4169: 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
@@ -4114,7 +4173,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4118 "configure"
+#line 4177 "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
@@ -4125,7 +4184,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:4129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4188: \"$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
@@ -4163,17 +4222,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:4167: checking for $ac_hdr" >&5
+echo "configure:4226: 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 4172 "configure"
+#line 4231 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4177: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4201,13 +4260,13 @@ done
 
 
 echo $ac_n "checking termio.h and termios.h""... $ac_c" 1>&6
-echo "configure:4205: checking termio.h and termios.h" >&5
+echo "configure:4264: 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 4211 "configure"
+#line 4270 "configure"
 #include "confdefs.h"
 
 #if HAVE_TERMIO_H
@@ -4220,7 +4279,7 @@ int main() {
 putchar (0x0a)
 ; return 0; }
 EOF
-if { (eval echo configure:4224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_termio_and_termios=yes
 else
@@ -4241,12 +4300,12 @@ EOF
 
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:4245: checking for pid_t" >&5
+echo "configure:4304: 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 4250 "configure"
+#line 4309 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4275,17 +4334,17 @@ fi
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:4279: checking for vfork.h" >&5
+echo "configure:4338: 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 4284 "configure"
+#line 4343 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4348: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4310,18 +4369,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:4314: checking for working vfork" >&5
+echo "configure:4373: 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:4320: checking for vfork" >&5
+echo "configure:4379: 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 4325 "configure"
+#line 4384 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -4344,7 +4403,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_vfork=yes"
 else
@@ -4365,7 +4424,7 @@ fi
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 4369 "configure"
+#line 4428 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -4460,7 +4519,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:4464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4523: \"$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
@@ -4484,20 +4543,20 @@ fi
 
 
 echo $ac_n "checking for broken/missing definition of remove""... $ac_c" 1>&6
-echo "configure:4488: checking for broken/missing definition of remove" >&5
+echo "configure:4547: 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 4494 "configure"
+#line 4553 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:4501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_baddef_remove=no
 else
@@ -4505,7 +4564,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 4509 "configure"
+#line 4568 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 		int __unlink(name) { return unlink(name); } 
@@ -4513,7 +4572,7 @@ int main() {
 remove("dummy")
 ; return 0; }
 EOF
-if { (eval echo configure:4517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_baddef_remove=yes
 else
@@ -4542,12 +4601,12 @@ for ac_func in \
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4546: checking for $ac_func" >&5
+echo "configure:4605: 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 4551 "configure"
+#line 4610 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4570,7 +4629,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4598,13 +4657,13 @@ done
 
 
 echo $ac_n "checking if TRUE/FALSE are defined""... $ac_c" 1>&6
-echo "configure:4602: checking if TRUE/FALSE are defined" >&5
+echo "configure:4661: 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 4608 "configure"
+#line 4667 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -4613,7 +4672,7 @@ int main() {
 int x = TRUE, y = FALSE
 ; return 0; }
 EOF
-if { (eval echo configure:4617: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_bool_defs=yes
 else
@@ -4639,13 +4698,13 @@ fi
 
 
 echo $ac_n "checking for errno external decl""... $ac_c" 1>&6
-echo "configure:4643: checking for errno external decl" >&5
+echo "configure:4702: checking for errno external decl" >&5
 if eval "test \"`echo '$''{'cf_cv_extern_errno'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 4649 "configure"
+#line 4708 "configure"
 #include "confdefs.h"
 
 #include <errno.h>
@@ -4653,7 +4712,7 @@ int main() {
 int x = errno
 ; return 0; }
 EOF
-if { (eval echo configure:4657: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4716: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_extern_errno=yes
 else
@@ -4673,20 +4732,20 @@ EOF
 
 
 echo $ac_n "checking for setlocale()""... $ac_c" 1>&6
-echo "configure:4677: checking for setlocale()" >&5
+echo "configure:4736: 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 4683 "configure"
+#line 4742 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 setlocale(LC_ALL, "")
 ; return 0; }
 EOF
-if { (eval echo configure:4690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_locale=yes
 else
@@ -4707,13 +4766,13 @@ EOF
 
 
 echo $ac_n "checking if NGROUPS is defined""... $ac_c" 1>&6
-echo "configure:4711: checking if NGROUPS is defined" >&5
+echo "configure:4770: 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 4717 "configure"
+#line 4776 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -4727,7 +4786,7 @@ int main() {
 int x = NGROUPS
 ; return 0; }
 EOF
-if { (eval echo configure:4731: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4790: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=yes
 else
@@ -4735,7 +4794,7 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 4739 "configure"
+#line 4798 "configure"
 #include "confdefs.h"
 
 #if HAVE_SYS_PARAM_H
@@ -4749,7 +4808,7 @@ int main() {
 int x = NGROUPS_MAX
 ; return 0; }
 EOF
-if { (eval echo configure:4753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4812: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ngroups=NGROUPS_MAX
 else
@@ -4780,13 +4839,13 @@ fi
 
 
 echo $ac_n "checking declaration of sys_errlist""... $ac_c" 1>&6
-echo "configure:4784: checking declaration of sys_errlist" >&5
+echo "configure:4843: checking declaration of sys_errlist" >&5
 if eval "test \"`echo '$''{'cf_cv_dcl_sys_errlist'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 4790 "configure"
+#line 4849 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -4796,7 +4855,7 @@ int main() {
 char *c = (char *) *sys_errlist
 ; return 0; }
 EOF
-if { (eval echo configure:4800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_dcl_sys_errlist=yes
 else
@@ -4816,20 +4875,20 @@ EOF
 
 
 echo $ac_n "checking if struct utmp is declared""... $ac_c" 1>&6
-echo "configure:4820: checking if struct utmp is declared" >&5
+echo "configure:4879: 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 4826 "configure"
+#line 4885 "configure"
 #include "confdefs.h"
 #include <utmp.h>
 int main() {
 struct utmp x; char *y = &x.ut_host[0]
 ; return 0; }
 EOF
-if { (eval echo configure:4833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4892: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=yes
 else
@@ -4837,14 +4896,14 @@ else
   cat conftest.$ac_ext >&5
   rm -rf conftest*
   cat > conftest.$ac_ext <<EOF
-#line 4841 "configure"
+#line 4900 "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:4848: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4907: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_have_utmp=utmpx
 else
@@ -4875,13 +4934,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:4879: checking if curses supports alternate-character set" >&5
+echo "configure:4938: 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 4885 "configure"
+#line 4944 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -4892,7 +4951,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:4896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_alt_char_set=yes
 else
@@ -4912,13 +4971,13 @@ EOF
 
 	
 echo $ac_n "checking if curses supports fancy attributes""... $ac_c" 1>&6
-echo "configure:4916: checking if curses supports fancy attributes" >&5
+echo "configure:4975: 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 4922 "configure"
+#line 4981 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -4931,7 +4990,7 @@ attrset(A_UNDERLINE|A_BOLD|A_REVERSE);
 	
 ; return 0; }
 EOF
-if { (eval echo configure:4935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_fancy_curses=yes
 else
@@ -4951,7 +5010,7 @@ EOF
 
 
 	echo $ac_n "checking for ncurses version""... $ac_c" 1>&6
-echo "configure:4955: checking for ncurses version" >&5
+echo "configure:5014: 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
@@ -4972,7 +5031,7 @@ Autoconf "old"
 #endif
 EOF
 	cf_try="$ac_cpp conftest.$ac_ext 2>&5 | grep '^Autoconf ' >conftest.out"
-	{ (eval echo configure:4976: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
+	{ (eval echo configure:5035: \"$cf_try\") 1>&5; (eval $cf_try) 2>&5; }
 	if test -f conftest.out ; then
 		cf_out=`cat conftest.out | sed -e 's@^[^\"]*\"@@' -e 's@\".*@@'`
 		test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
@@ -4987,7 +5046,7 @@ echo "$ac_t""$cf_cv_ncurses_version" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 4991 "configure"
+#line 5050 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -5001,7 +5060,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cf_cv_ncurses_broken=no
 else
@@ -5024,13 +5083,13 @@ fi
 
 	
 echo $ac_n "checking if curses supports color attributes""... $ac_c" 1>&6
-echo "configure:5028: checking if curses supports color attributes" >&5
+echo "configure:5087: 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 5034 "configure"
+#line 5093 "configure"
 #include "confdefs.h"
 
 #include <curses.h>
@@ -5044,7 +5103,7 @@ has_colors();
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5048: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_color_curses=yes
 else
@@ -5065,7 +5124,7 @@ EOF
 
 	
 echo $ac_n "checking declaration of size-change""... $ac_c" 1>&6
-echo "configure:5069: checking declaration of size-change" >&5
+echo "configure:5128: 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
@@ -5079,7 +5138,7 @@ do
     CFLAGS="$cf_save_CFLAGS"
     test -n "$cf_opts" && CFLAGS="$CFLAGS -D$cf_opts"
     cat > conftest.$ac_ext <<EOF
-#line 5083 "configure"
+#line 5142 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if HAVE_TERMIOS_H
@@ -5114,7 +5173,7 @@ int main() {
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5118: \"$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_sizechange=yes
 else
@@ -5145,20 +5204,20 @@ EOF
 
 	
 echo $ac_n "checking if ttytype is declared in curses library""... $ac_c" 1>&6
-echo "configure:5149: checking if ttytype is declared in curses library" >&5
+echo "configure:5208: 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 5155 "configure"
+#line 5214 "configure"
 #include "confdefs.h"
 #include <curses.h>
 int main() {
 char *x = &ttytype[1]
 ; return 0; }
 EOF
-if { (eval echo configure:5162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5221: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   cf_cv_have_ttytype=yes
 else
@@ -5183,12 +5242,12 @@ EOF
 	
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5187: checking for $ac_func" >&5
+echo "configure:5246: 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 5192 "configure"
+#line 5251 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5211,7 +5270,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -5239,7 +5298,7 @@ fi
 
 
 echo $ac_n "checking if color-style code should be used""... $ac_c" 1>&6
-echo "configure:5243: checking if color-style code should be used" >&5
+echo "configure:5302: checking if color-style code should be used" >&5
 if eval "test \"`echo '$''{'cf_cv_color_style'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5259,6 +5318,9 @@ if test $cf_cv_color_style != no ; then
 	if test .$cf_cv_color_curses != .yes ; then
 		{ echo "configure: error: Configuration does not support color-styles" 1>&2; exit 1; }
 	fi
+	if test $cf_cv_screen = slang ; then
+		{ echo "configure: error: Configuration does not support color-styles" 1>&2; exit 1; }
+	fi
 	cat >> confdefs.h <<\EOF
 #define USEHASH 1
 EOF
@@ -5277,13 +5339,6 @@ case $cf_cv_color_style in
 no)
 	echo "$ac_t""no" 1>&6
 	;;
-slang)
-	cat >> confdefs.h <<\EOF
-#define SLCS 1
-EOF
-
-	echo "$ac_t""slang-style" 1>&6
-	;;
 *)
 	cat >> confdefs.h <<\EOF
 #define USE_COLOR_STYLE 1
@@ -5294,7 +5349,7 @@ EOF
 esac
 
 echo $ac_n "checking if parent-directory references are permitted""... $ac_c" 1>&6
-echo "configure:5298: checking if parent-directory references are permitted" >&5
+echo "configure:5353: checking if parent-directory references are permitted" >&5
 if eval "test \"`echo '$''{'cf_cv_parent_dir'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5317,7 +5372,7 @@ EOF
 
 
 echo $ac_n "checking if you want to see long compiling messages""... $ac_c" 1>&6
-echo "configure:5321: checking if you want to see long compiling messages" >&5
+echo "configure:5376: 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
   enableval="$enable_echo"
@@ -5341,7 +5396,7 @@ echo "$ac_t""$enableval" 1>&6
 
 
 echo $ac_n "checking if you want to check memory-leaks""... $ac_c" 1>&6
-echo "configure:5345: checking if you want to check memory-leaks" >&5
+echo "configure:5400: 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
   enableval="$enable_find_leaks"
@@ -5364,7 +5419,7 @@ EOF
 
 
 echo $ac_n "checking if you want to enable debug-code""... $ac_c" 1>&6
-echo "configure:5368: checking if you want to enable debug-code" >&5
+echo "configure:5423: 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
   enableval="$enable_debug"
@@ -5389,7 +5444,7 @@ EOF
 if test -n "$GCC"
 then
 echo $ac_n "checking if you want to turn on gcc warnings""... $ac_c" 1>&6
-echo "configure:5393: checking if you want to turn on gcc warnings" >&5
+echo "configure:5448: 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
   enableval="$enable_warnings"
@@ -5412,11 +5467,11 @@ then
 if test -n "$GCC"
 then
 		cat > conftest.$ac_ext <<EOF
-#line 5416 "configure"
+#line 5471 "configure"
 int main(int argc, char *argv[]) { return argv[argc-1] == 0; }
 EOF
 		echo "checking for gcc warning options" 1>&6
-echo "configure:5420: checking for gcc warning options" >&5
+echo "configure:5475: checking for gcc warning options" >&5
 	cf_save_CFLAGS="$CFLAGS"
 	EXTRA_CFLAGS="-W -Wall"
 	for cf_opt in \
@@ -5431,7 +5486,7 @@ echo "configure:5420: checking for gcc warning options" >&5
 		Wstrict-prototypes
 	do
 		CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-		if { (eval echo configure:5435: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+		if { (eval echo configure:5490: \"$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"
 		fi
diff --git a/configure.in b/configure.in
index e957507b..c96deb90 100644
--- a/configure.in
+++ b/configure.in
@@ -58,6 +58,7 @@ dnl --------------------------------------------------------------------------
 dnl If we're able to run this script, this is true!
 AC_DEFINE(UNIX)
 
+CF_ANSI_CC
 AC_C_CONST
 
 case $host_os in
@@ -89,7 +90,10 @@ isc*)
 	LIBS="$LIBS -linet -lnsl_s -lcposix"
 	;;
 irix*)
-	CFLAGS="$CFLAGS -cckr" 
+	# The original makefile used the $CFLAGS option -cckr for some form
+	# of K&R compatibility.  However, this causes compilation warnings for
+	# varargs on IRIX 5.2, and does not appear to be needed.
+	#removed: CFLAGS="$CFLAGS -cckr" 
 	;;
 linux*)
 	CFLAGS="$CFLAGS -DLINUX" 
@@ -226,7 +230,7 @@ dnl --------------------------------------------------------------------------
 AC_MSG_CHECKING(if color-style code should be used)
 AC_CACHE_VAL(cf_cv_color_style,[
 AC_ARG_WITH(color-style,
-[  --with-color-style=XXX  enable color style (types are ncurses, slang)],
+[  --with-color-style      enable color style],
 	[cf_cv_color_style=$withval],
 	[cf_cv_color_style=no])])
 
@@ -234,6 +238,9 @@ if test $cf_cv_color_style != no ; then
 	if test .$cf_cv_color_curses != .yes ; then
 		AC_ERROR(Configuration does not support color-styles)
 	fi
+	if test $cf_cv_screen = slang ; then
+		AC_ERROR(Configuration does not support color-styles)
+	fi
 	AC_DEFINE(USEHASH)
 	AC_DEFINE(UNPAINT_CACHE)
 	AC_DEFINE(LINKEDSTYLES)
@@ -243,10 +250,6 @@ case $cf_cv_color_style in
 no)
 	AC_MSG_RESULT(no)
 	;;
-slang)
-	AC_DEFINE(SLCS)
-	AC_MSG_RESULT(slang-style)
-	;;
 *)
 	AC_DEFINE(USE_COLOR_STYLE)
 	AC_MSG_RESULT(curses-style)
diff --git a/lynx.cfg b/lynx.cfg
index 7ebaefa4..c426a4b2 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -1589,14 +1589,14 @@ MINIMAL_COMMENTS:TRUE
 # COLOR:Integer:Foreground:Background
 #
 # The Integer value is interpreted as follows:
-#     0 - normal
-#     1 - bold
-#     2 - reverse
-#     3 - bold + reverse
-#     4 - underline
-#     5 - bold + underline
-#     6 - reverse + underline
-#     7 - reverse + underline + bold
+#     0 - normal               - normal text 
+#     1 - bold                 - hyperlinks, see also BOLD_* options above
+#     2 - reverse              - statusline
+#     3 - bold + reverse                (not used)
+#     4 - underline                   - text emphasis (EM, I, B tags etc.)
+#     5 - bold + underline            - hyperlinks within text emphasis
+#     6 - reverse + underline         - currently selected hyperlink
+#     7 - reverse + underline + bold  - WHEREIS search target
 #
 # Each Foreground and Background value must be one of:
 #      black              red            green            brown
diff --git a/src/GridText.c b/src/GridText.c
index f7b46419..0c4290f5 100644
--- a/src/GridText.c
+++ b/src/GridText.c
@@ -109,7 +109,7 @@ PUBLIC char * unchecked_radio = "( )";
 PUBLIC BOOLEAN underline_on = OFF;
 PUBLIC BOOLEAN bold_on      = OFF;
 
-#if defined(USE_COLOR_STYLE) || defined(SLCS)
+#if defined(USE_COLOR_STYLE)
 #define MAX_STYLES_ON_LINE 64
 
 typedef struct _stylechange {
@@ -127,7 +127,7 @@ typedef struct _line {
 	int unsigned	size;		/* Number of characters */
 	BOOL	split_after;		/* Can we split after? */
 	BOOL	bullet;			/* Do we bullet? */
-#if defined(USE_COLOR_STYLE) || defined(SLCS)
+#if defined(USE_COLOR_STYLE)
 	HTStyleChange	styles[MAX_STYLES_ON_LINE];
 	int	numstyles;
 #endif
@@ -992,7 +992,7 @@ PRIVATE void display_page ARGS3(
      */
     if (line) {
 	char *data;
-	int offset, LineOffset, HitOffset, LenNeeded;
+	int offset, HitOffset, LenNeeded;
 	for (i = 0; i < (display_lines); i++)  {
 	    /*
 	     *  Verify and display each line.
@@ -1404,7 +1404,7 @@ PRIVATE void display_page ARGS3(
 	/*
 	 *  For non-multibyte curses.
 	 */
-        clearok(curscr, TRUE);
+        lynx_force_repaint();
     }
     refresh();
 
@@ -1480,7 +1480,7 @@ PRIVATE void split_line ARGS2(
     previous->next->prev = line;
     line->prev = previous;
     line->next = previous->next;
-#if defined(USE_COLOR_STYLE) || defined(SLCS)
+#if defined(USE_COLOR_STYLE)
 #define LastStyle (previous->numstyles-1)
     line->numstyles = 0;
     inew = MAX_STYLES_ON_LINE - 1;
diff --git a/src/HTAlert.c b/src/HTAlert.c
index 78a931e0..926a2b71 100644
--- a/src/HTAlert.c
+++ b/src/HTAlert.c
@@ -420,7 +420,7 @@ PUBLIC BOOL HTConfirmCookie ARGS6(
 **	----------------------------
 **
 **  On entry,
-**      redirecting_url             is the Location.
+**      Redirecting_url             is the Location.
 **
 **  On exit,
 **      Returns 0 on cancel,
@@ -428,7 +428,7 @@ PUBLIC BOOL HTConfirmCookie ARGS6(
 **	303 for redirect as GET without content
 */
 PUBLIC int HTConfirmPostRedirect ARGS1(
-	CONST char *,	redirecting_url)
+	CONST char *,	Redirecting_url)
 {
     char *show_POST_url = NULL;
     char url[256];
@@ -449,13 +449,13 @@ PUBLIC int HTConfirmPostRedirect ARGS1(
 	clrtoeol();
         move(LYlines-1, 0);
 	sprintf(url, "URL: %.*s",
-		    (LYcols < 250 ? LYcols-6 : 250), redirecting_url);
+		    (LYcols < 250 ? LYcols-6 : 250), Redirecting_url);
         addstr(url);
 	clrtoeol();
         _statusline(PROCEED_GET_CANCEL);
     } else {
 	StrAllocCopy(show_POST_url, LOCATION_HEADER);
-	StrAllocCat(show_POST_url, redirecting_url);
+	StrAllocCat(show_POST_url, Redirecting_url);
     }
     while (1) {
 	int c;  
diff --git a/src/HTAlert.h b/src/HTAlert.h
index ec1d2397..744a2a35 100644
--- a/src/HTAlert.h
+++ b/src/HTAlert.h
@@ -111,7 +111,7 @@ extern BOOL HTConfirmCookie PARAMS((
 /*      Confirm redirection of POST.		HTConfirmPostRedirect()
 **	----------------------------
 **  On entry,
-**      redirecting_url             is the Location.
+**      Redirecting_url             is the Location.
 **
 **  On exit,
 **      Returns 0 on cancel,
@@ -119,7 +119,7 @@ extern BOOL HTConfirmCookie PARAMS((
 **	303 for redirect as GET without content
 */
 extern int HTConfirmPostRedirect PARAMS((
-	CONST char *	redirecting_url));
+	CONST char *	Redirecting_url));
 
 /*
 
diff --git a/src/HTFWriter.c b/src/HTFWriter.c
index 3589811b..711774b1 100644
--- a/src/HTFWriter.c
+++ b/src/HTFWriter.c
@@ -194,7 +194,7 @@ PRIVATE void HTFWriter_free ARGS1(HTStream *, me)
 		    fclose(fp);
 		    fp = NULL;
 		    if (!dump_output_immediately) {
-		        clearok(curscr, TRUE);
+		        lynx_force_repaint();
 			refresh();
 		    }
 		    HTAlert(ERROR_UNCOMPRESSING_TEMP);
diff --git a/src/LYBookmark.c b/src/LYBookmark.c
index c5f26577..9018e483 100644
--- a/src/LYBookmark.c
+++ b/src/LYBookmark.c
@@ -638,7 +638,7 @@ get_advanced_choice:
 	    /*
 	     *  Refresh the screen.
 	     */
-	    clearok(curscr, TRUE);
+	    lynx_force_repaint();
 	    refresh();
 	    goto get_advanced_choice;
 	}
@@ -825,7 +825,7 @@ get_bookmark_choice:
 	/*
 	 *  Refresh the screen.
 	 */
-	clearok(curscr, TRUE);
+	lynx_force_repaint();
 	refresh();
 	goto get_bookmark_choice;
     }
diff --git a/src/LYCgi.c b/src/LYCgi.c
index 531c237e..6a431122 100644
--- a/src/LYCgi.c
+++ b/src/LYCgi.c
@@ -62,8 +62,6 @@ PRIVATE char user_agent[64];
 PRIVATE char server_software[64];
 #endif /* LYNXCGI_LINKS */
 
-extern BOOLEAN reloading;
-
 PRIVATE void add_environment_value PARAMS((char *env_value));
 
 
diff --git a/src/LYClean.c b/src/LYClean.c
index 1b411319..aefb6810 100644
--- a/src/LYClean.c
+++ b/src/LYClean.c
@@ -50,7 +50,7 @@ PUBLIC void cleanup_sig ARGS1(
         /*
 	 *  Refresh screen to get rid of "cancel" message, then query.
 	 */
-	clearok(curscr, TRUE);
+	lynx_force_repaint();
 	refresh();
 
 	/*
diff --git a/src/LYClean.h b/src/LYClean.h
index 2920c88b..e9502010 100644
--- a/src/LYClean.h
+++ b/src/LYClean.h
@@ -1,7 +1,10 @@
-
 #ifndef LYCLEAN_H
 #define LYCLEAN_H
 
+#ifdef VMS
+extern BOOLEAN HadVMSInterrupt;
+#endif
+
 extern void cleanup_sig PARAMS((int sig));
 extern BOOLEAN setup PARAMS((char *terminal));
 extern void cleanup NOPARAMS;
diff --git a/src/LYCurses.c b/src/LYCurses.c
index 1424417e..c3968b6d 100644
--- a/src/LYCurses.c
+++ b/src/LYCurses.c
@@ -65,7 +65,7 @@ PUBLIC int PHYSICAL_SLtt_Screen_Cols = 10;
 PUBLIC void LY_SLrefresh NOARGS
 {
     if (FullRefresh) {
-        SLsmg_touch_lines(0, LYlines);
+	SLsmg_touch_lines(0, LYlines);
 	FullRefresh = FALSE;
     }
     SLsmg_refresh();
@@ -136,10 +136,10 @@ PRIVATE void sl_suspend ARGS1(
 #ifdef SIGSTOP
 #ifndef VMS
     int r, c;
-   
+
     lynx_enable_mouse (0);
     if (sig == SIGTSTP)
-        SLsmg_suspend_smg();
+	SLsmg_suspend_smg();
     SLang_reset_tty();
     kill(getpid(),SIGSTOP);
 #if SLANG_VERSION > 9929
@@ -152,7 +152,7 @@ PRIVATE void sl_suspend ARGS1(
     SLtty_set_suspend_state(1);
 #endif
     if (sig == SIGTSTP)
-        SLsmg_resume_smg();
+	SLsmg_resume_smg();
     /*
      *  Get new window size in case it changed.
      */
@@ -169,7 +169,7 @@ PRIVATE void sl_suspend ARGS1(
 }
 #endif /* USE_SLANG */
 
-#if defined(USE_COLOR_STYLE) || defined(SLCS)
+#if defined(USE_COLOR_STYLE)
 PRIVATE int last_styles[128];
 PRIVATE int last_ptr=0;
 #endif
@@ -193,15 +193,15 @@ PUBLIC void setStyle ARGS4(int,style,int,color,int,cattr,int,mono)
 
 PUBLIC void setHashStyle ARGS5(int,style,int,color,int,cattr,int,mono,char*,element)
 {
-        bucket* ds=&hashStyles[style];
-        if (TRACE)
-                fprintf(stderr, "CSS(SET): <%s> hash=%d, ca=%d, ma=%d\n", element, style, color, mono);
-        ds->color=color;
-        ds->cattr=cattr;
-        ds->mono=mono;
-        ds->code=style;
-        ds->name=malloc(sizeof(char)*(strlen(element)+2));
-        strcpy(ds->name, element);
+    bucket* ds=&hashStyles[style];
+    if (TRACE)
+	fprintf(stderr, "CSS(SET): <%s> hash=%d, ca=%d, ma=%d\n", element, style, color, mono);
+    ds->color=color;
+    ds->cattr=cattr;
+    ds->mono=mono;
+    ds->code=style;
+    ds->name=malloc(sizeof(char)*(strlen(element)+2));
+    strcpy(ds->name, element);
 }
 
 /*
@@ -211,7 +211,7 @@ PRIVATE int LYAttrset ARGS3(WINDOW*,win,int,color,int,mono)
 {
 	if (TRACE)
 		fprintf(stderr, "CSS:LYAttrset (%d, %d)\n", color, mono);
-	if (has_color && color > -1)
+	if (has_color && LYShowColor && color > -1)
 	{
 		wattrset(win,color);
 #if 0
@@ -268,7 +268,7 @@ PUBLIC void curses_w_style ARGS4(WINDOW*,win,int,style,int,dir,int,previous)
 		return;
 
 	case STACK_ON: /* remember the current attributes */
-	    	if (last_ptr > 127) {
+		if (last_ptr > 127) {
 		    if (TRACE)
 			fprintf(stderr,"........... %s (0x%x) %s\r\n",
 				"attribute cache FULL, dropping last",
@@ -327,7 +327,7 @@ PUBLIC void wcurses_css ARGS3(WINDOW *,win,char*,name,int,dir)
 			char *class=strrchr(name, '.');
 			if (TRACE) fprintf(stderr, "undefined, trimming at %p\n", class);
 			if (class)	*class='\0';
-			else 		try_again=0;
+			else		try_again=0;
 		} else {
 			if (TRACE) fprintf(stderr, "ok (%d)\n", hash_code(name));
 			curses_w_style(win, hash_code(name), dir, 0);
@@ -343,13 +343,13 @@ PUBLIC void curses_css ARGS2(char *,name,int,dir)
 
 PUBLIC void curses_style ARGS3(int,style,int,dir,int,previous)
 {
-        curses_w_style(stdscr, style, dir, previous);
+    curses_w_style(stdscr, style, dir, previous);
 }
 
 #ifdef NOT_USED
 void attribute ARGS2(int,style,int,dir)
 {
-        curses_style(style, dir, 0);
+    curses_style(style, dir, 0);
 }
 #endif
 #endif /* USE_COLOR_STYLE */
@@ -394,7 +394,7 @@ PRIVATE struct {
  */
 PRIVATE void LYsetWAttr ARGS1(WINDOW *, win)
 {
-    if (lynx_uses_color) {
+    if (lynx_uses_color && LYShowColor) {
 	int code = 0;
 	int attr = A_NORMAL;
 	int offs = 1;
@@ -405,7 +405,7 @@ PRIVATE void LYsetWAttr ARGS1(WINDOW *, win)
 #ifndef DOSPATH
 		have_underline = tigetstr("smul") != 0;
 #else
-                have_underline = 1;
+		have_underline = 1;
 #endif /* DOSPATH */
 	}
 
@@ -462,7 +462,7 @@ PRIVATE void lynx_map_color ARGS1(int, n)
 		lynx_color_pairs[n+m+1].fg,
 		lynx_color_pairs[n+m+1].bg);
 	}
-	if (n == 0)
+	if (n == 0 && LYShowColor)
 	    bkgd(COLOR_PAIR(9));
     }
 }
@@ -488,7 +488,7 @@ PUBLIC int lynx_chg_color ARGS3(
 
 PUBLIC void lynx_set_color ARGS1(int, a)
 {
-    if (lynx_uses_color) {
+    if (lynx_uses_color && LYShowColor) {
 	attrset(lynx_color_cfg[a].attr | COLOR_PAIR(a+1));
     }
 }
@@ -517,7 +517,7 @@ PRIVATE void lynx_init_colors NOARGS
 			lynx_color_pairs[n+m+1].fg,
 			lynx_color_pairs[n+m+1].bg);
 	    }
-	    if (n == 0)
+	    if (n == 0 && LYShowColor)
 		bkgd(COLOR_PAIR(9));
 	}
     }
@@ -549,8 +549,8 @@ PUBLIC void start_curses NOARGS
 		  keypad(stdscr, TRUE);
 		  fflush(stdin);
 		  fflush(stdout);
-                  lynx_init_colors();
-                  lynx_called_initscr = TRUE;
+		  lynx_init_colors();
+		  lynx_called_initscr = TRUE;
 
  /* Inform pdcurses that we're interested in knowing when mouse
     buttons are clicked.  Maybe someday pdcurses will support it.
@@ -570,7 +570,7 @@ PUBLIC void start_curses NOARGS
     static int slinit;
 
     if (LYCursesON)
-        return;
+	return;
 
     if (slinit == 0) {
 	SLtt_get_terminfo();
@@ -585,7 +585,7 @@ PUBLIC void start_curses NOARGS
 	 *  intensity background (rxvt and maybe Linux console).
 	 */
 	if (Lynx_Color_Flags & SL_LYNX_USE_BLINK)
-	    SLtt_Blink_Mode = 1;	       
+	    SLtt_Blink_Mode = 1;
 	else
 	    SLtt_Blink_Mode = 0;
     }
@@ -634,13 +634,13 @@ PUBLIC void start_curses NOARGS
 	 *  and one time only!
 	 */
 	if (initscr() == NULL) {  /* start curses */
-	    fprintf(stderr, 
+	    fprintf(stderr,
 	        "Terminal initialisation failed - unknown terminal type?\n");
 #ifndef NOSIGHUP
-            (void) signal(SIGHUP, SIG_DFL);
+	    (void) signal(SIGHUP, SIG_DFL);
 #endif /* NOSIGHUP */
-            (void) signal(SIGTERM, SIG_DFL);
-            (void) signal(SIGINT, SIG_DFL);
+	    (void) signal(SIGTERM, SIG_DFL);
+	    (void) signal(SIGINT, SIG_DFL);
 #ifdef SIGTSTP
 	    if (no_suspend)
 	        (void) signal(SIGTSTP,SIG_DFL);
@@ -651,9 +651,9 @@ PUBLIC void start_curses NOARGS
 	has_color = has_colors();
 	if (has_color)
 		start_color();
-	parse_userstyles();	
+	parse_userstyles();
 #endif
-        first_time = FALSE;
+	first_time = FALSE;
 #if USE_COLOR_TABLE
 	lynx_init_colors();
 	lynx_called_initscr = TRUE;
@@ -698,7 +698,7 @@ PUBLIC void start_curses NOARGS
 
 PUBLIC void lynx_enable_mouse ARGS1(int,state)
 {
-   if (LYUseMouse == 0) 
+   if (LYUseMouse == 0)
      return;
 
 #ifdef USE_SLANG_MOUSE
@@ -740,8 +740,8 @@ PUBLIC void stop_curses NOARGS
      *	05-28-94 Lynx 2-3-1 Garrett Arch Blythe
      */
     if(LYCursesON == TRUE)	{
-         lynx_enable_mouse (0);
-         endwin();	/* stop curses */
+	 lynx_enable_mouse (0);
+	 endwin();	/* stop curses */
     }
 
     fflush(stdout);
@@ -781,7 +781,7 @@ PUBLIC BOOLEAN setup ARGS1(
      *  see if it is available from the environment.
      */
     if ((display = getenv(DISPLAY)) != NULL && *display == '\0')
-        display = NULL;
+	display = NULL;
 
     /*
      *  Get terminal type, and convert to lower case.
@@ -789,17 +789,17 @@ PUBLIC BOOLEAN setup ARGS1(
     term[0] = '\0';
     longname(dummy, term);
     if (term[0] == '\0' && (form_get_data || form_post_data)) {
-        /*
+	/*
 	 *  Some yoyo used these under conditions which require
 	 *  -dump, so force that mode here. - FM
 	 */
 	dump_output_immediately = TRUE;
-        LYcols = 80;
+	LYcols = 80;
 	if (keypad_mode == NUMBERS_AS_ARROWS)
 	    keypad_mode = LINKS_ARE_NUMBERED;
 	status = mainloop();
-        (void) signal (SIGHUP, SIG_DFL);
-        (void) signal (SIGTERM, SIG_DFL);
+	(void) signal (SIGHUP, SIG_DFL);
+	(void) signal (SIGTERM, SIG_DFL);
 #ifdef SIGTSTP
 	if (no_suspend)
 	  (void) signal(SIGTSTP,SIG_DFL);
@@ -813,7 +813,7 @@ PUBLIC BOOLEAN setup ARGS1(
     printf("Terminal = %s\n", term);
     sleep(InfoSecs);
     if ((strlen(term) < 5) ||
-        strncmp(term, "vt", 2) || !isdigit(term[2])) {
+	strncmp(term, "vt", 2) || !isdigit(term[2])) {
 	printf(
 	    "You must use a vt100, 200, etc. terminal with this program.\n");
 	printf("Proceed (n/y)? ");
@@ -831,9 +831,9 @@ PUBLIC BOOLEAN setup ARGS1(
     LYlines = LINES;
     LYcols = COLS;
     if (LYlines <= 0)
-        LYlines = 24;
+	LYlines = 24;
     if (LYcols <= 0)
-        LYcols = 80;
+	LYcols = 80;
 
     return(TRUE);
 }
@@ -854,7 +854,7 @@ PUBLIC BOOLEAN setup ARGS1(
     *  see if it is available from the environment .
     */
     if ((display = getenv(DISPLAY)) != NULL && *display == '\0')
-        display = NULL;
+	display = NULL;
 
     if (terminal != NULL) {
 	sprintf(term_putenv,"TERM=%s",terminal);
@@ -875,8 +875,8 @@ PUBLIC BOOLEAN setup ARGS1(
 	    *s = '\0';
 
 	if (strlen(buffer) == 0)
-	    strcpy(buffer,"vt100"); 
-	
+	    strcpy(buffer,"vt100");
+
 	sprintf(term_putenv,"TERM=%s", buffer);
 	putenv(term_putenv);
 	printf("\nTERMINAL TYPE IS SET TO %s\n",getenv("TERM"));
@@ -897,9 +897,9 @@ PUBLIC BOOLEAN setup ARGS1(
     LYlines = LINES;
     LYcols = COLS;
     if (LYlines <= 0)
-        LYlines = 24;
+	LYlines = 24;
     if (LYcols <= 0)
-        LYcols = 80;
+	LYcols = 80;
 
     return(1);
 }
@@ -1088,8 +1088,8 @@ PUBLIC void VMSexit NOARGS
      *  attempt a cleanup and reset the terminal.
      */
     if (!DidCleanup) {
-        if (LYOutOfMemory == FALSE) {
-            fprintf(stderr,
+	if (LYOutOfMemory == FALSE) {
+	    fprintf(stderr,
 "\nA Fatal error has occured in %s Ver. %s\n", LYNX_NAME, LYNX_VERSION);
 	    fprintf(stderr,
 "\nPlease notify your system administrator to confirm a bug, and if\n");
@@ -1110,13 +1110,14 @@ PUBLIC void VMSexit NOARGS
 	    _statusline(MEMORY_EXHAUSTED_ABORT);
 	    sleep(AlertSecs);
 	}
-        cleanup();
+	cleanup();
     }
     if (LYOutOfMemory == TRUE) {
 	printf("\r\n%s\r\n\r\n", MEMORY_EXHAUSTED_ABORT);
 	fflush(stdout);
 	fflush(stderr);
     }
+    *stderr = LYOrigStderr;
 }
 
 /*
@@ -1238,14 +1239,14 @@ PUBLIC int ttgetc NOARGS
     unsigned short iosb[4];
 
     if (in_pos < in_len)
-        return(buffer[in_pos++]);
+	return(buffer[in_pos++]);
 
     status = sys$qiow(EFN, iochan,
 		      IO$_READVBLK|IO$M_NOECHO|IO$M_NOFILTR,
 		      &iosb, 0, 0,
 		      &buffer, 1, 0, 0, 0, 0);
     if ((status&1) == 1)
-        status = iosb[0];
+	status = iosb[0];
     if (status == SS$_PARTESCAPE) {
 	/*
 	 *  Escape sequence in progress.  Fake a successful read.
@@ -1253,7 +1254,7 @@ PUBLIC int ttgetc NOARGS
 	status = 1;
     }
     if ((status&1) != 1 && status != SS$_DATAOVERUN)
-        exit(status);
+	exit(status);
     in_pos = 1;
     in_len = iosb[1] + iosb[3];
     return(buffer[0]);
@@ -1270,10 +1271,10 @@ PUBLIC int typeahead NOARGS
     unsigned short iosb[4];
 
     if (dump_output_immediately)
-        return -1;
+	return -1;
 
     if (in_pos < in_len)
-        return(buffer[in_pos++]);
+	return(buffer[in_pos++]);
 
 again:
     status = sys$qiow (EFN, iochan,
@@ -1281,7 +1282,7 @@ again:
 		       &iosb, 0, 0,
 		       &buffer, 1, 0, 0, 0, 0);
     if ((status&1) == 1)
-        status = iosb[0];
+	status = iosb[0];
     if (status == SS$_PARTESCAPE) {
 	/*
 	 *  Escape sequence in progress, finish reading it.
@@ -1292,7 +1293,7 @@ again:
     in_pos = 1;
     in_len = iosb[1] + iosb[3];
     if (status == SS$_TIMEOUT || status == SS$_DATAOVERUN)
-        return(-1);
+	return(-1);
     return (buffer[0]);
 }
 
@@ -1389,7 +1390,7 @@ PRIVATE int DCLspawn_exception ARGS2(
 {
 #endif /* __DECC */
      int status;
-     
+
      status = lib$sig_to_ret(sigarr, mecharr);
      return(SS$_UNWIND);
 }
@@ -1412,7 +1413,7 @@ PRIVATE int spawn_DCLprocess ARGS1(
 
 #ifdef __ALPHA /** OpenVMS/AXP lacked the TRUSTED flag before v6.1 **/
      if (VersionVMS[1] > '6' ||
-         (VersionVMS[1] == '6' && VersionVMS[2] == '.' &&
+	 (VersionVMS[1] == '6' && VersionVMS[2] == '.' &&
 	  VersionVMS[3] >= '1')) {
 #else
      if (VersionVMS[1] >= '6') {
@@ -1421,22 +1422,22 @@ PRIVATE int spawn_DCLprocess ARGS1(
 	  *  Include TRUSTED flag.
 	  */
 	 unsigned long trusted = CLI$M_TRUSTED;
-         status = lib$spawn(&command_desc,0,0,&trusted,
-	 		    0,0,&Status);
+	 status = lib$spawn(&command_desc,0,0,&trusted,
+			    0,0,&Status);
 	 /*
 	  *  If it was invalid, try again without the flag.
 	  */
-         if (status == LIB$_INVARG)
-            status = lib$spawn(&command_desc,0,0,0,
-	    		       0,0,&Status );
+	 if (status == LIB$_INVARG)
+	    status = lib$spawn(&command_desc,0,0,0,
+			       0,0,&Status );
      } else
 	 status = lib$spawn(&command_desc,0,0,0,
-	 		    0,0,&Status);
+			    0,0,&Status);
      /*
       *  Return -1 on error.
       */
      if ((status&1) != 1 || (Status&1) != 1)
-         return(-1);
+	 return(-1);
      /*
       *  Return 0 on success.
       */
@@ -1448,7 +1449,7 @@ PUBLIC int DCLsystem ARGS1(
 {
      int status;
      extern void controlc();
-     
+
      VMSsignal(SIGINT, SIG_IGN);
      status = spawn_DCLprocess(command);
      VMSsignal(SIGINT, cleanup_sig);
@@ -1476,9 +1477,9 @@ PUBLIC void VMSbox ARGS3(
        waddch(win, 'q');
     waddch(win, 'k');
     for (i = 1; i < height-1; i++) {
-        wmove(win, i, 0);
+	wmove(win, i, 0);
 	waddch(win, 'x');
-        wmove(win, i, width-1);
+	wmove(win, i, width-1);
 	waddch(win, 'x');
     }
     wmove(win, i, 0);
@@ -1490,26 +1491,34 @@ PUBLIC void VMSbox ARGS3(
 #endif /* !USE_SLANG */
 #endif /* VMS */
 
-
+PUBLIC void lynx_force_repaint NOARGS
+{
+#if defined(COLOR_CURSES)
+    chtype a = (LYShowColor) ? COLOR_PAIR(9) : A_NORMAL;
+    bkgd(a | ' ');
+    attrset(a);
+#endif
+    clearok(curscr, TRUE);
+}
 
 PUBLIC void lynx_start_underline_color NOARGS
 {
-   start_underline ();
+    start_underline ();
 }
 
 PUBLIC void lynx_stop_underline_color NOARGS
 {
-   stop_underline ();
+    stop_underline ();
 }
 
 PUBLIC void lynx_start_bold_color NOARGS
 {
-   start_bold ();
+    start_bold ();
 }
 
 PUBLIC void lynx_stop_bold_color NOARGS
 {
-   stop_bold ();
+    stop_bold ();
 }
 
 PUBLIC void lynx_start_title_color NOARGS
@@ -1526,7 +1535,7 @@ PUBLIC void lynx_start_link_color ARGS2(
 {
     if (flag) {
 	/* makes some terminals work wrong because
-	 * they can't handle two attributes at the 
+	 * they can't handle two attributes at the
 	 * same time
 	 */
 	/* start_bold();  */
@@ -1595,19 +1604,21 @@ PUBLIC void lynx_start_target_color NOARGS
 PUBLIC void lynx_start_status_color NOARGS
 {
 #if USE_COLOR_TABLE && defined(COLOR_CURSES)
-   lynx_set_color (2);
-#else
-   start_reverse ();
+    if (lynx_uses_color && LYShowColor)
+	lynx_set_color (2);
+    else
 #endif
+	start_reverse ();
 }
 
 PUBLIC void lynx_stop_status_color NOARGS
 {
 #if USE_COLOR_TABLE && defined(COLOR_CURSES)
-   lynx_set_color (0);
-#else
-   stop_reverse ();
+    if (lynx_uses_color && LYShowColor)
+	lynx_set_color (0);
+    else
 #endif
+	stop_reverse ();
 }
 
 PUBLIC void lynx_start_h1_color NOARGS
@@ -1648,5 +1659,3 @@ PUBLIC void lynx_stop_all_colors NOARGS
    stop_reverse ();
    stop_bold ();
 }
-   
-	
diff --git a/src/LYCurses.h b/src/LYCurses.h
index 8ea9ce78..5bccb8b9 100644
--- a/src/LYCurses.h
+++ b/src/LYCurses.h
@@ -98,6 +98,18 @@ extern void LYsubwindow PARAMS((WINDOW * param));
 #define CR FROMASCII('\015')
 #endif /* REDEFINE_CR */
 
+#ifdef ALT_CHAR_SET
+#define BOXVERT 0   /* use alt char set for popup window vertical borders */
+#define BOXHORI 0   /* use alt char set for popup window vertical borders */
+#endif
+
+#ifndef BOXVERT
+#define BOXVERT '*'	/* character for popup window vertical borders */
+#endif
+#ifndef BOXHORI
+#define BOXHORI '*'	/* character for popup window horizontal borders */
+#endif
+
 extern int LYlines;  /* replaces LINES */
 extern int LYcols;   /* replaces COLS */
 
@@ -311,6 +323,7 @@ extern int  lynx_chg_color PARAMS((int, int, int));
 #endif /* USE_SLANG */
 
 extern void lynx_enable_mouse PARAMS((int));
+extern void lynx_force_repaint NOPARAMS;
 extern void lynx_start_underline_color NOPARAMS;
 extern void lynx_stop_underline_color NOPARAMS;
 extern void lynx_start_bold_color NOPARAMS;
diff --git a/src/LYForms.c b/src/LYForms.c
index 83f41bf0..283634e3 100644
--- a/src/LYForms.c
+++ b/src/LYForms.c
@@ -6,7 +6,7 @@
 #include "LYCurses.h"
 #include "GridText.h"
 #include "LYUtils.h"
-#include "LYStructs.h"	/* includes HTForms.h */
+#include "LYStructs.h"  /* includes HTForms.h */
 #include "LYStrings.h"
 #include "LYGlobalDefs.h"
 #include "LYKeymap.h"
@@ -19,25 +19,13 @@
 #include "LYHash.h"
 #endif
 
-#ifdef ALT_CHAR_SET
-#define BOXVERT 0   /* use alt char set for popup window vertical borders */
-#define BOXHORI 0   /* use alt char set for popup window vertical borders */
-#endif
-
-#ifndef BOXVERT
-#define BOXVERT '*'	/* character for popup window vertical borders */
-#endif
-#ifndef BOXHORI
-#define BOXHORI '*'	/* character for popup window horizontal borders */
-#endif
-
 extern HTCJKlang HTCJK;
 
 PRIVATE int form_getstr PARAMS((
 	struct link *	form_link));
 PRIVATE int popup_options PARAMS((
 	int		cur_selection,
-	OptionType *	list, 
+	OptionType *	list,
 	int		ly,
 	int		lx,
 	int		width,
@@ -46,13 +34,12 @@ PRIVATE int popup_options PARAMS((
 
 PUBLIC int change_form_link ARGS6(
 	struct link *,	form_link,
-	int,		mode, 
+	int,		mode,
 	document *,	newdoc,
 	BOOLEAN *,	refresh_screen,
 	char *,		link_name,
 	char *,		link_value)
 {
-    extern BOOL reloading;
     FormInfo *form = form_link->form;
     int c = DO_NOTHING;
     int OrigNumValue;
@@ -112,7 +99,7 @@ PUBLIC int change_form_link ARGS6(
 				form->size_l, form->disabled);
 
 	    {
-    	        OptionType * opt_ptr = form->select_list;
+		OptionType * opt_ptr = form->select_list;
 		int i;
 		for (i = 0; i < form->num_value; i++, opt_ptr = opt_ptr->next)
 		    ; /* null body */
@@ -157,7 +144,7 @@ PUBLIC int change_form_link ARGS6(
 		lynx_start_radio_color ();
 		for (i = 0; i < nlinks; i++) {
 		    if (links[i].type == WWW_FORM_LINK_TYPE &&
-		        links[i].form->type == F_RADIO_TYPE &&
+			links[i].form->type == F_RADIO_TYPE &&
 			links[i].form->number == form->number &&
 			/*
 			 *  If it has the same name and its on...
@@ -167,7 +154,7 @@ PUBLIC int change_form_link ARGS6(
 			move(links[i].ly, links[i].lx);
 			addstr(unchecked_radio);
 			links[i].hightext = unchecked_radio;
-		     }
+		    }
 		}
 		lynx_stop_radio_color ();
 		/*
@@ -262,8 +249,8 @@ PUBLIC int change_form_link ARGS6(
     }
 
     return(c);
-
 }
+
 PRIVATE int form_getstr ARGS1(
 	struct link *,	form_link)
 {
@@ -523,10 +510,10 @@ PRIVATE void paddstr ARGS3(
 	int,		width,
 	char *, 	the_string)
 {
-	width -= strlen(the_string);
-	waddstr(the_window, the_string);
-	while (width-- > 0)
-		waddstr(the_window, " ");
+    width -= strlen(the_string);
+    waddstr(the_window, the_string);
+    while (width-- > 0)
+	waddstr(the_window, " ");
 }
 #endif
 
@@ -587,7 +574,7 @@ PRIVATE int popup_options ARGS7(
      *  Set display_lines based on the user_mode global.
      */
     if (user_mode == NOVICE_MODE)
-        display_lines = LYlines-4;
+	display_lines = LYlines-4;
     else
 	display_lines = LYlines-2;
 
@@ -618,9 +605,9 @@ PRIVATE int popup_options ARGS7(
      *  the number of real options.
      */
     if (!i_length) {
-        i_length = num_options;
+	i_length = num_options;
     } else {
-        /*
+	/*
 	 *  Otherwise, it is really one number too high.
 	 */
 	i_length--;
@@ -634,7 +621,7 @@ PRIVATE int popup_options ARGS7(
     bottom = top + i_length + 3;
 
     /*
-     *  Hmm...	If the bottom goes beyond the number of lines available,
+     *  Hmm...  If the bottom goes beyond the number of lines available,
      */
     if (bottom > display_lines) {
 	/*
@@ -681,7 +668,7 @@ PRIVATE int popup_options ARGS7(
     SLsmg_fill_region(top, lx - 1, bottom - top, width + 4, ' ');
 #else
     if (!(form_window = newwin(bottom - top, width + 4, top, lx - 1)) &&
-        !(form_window = newwin(bottom - top, 0, top, 0))) {
+	!(form_window = newwin(bottom - top, 0, top, 0))) {
 	HTAlert(POPUP_FAILED);
 	return(orig_selection);
     }
@@ -713,10 +700,10 @@ PRIVATE int popup_options ARGS7(
 		(((num_options + 1) + (length - 1))/(length))
 					  : 1;
 /*
- * OH!	I LOVE GOTOs! hack hack hack
- *    07-11-94 GAB
- *  MORE hack hack hack
- *    09-05-94 FM
+ * OH!  I LOVE GOTOs! hack hack hack
+ *        07-11-94 GAB
+ *      MORE hack hack hack
+ *        09-05-94 FM
  */
 redraw:
     opt_ptr = list;
@@ -1201,7 +1188,7 @@ redraw:
 		break;
 
 	    case LYK_REFRESH:
-		clearok(curscr, TRUE);
+		lynx_force_repaint();
 		refresh();
 		break;
 
@@ -1264,10 +1251,10 @@ check_recall:
 			FirstRecall = FALSE;
 			if (*prev_target_buffer) {
 			    for (QueryNum = (QueryTotal - 1);
-			         QueryNum > 0; QueryNum--) {
+				 QueryNum > 0; QueryNum--) {
 				if ((cp = (char *)HTList_objectAt(
 							search_queries,
-	    						QueryNum)) != NULL &&
+							QueryNum)) != NULL &&
 				    !strcmp(prev_target_buffer, cp)) {
 				    break;
 				}
@@ -1287,7 +1274,7 @@ check_recall:
 			 */
 			QueryNum = 0;
 		    if ((cp = (char *)HTList_objectAt(search_queries,
-	    					      QueryNum)) != NULL) {
+						      QueryNum)) != NULL) {
 			strcpy(prev_target, cp);
 			if (*prev_target_buffer &&
 			    !strcmp(prev_target_buffer, prev_target)) {
@@ -1322,7 +1309,7 @@ check_recall:
 			     QueryNum < (QueryTotal - 1); QueryNum++) {
 			    if ((cp = (char *)HTList_objectAt(
 							search_queries,
-	    						QueryNum)) != NULL &&
+							QueryNum)) != NULL &&
 				!strcmp(prev_target_buffer, cp)) {
 				    break;
 			    }
@@ -1342,7 +1329,7 @@ check_recall:
 		     */
 		    QueryNum = (QueryTotal - 1);
 		    if ((cp = (char *)HTList_objectAt(search_queries,
-	    					      QueryNum)) != NULL) {
+						      QueryNum)) != NULL) {
 			strcpy(prev_target, cp);
 			if (*prev_target_buffer &&
 			    !strcmp(prev_target_buffer, prev_target)) {
diff --git a/src/LYGetFile.c b/src/LYGetFile.c
index 3ac5ca37..2faa38cf 100644
--- a/src/LYGetFile.c
+++ b/src/LYGetFile.c
@@ -1,5 +1,6 @@
 #include "HTUtils.h"
 #include "tcp.h"
+#include "HTTP.h"
 #include "HTAnchor.h"       /* Anchor class */
 #include "HTAccess.h"
 #include "HTParse.h"
@@ -46,13 +47,11 @@
 
 PRIVATE int fix_http_urls PARAMS((document *doc));
 extern char * WWW_Download_File;
-extern BOOL redirect_post_content;
-extern BOOL reloading;
 #ifdef VMS
 extern BOOLEAN LYDidRename;
 #endif /* VMS */
 
-
+#if 0 /* UNUSED */
 #ifdef DIRED_SUPPORT
 PRIVATE char * LYSanctify ARGS1(
 	char *,		href) 
@@ -84,6 +83,7 @@ PRIVATE char * LYSanctify ARGS1(
     return href;
 }
 #endif /* DIRED_SUPPORT */
+#endif
 
 
 PUBLIC BOOLEAN getfile ARGS1(
diff --git a/src/LYGlobalDefs.h b/src/LYGlobalDefs.h
index 111b2a43..c8df5cbb 100644
--- a/src/LYGlobalDefs.h
+++ b/src/LYGlobalDefs.h
@@ -98,6 +98,7 @@ extern char star_string[MAX_LINE + 1]; /* from GridText.c */
  ((n) >= MAX_LINE ? star_string : &star_string[(MAX_LINE-1)] - (n))
 #define DIRNAMESIZE 256
 
+extern BOOLEAN LYShowColor;	/* Show color or monochrome?	    */
 extern BOOLEAN LYShowCursor;	/* Show the cursor or hide it?	    */
 extern BOOLEAN LYUseDefShoCur;	/* Command line -show_cursor toggle */
 extern BOOLEAN LYCursesON;  /* start_curses()->TRUE, stop_curses()->FALSE */
diff --git a/src/LYHistory.c b/src/LYHistory.c
index 741ebe52..142703dd 100644
--- a/src/LYHistory.c
+++ b/src/LYHistory.c
@@ -1,5 +1,6 @@
 #include "HTUtils.h"
 #include "tcp.h"
+#include "HTTP.h"
 #include "HTAlert.h"
 #include "HText.h"
 #include "LYGlobalDefs.h"
@@ -476,8 +477,6 @@ PUBLIC int showhistory ARGS1(
     return(0);
 }
 
-extern BOOL reloading;
-
 /* 
  *  This function makes the history page seem like any other type of
  *  file since more info is needed than can be provided by the normal
diff --git a/src/LYKeymap.h b/src/LYKeymap.h
index b704c2d3..a426d2ba 100644
--- a/src/LYKeymap.h
+++ b/src/LYKeymap.h
@@ -1,4 +1,3 @@
-
 #ifndef LYKEYMAP_H
 #define LYKEYMAP_H
 
@@ -22,20 +21,20 @@ extern char override[];
 
 #define CURRENT_KEYMAP_TITLE "Current Key Map"
 
-#define       LYK_1     	1
-#define       LYK_2     	2
-#define       LYK_3     	3
-#define       LYK_4     	4
-#define       LYK_5     	5
-#define       LYK_6     	6
-#define       LYK_7     	7
-#define       LYK_8     	8
-#define       LYK_9     	9
+#define       LYK_1             1
+#define       LYK_2             2
+#define       LYK_3             3
+#define       LYK_4             4
+#define       LYK_5             5
+#define       LYK_6             6
+#define       LYK_7             7
+#define       LYK_8             8
+#define       LYK_9             9
 #define       LYK_SOURCE        10
 #define       LYK_RELOAD        11
-#define       LYK_PIPE  	12
-#define       LYK_QUIT  	13
-#define       LYK_ABORT 	14
+#define       LYK_PIPE          12
+#define       LYK_QUIT          13
+#define       LYK_ABORT         14
 #define       LYK_NEXT_PAGE     15
 #define       LYK_PREV_PAGE     16
 #define       LYK_UP_TWO        17
@@ -43,8 +42,8 @@ extern char override[];
 #define       LYK_UP_HALF       19
 #define       LYK_DOWN_HALF     20
 #define       LYK_REFRESH       21
-#define       LYK_HOME  	22
-#define       LYK_END   	23
+#define       LYK_HOME          22
+#define       LYK_END           23
 #define       LYK_PREV_LINK     24
 #define       LYK_NEXT_LINK     25
 #define       LYK_UP_LINK       26
@@ -54,26 +53,26 @@ extern char override[];
 #define       LYK_HISTORY       30
 #define       LYK_PREV_DOC      31
 #define       LYK_ACTIVATE      32
-#define       LYK_GOTO  	33
-#define       LYK_ECGOTO  	34
-#define       LYK_HELP  	35
-#define       LYK_INDEX 	36
+#define       LYK_GOTO          33
+#define       LYK_ECGOTO        34
+#define       LYK_HELP          35
+#define       LYK_INDEX         36
 #define       LYK_NOCACHE       37
 #define       LYK_INTERRUPT     38
 #define       LYK_MAIN_MENU     39
 #define       LYK_OPTIONS       40
 #define       LYK_INDEX_SEARCH  41
 #define       LYK_WHEREIS       42
-#define       LYK_NEXT  	43
+#define       LYK_NEXT          43
 #define       LYK_COMMENT       44
-#define       LYK_EDIT  	45
-#define       LYK_INFO  	46
-#define       LYK_PRINT 	47
+#define       LYK_EDIT          45
+#define       LYK_INFO          46
+#define       LYK_PRINT         47
 #define       LYK_ADD_BOOKMARK  48
 #define       LYK_DEL_BOOKMARK  49
 #define       LYK_VIEW_BOOKMARK 50
-#define       LYK_VLINKS	51
-#define       LYK_SHELL 	52
+#define       LYK_VLINKS        51
+#define       LYK_SHELL         52
 #define       LYK_DOWNLOAD      53
 #define       LYK_TRACE_TOGGLE  54
 #define       LYK_TRACE_LOG     55
@@ -81,29 +80,30 @@ extern char override[];
 #define       LYK_INLINE_TOGGLE 57
 #define       LYK_HEAD          58
 #define       LYK_DO_NOTHING    59
-#define       LYK_TOGGLE_HELP	60
-#define       LYK_JUMP		61
-#define       LYK_KEYMAP	62
-#define       LYK_LIST		63
-#define       LYK_TOOLBAR	64
-#define       LYK_HISTORICAL	65
-#define       LYK_MINIMAL	66
-#define       LYK_SOFT_DQUOTES	67
-#define       LYK_RAW_TOGGLE	68
+#define       LYK_TOGGLE_HELP   60
+#define       LYK_JUMP          61
+#define       LYK_KEYMAP        62
+#define       LYK_LIST          63
+#define       LYK_TOOLBAR       64
+#define       LYK_HISTORICAL    65
+#define       LYK_MINIMAL       66
+#define       LYK_SOFT_DQUOTES  67
+#define       LYK_RAW_TOGGLE    68
 #define       LYK_COOKIE_JAR    69
 #define       LYK_F_LINK_NUM    70
-#define       LYK_SWITCH_DTD	71
+#define       LYK_SWITCH_DTD    71
 
 #ifdef USE_EXTERNALS
-#define       LYK_EXTERN    72
+#define       LYK_EXTERN        72
 #if defined(VMS) || defined(DIRED_SUPPORT)
-#define		LYK_DIRED_MENU	73
+#define       LYK_DIRED_MENU    73
 #endif /* VMS || DIRED_SUPPORT */
 #else  /* USE_EXTERNALS */
 #if defined(VMS) || defined(DIRED_SUPPORT)
-#define		LYK_DIRED_MENU	72
+#define       LYK_DIRED_MENU    72
 #endif /* VMS || DIRED_SUPPORT */
 #endif /* !defined(USE_EXTERNALS) */
+
 #ifdef DIRED_SUPPORT
 #define       LYK_CREATE        (LYK_DIRED_MENU+1)
 #define       LYK_REMOVE        (LYK_DIRED_MENU+2)
@@ -112,8 +112,9 @@ extern char override[];
 #define       LYK_UPLOAD        (LYK_DIRED_MENU+5)
 #define       LYK_INSTALL       (LYK_DIRED_MENU+6)
 #endif /* DIRED_SUPPORT */
+
 #ifdef NOT_USED
-#define       LYK_VERSION	80
+#define       LYK_VERSION       80
 #define       LYK_FORM_UP       81
 #define       LYK_FORM_DOWN     82
 #endif /* NOT_USED */
diff --git a/src/LYMail.c b/src/LYMail.c
index d85a12ae..9e93fba2 100644
--- a/src/LYMail.c
+++ b/src/LYMail.c
@@ -329,7 +329,6 @@ PUBLIC void mailmsg ARGS4(int,cur, char *,owner_address,
     FILE *fd, *fp;
     char *address = NULL;
     char cmd[512], *cp, *cp0, *cp1;
-    int i;
 #if defined(VMS) || defined(DOSPATH)
     char my_tempfile[256];
     char *address_ptr1, *address_ptr2;
@@ -1251,7 +1250,7 @@ PRIVATE void terminate_letter ARGS1(int,sig)
 #if defined(VMS) || defined(DOSPATH)
     /* Refresh the screen to get rid of the "interrupt" message */
     if (!dump_output_immediately) {
-	clearok(curscr, TRUE);
+	lynx_force_repaint();
 	refresh();
     }
 #endif /* VMS */
diff --git a/src/LYMain.c b/src/LYMain.c
index b6d4297f..8b4e48e6 100644
--- a/src/LYMain.c
+++ b/src/LYMain.c
@@ -1,5 +1,6 @@
 #include "HTUtils.h"
 #include "tcp.h"
+#include "HTTP.h"
 #include "HTParse.h"
 #include "HTAccess.h"
 #include "HTList.h"
@@ -153,6 +154,7 @@ PUBLIC lynx_html_item_type *externals = NULL;
 #endif
 PUBLIC lynx_html_item_type *uploaders = NULL;
 PUBLIC int port_syntax = 1;
+PUBLIC BOOLEAN LYShowColor = SHOW_COLOR; /* to show or not to show */
 PUBLIC BOOLEAN LYShowCursor = SHOW_CURSOR; /* to show or not to show */
 PUBLIC BOOLEAN LYUseDefShoCur = TRUE;	/* Command line -show_cursor toggle */
 PUBLIC BOOLEAN LYforce_no_cache = FALSE;
@@ -362,7 +364,6 @@ PUBLIC char *log_file_name = NULL; /* for WAIS log file name    in libWWW */
 PUBLIC FILE *logfile = NULL;	   /* for WAIS log file output  in libWWW */
 #endif /* DECLARE_WAIS_LOGFILES */
 
-extern BOOL reloading;	    /* For Flushing Cache on Proxy Server (HTTP.c)  */
 extern int HTNewsChunkSize; /* Number of news articles per chunk (HTNews.c) */
 extern int HTNewsMaxChunk;  /* Max news articles before chunking (HTNews.c) */
 
@@ -875,14 +876,14 @@ PUBLIC int main ARGS2(
 		 */
 		while (fgets(buf, sizeof(buf), stdin) &&
 		       strncmp(buf, "---", 3) != 0) {
-		    int j;
+		    int j2;
 
 		    /*
 		     *  Strip line terminators.
 		     */
-		    for (j = strlen(buf) - 1; j >= 0 &&
-			 (buf[j] == CR || buf[j] == LF); j--) {
-			buf[j] = '\0';
+		    for (j2 = strlen(buf) - 1; j2 >= 0 &&
+			 (buf[j2] == CR || buf[j2] == LF); j2--) {
+			buf[j2] = '\0';
 		    }
 		    StrAllocCat(*get_data, buf);
 		}
@@ -913,14 +914,14 @@ PUBLIC int main ARGS2(
 		 */
 		while (fgets(buf, sizeof(buf), stdin) &&
 		       strncmp(buf, "---", 3) != 0) {
-		    int j;
+		    int j2;
 
 		     /*
 		      *  Strip line terminators.
 		      */
-		    for (j = strlen(buf) - 1; j >= 0 &&
-			 (buf[j] == CR || buf[j] == LF); j--) {
-			buf[j] = '\0';
+		    for (j2 = strlen(buf) - 1; j2 >= 0 &&
+			 (buf[j2] == CR || buf[j2] == LF); j2--) {
+			buf[j2] = '\0';
 		    }
 		    StrAllocCat(*post_data, buf);
 		}
@@ -2165,6 +2166,9 @@ PRIVATE void parse_arg ARGS3(
     } else if (strncmp(argv[0], "-nobrowse", 9) == 0) {
 	HTDirAccess = HT_DIR_FORBID;
 
+    } else if (strncmp(argv[0], "-nocolor", 8) == 0) {
+	LYShowColor = FALSE;
+
 #if defined(EXEC_LINKS) || defined(EXEC_SCRIPTS)
     } else if (strncmp(argv[0], "-noexec", 7) == 0) {
 	local_exec = FALSE;
diff --git a/src/LYMainLoop.c b/src/LYMainLoop.c
index e751496b..69a618dd 100644
--- a/src/LYMainLoop.c
+++ b/src/LYMainLoop.c
@@ -56,8 +56,6 @@
 #include "LYexit.h"
 #include "LYLeaks.h"
 
-extern BOOL reloading;		/* For Flushing Cache on Proxy Server */
-
 PRIVATE int are_different PARAMS((document *doc1, document *doc2));
 PRIVATE int are_phys_different PARAMS((document *doc1, document *doc2));
 PUBLIC void HTGotoURLs_free NOPARAMS;
@@ -1748,7 +1746,7 @@ new_cmd:  /*
 #endif /* NO_ASSUME_SAME_DOC */
 	    FREE(curdoc.address); /* so it doesn't get pushed */
 #ifdef VMS
-	    clearok(curscr, TRUE);
+	    lynx_force_repaint();
 #endif /* VMS */
 	    /*
 	     *  Reload should force a cache refresh on a proxy.
@@ -2009,7 +2007,7 @@ new_cmd:  /*
 	case LYK_REFRESH:
 	   refresh_screen = TRUE;
 #if defined(VMS) || defined(USE_SLANG)
-	   clearok(curscr, TRUE);
+	   lynx_force_repaint();
 #endif /* VMS || USE_SLANG */
 	   break;
 
diff --git a/src/LYMap.c b/src/LYMap.c
index f15421cc..103a41eb 100644
--- a/src/LYMap.c
+++ b/src/LYMap.c
@@ -7,6 +7,7 @@
 
 #include "HTUtils.h"
 #include "tcp.h"
+#include "HTTP.h"
 #include "HTAnchor.h"
 #include "HTAccess.h"
 #include "HTFormat.h"
@@ -30,8 +31,6 @@
  
 #define FREE(x) if (x) {free(x); x=NULL;}
 
-extern BOOL reloading;    /* For Flushing Cache on Proxy Server */
-
 typedef struct _LYMapElement {
    char * address;
    char * title;
diff --git a/src/LYNews.c b/src/LYNews.c
index 917bc137..d4dafc64 100644
--- a/src/LYNews.c
+++ b/src/LYNews.c
@@ -433,7 +433,7 @@ PRIVATE void terminate_message ARGS1(
     /*
      *  Refresh the screen to get rid of the "interrupt" message.
      */
-    clearok(curscr, TRUE);
+    lynx_force_repaint();
     refresh();
 #endif /* VMS */
 }
diff --git a/src/LYNews.h b/src/LYNews.h
index 14d0e6bd..17d9d48a 100644
--- a/src/LYNews.h
+++ b/src/LYNews.h
@@ -1,5 +1,3 @@
-
-
 #ifndef LYNEWSPOST_H
 #define LYNEWSPOST_H
 
@@ -7,6 +5,8 @@
 #include "LYStructs.h"
 #endif /* LYSTRUCTS_H */
 
+extern BOOLEAN term_message;
+
 extern char *LYNewsPost PARAMS((char *newsgroups, BOOLEAN followup));
 
 #endif /* LYNEWSPOST_H */
diff --git a/src/LYOptions.c b/src/LYOptions.c
index 774279d2..ed870958 100644
--- a/src/LYOptions.c
+++ b/src/LYOptions.c
@@ -1,5 +1,6 @@
 #include "HTUtils.h"
 #include "tcp.h"
+#include "userdefs.h"
 #include "HTFTP.h"
 #include "HTML.h"
 #include "LYCurses.h"
@@ -19,21 +20,6 @@
 
 #include "LYLeaks.h"
 
-#ifndef BOXVERT
-#ifdef ALT_CHAR_SET
-#define BOXVERT 0   /* use alt char set for popup window vertical borders */
-#else
-#define BOXVERT '*'	/* character for popup window vertical borders */
-#endif
-#endif
-#ifndef BOXHORI
-#ifdef ALT_CHAR_SET
-#define BOXHORI 0   /* use alt char set for popup window horizontal borders */
-#else
-#define BOXHORI '*'	/* character for popup window horizontal borders */
-#endif
-#endif
-
 #define FREE(x) if (x) {free(x); x = NULL;}
 
 #ifdef VMS
@@ -55,7 +41,7 @@ PRIVATE int popup_choice PARAMS((
 	int		cur_choice,
 	int		line,
 	int		column,
-	char **		choices, 
+	char **		choices,
 	int		i_length,
 	int		disabled));
 
@@ -68,13 +54,13 @@ PRIVATE void option_statusline ARGS1(
      *  Make sure we have a pointer to a string.
      */
     if (text == NULL)
-        return;
+	return;
 
     /*
      *  Don't print statusline messages if dumping to stdout.
      */
     if (dump_output_immediately)
-        return;
+	return;
 
     /*
      *  Use _statusline() set to output on the bottom line. - FM
@@ -93,7 +79,7 @@ PUBLIC void options NOARGS
     /*
      *  If the user changes the display we need memory to put it in.
      */
-    char display_option[256]; 
+    char display_option[256];
 #ifndef VMS
     static char putenv_command[142];
 #endif /* !VMS */
@@ -101,29 +87,29 @@ PUBLIC void options NOARGS
     int CurrentCharSet = current_char_set;
     BOOLEAN CurrentRawMode = LYRawMode;
     BOOLEAN AddValueAccepted = FALSE;
-    
+
 #ifdef DIRED_SUPPORT
 #ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
     if (LYlines < 24) {
-        HTAlert(OPTION_SCREEN_NEEDS_24);
+	HTAlert(OPTION_SCREEN_NEEDS_24);
 	return;
     }
 #else
     if (LYlines < 23) {
-        HTAlert(OPTION_SCREEN_NEEDS_23);
+	HTAlert(OPTION_SCREEN_NEEDS_23);
 	return;
     }
 #endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
 #else
 #ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
     if (LYlines < 23) {
-        HTAlert(
+	HTAlert(
 	"Screen height must be at least 23 lines for the Options menu!");
 	return;
     }
 #else
     if (LYlines < 22) {
-        HTAlert(OPTION_SCREEN_NEEDS_22);
+	HTAlert(OPTION_SCREEN_NEEDS_22);
 	return;
     }
 #endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
@@ -138,9 +124,9 @@ draw_options:
      *  might have non-ASCII or multibyte/CJK characters. - FM
      */
     response = 0;
-    clear(); 
+    clear();
     move(0, 5);
-    
+
     lynx_start_h1_color ();
     addstr("         Options Menu (");
     addstr(LYNX_NAME);
@@ -148,7 +134,7 @@ draw_options:
     addstr(LYNX_VERSION);
     addch(')');
     lynx_stop_h1_color ();
-    move(L_EDITOR, 5);  
+    move(L_EDITOR, 5);
     addstr("E)ditor                      : ");
     addstr((editor && *editor) ? editor : "NONE");
 
@@ -159,41 +145,45 @@ draw_options:
     move(L_HOME, 5);
     addstr("mu(L)ti-bookmarks: ");
     addstr((LYMultiBookmarks ?
-    	      (LYMBMAdvanced ? "ADVANCED"
-	      		     : "STANDARD")
+	      (LYMBMAdvanced ? "ADVANCED"
+			     : "STANDARD")
 			     : "OFF     "));
     move(L_HOME, B_BOOK);
     if (LYMultiBookmarks) {
-        addstr("review/edit B)ookmarks files");
+	addstr("review/edit B)ookmarks files");
     } else {
-        addstr("B)ookmark file: ");
+	addstr("B)ookmark file: ");
 	addstr((bookmark_page && *bookmark_page) ? bookmark_page : "NONE");
     }
 
     move(L_FTPSTYPE, 5);
     addstr("F)TP sort criteria           : ");
     addstr((HTfileSortMethod == FILE_BY_NAME ? "By Filename" :
-	   (HTfileSortMethod == FILE_BY_SIZE ? "By Size    " : 
+	   (HTfileSortMethod == FILE_BY_SIZE ? "By Size    " :
 	   (HTfileSortMethod == FILE_BY_TYPE ? "By Type    " :
-	   				       "By Date    "))));
+					       "By Date    "))));
 
     move(L_MAIL_ADDRESS, 5);
     addstr("P)ersonal mail address       : ");
     addstr((personal_mail_address && *personal_mail_address) ?
-    				       personal_mail_address : "NONE");
+				       personal_mail_address : "NONE");
 
-    move(L_SSEARCH, 5); 
+    move(L_SSEARCH, 5);
     addstr("S)earching type              : ");
     addstr(case_sensitive ? "CASE SENSITIVE  " : "CASE INSENSITIVE");
 
     move(L_CHARSET, 5);
-    addstr("display (C)haracter set      : "); 
+    addstr("display (C)haracter set      : ");
     addstr(LYchar_set_names[current_char_set]);
-    
+
     move(L_RAWMODE, 5);
     addstr("Raw 8-bit or CJK m(O)de      : ");
     addstr(LYRawMode ? "ON " : "OFF");
 
+    move(L_COLOR, B_COLOR);
+    addstr("show color (&)  : ");
+    addstr(LYShowColor ? "ON " : "OFF");
+
     move(L_LANGUAGE, 5);
     addstr("preferred document lan(G)uage: ");
     addstr((language && *language) ? language : "NONE");
@@ -205,11 +195,11 @@ draw_options:
     move(L_BOOL_A, B_VIKEYS);
     addstr("V)I keys: ");
     addstr(vi_keys ? "ON " : "OFF");
-    
+
     move(L_BOOL_A, B_EMACSKEYS);
     addstr("e(M)acs keys: ");
     addstr(emacs_keys ? "ON " : "OFF");
-    
+
     move(L_BOOL_A, B_SHOW_DOTFILES);
     addstr("sho(W) dot files: ");
     addstr((!no_dotfiles && show_dotfiles) ? "ON " : "OFF");
@@ -238,13 +228,13 @@ draw_options:
     move(L_DIRED, 5);
     addstr("l(I)st directory style       : ");
     addstr((dir_list_style == FILES_FIRST) ? "Files first      " :
-	  ((dir_list_style == MIXED_STYLE) ? "Mixed style      " : 
+	  ((dir_list_style == MIXED_STYLE) ? "Mixed style      " :
 					     "Directories first"));
 #endif /* DIRED_SUPPORT */
 
     move(L_USER_MODE, 5);
     addstr("U)ser mode                   : ");
-    addstr(  (user_mode == NOVICE_MODE) ? "Novice      " : 
+    addstr(  (user_mode == NOVICE_MODE) ? "Novice      " :
       ((user_mode == INTERMEDIATE_MODE) ? "Intermediate" :
 					  "Advanced    "));
 
@@ -257,7 +247,7 @@ draw_options:
     addstr("local e(X)ecution links      : ");
 #ifndef NEVER_ALLOW_REMOTE_EXEC
     addstr(		  local_exec ? "ALWAYS ON           " :
-          (local_exec_on_local_files ? "FOR LOCAL FILES ONLY" :
+	  (local_exec_on_local_files ? "FOR LOCAL FILES ONLY" :
 				       "ALWAYS OFF          "));
 #else
     addstr(local_exec_on_local_files ? "FOR LOCAL FILES ONLY" :
@@ -267,29 +257,29 @@ draw_options:
 
     move(LYlines-3, 2);
     addstr(SELECT_SEGMENT);
-    standout();
+    start_bold();
     addstr(CAP_LETT_SEGMENT);
-    standend();
+    stop_bold();
     addstr(OF_OPT_LINE_SEGMENT);
     if (!no_option_save) {
-        addstr(" '");
-	standout();
+	addstr(" '");
+	start_bold();
 	addstr(">");
-	standend();
+	stop_bold();
 	addstr("'");
 	addstr(TO_SAVE_SEGMENT);
     }
     addstr(OR_SEGMENT);
     addstr("'");
-    standout();
+    start_bold();
     addstr("r");
-    standend();
+    stop_bold();
     addstr("'");
     addstr(TO_RETURN_SEGMENT);
 
     while (TOUPPER(response) != 'R' &&
 	   !LYisNonAlnumKeyname(response, LYK_PREV_DOC) &&
-           response != '>' && !term_options &&
+	   response != '>' && !term_options &&
 	   response != 7 &&  response != 3) {
 	if (AddValueAccepted == TRUE) {
 	    option_statusline(VALUE_ACCEPTED);
@@ -305,13 +295,13 @@ draw_options:
 	if (term_options || response == 7 || response == 3)
 	    response = 'R';
 	if (LYisNonAlnumKeyname(response, LYK_REFRESH)) {
-	    clearok(curscr, TRUE);
+	    lynx_force_repaint();
 	    goto draw_options;
 	}
 	switch (response) {
 	    case 'e':	/* Change the editor. */
 	    case 'E':
-	        if (no_editor) {
+		if (no_editor) {
 		    option_statusline(EDIT_DISABLED);
 		} else if (system_editor ) {
 		    option_statusline(EDITOR_LOCKED);
@@ -324,20 +314,20 @@ draw_options:
 			*display_option = '\0';
 		    }
 		    option_statusline(ACCEPT_DATA);
-		    move(L_EDITOR, COL_OPTION_VALUES);  
-		    standout();
+		    move(L_EDITOR, COL_OPTION_VALUES);
+		    start_bold();
 		    ch = LYgetstr(display_option, VISIBLE,
 				  sizeof(display_option), NORECALL);
-		    standend();
+		    stop_bold();
 		    move(L_EDITOR, COL_OPTION_VALUES);
 		    if (term_options || ch == -1) {
-		        addstr((editor && *editor) ?
+			addstr((editor && *editor) ?
 					    editor : "NONE");
 		    } else if (*display_option == '\0') {
 			FREE(editor);
 			addstr("NONE");
 		    } else {
-		        StrAllocCopy(editor, display_option);
+			StrAllocCopy(editor, display_option);
 			addstr(display_option);
 		    }
 		    clrtoeol();
@@ -357,10 +347,10 @@ draw_options:
 		}
 		option_statusline(ACCEPT_DATA);
 		move(L_DISPLAY, COL_OPTION_VALUES);
-		standout();
+		start_bold();
 		ch = LYgetstr(display_option, VISIBLE,
 			      sizeof(display_option), NORECALL);
-		standend();
+		stop_bold();
 		move(L_DISPLAY, COL_OPTION_VALUES);
 		if ((term_options || ch == -1) ||
 		    (display != NULL &&
@@ -381,12 +371,12 @@ draw_options:
 		    break;
 		} else if (*display_option == '\0') {
 		    if ((display == NULL) ||
-		        (display != NULL && *display == '\0')) {
+			(display != NULL && *display == '\0')) {
 			/*
 			 *  NULL or zero-length display string
 			 *  wasn't changed. - FM
 			 */
-		        addstr("NONE");
+			addstr("NONE");
 			clrtoeol();
 			option_statusline(VALUE_ACCEPTED);
 			response = ' ';
@@ -400,60 +390,60 @@ draw_options:
 		{
 		    int i;
 		    for (i = 0; display_option[i]; i++)
-		        display_option[i] = TOUPPER(display_option[i]);
+			display_option[i] = TOUPPER(display_option[i]);
 		    Define_VMSLogical(DISPLAY, display_option);
 		}
 #else
 		sprintf(putenv_command, "DISPLAY=%s", display_option);
 		putenv(putenv_command);
 #endif /* VMS */
-			if ((display = getenv(DISPLAY)) != NULL &&
-			    *display == '\0') {
-			    display = NULL;
-			}
-			addstr(display ? display : "NONE");
-			clrtoeol();
-			if ((display == NULL && *display_option == '\0') ||
-			    (display != NULL &&
-			     0 == strcmp(display, display_option))) {
-			    if (display == NULL &&
-			        LYisConfiguredForX == TRUE) {
-				option_statusline(VALUE_ACCEPTED_WARNING_X);
-			    } else if (display != NULL &&
-			        LYisConfiguredForX == FALSE) {
-				option_statusline(VALUE_ACCEPTED_WARNING_NONX);
-			    } else {
-			        option_statusline(VALUE_ACCEPTED);
-			    }
-			} else {
-			    if (*display_option) {
-			        option_statusline(FAILED_TO_SET_DISPLAY);
-			    } else {
-			        option_statusline(FAILED_CLEAR_SET_DISPLAY);
-			    }
-			}
-			response = ' ';
-			break;
+		if ((display = getenv(DISPLAY)) != NULL &&
+		    *display == '\0') {
+		    display = NULL;
+		}
+		addstr(display ? display : "NONE");
+		clrtoeol();
+		if ((display == NULL && *display_option == '\0') ||
+		    (display != NULL &&
+		     !strcmp(display, display_option))) {
+		    if (display == NULL &&
+			LYisConfiguredForX == TRUE) {
+			option_statusline(VALUE_ACCEPTED_WARNING_X);
+		    } else if (display != NULL &&
+			LYisConfiguredForX == FALSE) {
+			option_statusline(VALUE_ACCEPTED_WARNING_NONX);
+		    } else {
+			option_statusline(VALUE_ACCEPTED);
+		    }
+		} else {
+		    if (*display_option) {
+			option_statusline(FAILED_TO_SET_DISPLAY);
+		    } else {
+			option_statusline(FAILED_CLEAR_SET_DISPLAY);
+		    }
+		}
+		response = ' ';
+		break;
 
-		case 'l':	/* Change multibookmarks option. */
-		case 'L':
-			if (LYMBMBlocked) {
-			    option_statusline(MULTIBOOKMARKS_DISALLOWED);
-			    response = ' ';
-			    break;
-			}
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"OFF     ");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"STANDARD");
-			choices[2] = NULL;
-			StrAllocCopy(choices[2],"ADVANCED");
-			choices[3] = NULL;
+	    case 'l':	/* Change multibookmarks option. */
+	    case 'L':
+		if (LYMBMBlocked) {
+		    option_statusline(MULTIBOOKMARKS_DISALLOWED);
+		    response = ' ';
+		    break;
+		}
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF     ");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "STANDARD");
+		choices[2] = NULL;
+		StrAllocCopy(choices[2], "ADVANCED");
+		choices[3] = NULL;
 		if (!LYSelectPopups) {
 		    LYMultiBookmarks = boolean_choice((LYMultiBookmarks *
 						       (1 + LYMBMAdvanced)),
-                                                          L_HOME, C_MULTI,
-                                                          choices);
+						      L_HOME, C_MULTI,
+						      choices);
 		} else {
 		    LYMultiBookmarks = popup_choice((LYMultiBookmarks *
 						     (1 + LYMBMAdvanced)),
@@ -461,12 +451,12 @@ draw_options:
 						    choices,
 						    3, FALSE);
 		}
-                        if (LYMultiBookmarks == 2) {
-                            LYMultiBookmarks = TRUE;
-                            LYMBMAdvanced = TRUE;
-                        } else {
-                            LYMBMAdvanced = FALSE;
-                        }
+		if (LYMultiBookmarks == 2) {
+		    LYMultiBookmarks = TRUE;
+		    LYMBMAdvanced = TRUE;
+		} else {
+		    LYMBMAdvanced = FALSE;
+		}
 #if defined(VMS) || defined(USE_SLANG)
 		if (LYSelectPopups) {
 		    move(L_HOME, C_MULTI);
@@ -481,99 +471,99 @@ draw_options:
 		if (!LYSelectPopups)
 #endif /* !VMS && !USE_SLANG */
 		{
-			move(L_HOME, B_BOOK);
-			clrtoeol();
-    			if (LYMultiBookmarks) {
-    			    addstr("review/edit B)ookmarks files");
-    			} else {
-			    addstr("B)ookmark file: ");
-			    addstr((bookmark_page && *bookmark_page) ?
-			    			       bookmark_page : "NONE");
-    			}
+		    move(L_HOME, B_BOOK);
+		    clrtoeol();
+		    if (LYMultiBookmarks) {
+			addstr("review/edit B)ookmarks files");
+		    } else {
+			addstr("B)ookmark file: ");
+			addstr((bookmark_page && *bookmark_page) ?
+						   bookmark_page : "NONE");
+		    }
 		}
-			response = ' ';
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 
-		case 'b':	/* Change the bookmark page location. */
-		case 'B':
-			/*
-			 *  Anonymous users should not be allowed to
-			 *  change the bookmark page.
-			 */
-			if (!no_bookmark) {
-			    if (LYMultiBookmarks) {
-				edit_bookmarks();
-				signal(SIGINT, terminate_options);
-				goto draw_options;
-			    }
+	    case 'b':	/* Change the bookmark page location. */
+	    case 'B':
+		/*
+		 *  Anonymous users should not be allowed to
+		 *  change the bookmark page.
+		 */
+		if (!no_bookmark) {
+		    if (LYMultiBookmarks) {
+			edit_bookmarks();
+			signal(SIGINT, terminate_options);
+			goto draw_options;
+		    }
 		    if (bookmark_page && *bookmark_page) {
-			        strcpy(display_option, bookmark_page);
+			strcpy(display_option, bookmark_page);
 		    } else {  /* clear the NONE */
-				move(L_HOME, C_DEFAULT);
-				clrtoeol();
-			        *display_option = '\0';
-			    }
-			    option_statusline(ACCEPT_DATA);
-			    move(L_HOME, C_DEFAULT);  
-			    standout();
-			    ch = LYgetstr(display_option, VISIBLE,
-			    		  sizeof(display_option), NORECALL);
-			    standend();
-			    move(L_HOME, C_DEFAULT);
-			    if (term_options ||
-			        ch == -1 || *display_option == '\0') {
-			        addstr((bookmark_page && *bookmark_page) ?
-						    bookmark_page : "NONE");
-			    } else if (!LYPathOffHomeOK(display_option,
-						    sizeof(display_option))) {
-			        addstr((bookmark_page && *bookmark_page) ?
-						    bookmark_page : "NONE");
-				clrtoeol();
-				option_statusline(USE_PATH_OFF_HOME);
-				response = ' ';
-				break;
-			    } else {
-			        StrAllocCopy(bookmark_page, display_option);
-				StrAllocCopy(MBM_A_subbookmark[0],
-					     bookmark_page);
-				addstr(bookmark_page);
-			    }
-			    clrtoeol();
-			    option_statusline(VALUE_ACCEPTED);
-			} else { /* anonymous */
-			    option_statusline(BOOKMARK_CHANGE_DISALLOWED);
-			}
+			move(L_HOME, C_DEFAULT);
+			clrtoeol();
+			*display_option = '\0';
+		    }
+		    option_statusline(ACCEPT_DATA);
+		    move(L_HOME, C_DEFAULT);
+		    start_bold();
+		    ch = LYgetstr(display_option, VISIBLE,
+				  sizeof(display_option), NORECALL);
+		    stop_bold();
+		    move(L_HOME, C_DEFAULT);
+		    if (term_options ||
+			ch == -1 || *display_option == '\0') {
+			addstr((bookmark_page && *bookmark_page) ?
+						   bookmark_page : "NONE");
+		    } else if (!LYPathOffHomeOK(display_option,
+						sizeof(display_option))) {
+			addstr((bookmark_page && *bookmark_page) ?
+						   bookmark_page : "NONE");
+			clrtoeol();
+			option_statusline(USE_PATH_OFF_HOME);
 			response = ' ';
 			break;
+		    } else {
+			StrAllocCopy(bookmark_page, display_option);
+			StrAllocCopy(MBM_A_subbookmark[0],
+				     bookmark_page);
+			addstr(bookmark_page);
+		    }
+		    clrtoeol();
+		    option_statusline(VALUE_ACCEPTED);
+		} else { /* anonymous */
+		    option_statusline(BOOKMARK_CHANGE_DISALLOWED);
+		}
+		response = ' ';
+		break;
 
-		case 'f':	/* Change ftp directory sorting. */
-		case 'F':	/*  (also local for non-DIRED)   */
-                        /*
-			 *  Copy strings into choice array.
-			 */
-                        choices[0] = NULL;
-                        StrAllocCopy(choices[0],"By Filename");
-                        choices[1] = NULL;
-                        StrAllocCopy(choices[1],"By Type    ");
-                        choices[2] = NULL;
-                        StrAllocCopy(choices[2],"By Size    ");
-                        choices[3] = NULL;
-                        StrAllocCopy(choices[3],"By Date    ");
-                        choices[4] = NULL;
+	    case 'f':	/* Change ftp directory sorting. */
+	    case 'F':	/*  (also local for non-DIRED)   */
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "By Filename");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "By Type    ");
+		choices[2] = NULL;
+		StrAllocCopy(choices[2], "By Size    ");
+		choices[3] = NULL;
+		StrAllocCopy(choices[3], "By Date    ");
+		choices[4] = NULL;
 		if (!LYSelectPopups) {
-                        HTfileSortMethod = boolean_choice(HTfileSortMethod,
+		    HTfileSortMethod = boolean_choice(HTfileSortMethod,
 						      L_FTPSTYPE, -1,
 						      choices);
 		} else {
@@ -587,79 +577,79 @@ draw_options:
 		    addstr(choices[HTfileSortMethod]);
 #endif /* VMS || USE_SLANG */
 		}
-                        FREE(choices[0]);
-                        FREE(choices[1]);
-                        FREE(choices[2]);
-                        FREE(choices[3]);
-			response = ' ';
+		FREE(choices[0]);
+		FREE(choices[1]);
+		FREE(choices[2]);
+		FREE(choices[3]);
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-                        break;
+		break;
 
-		case 'p': /* Change personal mail address for From headers. */
-		case 'P':
+	    case 'p': /* Change personal mail address for From headers. */
+	    case 'P':
 		if (personal_mail_address && *personal_mail_address) {
-			    strcpy(display_option, personal_mail_address);
+		    strcpy(display_option, personal_mail_address);
 		} else {  /* clear the NONE */
-			    move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
-			    addstr("    ");
-			    *display_option = '\0';
-			}
-			option_statusline(ACCEPT_DATA);
-	                move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
-			standout();
-			ch = LYgetstr(display_option, VISIBLE,
-				      sizeof(display_option), NORECALL);
-			standend();
-	                move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
-			if (term_options || ch == -1) {
-			    addstr((personal_mail_address &&
-				    *personal_mail_address) ?
-				      personal_mail_address : "NONE");
-			} else if (*display_option == '\0') {
-			    FREE(personal_mail_address);
-			    addstr("NONE");
-			} else {
-			    StrAllocCopy(personal_mail_address, display_option);
-			    addstr(display_option);
-			}
-			clrtoeol();
-			option_statusline(VALUE_ACCEPTED);
-			response = ' ';
-			break;
+		    move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
+		    addstr("    ");
+		    *display_option = '\0';
+		}
+		option_statusline(ACCEPT_DATA);
+		move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
+		start_bold();
+		ch = LYgetstr(display_option, VISIBLE,
+			      sizeof(display_option), NORECALL);
+		stop_bold();
+		move(L_MAIL_ADDRESS, COL_OPTION_VALUES);
+		if (term_options || ch == -1) {
+		    addstr((personal_mail_address &&
+			    *personal_mail_address) ?
+			      personal_mail_address : "NONE");
+		} else if (*display_option == '\0') {
+		    FREE(personal_mail_address);
+		    addstr("NONE");
+		} else {
+		    StrAllocCopy(personal_mail_address, display_option);
+		    addstr(display_option);
+		}
+		clrtoeol();
+		option_statusline(VALUE_ACCEPTED);
+		response = ' ';
+		break;
 
-		case 's':	/* Change case sentitivity for searches. */
-		case 'S':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"CASE INSENSITIVE");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"CASE SENSITIVE  ");
-			choices[2] = NULL;
-			case_sensitive = boolean_choice(case_sensitive,
+	    case 's':	/* Change case sentitivity for searches. */
+	    case 'S':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "CASE INSENSITIVE");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "CASE SENSITIVE  ");
+		choices[2] = NULL;
+		case_sensitive = boolean_choice(case_sensitive,
 						L_SSEARCH, -1, choices);
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
 
-		case 'c':	/* Change charset setting. */
-		case 'C':
+	    case 'c':	/* Change charset setting. */
+	    case 'C':
 		if (!LYSelectPopups) {
-			current_char_set = boolean_choice(current_char_set,
-		    				      L_CHARSET, -1,
+		    current_char_set = boolean_choice(current_char_set,
+						      L_CHARSET, -1,
 						      LYchar_set_names);
 		} else {
 		    current_char_set = popup_choice(current_char_set,
@@ -672,250 +662,269 @@ draw_options:
 		    addstr(LYchar_set_names[current_char_set]);
 #endif /* VMS || USE_SLANG */
 		}
-			/*
-			 *  Set the raw 8-bit or CJK mode defaults and
-			 *  character set if changed. - FM
-			 */
-			if (CurrentCharSet != current_char_set) {
-			    HTMLSetRawModeDefault(current_char_set);
-			    LYUseDefaultRawMode = TRUE;
-			    HTMLUseCharacterSet(current_char_set);
-			    CurrentCharSet = current_char_set;
-			    CurrentRawMode = LYRawMode;
+		/*
+		 *  Set the raw 8-bit or CJK mode defaults and
+		 *  character set if changed. - FM
+		 */
+		if (CurrentCharSet != current_char_set) {
+		    HTMLSetRawModeDefault(current_char_set);
+		    LYUseDefaultRawMode = TRUE;
+		    HTMLUseCharacterSet(current_char_set);
+		    CurrentCharSet = current_char_set;
+		    CurrentRawMode = LYRawMode;
 #if !defined(VMS) && !defined(USE_SLANG)
 		    if (!LYSelectPopups)
 #endif /* !VMS && !USE_SLANG */
 		    {
-			    move(L_RAWMODE, COL_OPTION_VALUES);
-			    clrtoeol();
-			    addstr(LYRawMode ? "ON " : "OFF");
-			}
+			move(L_RAWMODE, COL_OPTION_VALUES);
+			clrtoeol();
+			addstr(LYRawMode ? "ON " : "OFF");
+		    }
 		}
-			response = ' ';
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 
-		case 'o':	/* Change raw mode setting. */
-		case 'O':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0], "OFF");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1], "ON ");
-			choices[2] = NULL;
+	    case 'o':	/* Change raw mode setting. */
+	    case 'O':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
 		LYRawMode = boolean_choice(LYRawMode, L_RAWMODE, -1, choices);
-			/*
-			 *  Set the LYUseDefaultRawMode value and character
-			 *  handling if LYRawMode was changed. - FM
-			 */
-			if (CurrentRawMode != LYRawMode) {
+		/*
+		 *  Set the LYUseDefaultRawMode value and character
+		 *  handling if LYRawMode was changed. - FM
+		 */
+		if (CurrentRawMode != LYRawMode) {
 		    HTMLSetUseDefaultRawMode(current_char_set, LYRawMode);
-			    HTMLSetCharacterHandling(current_char_set);
-			    CurrentRawMode = LYRawMode;
-			}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+		    HTMLSetCharacterHandling(current_char_set);
+		    CurrentRawMode = LYRawMode;
+		}
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
 
-		case 'g':	/* Change language preference. */
-		case 'G':
+	    case 'g':	/* Change language preference. */
+	    case 'G':
 		if (language && *language) {
-			    strcpy(display_option, language);
+		    strcpy(display_option, language);
 		} else {  /* clear the NONE */
-			    move(L_LANGUAGE, COL_OPTION_VALUES);
-			    addstr("    ");
-			    *display_option = '\0';
-			}
-			option_statusline(ACCEPT_DATA);
-			move(L_LANGUAGE, COL_OPTION_VALUES);
-			standout();
-			ch = LYgetstr(display_option, VISIBLE,
-				      sizeof(display_option), NORECALL);
-			standend();
-			move(L_LANGUAGE, COL_OPTION_VALUES);
-			if (term_options || ch == -1) {
-			    addstr((language && *language) ?
-			    	   language : "NONE");
-			} else if (*display_option == '\0') {
-			    FREE(language);
-			    addstr("NONE");
-			} else {
-			    StrAllocCopy(language, display_option);
-			    addstr(display_option);
-			}
-			clrtoeol();
-			option_statusline(VALUE_ACCEPTED);
-			response = ' ';
-			break;
+		    move(L_LANGUAGE, COL_OPTION_VALUES);
+		    addstr("    ");
+		    *display_option = '\0';
+		}
+		option_statusline(ACCEPT_DATA);
+		move(L_LANGUAGE, COL_OPTION_VALUES);
+		start_bold();
+		ch = LYgetstr(display_option, VISIBLE,
+			      sizeof(display_option), NORECALL);
+		stop_bold();
+		move(L_LANGUAGE, COL_OPTION_VALUES);
+		if (term_options || ch == -1) {
+		    addstr((language && *language) ?
+					  language : "NONE");
+		} else if (*display_option == '\0') {
+		    FREE(language);
+		    addstr("NONE");
+		} else {
+		    StrAllocCopy(language, display_option);
+		    addstr(display_option);
+		}
+		clrtoeol();
+		option_statusline(VALUE_ACCEPTED);
+		response = ' ';
+		break;
 
-		case 'h':	/* Change charset preference. */
-		case 'H':
+	    case 'h':	/* Change charset preference. */
+	    case 'H':
 		if (pref_charset && *pref_charset) {
-			    strcpy(display_option, pref_charset);
+		    strcpy(display_option, pref_charset);
 		} else {  /* clear the NONE */
-			    move(L_PREF_CHARSET, COL_OPTION_VALUES);
-			    addstr("    ");
-			    *display_option = '\0';
-			}
-			option_statusline(ACCEPT_DATA);
-			move(L_PREF_CHARSET, COL_OPTION_VALUES);
-			standout();
-			ch = LYgetstr(display_option, VISIBLE,
-				      sizeof(display_option), NORECALL);
-			standend();
-			move(L_PREF_CHARSET, COL_OPTION_VALUES);
-			if (term_options || ch == -1) {
-			    addstr((pref_charset && *pref_charset) ?
-			    	   pref_charset : "NONE");
-			} else if (*display_option == '\0') {
-			    FREE(pref_charset);
-			    addstr("NONE");
-			} else {
-			    StrAllocCopy(pref_charset, display_option);
-			    addstr(display_option);
-			}
-			clrtoeol();
-			option_statusline(VALUE_ACCEPTED);
-			response = ' ';
-			break;
+		    move(L_PREF_CHARSET, COL_OPTION_VALUES);
+		    addstr("    ");
+		    *display_option = '\0';
+		}
+		option_statusline(ACCEPT_DATA);
+		move(L_PREF_CHARSET, COL_OPTION_VALUES);
+		start_bold();
+		ch = LYgetstr(display_option, VISIBLE,
+			      sizeof(display_option), NORECALL);
+		stop_bold();
+		move(L_PREF_CHARSET, COL_OPTION_VALUES);
+		if (term_options || ch == -1) {
+		    addstr((pref_charset && *pref_charset) ?
+			   pref_charset : "NONE");
+		} else if (*display_option == '\0') {
+		    FREE(pref_charset);
+		    addstr("NONE");
+		} else {
+		    StrAllocCopy(pref_charset, display_option);
+		    addstr(display_option);
+		}
+		clrtoeol();
+		option_statusline(VALUE_ACCEPTED);
+		response = ' ';
+		break;
 
-		case 'v':	/* Change VI keys setting. */
-		case 'V':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"OFF");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"ON ");
-			choices[2] = NULL;
-			vi_keys = boolean_choice(vi_keys,
-						 L_BOOL_A, C_VIKEYS,
-						 choices);
+	    case 'v':	/* Change VI keys setting. */
+	    case 'V':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
+		vi_keys = boolean_choice(vi_keys,
+					 L_BOOL_A, C_VIKEYS,
+					 choices);
 		if (vi_keys) {
-                            set_vi_keys();
+		    set_vi_keys();
 		} else {
-                            reset_vi_keys();
+		    reset_vi_keys();
 		}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
 
-		case 'M':	/* Change emacs keys setting. */
-		case 'm':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"OFF");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"ON ");
-			choices[2] = NULL;
-			emacs_keys = boolean_choice(emacs_keys,
-						    L_BOOL_A, C_EMACSKEYS,
-						    choices);
+	    case 'M':	/* Change emacs keys setting. */
+	    case 'm':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
+		emacs_keys = boolean_choice(emacs_keys,
+					    L_BOOL_A, C_EMACSKEYS,
+					    choices);
 		if (emacs_keys) {
-                            set_emacs_keys();
+		    set_emacs_keys();
 		} else {
-                            reset_emacs_keys();
+		    reset_emacs_keys();
 		}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
 
-		case 'W':	/* Change show dotfiles setting. */
-		case 'w':
-			   if (no_dotfiles) {
-			       option_statusline(DOTFILE_ACCESS_DISABLED);
-			   } else {
-			       /*
-			        *  Copy strings into choice array.
-				*/
-			       choices[0] = NULL;
-			       StrAllocCopy(choices[0],"OFF");
-			       choices[1] = NULL;
-			       StrAllocCopy(choices[1],"ON ");
-			       choices[2] = NULL;
-			       show_dotfiles = boolean_choice(show_dotfiles,
-							      L_BOOL_A,
-							      C_SHOW_DOTFILES, 
-							      choices);
-			       FREE(choices[0]);
-			       FREE(choices[1]);
-			   }
-			   response = ' ';
-			   break;
-
-		case 't':	/* Change select popups setting. */
-		case 'T':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0], "OFF");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1], "ON ");
-			choices[2] = NULL;
-			LYSelectPopups = boolean_choice(LYSelectPopups,
-							L_BOOL_B,
-							C_SELECT_POPUPS,
-							choices);
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+	    case 'W':	/* Change show dotfiles setting. */
+	    case 'w':
+		if (no_dotfiles) {
+		    option_statusline(DOTFILE_ACCESS_DISABLED);
+		} else {
+		    /*
+		     *  Copy strings into choice array.
+		     */
+		    choices[0] = NULL;
+		    StrAllocCopy(choices[0], "OFF");
+		    choices[1] = NULL;
+		    StrAllocCopy(choices[1], "ON ");
+		    choices[2] = NULL;
+		    show_dotfiles = boolean_choice(show_dotfiles,
+						   L_BOOL_A,
+						   C_SHOW_DOTFILES,
+						   choices);
+		    FREE(choices[0]);
+		    FREE(choices[1]);
+		}
+		response = ' ';
+		break;
 
-		case '@':	/* Change show cursor setting. */
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0], "OFF");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1], "ON ");
-			choices[2] = NULL;
-			LYShowCursor = boolean_choice(LYShowCursor,
-						      L_BOOL_B,
-						      C_SHOW_CURSOR,
-						      choices);
-			FREE(choices[0]);
-			FREE(choices[1]);
-			response = ' ';
-			break;
+	    case 't':	/* Change select popups setting. */
+	    case 'T':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
+		LYSelectPopups = boolean_choice(LYSelectPopups,
+						L_BOOL_B,
+						C_SELECT_POPUPS,
+						choices);
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
 
-		case 'k':	/* Change keypad mode. */
-		case 'K':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],
-				     "Numbers act as arrows             ");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],
-				     "Links are numbered                ");
-			choices[2] = NULL;
-			StrAllocCopy(choices[2],
-				     "Links and form fields are numbered");
-			choices[3] = NULL;
+	    case '@':	/* Change show cursor setting. */
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
+		LYShowCursor = boolean_choice(LYShowCursor,
+					      L_BOOL_B,
+					      C_SHOW_CURSOR,
+					      choices);
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		break;
+
+	    case '&':	/* Change show color setting. */
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "OFF");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "ON ");
+		choices[2] = NULL;
+		LYShowColor = boolean_choice(LYShowColor,
+					      L_COLOR,
+					      C_COLOR,
+					      choices);
+		FREE(choices[0]);
+		FREE(choices[1]);
+		response = ' ';
+		lynx_force_repaint();
+		break;
+
+	    case 'k':	/* Change keypad mode. */
+	    case 'K':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0],
+			     "Numbers act as arrows             ");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1],
+			     "Links are numbered                ");
+		choices[2] = NULL;
+		StrAllocCopy(choices[2],
+			     "Links and form fields are numbered");
+		choices[3] = NULL;
 		if (!LYSelectPopups) {
-			keypad_mode = boolean_choice(keypad_mode,
+		    keypad_mode = boolean_choice(keypad_mode,
 						 L_KEYPAD, -1,
 						 choices);
 		} else {
@@ -930,32 +939,32 @@ draw_options:
 #endif /* VMS || USE_SLANG */
 		}
 		if (keypad_mode == NUMBERS_AS_ARROWS) {
-                            set_numbers_as_arrows();
+		    set_numbers_as_arrows();
 		} else {
-                            reset_numbers_as_arrows();
+		    reset_numbers_as_arrows();
 		}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			FREE(choices[2]);
-			response = ' ';
+		FREE(choices[0]);
+		FREE(choices[1]);
+		FREE(choices[2]);
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 
-		case 'n':	/* Change line editor key bindings. */
-		case 'N':
+	    case 'n':	/* Change line editor key bindings. */
+	    case 'N':
 		if (!LYSelectPopups) {
-			current_lineedit = boolean_choice(current_lineedit,
+		    current_lineedit = boolean_choice(current_lineedit,
 						      L_LINEED, -1,
 						      LYLineeditNames);
 		} else {
@@ -969,36 +978,36 @@ draw_options:
 		    addstr(LYLineeditNames[current_lineedit]);
 #endif /* VMS || USE_SLANG */
 		}
-			response = ' ';
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 
 #ifdef DIRED_SUPPORT
-		case 'i':	/* Change local directory sorting. */
-		case 'I':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"Directories first");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"Files first      ");
-			choices[2] = NULL;
-			StrAllocCopy(choices[2],"Mixed style      ");
-			choices[3] = NULL;
+	    case 'i':	/* Change local directory sorting. */
+	    case 'I':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "Directories first");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "Files first      ");
+		choices[2] = NULL;
+		StrAllocCopy(choices[2], "Mixed style      ");
+		choices[3] = NULL;
 		if (!LYSelectPopups) {
-			dir_list_style = boolean_choice(dir_list_style,
+		    dir_list_style = boolean_choice(dir_list_style,
 						    L_DIRED, -1,
 						    choices);
 		} else {
@@ -1012,39 +1021,39 @@ draw_options:
 		    addstr(choices[dir_list_style]);
 #endif /* VMS || USE_SLANG */
 		}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			FREE(choices[2]);
-			response = ' ';
+		FREE(choices[0]);
+		FREE(choices[1]);
+		FREE(choices[2]);
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 #endif /* DIRED_SUPPORT */
 
-		case 'u':	/* Change user mode. */
-		case 'U':
-			/*
-			 *  Copy strings into choice array.
-			 */
-			choices[0] = NULL;
-			StrAllocCopy(choices[0],"Novice      ");
-			choices[1] = NULL;
-			StrAllocCopy(choices[1],"Intermediate");
-			choices[2] = NULL;
-			StrAllocCopy(choices[2],"Advanced    ");
-			choices[3] = NULL;
+	    case 'u':	/* Change user mode. */
+	    case 'U':
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "Novice      ");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "Intermediate");
+		choices[2] = NULL;
+		StrAllocCopy(choices[2], "Advanced    ");
+		choices[3] = NULL;
 		if (!LYSelectPopups) {
-			user_mode = boolean_choice(user_mode,
+		    user_mode = boolean_choice(user_mode,
 					       L_USER_MODE, -1,
 					       choices);
 		} else {
@@ -1058,105 +1067,105 @@ draw_options:
 		    addstr(choices[user_mode]);
 #endif /* VMS || USE_SLANG */
 		}
-			FREE(choices[0]);
-			FREE(choices[1]);
-			FREE(choices[2]);
+		FREE(choices[0]);
+		FREE(choices[1]);
+		FREE(choices[2]);
 		if (user_mode == NOVICE_MODE) {
 		    display_lines = (LYlines - 4);
 		} else {
-			   display_lines = LYlines-2;
+		    display_lines = LYlines-2;
 		}
-			response = ' ';
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 
-		case 'a':	/* Change user agent string. */
-		case 'A':
-			if (!no_useragent) {
+	    case 'a':	/* Change user agent string. */
+	    case 'A':
+		if (!no_useragent) {
 		    if (LYUserAgent && *LYUserAgent) {
-			        strcpy(display_option, LYUserAgent);
+			strcpy(display_option, LYUserAgent);
 		    } else {  /* clear the NONE */
-				move(L_HOME, COL_OPTION_VALUES);
-				addstr("    ");
-			        *display_option = '\0';
-			    }
-			    option_statusline(ACCEPT_DATA_OR_DEFAULT);
-			    move(L_USER_AGENT, COL_OPTION_VALUES);  
-			    standout();
-			    ch = LYgetstr(display_option, VISIBLE,
-			    		  sizeof(display_option), NORECALL);
-			    standend();
-			    move(L_USER_AGENT, COL_OPTION_VALUES);
-			    if (term_options || ch == -1) {
-			        addstr((LYUserAgent &&
-					*LYUserAgent) ?
-					  LYUserAgent : "NONE");
-			    } else if (*display_option == '\0') {
-			        StrAllocCopy(LYUserAgent, LYUserAgentDefault);
-				addstr((LYUserAgent &&
-					*LYUserAgent) ?
-					  LYUserAgent : "NONE");
-			    } else {
-			        StrAllocCopy(LYUserAgent, display_option);
-				addstr(display_option);
-			    }
-			    clrtoeol();
-			    if (LYUserAgent && *LYUserAgent &&
-			    	!strstr(LYUserAgent, "Lynx") &&
-				!strstr(LYUserAgent, "lynx")) {
-				option_statusline(UA_COPYRIGHT_WARNING);
-			    } else {
-			        option_statusline(VALUE_ACCEPTED);
-			    }
-			} else { /* disallowed */
-			    option_statusline(UA_COPYRIGHT_WARNING);
-			}
-			response = ' ';
-			break;
+			move(L_HOME, COL_OPTION_VALUES);
+			addstr("    ");
+			*display_option = '\0';
+		    }
+		    option_statusline(ACCEPT_DATA_OR_DEFAULT);
+		    move(L_USER_AGENT, COL_OPTION_VALUES);
+		    start_bold();
+		    ch = LYgetstr(display_option, VISIBLE,
+				  sizeof(display_option), NORECALL);
+		    stop_bold();
+		    move(L_USER_AGENT, COL_OPTION_VALUES);
+		    if (term_options || ch == -1) {
+			addstr((LYUserAgent &&
+				*LYUserAgent) ?
+				  LYUserAgent : "NONE");
+		    } else if (*display_option == '\0') {
+			StrAllocCopy(LYUserAgent, LYUserAgentDefault);
+			addstr((LYUserAgent &&
+				*LYUserAgent) ?
+				  LYUserAgent : "NONE");
+		    } else {
+			StrAllocCopy(LYUserAgent, display_option);
+			addstr(display_option);
+		    }
+		    clrtoeol();
+		    if (LYUserAgent && *LYUserAgent &&
+			!strstr(LYUserAgent, "Lynx") &&
+			!strstr(LYUserAgent, "lynx")) {
+			option_statusline(UA_COPYRIGHT_WARNING);
+		    } else {
+			option_statusline(VALUE_ACCEPTED);
+		    }
+		} else { /* disallowed */
+		    option_statusline(UA_COPYRIGHT_WARNING);
+		}
+		response = ' ';
+		break;
 
 #ifdef ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS
-		case 'x':	/* Change local exec restriction. */
-		case 'X':
+	    case 'x':	/* Change local exec restriction. */
+	    case 'X':
 		if (exec_frozen && !LYSelectPopups) {
 		    option_statusline(CHANGE_OF_SETTING_DISALLOWED);
 		    response = ' ';
 		    break;
 		}
 #ifndef NEVER_ALLOW_REMOTE_EXEC
-			    if (local_exec) {
-				itmp = 2;
+		if (local_exec) {
+		    itmp = 2;
 		} else
 #else
-			  {
+		{
 #endif /* NEVER_ALLOW_REMOTE_EXEC */
 		    if (local_exec_on_local_files) {
-				    itmp= 1;
+			itmp= 1;
 		    } else {
-				    itmp = 0;
-			   }
-		}
-			   /*
-			    *  Copy strings into choice array.
-			    */
-			   choices[0] = NULL;
-			   StrAllocCopy(choices[0],"ALWAYS OFF          ");
-			   choices[1] = NULL;
-			   StrAllocCopy(choices[1],"FOR LOCAL FILES ONLY");
-			   choices[2] = NULL;
+			itmp = 0;
+		    }
+		}
+		/*
+		 *  Copy strings into choice array.
+		 */
+		choices[0] = NULL;
+		StrAllocCopy(choices[0], "ALWAYS OFF          ");
+		choices[1] = NULL;
+		StrAllocCopy(choices[1], "FOR LOCAL FILES ONLY");
+		choices[2] = NULL;
 #ifndef NEVER_ALLOW_REMOTE_EXEC
-			   StrAllocCopy(choices[2],"ALWAYS ON           ");
-			   choices[3] = NULL;
+		StrAllocCopy(choices[2], "ALWAYS ON           ");
+		choices[3] = NULL;
 #endif /* NEVER_ALLOW_REMOTE_EXEC */
 		if (!LYSelectPopups) {
 		    itmp = boolean_choice(itmp,
@@ -1173,74 +1182,74 @@ draw_options:
 		    addstr(choices[itmp]);
 #endif /* VMS || USE_SLANG */
 		}
-			   FREE(choices[0]);
-			   FREE(choices[1]);
+		FREE(choices[0]);
+		FREE(choices[1]);
 #ifndef NEVER_ALLOW_REMOTE_EXEC
-			   FREE(choices[2]);
+		FREE(choices[2]);
 #endif /* NEVER_ALLOW_REMOTE_EXEC */
 		if (!exec_frozen) {
-			   switch(itmp) {
-			      case 0:
-				  local_exec = FALSE;
-				  local_exec_on_local_files = FALSE;
-				  break;
-			      case 1:
-				  local_exec = FALSE;
-				  local_exec_on_local_files = TRUE;
-				  break;
+		    switch (itmp) {
+			case 0:
+			    local_exec = FALSE;
+			    local_exec_on_local_files = FALSE;
+			    break;
+			case 1:
+			    local_exec = FALSE;
+			    local_exec_on_local_files = TRUE;
+			    break;
 #ifndef NEVER_ALLOW_REMOTE_EXEC
-			      case 2:
-				  local_exec = TRUE;
-				  local_exec_on_local_files = FALSE;
-				  break;
+			case 2:
+			    local_exec = TRUE;
+			    local_exec_on_local_files = FALSE;
+			    break;
 #endif /* NEVER_ALLOW_REMOTE_EXEC */
-			  } /* end switch */
-			}
-			response = ' ';
+		    } /* end switch */
+		}
+		response = ' ';
 		if (LYSelectPopups) {
 #if !defined(VMS) || defined(USE_SLANG)
 		    if (exec_frozen || term_options) {
-		        term_options = FALSE;
-	            } else {
-		        AddValueAccepted = TRUE;
+			term_options = FALSE;
+		    } else {
+			AddValueAccepted = TRUE;
 		    }
 		    goto draw_options;
 #else
 		    term_options = FALSE;
 #endif /* !VMS || USE_SLANG */
 		}
-			break;
+		break;
 #endif /* ALLOW_USERS_TO_CHANGE_EXEC_WITHIN_OPTIONS */
 
-		case '>':	/* Save current options to RC file. */
-                        if (!no_option_save) {
-                            option_statusline(SAVING_OPTIONS);
+	    case '>':	/* Save current options to RC file. */
+		if (!no_option_save) {
+		    option_statusline(SAVING_OPTIONS);
 		    if (save_rc()) {
-				option_statusline(OPTIONS_SAVED);
+			option_statusline(OPTIONS_SAVED);
 		    } else {
-				HTAlert(OPTIONS_NOT_SAVED);
+			HTAlert(OPTIONS_NOT_SAVED);
 		    }
-                        } else {
-			    option_statusline(R_TO_RETURN_TO_LYNX);
-			    /*
-			     *  Change response so that we don't exit
-			     *  the options menu.
-			     */
-			    response = ' ';
-			} 
-			break;
+		} else {
+		    option_statusline(R_TO_RETURN_TO_LYNX);
+		    /*
+		     *  Change response so that we don't exit
+		     *  the options menu.
+		     */
+		    response = ' ';
+		}
+		break;
 
-		case 'r':	/* Return to document (quit options menu). */
-		case 'R':
-			break;
+	    case 'r':	/* Return to document (quit options menu). */
+	    case 'R':
+		break;
 
-		default:
-			if (!no_option_save) {
-			    option_statusline(SAVE_OR_R_TO_RETURN_TO_LYNX);
-			} else {
-			    option_statusline(R_TO_RETURN_TO_LYNX);
-			}
-	    }  /* end switch */
+	    default:
+		if (!no_option_save) {
+		    option_statusline(SAVE_OR_R_TO_RETURN_TO_LYNX);
+		} else {
+		    option_statusline(R_TO_RETURN_TO_LYNX);
+		}
+	}  /* end switch */
     }  /* end while */
 
     term_options = FALSE;
@@ -1265,7 +1274,7 @@ PRIVATE int boolean_choice ARGS4(
 #ifdef VMS
     extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */
 #endif /* VMS */
-	
+
     /*
      *  Get the number of choices and then make
      *  number zero-based.
@@ -1284,7 +1293,7 @@ PRIVATE int boolean_choice ARGS4(
      *  Highlight the current choice.
      */
     move(line, col);
-    standout();
+    start_reverse();
     addstr(choices[cur_choice]);
     if (LYShowCursor)
 	move(line, (col - 1));
@@ -1300,7 +1309,7 @@ PRIVATE int boolean_choice ARGS4(
     while (1) {
 	move(line, col);
 	if (term_options == FALSE) {
-	response = LYgetch();
+	    response = LYgetch();
 	}
 	if (term_options || response == 7 || response == 3) {
 	     /*
@@ -1320,7 +1329,7 @@ PRIVATE int boolean_choice ARGS4(
 #endif /* VMS */
 	if ((response != '\n' && response != '\r') &&
 	    (cmd = keymap[response+1]) != LYK_ACTIVATE) {
-	     switch (cmd) {
+	    switch (cmd) {
 		case LYK_HOME:
 		    cur_choice = 0;
 		    break;
@@ -1330,7 +1339,7 @@ PRIVATE int boolean_choice ARGS4(
 		    break;
 
 		case LYK_REFRESH:
-		    clearok(curscr, TRUE);
+		    lynx_force_repaint();
 		    refresh();
 		    break;
 
@@ -1341,37 +1350,37 @@ PRIVATE int boolean_choice ARGS4(
 		    term_options = TRUE;
 		    break;
 
-	     case LYK_PREV_PAGE:
+		case LYK_PREV_PAGE:
 		case LYK_UP_HALF:
-	     case LYK_UP_TWO:
-	     case LYK_PREV_LINK:
-	     case LYK_UP_LINK:
-	     case LYK_LEFT_LINK:
-		if(cur_choice == 0)
-		    cur_choice = number;  /* go back to end */
-		else
-		    cur_choice--;
-		break;
-		
-	     case LYK_1:
-	     case LYK_2:
-	     case LYK_3:
-	     case LYK_4:
-	     case LYK_5:
-	     case LYK_6:
-	     case LYK_7:
-	     case LYK_8:
-	     case LYK_9:
-	       if((cmd - LYK_1 + 1) <= number) {
-		 cur_choice = cmd -LYK_1 + 1;
-		 break;
-	       }  /* else fall through! */
-	     default:
-	    if (cur_choice == number)
-		cur_choice = 0;  /* go over the top and around */
-	    else
-		cur_choice++;
-	      }  /* end of switch */
+		case LYK_UP_TWO:
+		case LYK_PREV_LINK:
+		case LYK_UP_LINK:
+		case LYK_LEFT_LINK:
+		    if (cur_choice == 0)
+			cur_choice = number;  /* go back to end */
+		    else
+			cur_choice--;
+		    break;
+
+		case LYK_1:
+		case LYK_2:
+		case LYK_3:
+		case LYK_4:
+		case LYK_5:
+		case LYK_6:
+		case LYK_7:
+		case LYK_8:
+		case LYK_9:
+		    if((cmd - LYK_1 + 1) <= number) {
+			cur_choice = cmd -LYK_1 + 1;
+			break;
+		    }  /* else fall through! */
+		default:
+		    if (cur_choice == number)
+			cur_choice = 0;  /* go over the top and around */
+		    else
+			cur_choice++;
+	    }  /* end of switch */
 	    addstr(choices[cur_choice]);
 	    if (LYShowCursor)
 		move(line, (col - 1));
@@ -1381,16 +1390,16 @@ PRIVATE int boolean_choice ARGS4(
 	     *  Unhighlight choice.
 	     */
 	    move(line, col);
-	    standend();
+	    stop_reverse();
 	    addstr(choices[cur_choice]);
 
 	    if (term_options) {
-	        term_options = FALSE;
+		term_options = FALSE;
 		option_statusline(CANCELLED);
 		sleep(InfoSecs);
 		option_statusline("");
 	    } else {
-	    option_statusline(VALUE_ACCEPTED);
+		option_statusline(VALUE_ACCEPTED);
 	    }
 	    return(cur_choice);
 	}
@@ -1400,7 +1409,7 @@ PRIVATE int boolean_choice ARGS4(
 PRIVATE void terminate_options ARGS1(
 	int,		sig)
 {
-    term_options=TRUE;
+    term_options = TRUE;
     /*
      *  Reassert the AST.
      */
@@ -1410,7 +1419,7 @@ PRIVATE void terminate_options ARGS1(
      *  Refresh the screen to get rid of the "interrupt" message.
      */
     if (!dump_output_immediately) {
-	clearok(curscr, TRUE);
+	lynx_force_repaint();
 	refresh();
     }
 #endif /* VMS */
@@ -1427,7 +1436,7 @@ PUBLIC void edit_bookmarks NOARGS
     int a; /* misc counter */
     char MBM_tmp_line[256]; /* buffer for LYgetstr */
     char ehead_buffer[265];
-    
+
     /*
      *  We need (MBM_V_MAXFILES + MULTI_OFFSET) lines to display
      *  the whole list at once.  Otherwise break it up into two
@@ -1443,45 +1452,45 @@ draw_bookmark_list:
      *  to increase the chances that any non-ASCII or multibyte/CJK
      *  characters will be handled properly. - FM
      */
-    clear(); 
+    clear();
     move(0, 5);
 
     lynx_start_h1_color ();
 
     if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET)) {
-        sprintf(ehead_buffer, MULTIBOOKMARKS_EHEAD_MASK, MBM_current);
+	sprintf(ehead_buffer, MULTIBOOKMARKS_EHEAD_MASK, MBM_current);
 	addstr(ehead_buffer);
     } else {
-        addstr(MULTIBOOKMARKS_EHEAD);
+	addstr(MULTIBOOKMARKS_EHEAD);
     }
-    
-   lynx_stop_h1_color ();
+
+    lynx_stop_h1_color ();
 
     if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET)) {
 	for (a = ((MBM_V_MAXFILES/2 + 1) * (MBM_current - 1));
-                      a <= ((float)MBM_V_MAXFILES/2 * MBM_current); a++) {
+		      a <= ((float)MBM_V_MAXFILES/2 * MBM_current); a++) {
 	    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)), 5);
 	    addch((unsigned char)(a + 'A'));
 	    addstr(" : ");
 	    if (MBM_A_subdescript[a])
-	        addstr(MBM_A_subdescript[a]);
+		addstr(MBM_A_subdescript[a]);
 	    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)), 35);
 	    addstr("| ");
 	    if (MBM_A_subbookmark[a]) {
-	        addstr(MBM_A_subbookmark[a]);
+		addstr(MBM_A_subbookmark[a]);
 	    }
-        }
+	}
     } else {
 	for (a = 0; a <= MBM_V_MAXFILES; a++) {
 	    move(3 + a, 5);
 	    addch((unsigned char)(a + 'A'));
 	    addstr(" : ");
 	    if (MBM_A_subdescript[a])
-	        addstr(MBM_A_subdescript[a]);
+		addstr(MBM_A_subdescript[a]);
 	    move(3 + a, 35);
 	    addstr("| ");
 	    if (MBM_A_subbookmark[a]) {
-	        addstr(MBM_A_subbookmark[a]);
+		addstr(MBM_A_subbookmark[a]);
 	    }
 	}
     }
@@ -1490,51 +1499,51 @@ draw_bookmark_list:
      *  Only needed when we have 2 screens.
      */
     if (LYlines < MBM_V_MAXFILES + MULTI_OFFSET) {
-        move((LYlines - 4), 0);
+	move((LYlines - 4), 0);
 	addstr("'");
-	standout();
+	start_bold();
 	addstr("[");
-	standend();
+	stop_bold();
 	addstr("' ");
 	addstr(PREVIOUS);
 	addstr(", '");
-	standout();
+	start_bold();
 	addstr("]");
-	standend();
+	stop_bold();
 	addstr("' ");
 	addstr(NEXT_SCREEN);
     }
 
     move((LYlines - 3), 0);
     if (!no_option_save) {
-        addstr("'");
-	standout();
+	addstr("'");
+	start_bold();
 	addstr(">");
-	standend();
+	stop_bold();
 	addstr("'");
 	addstr(TO_SAVE_SEGMENT);
     }
     addstr(OR_SEGMENT);
     addstr("'");
-    standout();
+    start_bold();
     addstr("^G");
-    standend();
+    stop_bold();
     addstr("'");
     addstr(TO_RETURN_SEGMENT);
 
     while (!term_options &&
-           !LYisNonAlnumKeyname(response, LYK_PREV_DOC) &&
+	   !LYisNonAlnumKeyname(response, LYK_PREV_DOC) &&
 	   response != 7 && response != 3 &&
 	   response != '>') {
 
 	move((LYlines - 2), 0);
-        
+
 	lynx_start_prompt_color ();
 	addstr(MULTIBOOKMARKS_LETTER);
 	lynx_stop_prompt_color ();
 
 	refresh();
-        response = (def_response ? def_response : LYgetch());
+	response = (def_response ? def_response : LYgetch());
 	def_response = 0;
 
 	/*
@@ -1553,7 +1562,7 @@ draw_bookmark_list:
 		option_statusline(SAVING_OPTIONS);
 		if (save_rc())
 		    option_statusline(OPTIONS_SAVED);
-		else 
+		else
 		    HTAlert(OPTIONS_NOT_SAVED);
 	    } else {
 		option_statusline(R_TO_RETURN_TO_LYNX);
@@ -1570,7 +1579,7 @@ draw_bookmark_list:
 	 *  Check for a refresh.
 	 */
 	if (LYisNonAlnumKeyname(response, LYK_REFRESH)) {
-	    clearok(curscr, TRUE);
+	    lynx_force_repaint();
 	    continue;
 	}
 
@@ -1596,78 +1605,78 @@ draw_bookmark_list:
 
 	/*
 	 *  Instead of using 26 case statements, we set up
-         *  a scan through the letters and edit the lines
-         *  that way.
-         */
+	 *  a scan through the letters and edit the lines
+	 *  that way.
+	 */
 	for (a = 0; a <= MBM_V_MAXFILES; a++) {
 	    if ((TOUPPER(response) - 'A') == a) {
 		if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET)) {
 		    if (MBM_current == 1 && a > (MBM_V_MAXFILES/2)) {
-		        MBM_current = 2;
-		        def_response = response;
+			MBM_current = 2;
+			def_response = response;
 			goto draw_bookmark_list;
 		    }
 		    if (MBM_current == 2 && a < (MBM_V_MAXFILES/2)) {
-		        MBM_current = 1;
-		        def_response = response;
+			MBM_current = 1;
+			def_response = response;
 			goto draw_bookmark_list;
 		    }
 		}
 		option_statusline(ACCEPT_DATA);
 
 		if (a > 0) {
-		    standout();
+		    start_bold();
 		    if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET))
-    		        move(
+			move(
 			 (3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)),
 			     9);
 		    else
-    		        move((3 + a), 9);
+			move((3 + a), 9);
 		    strcpy(MBM_tmp_line,
-    		           (!MBM_A_subdescript[a] ?
-			   		       "" : MBM_A_subdescript[a]));
+			   (!MBM_A_subdescript[a] ?
+					       "" : MBM_A_subdescript[a]));
 		    ch = LYgetstr(MBM_tmp_line, VISIBLE,
-	    		          sizeof(MBM_tmp_line), NORECALL);
-		    standend();
+				  sizeof(MBM_tmp_line), NORECALL);
+		    stop_bold();
 
 		    if (strlen(MBM_tmp_line) < 1) {
-		        FREE(MBM_A_subdescript[a]);
+			FREE(MBM_A_subdescript[a]);
 		    } else {
-		        StrAllocCopy(MBM_A_subdescript[a], MBM_tmp_line);
+			StrAllocCopy(MBM_A_subdescript[a], MBM_tmp_line);
 		    }
 		    if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET))
-    			move(
+			move(
 			 (3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)),
 			     5);
 		    else
-    			move((3 + a), 5);
+			move((3 + a), 5);
 		    addch((unsigned char)(a + 'A'));
 		    addstr(" : ");
-    		    if (MBM_A_subdescript[a])
+		    if (MBM_A_subdescript[a])
 			addstr(MBM_A_subdescript[a]);
 		    clrtoeol();
-	   	    refresh();
+		    refresh();
 		}
 
 		if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET))
-    		    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)),
-		    	 35);
+		    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current - 1)),
+			 35);
 		else
-    		    move((3 + a), 35);
-    		addstr("| ");
+		    move((3 + a), 35);
+		addstr("| ");
 
-		standout();
+		start_bold();
 		strcpy(MBM_tmp_line,
-    		       (!MBM_A_subbookmark[a] ? "" : MBM_A_subbookmark[a]));
+		       (!MBM_A_subbookmark[a] ? "" : MBM_A_subbookmark[a]));
 		ch = LYgetstr(MBM_tmp_line, VISIBLE,
-	    		      sizeof(MBM_tmp_line), NORECALL);
-		standend();
+			      sizeof(MBM_tmp_line), NORECALL);
+		stop_bold();
 
 		if (*MBM_tmp_line == '\0') {
 		    if (a == 0)
-		        StrAllocCopy(MBM_A_subbookmark[a], bookmark_page);
+			StrAllocCopy(MBM_A_subbookmark[a], bookmark_page);
 		    else
-		        FREE(MBM_A_subbookmark[a]);
+			FREE(MBM_A_subbookmark[a]);
 		} else if (!LYPathOffHomeOK(MBM_tmp_line,
 					    sizeof(MBM_tmp_line))) {
 			LYMBM_statusline(USE_PATH_OFF_HOME);
@@ -1675,18 +1684,18 @@ draw_bookmark_list:
 		} else {
 		    StrAllocCopy(MBM_A_subbookmark[a], MBM_tmp_line);
 		    if (a == 0) {
-		        StrAllocCopy(bookmark_page, MBM_A_subbookmark[a]);
+			StrAllocCopy(bookmark_page, MBM_A_subbookmark[a]);
 		    }
 		}
 		if (LYlines < (MBM_V_MAXFILES + MULTI_OFFSET))
-    		    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current-1)),
-		    	 35);
+		    move((3 + a) - ((MBM_V_MAXFILES/2 + 1)*(MBM_current-1)),
+			 35);
 		else
-    		    move((3 + a), 35);
+		    move((3 + a), 35);
 		addstr("| ");
-    		if (MBM_A_subbookmark[a])
+		if (MBM_A_subbookmark[a])
 		    addstr(MBM_A_subbookmark[a]);
-	   	clrtoeol();
+		clrtoeol();
 		move(LYlines-1, 0);
 		clrtoeol();
 		break;
@@ -1719,7 +1728,7 @@ PRIVATE int get_popup_choice_number ARGS1(
      *  Get the number, possibly with a suffix, from the user.
      */
     if (LYgetstr(temp, VISIBLE, sizeof(temp), NORECALL) < 0 ||
-        *temp == 0 || term_options) {
+	*temp == 0 || term_options) {
 	option_statusline(CANCELLED);
 	sleep(InfoSecs);
 	*c = '\0';
@@ -1732,11 +1741,11 @@ PRIVATE int get_popup_choice_number ARGS1(
      *  Otherwise, zero c.  Then return the number.
      */
     if (strchr(temp, 'g') != NULL || strchr(temp, 'G') != NULL) {
-        *c = 'g';
+	*c = 'g';
     } else if (strchr(temp, 'p') != NULL || strchr(temp, 'P') != NULL) {
-        *c = 'p';
+	*c = 'p';
     } else {
-        *c = '\0';
+	*c = '\0';
     }
     return(atoi(temp));
 }
@@ -1771,7 +1780,7 @@ PRIVATE int popup_choice ARGS6(
 #ifdef VMS
     extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST */
 #endif /* VMS */
-    static char prev_target[512]; 		/* Search string buffer */
+    static char prev_target[512];		/* Search string buffer */
     static char prev_target_buffer[512];	/* Next search buffer */
     static BOOL first = TRUE;
     char *cp;
@@ -1832,9 +1841,9 @@ PRIVATE int popup_choice ARGS6(
      *  the number of real choices.
      */
     if (i_length < 1) {
-        i_length = num_choices;
+	i_length = num_choices;
     } else {
-        /*
+	/*
 	 *  Otherwise, it is really one number too high.
 	 */
 	i_length--;
@@ -1851,15 +1860,15 @@ PRIVATE int popup_choice ARGS6(
      *  Hmm...  If the bottom goes beyond the number of lines available,
      */
     if (bottom > DisplayLines) {
-        /*
+	/*
 	 *  Position the window at the top if we have more
 	 *  choices than will fit in the window.
 	 */
 	if ((i_length + 3) > DisplayLines) {
 	    top = 0;
-            bottom = (top + (i_length + 3));
+	    bottom = (top + (i_length + 3));
 	    if (bottom > DisplayLines)
-	        bottom = (DisplayLines + 1);
+		bottom = (DisplayLines + 1);
 	} else {
 	    /*
 	     *  Try to position the window so that the selected choice will
@@ -1881,7 +1890,7 @@ PRIVATE int popup_choice ARGS6(
      *  Move the window down if it's too high.
      */
     if (bottom < ly + 2) {
-        bottom = ly + 2;
+	bottom = ly + 2;
 	if (bottom > DisplayLines + 1)
 	    bottom = DisplayLines + 1;
 	top = bottom - length - 2;
@@ -1896,11 +1905,20 @@ PRIVATE int popup_choice ARGS6(
 #else
     if (!(form_window = newwin(bottom - top, (Lnum + width + 4),
 			       top, (lx - 1))) &&
-        !(form_window = newwin(bottom - top, 0, top, 0))) {
+	!(form_window = newwin(bottom - top, 0, top, 0))) {
 	option_statusline(POPUP_FAILED);
-        return(orig_choice);
+	return(orig_choice);
     }
     scrollok(form_window, TRUE);
+#ifdef NCURSES
+#ifdef wgetbkgd
+#define getbkgd(w) wgetbkgd(w)	/* workaround pre-1.9.9g bug */
+#endif
+    LYsubwindow(form_window);
+#ifdef getbkgd			/* not defined in ncurses 1.8.7 */
+    wbkgd(form_window, getbkgd(stdscr));
+#endif
+#endif
 #endif /* USE_SLANG */
 
     /*
@@ -1921,7 +1939,7 @@ PRIVATE int popup_choice ARGS6(
      *   length ranges from 0...m
      */
     if (cur_choice >= length) {
-        window_offset = cur_choice - length + 1;
+	window_offset = cur_choice - length + 1;
     }
 
     /*
@@ -1940,7 +1958,7 @@ redraw:
      *  Display the boxed choices.
      */
     for (i = 0; i <= num_choices; i++) {
-        if (i >= window_offset && i - window_offset < length) {
+	if (i >= window_offset && i - window_offset < length) {
 	    sprintf(Cnum, "%s%d: ",
 			   ((num_choices > 8 && i < 9) ?
 						   " " : ""),
@@ -1973,7 +1991,7 @@ redraw:
      *  Loop on user input.
      */
     while (cmd != LYK_ACTIVATE) {
-        /*
+	/*
 	 *  Unreverse cur choice.
 	 */
 	if (Cptr != NULL) {
@@ -1988,7 +2006,7 @@ redraw:
 #else
 	    wmove(form_window, ((i + 1) - window_offset), 2);
 	    waddstr(form_window, Cnum);
-            waddstr(form_window, Cptr[i]);
+	    waddstr(form_window, Cptr[i]);
 #endif /* USE_SLANG */
 	}
 	Cptr = choices;
@@ -2059,7 +2077,7 @@ redraw:
 	}
 #endif /* VMS */
 
-        switch(cmd) {
+	switch(cmd) {
 	    case LYK_F_LINK_NUM:
 		c = '\0';
 	    case LYK_1:
@@ -2086,7 +2104,7 @@ redraw:
 		     *  Treat 1 or less as the first page. - FM
 		     */
 		    if (number <= 1) {
-		        if (window_offset == 0) {
+			if (window_offset == 0) {
 			    option_statusline(ALREADY_AT_CHOICE_BEGIN);
 			    sleep(MessageSecs);
 			    if (disabled) {
@@ -2111,7 +2129,7 @@ redraw:
 		     *  number of pages as the last page. - FM
 		     */
 		    if (number >= npages) {
-		        if (window_offset >= ((num_choices - length) + 1)) {
+			if (window_offset >= ((num_choices - length) + 1)) {
 			    option_statusline(ALREADY_AT_CHOICE_END);
 			    sleep(MessageSecs);
 			    if (disabled) {
@@ -2129,7 +2147,7 @@ redraw:
 			    cur_choice = window_offset;
 			if (disabled) {
 			    option_statusline(CHOICE_LIST_UNM_MSG);
-   			} else {
+			} else {
 			    option_statusline(CHOICE_LIST_MESSAGE);
 			}
 			goto redraw;
@@ -2152,7 +2170,7 @@ redraw:
 		    cur_choice = window_offset = ((number - 1) * length);
 		    if (disabled) {
 			option_statusline(CHOICE_LIST_UNM_MSG);
-   		    } else {
+		    } else {
 			option_statusline(CHOICE_LIST_MESSAGE);
 		    }
 		    goto redraw;
@@ -2190,12 +2208,12 @@ redraw:
 			     *  The choice already is current. - FM
 			     */
 			    sprintf(buffer,
-			    	    CHOICE_ALREADY_CURRENT, (number + 1));
+				    CHOICE_ALREADY_CURRENT, (number + 1));
 			    option_statusline(buffer);
 			    sleep(MessageSecs);
 			    if (disabled) {
 				option_statusline(CHOICE_LIST_UNM_MSG);
-   			    } else {
+			    } else {
 				option_statusline(CHOICE_LIST_MESSAGE);
 			    }
 			    break;
@@ -2210,7 +2228,7 @@ redraw:
 			    j = (number - cur_choice);
 			    cur_choice = number;
 			    if ((j > 0) &&
-			        (cur_choice - window_offset) >= length) {
+				(cur_choice - window_offset) >= length) {
 				window_offset += j;
 				if (window_offset > (num_choices - length + 1))
 				    window_offset = (num_choices - length + 1);
@@ -2221,7 +2239,7 @@ redraw:
 			    }
 			    if (disabled) {
 				option_statusline(CHOICE_LIST_UNM_MSG);
-   			    } else {
+			    } else {
 				option_statusline(CHOICE_LIST_MESSAGE);
 			    }
 			    goto redraw;
@@ -2240,12 +2258,12 @@ redraw:
 		 */
 		if (disabled) {
 		    option_statusline(CHOICE_LIST_UNM_MSG);
-   		} else {
+		} else {
 		    option_statusline(CHOICE_LIST_MESSAGE);
 		}
 		break;
 
-            case LYK_PREV_LINK:
+	    case LYK_PREV_LINK:
 	    case LYK_UP_LINK:
 
 		if (cur_choice > 0)
@@ -2258,12 +2276,12 @@ redraw:
 		    window_offset--;
 		    goto redraw;
 		}
-                break;
+		break;
 
-            case LYK_NEXT_LINK:
+	    case LYK_NEXT_LINK:
 	    case LYK_DOWN_LINK:
 		if (cur_choice < num_choices)
-                    cur_choice++;
+		    cur_choice++;
 
 		/*
 		 *  Scroll the window down if necessary
@@ -2272,7 +2290,7 @@ redraw:
 		    window_offset++;
 		    goto redraw;
 		}
-                break;
+		break;
 
 	    case LYK_NEXT_PAGE:
 		/*
@@ -2293,7 +2311,7 @@ redraw:
 		     */
 		    window_offset += length;
 		    if (window_offset > (num_choices - length)) {
-		        window_offset = (num_choices - length + 1);
+			window_offset = (num_choices - length + 1);
 		    }
 
 		    /*
@@ -2331,7 +2349,7 @@ redraw:
 		     */
 		    window_offset -= length;
 		    if (window_offset < 0) {
-		        window_offset = 0;
+			window_offset = 0;
 		    }
 
 		    /*
@@ -2349,7 +2367,7 @@ redraw:
 		break;
 
 	    case LYK_HOME:
-	        cur_choice = 0;
+		cur_choice = 0;
 		if (window_offset > 0) {
 		    window_offset = 0;
 		    goto redraw;
@@ -2357,17 +2375,17 @@ redraw:
 		break;
 
 	    case LYK_END:
-	        cur_choice = num_choices;
+		cur_choice = num_choices;
 		if (window_offset != (num_choices - length + 1)) {
 		    window_offset = (num_choices - length + 1);
 		    goto redraw;
 		}
 		break;
 
-            case LYK_DOWN_TWO:
-	        cur_choice += 2;
+	    case LYK_DOWN_TWO:
+		cur_choice += 2;
 		if (cur_choice > num_choices)
-                    cur_choice = num_choices;
+		    cur_choice = num_choices;
 
 		/*
 		 *  Scroll the window down if necessary.
@@ -2375,13 +2393,13 @@ redraw:
 		if ((cur_choice - window_offset) >= length) {
 		    window_offset += 2;
 		    if (window_offset > (num_choices - length + 1))
-		        window_offset = (num_choices - length + 1);
+			window_offset = (num_choices - length + 1);
 		    goto redraw;
 		}
-                break;
+		break;
 
 	    case LYK_UP_TWO:
-	        cur_choice -= 2;
+		cur_choice -= 2;
 		if (cur_choice < 0)
 		    cur_choice = 0;
 
@@ -2391,15 +2409,15 @@ redraw:
 		if ((cur_choice - window_offset) < 0) {
 		    window_offset -= 2;
 		    if (window_offset < 0)
-		        window_offset = 0;
+			window_offset = 0;
 		    goto redraw;
 		}
-                break;
+		break;
 
-            case LYK_DOWN_HALF:
-	        cur_choice += (length/2);
+	    case LYK_DOWN_HALF:
+		cur_choice += (length/2);
 		if (cur_choice > num_choices)
-                    cur_choice = num_choices;
+		    cur_choice = num_choices;
 
 		/*
 		 *  Scroll the window down if necessary.
@@ -2407,13 +2425,13 @@ redraw:
 		if ((cur_choice - window_offset) >= length) {
 		    window_offset += (length/2);
 		    if (window_offset > (num_choices - length + 1))
-		        window_offset = (num_choices - length + 1);
+			window_offset = (num_choices - length + 1);
 		    goto redraw;
 		}
-                break;
+		break;
 
 	    case LYK_UP_HALF:
-	        cur_choice -= (length/2);
+		cur_choice -= (length/2);
 		if (cur_choice < 0)
 		    cur_choice = 0;
 
@@ -2423,14 +2441,14 @@ redraw:
 		if ((cur_choice - window_offset) < 0) {
 		    window_offset -= (length/2);
 		    if (window_offset < 0)
-		        window_offset = 0;
+			window_offset = 0;
 		    goto redraw;
 		}
-                break;
+		break;
 
 	    case LYK_REFRESH:
-	        clearok(curscr, TRUE);
-	        refresh();
+		lynx_force_repaint();
+		refresh();
 		break;
 
 	    case LYK_NEXT:
@@ -2450,18 +2468,18 @@ redraw:
 		     *  of a popup window. - FM
 		     */
 		    if ((cp = (char *)HTList_objectAt(search_queries,
-	    					      0)) != NULL) {
+						      0)) != NULL) {
 			strcpy(prev_target_buffer, cp);
 			QueryNum = 0;
 			FirstRecall = FALSE;
 		    }
 		}
-	        strcpy(prev_target, prev_target_buffer);
+		strcpy(prev_target, prev_target_buffer);
 	    case LYK_WHEREIS:
-	        if (*prev_target == '\0' ) {
+		if (*prev_target == '\0' ) {
 		    option_statusline(ENTER_WHEREIS_QUERY);
 		    if ((ch = LYgetstr(prev_target, VISIBLE,
-	    		 	       sizeof(prev_target_buffer),
+				       sizeof(prev_target_buffer),
 				       recall)) < 0) {
 			/*
 			 *  User cancelled the search via ^G. - FM
@@ -2478,24 +2496,24 @@ check_recall:
 		    /*
 		     *  No entry.  Simply break.   - FM
 		     */
-	            option_statusline(CANCELLED);
+		    option_statusline(CANCELLED);
 		    sleep(InfoSecs);
 		    goto restore_popup_statusline;
 		}
 
 		if (recall && ch == UPARROW) {
 		    if (FirstRecall) {
-		        /*
+			/*
 			 *  Use the current string or
 			 *  last query in the list. - FM
 			 */
 			FirstRecall = FALSE;
 			if (*prev_target_buffer) {
 			    for (QueryNum = (QueryTotal - 1);
-			         QueryNum > 0; QueryNum--) {
+				 QueryNum > 0; QueryNum--) {
 				if ((cp = (char *)HTList_objectAt(
 							search_queries,
-	    						QueryNum)) != NULL &&
+							QueryNum)) != NULL &&
 				    !strcmp(prev_target_buffer, cp)) {
 				    break;
 				}
@@ -2515,7 +2533,7 @@ check_recall:
 			 */
 			QueryNum = 0;
 		    if ((cp = (char *)HTList_objectAt(search_queries,
-	    					      QueryNum)) != NULL) {
+						      QueryNum)) != NULL) {
 			strcpy(prev_target, cp);
 			if (*prev_target_buffer &&
 			    !strcmp(prev_target_buffer, prev_target)) {
@@ -2570,7 +2588,7 @@ check_recall:
 		     */
 		    QueryNum = (QueryTotal - 1);
 		    if ((cp = (char *)HTList_objectAt(search_queries,
-	    					      QueryNum)) != NULL) {
+						      QueryNum)) != NULL) {
 			strcpy(prev_target, cp);
 			if (*prev_target_buffer &&
 			    !strcmp(prev_target_buffer, prev_target)) {
@@ -2592,10 +2610,10 @@ check_recall:
 			    option_statusline(CANCELLED);
 			    sleep(InfoSecs);
 			    goto restore_popup_statusline;
-	    		}
+			}
 			goto check_recall;
 		    }
- 		}
+		}
 		/*
 		 *  Replace the search string buffer with the new target. - FM
 		 */
@@ -2628,7 +2646,7 @@ check_recall:
 		     *  Scroll the window down if necessary.
 		     */
 		    if ((cur_choice - window_offset) >= length) {
-		        window_offset += j;
+			window_offset += j;
 			if (window_offset > (num_choices - length + 1))
 			    window_offset = (num_choices - length + 1);
 			ReDraw = TRUE;
@@ -2672,7 +2690,7 @@ check_recall:
 		     *  Scroll the window up if necessary.
 		     */
 		    if ((cur_choice - window_offset) < 0) {
-		        window_offset -= j;
+			window_offset -= j;
 			if (window_offset < 0)
 			    window_offset = 0;
 			ReDraw = TRUE;
@@ -2693,7 +2711,7 @@ restore_popup_statusline:
 		 */
 		if (disabled)
 		    option_statusline(CHOICE_LIST_UNM_MSG);
-   		else
+		else
 		    option_statusline(CHOICE_LIST_MESSAGE);
 		*prev_target = '\0';
 		QueryTotal = (search_queries ? HTList_count(search_queries)
@@ -2715,15 +2733,18 @@ restore_popup_statusline:
 		sleep(MessageSecs);
 		cmd = LYK_ACTIVATE; /* to exit */
 		break;
-        }
+	}
     }
 #ifndef USE_SLANG
     delwin(form_window);
+#ifdef NCURSES
+    LYsubwindow(0);
+#endif
 #endif /* !USE_SLANG */
 
     if (disabled || term_options) {
 	option_statusline("");
-        return(orig_choice);
+	return(orig_choice);
     } else {
 	option_statusline(VALUE_ACCEPTED);
 	return(cur_choice);
diff --git a/src/LYOptions.h b/src/LYOptions.h
index 5b98fcb3..f25722e0 100644
--- a/src/LYOptions.h
+++ b/src/LYOptions.h
@@ -1,4 +1,3 @@
-
 #ifndef LYOPTIONS_H
 #define LYOPTIONS_H
 
@@ -25,10 +24,14 @@ extern void edit_bookmarks NOPARAMS;
 #define L_FTPSTYPE	 5
 #define L_MAIL_ADDRESS	 6
 #define L_SSEARCH	 7
-#define L_CHARSET	 8
-#define L_RAWMODE	 9
-#define L_LANGUAGE	10
-#define L_PREF_CHARSET	11
+#define L_LANGUAGE	 8
+#define L_PREF_CHARSET	 9
+#define L_CHARSET	10
+#define L_RAWMODE	11
+
+#define L_COLOR         L_RAWMODE
+#define B_COLOR         44
+#define C_COLOR         62
 
 #define L_BOOL_A	12
 #define B_VIKEYS	5
diff --git a/src/LYStrings.c b/src/LYStrings.c
index 153e7490..547dfa82 100644
--- a/src/LYStrings.c
+++ b/src/LYStrings.c
@@ -10,6 +10,7 @@
 #include "LYSignal.h"
 #include "LYClean.h"
 #include "LYMail.h"
+#include "LYNews.h"
 #include "LYOptions.h"
 
 #include <ctype.h>
@@ -967,12 +968,6 @@ PUBLIC int LYgetstr ARGS4(
 	int,		bufsize,
 	int,		recall)
 {
-    extern BOOLEAN term_letter;     /* Flag from terminate_letter() AST  */
-    extern BOOLEAN term_options;    /* Flag from terminate_options() AST */
-    extern BOOLEAN term_message;    /* Flag from terminate_message() AST */
-#ifdef VMS
-    extern BOOLEAN HadVMSInterrupt; /* Flag from cleanup_sig() AST       */
-#endif
     int x, y, MaxStringSize;
     int ch;
     EditFieldData MyEdit;
diff --git a/src/LYStrings.h b/src/LYStrings.h
index 317406e8..e789d0aa 100644
--- a/src/LYStrings.h
+++ b/src/LYStrings.h
@@ -1,4 +1,3 @@
-
 #ifndef LYSTRINGS_H
 #define LYSTRINGS_H
 
@@ -15,8 +14,7 @@ extern int LYgetstr PARAMS((char *inputline, int hidden,
 extern char * LYstrstr PARAMS((char *chptr, char *tarptr));
 extern char * LYno_attr_char_strstr PARAMS((char *chptr, char *tarptr));
 extern char * LYno_attr_char_case_strstr PARAMS((char *chptr, char *tarptr));
-extern char * LYmbcsstrncpy PARAMS((char *dst, char *src, int n_bytes,
-				    int n_glyphs,	int enc));
+
 #ifdef EXP_CHARTRANS
 extern char * LYno_attr_mbcs_strstr PARAMS((
 	char *		chptr,
@@ -30,6 +28,18 @@ extern char * LYno_attr_mbcs_case_strstr PARAMS((
 	BOOL		utf_flag,
 	int *		nstartp,
 	int *		nendp));
+extern int LYmbcsstrlen PARAMS((
+	char *		str,
+	BOOL		utf_flag));
+extern char * LYmbcsstrncpy PARAMS((
+	char *		dst,
+	char *		src,
+	int		n_bytes,
+	int		n_glyphs,
+	int		enc));
+#else
+#define LYmbcsstrlen(str,utf_flag) strlen(str)
+#define LYmbcsstrncpy(dest,src,n,n_glyphs,enc) LYstrncpy(dest, src, n)
 #endif
 
 extern char * SNACopy PARAMS((char **dest, CONST char *src, int n));
diff --git a/src/LYUtils.c b/src/LYUtils.c
index 5d22ca60..5aef9fde 100644
--- a/src/LYUtils.c
+++ b/src/LYUtils.c
@@ -181,8 +181,6 @@ PUBLIC void highlight ARGS3(
 	    	      (links[cur].hightext ?
 		       links[cur].hightext : ""),
 		      LYcols-links[cur].lx-1);
-#define LYmbcsstrncpy(dest,src,n,n_glyphs,enc) LYstrncpy(dest, src, n)
-#define LYmbcsstrlen(str,utf_flag) strlen(str)
 #endif /* EXP_CHARTRANS */
 	    addstr(buffer);  
 	}
@@ -2310,15 +2308,6 @@ PUBLIC int is_url ARGS1(
         return(0);
 
     /*
-     *  Can't be a URL if it starts with a slash.
-     *  So return immediately for this common case,
-     *  also to avoid false positives if there is a
-     *  colon later in the string. - kw
-     */
-    if (*cp == '/')
-        return(0);
-
-    /*
      *  Can't be a URL if it lacks a colon.
      */
     if (NULL == strchr(cp, ':'))
@@ -2330,6 +2319,15 @@ PUBLIC int is_url ARGS1(
     while (isspace((unsigned char)*cp))
         cp++;
 
+    /*
+     *  Can't be a URL if it starts with a slash.
+     *  So return immediately for this common case,
+     *  also to avoid false positives if there was
+     *  a colon later in the string. - KW
+     */
+    if (*cp == '/')
+        return(0);
+
 #ifdef DOSPATH /* sorry! */
 	 if (strncmp(cp, "file:///", 8) && strlen(cp) == 19 &&
 		  cp[strlen(cp)-1] == ':')
diff --git a/src/LYexit.c b/src/LYexit.c
index 7b3035d5..027b1549 100644
--- a/src/LYexit.c
+++ b/src/LYexit.c
@@ -112,6 +112,7 @@ PUBLIC void LYexit ARGS1(
 	printf("\r\n%s\r\n\r\n", MEMORY_EXHAUSTED_ABORT);
 	fflush(stdout);
     }
+    *stderr = LYOrigStderr;
 #endif /* !VMS */
     exit(status);
 }
diff --git a/userdefs.h b/userdefs.h
index ebcc2f87..115cdf41 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -801,6 +801,15 @@
 #define ANONYMOUS_USER ""
 
 /******************************
+ * SHOW_COLOR controls whether the program displays in color by default.
+ */
+#if defined(USE_SLANG) || defined(COLOR_CURSES)
+#define SHOW_COLOR TRUE
+#else
+#define SHOW_COLOR FALSE
+#endif
+
+/******************************
  * SHOW_CURSOR controls whether or not the cursor is hidden or appears
  * over the current link, or current option in select popup windows.
  * Showing the cursor is handy if you are a sighted user with a poor
@@ -1237,7 +1246,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.36"
+#define LYNX_VERSION "2.7.1ac-0.38"
 
 /****************************************************************
  * The LYMessages_en.h header defines default, English strings