about summary refs log tree commit diff stats
path: root/WWW/Library/Implementation
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>1999-04-23 15:06:34 -0400
committerThomas E. Dickey <dickey@invisible-island.net>1999-04-23 15:06:34 -0400
commita735f5ad5123baaa15a0057515f3b242c5d3f372 (patch)
tree58936995ce9e2afd4ba65a735fd44c15509db19a /WWW/Library/Implementation
parentb223937ff728f8242329bedb9c660e81da253e9a (diff)
downloadlynx-snapshots-a735f5ad5123baaa15a0057515f3b242c5d3f372.tar.gz
snapshot of project "lynx", label v2-8-2dev_23
Diffstat (limited to 'WWW/Library/Implementation')
-rw-r--r--WWW/Library/Implementation/HTAAUtil.c1
-rw-r--r--WWW/Library/Implementation/HTAccess.c13
-rw-r--r--WWW/Library/Implementation/HTAccess.h1
-rw-r--r--WWW/Library/Implementation/HTFTP.c8
-rw-r--r--WWW/Library/Implementation/HTFile.c113
-rw-r--r--WWW/Library/Implementation/HTFinger.c18
-rw-r--r--WWW/Library/Implementation/HTFormat.c43
-rw-r--r--WWW/Library/Implementation/HTFormat.h6
-rw-r--r--WWW/Library/Implementation/HTGopher.c52
-rw-r--r--WWW/Library/Implementation/HTMLDTD.c12
-rw-r--r--WWW/Library/Implementation/HTMLDTD.h178
-rw-r--r--WWW/Library/Implementation/HTString.h2
-rw-r--r--WWW/Library/Implementation/HTTCP.c1
-rw-r--r--WWW/Library/Implementation/HTUtils.h13
-rw-r--r--WWW/Library/Implementation/HTVMSUtils.c20
-rw-r--r--WWW/Library/Implementation/HTWAIS.c30
-rw-r--r--WWW/Library/Implementation/HTWSRC.c6
-rw-r--r--WWW/Library/Implementation/Makefile.old489
-rw-r--r--WWW/Library/Implementation/SGML.c4
-rw-r--r--WWW/Library/Implementation/SGML.h2
20 files changed, 301 insertions, 711 deletions
diff --git a/WWW/Library/Implementation/HTAAUtil.c b/WWW/Library/Implementation/HTAAUtil.c
index c978d24d..a0312b49 100644
--- a/WWW/Library/Implementation/HTAAUtil.c
+++ b/WWW/Library/Implementation/HTAAUtil.c
@@ -48,7 +48,6 @@
 #include <HTAAUtil.h>	/* Implemented here	*/
 #include <HTAssoc.h>	/* Assoc list		*/
 #include <HTTCP.h>
-#include <HTAlert.h>
 
 #include <LYStrings.h>
 #include <LYLeaks.h>
diff --git a/WWW/Library/Implementation/HTAccess.c b/WWW/Library/Implementation/HTAccess.c
index cc180e88..b8c3e10d 100644
--- a/WWW/Library/Implementation/HTAccess.c
+++ b/WWW/Library/Implementation/HTAccess.c
@@ -580,6 +580,11 @@ PUBLIC void LYUCPushAssumed ARGS1(
 	    UCAssume_MIMEcharset = NULL;
 	    StrAllocCopy(UCAssume_MIMEcharset, anchor_UCI->MIMEname);
 	    pushed_assume_LYhndl = anchor_LYhndl;
+	    /* some diagnostics */
+	    if (UCLYhndl_for_unspec != anchor_LYhndl)
+	    CTRACE(tfp, "LYUCPushAssumed: UCLYhndl_for_unspec changed %d -> %d\n",
+			UCLYhndl_for_unspec,
+			anchor_LYhndl);
 	    UCLYhndl_for_unspec = anchor_LYhndl;
 	    return;
 	}
@@ -592,9 +597,15 @@ PUBLIC void LYUCPushAssumed ARGS1(
  *  UCLYhndl_for_unspec used for charset "assuming" from the values
  *  saved by LYUCPushAssumed, if any. - kw
  */
-PRIVATE int LYUCPopAssumed NOARGS
+PUBLIC int LYUCPopAssumed NOARGS
 {
+
     if (pushed_assume_LYhndl >= 0) {
+	/* some diagnostics */
+	if (UCLYhndl_for_unspec != pushed_assume_LYhndl)
+	CTRACE(tfp, "LYUCPopAssumed: UCLYhndl_for_unspec changed %d -> %d\n",
+		    UCLYhndl_for_unspec,
+		    pushed_assume_LYhndl);
 	UCLYhndl_for_unspec = pushed_assume_LYhndl;
 	pushed_assume_LYhndl = -1;
 	FREE(UCAssume_MIMEcharset);
diff --git a/WWW/Library/Implementation/HTAccess.h b/WWW/Library/Implementation/HTAccess.h
index 12de49c7..2cfd49d5 100644
--- a/WWW/Library/Implementation/HTAccess.h
+++ b/WWW/Library/Implementation/HTAccess.h
@@ -305,6 +305,7 @@ extern void LYRegisterLynxProtocols NOARGS;
 
 extern void LYUCPushAssumed PARAMS((
     HTParentAnchor *	anchor));
+extern int LYUCPopAssumed NOPARAMS;
 
 #endif /* HTACCESS_H */
 /*
diff --git a/WWW/Library/Implementation/HTFTP.c b/WWW/Library/Implementation/HTFTP.c
index bd077644..860845d2 100644
--- a/WWW/Library/Implementation/HTFTP.c
+++ b/WWW/Library/Implementation/HTFTP.c
@@ -2365,7 +2365,7 @@ PRIVATE int read_directory ARGS4(
 	int BytesReceived = 0;
 	int BytesReported = 0;
 	char NumBytes[64];
-	PUTS("\n");  /* prettier LJM */
+	PUTC('\n');  /* prettier LJM */
 	for (ic = 0; ic != EOF;) {	/* For each entry in the directory */
 	    HTChunkClear(chunk);
 
@@ -2467,14 +2467,14 @@ unload_btree:
 	if (help_message_cache_non_empty()) {
 	    START(HTML_PRE);
 	    START(HTML_HR);
-	    PUTS("\n");
+	    PUTC('\n');
 	    PUTS(help_message_cache_contents());
 	    init_help_message_cache();	/* to free memory */
 	    START(HTML_HR);
-	    PUTS("\n");
+	    PUTC('\n');
 	} else {
 	    START(HTML_PRE);
-	    PUTS("\n");
+	    PUTC('\n');
 	}
 
 	/* Put up header
diff --git a/WWW/Library/Implementation/HTFile.c b/WWW/Library/Implementation/HTFile.c
index 3b82c090..c41dc4fa 100644
--- a/WWW/Library/Implementation/HTFile.c
+++ b/WWW/Library/Implementation/HTFile.c
@@ -523,61 +523,6 @@ PRIVATE void free_suffixes NOARGS
 
 extern void HTDisplayPartial NOARGS;
 
-/*	Send README file.
-**	-----------------
-**
-**  If a README file exists, then it is inserted into the document here.
-*/
-#ifdef HAVE_READDIR
-PRIVATE void do_readme ARGS2(HTStructured *, target, CONST char *, localname)
-{
-    FILE * fp;
-    char * readme_file_name =
-	malloc(strlen(localname)+ 1 + strlen(HT_DIR_README_FILE) + 1);
-    if (readme_file_name == NULL)
-	outofmem(__FILE__, "do_readme");
-    strcpy(readme_file_name, localname);
-    strcat(readme_file_name, "/");
-    strcat(readme_file_name, HT_DIR_README_FILE);
-
-    fp = fopen(readme_file_name,  "r");
-
-    if (fp) {
-	HTStructuredClass targetClass;
-
-	targetClass =  *target->isa;	/* (Can't init agregate in K&R) */
-	START(HTML_PRE);
-	for (;;){
-	    char c = fgetc(fp);
-	    if (c == (char)EOF) break;
-#ifdef NOTDEFINED
-	    switch (c) {
-		case '&':
-		case '<':
-		case '>':
-			PUTC('&');
-			PUTC('#');
-			PUTC((char)(c / 10));
-			PUTC((char) (c % 10));
-			PUTC(';');
-			break;
-/*		case '\n':
-			PUTC('\r');
-Bug removed thanks to joe@athena.mit.edu */
-		default:
-			PUTC(c);
-	    }
-#else
-	    PUTC(c);
-#endif /* NOTDEFINED */
-	}
-	END(HTML_PRE);
-	HTDisplayPartial();
-	fclose(fp);
-    }
-}
-#endif /* HAVE_READDIR */
-
 /*	Make the cache file name for a W3 document.
 **	-------------------------------------------
 **	Make up a suitable name for saving the node in
@@ -1460,7 +1405,7 @@ PUBLIC BOOL HTDirTitles ARGS3(
 		FREE(printable);
 	    }
 	} else {
-	    PUTS("/");
+	    PUTC('/');
 	}
 	END(HTML_A);
 	PUTC('\n');
@@ -1472,6 +1417,60 @@ PUBLIC BOOL HTDirTitles ARGS3(
     return(need_parent_link);
 }
 
+#if defined HAVE_READDIR
+/*	Send README file.
+**	-----------------
+**
+**  If a README file exists, then it is inserted into the document here.
+*/
+PRIVATE void do_readme ARGS2(HTStructured *, target, CONST char *, localname)
+{
+    FILE * fp;
+    char * readme_file_name =
+	malloc(strlen(localname)+ 1 + strlen(HT_DIR_README_FILE) + 1);
+    if (readme_file_name == NULL)
+	outofmem(__FILE__, "do_readme");
+    strcpy(readme_file_name, localname);
+    strcat(readme_file_name, "/");
+    strcat(readme_file_name, HT_DIR_README_FILE);
+
+    fp = fopen(readme_file_name,  "r");
+
+    if (fp) {
+	HTStructuredClass targetClass;
+
+	targetClass =  *target->isa;	/* (Can't init agregate in K&R) */
+	START(HTML_PRE);
+	for (;;){
+	    char c = fgetc(fp);
+	    if (c == (char)EOF) break;
+#ifdef NOTDEFINED
+	    switch (c) {
+		case '&':
+		case '<':
+		case '>':
+			PUTC('&');
+			PUTC('#');
+			PUTC((char)(c / 10));
+			PUTC((char) (c % 10));
+			PUTC(';');
+			break;
+/*		case '\n':
+			PUTC('\r');
+Bug removed thanks to joe@athena.mit.edu */
+		default:
+			PUTC(c);
+	    }
+#else
+	    PUTC(c);
+#endif /* NOTDEFINED */
+	}
+	END(HTML_PRE);
+	HTDisplayPartial();
+	fclose(fp);
+    }
+}
+
 PRIVATE int print_local_dir ARGS5(
 	DIR  *,			dp,
 	char *,			localname,
@@ -1822,8 +1821,10 @@ PRIVATE int print_local_dir ARGS5(
 	    ABORT_TARGET;
 	}
     }
+    HTFinishDisplayPartial();
     return status;  /* document loaded, maybe partial */
 }
+#endif /* HAVE_READDIR */
 
 
 
diff --git a/WWW/Library/Implementation/HTFinger.c b/WWW/Library/Implementation/HTFinger.c
index 36a7b89c..08f9763e 100644
--- a/WWW/Library/Implementation/HTFinger.c
+++ b/WWW/Library/Implementation/HTFinger.c
@@ -146,18 +146,18 @@ PRIVATE int response ARGS5(
     */
     CTRACE(tfp,"HTFinger: Reading finger information\n");
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     PUTS("Finger server on ");
     PUTS(sitename);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     PUTS("Finger server on ");
     START(HTML_EM);
@@ -179,7 +179,7 @@ PRIVATE int response ARGS5(
     PUTS(cmd);
     FREE(cmd);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
 
     while ((ch=NEXT_CHAR) != EOF) {
@@ -237,11 +237,11 @@ PRIVATE int response ARGS5(
 
 end_html:
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
     return(0);
 }
diff --git a/WWW/Library/Implementation/HTFormat.c b/WWW/Library/Implementation/HTFormat.c
index f06692a3..f214b536 100644
--- a/WWW/Library/Implementation/HTFormat.c
+++ b/WWW/Library/Implementation/HTFormat.c
@@ -528,6 +528,30 @@ PUBLIC void HTDisplayPartial NOARGS
 #endif  /* DISP_PARTIAL */
 }
 
+/* Put this as early as possible, OK just after HTDisplayPartial() */
+PUBLIC void HTFinishDisplayPartial NOARGS
+{
+#ifdef DISP_PARTIAL
+		    if (display_partial) {
+			/*
+			 *  Override Newline with a new value if user
+			 *  scrolled the document while downloading.
+			 */
+			if (Newline_partial != Newline
+			 && NumOfLines_partial > 0)
+			    Newline = Newline_partial;
+		    }
+
+		    /*
+		     *  End of incremental rendering stage here.
+		     */
+		    display_partial = FALSE;
+		    NumOfLines_partial = -1;       /* initialize to -1 */
+				/* -1 restrict HTDisplayPartial()   */
+				/* until HText_new() start next HTMainText */
+				/* and set the flag to 0  */
+#endif /* DISP_PARTIAL */
+}
 
 /*	Push data from a socket down a stream
 **	-------------------------------------
@@ -697,6 +721,7 @@ PUBLIC int HTCopy ARGS4(
     rv = HT_LOADED;
 
 finished:
+    HTFinishDisplayPartial();
     return(rv);
 }
 
@@ -768,6 +793,7 @@ PUBLIC int HTFileCopy ARGS2(
 	}
     } /* next bufferload */
 
+    HTFinishDisplayPartial();
     return rv;
 }
 
@@ -783,6 +809,7 @@ PUBLIC int HTFileCopy ARGS2(
 **
 **  Return values:
 **	HT_LOADED	All data sent.
+**	HT_INTERRUPTED  Interruption after some data read.
 **
 **  State of memory and target stream on return:
 **	always		chunk unchanged, target stream still valid.
@@ -794,6 +821,7 @@ PUBLIC int HTMemCopy ARGS2(
     HTStreamClass targetClass = *(sink->isa);
     int bytes = 0;
     CONST char *data = chunk->data;
+    int rv = HT_OK;
 
     HTReadProgress(0, 0);
     for (;;) {
@@ -810,8 +838,20 @@ PUBLIC int HTMemCopy ARGS2(
 	data += n;
 	HTReadProgress(bytes, 0);
 	HTDisplayPartial();
+
+	if (HTCheckForInterrupt()) {
+	    _HTProgress (TRANSFER_INTERRUPTED);
+	    if (bytes) {
+		rv = HT_INTERRUPTED;
+	    } else {
+		rv = -1;
+	    }
+	    break;
+	}
     }
-    return HT_LOADED;
+
+    HTFinishDisplayPartial();
+    return rv;
 }
 #endif
 
@@ -891,6 +931,7 @@ PRIVATE int HTGzFileCopy ARGS2(
 	}
     } /* next bufferload */
 
+    HTFinishDisplayPartial();
     return rv;
 }
 #endif /* USE_ZLIB */
diff --git a/WWW/Library/Implementation/HTFormat.h b/WWW/Library/Implementation/HTFormat.h
index df10425c..42aeea50 100644
--- a/WWW/Library/Implementation/HTFormat.h
+++ b/WWW/Library/Implementation/HTFormat.h
@@ -293,6 +293,8 @@ extern float HTStackValue PARAMS((
 */
 extern void HTDisplayPartial NOPARAMS;
 
+extern void HTFinishDisplayPartial NOPARAMS;
+
 /*
 
 HTCopy:  Copy a socket to a stream
@@ -325,10 +327,10 @@ extern int HTFileCopy PARAMS((
 #include <HTChunk.h>
 /*
 
-HTFileCopy:  Copy a file to a stream
+HTMemCopy:  Copy a memory chunk to a stream
 
    This is used by the protocol engines to send data down a stream, typically one which
-   has been generated by HTStreamStack.  It is currently called by HTParseFile
+   has been generated by HTStreamStack.  It is currently called by HTParseMem
 
  */
 extern int HTMemCopy PARAMS((
diff --git a/WWW/Library/Implementation/HTGopher.c b/WWW/Library/Implementation/HTGopher.c
index 6046e039..02a83057 100644
--- a/WWW/Library/Implementation/HTGopher.c
+++ b/WWW/Library/Implementation/HTGopher.c
@@ -225,28 +225,28 @@ PRIVATE void parse_menu ARGS2(
 
 
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_MENU_TITLE);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
 
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_MENU_TITLE);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
     while ((ich=NEXT_CHAR) != EOF) {
 
@@ -426,7 +426,7 @@ PRIVATE void parse_menu ARGS2(
 
 	    } /* parse error */
 
-	    PUTS("\n");
+	    PUTC('\n');
 	    p = line;	/* Start again at beginning of line */
 
 	} /* if end of line */
@@ -435,11 +435,11 @@ PRIVATE void parse_menu ARGS2(
 
 end_html:
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
 
     return;
@@ -469,16 +469,16 @@ PRIVATE void parse_cso ARGS2(
     CONST char *title;
 
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_CSO_SEARCH_RESULTS);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
@@ -487,7 +487,7 @@ PRIVATE void parse_cso ARGS2(
 	PUTS(GOPHER_SEARCH_RESULTS);
     }
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_PRE);
 
     /*
@@ -572,7 +572,7 @@ PRIVATE void parse_cso ARGS2(
 			    **	Print data.
 			    */
 			    PUTS(second_colon+1);
-			    PUTS("\n");
+			    PUTC('\n');
 
 			    if (*(second_colon-1) != last_char)
 				/* end seperator */
@@ -594,9 +594,9 @@ PRIVATE void parse_cso ARGS2(
 	} /* Loop over characters */
 
     /* end the text block */
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     FREE_TARGET;
 
     return;  /* all done */
@@ -612,18 +612,18 @@ PRIVATE void display_cso ARGS2(
     CONST char * title;
 
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_CSO_INDEX);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_ISINDEX);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
@@ -656,19 +656,19 @@ PRIVATE void display_index ARGS2(
     CONST char * title;
 
     START(HTML_HEAD);
-    PUTS("\n");
-    PUTS("\n");
+    PUTC('\n');
+    PUTC('\n');
     START(HTML_TITLE);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
     else
 	PUTS(GOPHER_INDEX_TITLE);
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_ISINDEX);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_H1);
     if ((title = HTAnchor_title(anAnchor)))
 	PUTS(title);
diff --git a/WWW/Library/Implementation/HTMLDTD.c b/WWW/Library/Implementation/HTMLDTD.c
index a631bce6..fe2f55b4 100644
--- a/WWW/Library/Implementation/HTMLDTD.c
+++ b/WWW/Library/Implementation/HTMLDTD.c
@@ -153,7 +153,7 @@ static CONST char* entities[] = {
 # define x HTMLA_AUXCLASS
 # define T(t) , t
 #else
-# define T(t) 
+# define T(t) /*nothing*/
 #endif
 
 static attr a_attr[] = {			/* Anchor attributes */
@@ -298,6 +298,7 @@ static attr bodytext_attr[] = { 		/* BODYTEXT attributes */
 };
 
 static attr bq_attr[] = {			/* BQ (BLOCKQUOTE) attributes */
+	{ "CITE"          T(h) },
 	{ "CLASS"         T(c) },
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
@@ -483,6 +484,7 @@ static attr form_attr[] = {			/* FORM attributes */
 
 static attr frame_attr[] = {			/* FRAME attributes */
 	{ "ID"            T(i) },
+	{ "LONGDESC"      T(h) },
 	{ "MARGINHEIGHT"  T(N) },
 	{ "MARGINWIDTH"   T(N) },
 	{ "NAME"          T(N) },
@@ -560,6 +562,7 @@ static attr iframe_attr[] = {			/* IFRAME attributes */
 	{ "FRAMEBORDER"   T(N) },
 	{ "HEIGHT"        T(N) },
 	{ "ID"            T(i) },
+	{ "LONGDESC"      T(h) },
 	{ "MARGINHEIGHT"  T(N) },
 	{ "MARGINWIDTH"   T(N) },
 	{ "NAME"          T(N) },
@@ -578,6 +581,7 @@ static attr img_attr[] = {			/* IMG attributes */
 	{ "CLEAR"         T(N) },
 	{ "DIR"           T(N) },
 	{ "HEIGHT"        T(N) },
+	{ "LONGDESC"      T(h) },
 	{ "ID"            T(i) },
 	{ "ISMAP"         T(N) },
 	{ "ISOBJECT"      T(N) },
@@ -941,6 +945,7 @@ static attr tab_attr[] = {			/* TAB attributes */
 
 static attr table_attr[] = {			/* TABLE attributes */
 	{ "ALIGN"         T(N) },
+	{ "BACKGROUND"    T(h) },
 	{ "BORDER"        T(N) },
 	{ "CELLPADDING"   T(N) },
 	{ "CELLSPACING"   T(N) },
@@ -968,6 +973,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "ALIGN"         T(N) },
 	{ "AXES"          T(N) },
 	{ "AXIS"          T(N) },
+	{ "BACKGROUND"    T(h) },
 	{ "CHAR"          T(N) },
 	{ "CHAROFF"       T(N) },
 	{ "CLASS"         T(c) },
@@ -975,6 +981,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "COLSPAN"       T(N) },
 	{ "DIR"           T(N) },
 	{ "DP"            T(N) },
+	{ "HEIGHT"        T(N) },
 	{ "ID"            T(i) },
 	{ "LANG"          T(N) },
 	{ "NOWRAP"        T(N) },
@@ -982,6 +989,7 @@ static attr td_attr[] = {			/* TD and TH attributes */
 	{ "STYLE"         T(N) },
 	{ "TITLE"         T(N) },
 	{ "VALIGN"        T(N) },
+	{ "WIDTH"         T(N) },
 	{ 0               T(N) }	/* Terminate list */
 };
 
@@ -1355,7 +1363,7 @@ static attr ulist_attr[] = {			/* UL attributes */
 **
 **    Name,	Attributes,	No. of attributes,     content,   extra info...
 */
-#ifdef USE_PSRC    
+#ifdef USE_COLOR_STYLE
 #define P(x) x , (sizeof x) -1
 #define NULL_HTTag NULL, 0
 #else
diff --git a/WWW/Library/Implementation/HTMLDTD.h b/WWW/Library/Implementation/HTMLDTD.h
index 600cf161..8b1cd4fb 100644
--- a/WWW/Library/Implementation/HTMLDTD.h
+++ b/WWW/Library/Implementation/HTMLDTD.h
@@ -298,15 +298,16 @@ Attribute numbers
 #define HTML_BODYTEXT_VALUETYPE  13
 #define HTML_BODYTEXT_ATTRIBUTES 14
 
-#define HTML_BQ_CLASS           0
-#define HTML_BQ_CLEAR           1
-#define HTML_BQ_DIR             2
-#define HTML_BQ_ID              3
-#define HTML_BQ_LANG            4
-#define HTML_BQ_NOWRAP          5
-#define HTML_BQ_STYLE           6
-#define HTML_BQ_TITLE           7
-#define HTML_BQ_ATTRIBUTES      8
+#define HTML_BQ_CITE             0
+#define HTML_BQ_CLASS            1
+#define HTML_BQ_CLEAR            2
+#define HTML_BQ_DIR              3
+#define HTML_BQ_ID               4
+#define HTML_BQ_LANG             5
+#define HTML_BQ_NOWRAP           6
+#define HTML_BQ_STYLE            7
+#define HTML_BQ_TITLE            8
+#define HTML_BQ_ATTRIBUTES       9
 
 #define HTML_BUTTON_CLASS       0
 #define HTML_BUTTON_CLEAR       1
@@ -467,14 +468,15 @@ Attribute numbers
 #define HTML_FORM_TITLE        14
 #define HTML_FORM_ATTRIBUTES   15
 
-#define HTML_FRAME_ID           0
-#define HTML_FRAME_MARGINHEIGHT 1
-#define HTML_FRAME_MARGINWIDTH  2
-#define HTML_FRAME_NAME         3
-#define HTML_FRAME_NORESIZE     4
-#define HTML_FRAME_SCROLLING    5
-#define HTML_FRAME_SRC          6
-#define HTML_FRAME_ATTRIBUTES   7
+#define HTML_FRAME_ID            0
+#define HTML_FRAME_LONGDESC      1
+#define HTML_FRAME_MARGINHEIGHT  2
+#define HTML_FRAME_MARGINWIDTH   3
+#define HTML_FRAME_NAME          4
+#define HTML_FRAME_NORESIZE      5
+#define HTML_FRAME_SCROLLING     6
+#define HTML_FRAME_SRC           7
+#define HTML_FRAME_ATTRIBUTES    8
 
 #define HTML_FRAMESET_COLS      0
 #define HTML_FRAMESET_ROWS      1
@@ -519,38 +521,40 @@ Attribute numbers
 #define HTML_HR_WIDTH          11
 #define HTML_HR_ATTRIBUTES     12
 
-#define HTML_IFRAME_ALIGN       0
-#define HTML_IFRAME_FRAMEBORDER 1
-#define HTML_IFRAME_HEIGHT      2
-#define HTML_IFRAME_ID          3
-#define HTML_IFRAME_MARGINHEIGHT 4
-#define HTML_IFRAME_MARGINWIDTH  5
-#define HTML_IFRAME_NAME        6
-#define HTML_IFRAME_SCROLLING   7
-#define HTML_IFRAME_SRC         8
-#define HTML_IFRAME_STYLE       9
-#define HTML_IFRAME_WIDTH      10
-#define HTML_IFRAME_ATTRIBUTES 11
-
-#define HTML_IMG_ALIGN          0
-#define HTML_IMG_ALT            1
-#define HTML_IMG_BORDER         2
-#define HTML_IMG_CLASS          3
-#define HTML_IMG_CLEAR          4
-#define HTML_IMG_DIR            5
-#define HTML_IMG_HEIGHT         6
-#define HTML_IMG_ID             7
-#define HTML_IMG_ISMAP          8
-#define HTML_IMG_ISOBJECT       9
-#define HTML_IMG_LANG          10
-#define HTML_IMG_MD            11
-#define HTML_IMG_SRC           12
-#define HTML_IMG_STYLE         13
-#define HTML_IMG_TITLE         14
-#define HTML_IMG_UNITS         15
-#define HTML_IMG_USEMAP        16
-#define HTML_IMG_WIDTH         17
-#define HTML_IMG_ATTRIBUTES    18
+#define HTML_IFRAME_ALIGN         0
+#define HTML_IFRAME_FRAMEBORDER   1
+#define HTML_IFRAME_HEIGHT        2
+#define HTML_IFRAME_ID            3
+#define HTML_IFRAME_LONGDESC      4
+#define HTML_IFRAME_MARGINHEIGHT  5
+#define HTML_IFRAME_MARGINWIDTH   6
+#define HTML_IFRAME_NAME          7
+#define HTML_IFRAME_SCROLLING     8
+#define HTML_IFRAME_SRC           9
+#define HTML_IFRAME_STYLE        10
+#define HTML_IFRAME_WIDTH        11
+#define HTML_IFRAME_ATTRIBUTES   12
+
+#define HTML_IMG_ALIGN           0
+#define HTML_IMG_ALT             1
+#define HTML_IMG_BORDER          2
+#define HTML_IMG_CLASS           3
+#define HTML_IMG_CLEAR           4
+#define HTML_IMG_DIR             5
+#define HTML_IMG_HEIGHT          6
+#define HTML_IMG_ID              7
+#define HTML_IMG_ISMAP           8
+#define HTML_IMG_ISOBJECT        9
+#define HTML_IMG_LANG           10
+#define HTML_IMG_LONGDESC       11
+#define HTML_IMG_MD             12
+#define HTML_IMG_SRC            13
+#define HTML_IMG_STYLE          14
+#define HTML_IMG_TITLE          15
+#define HTML_IMG_UNITS          16
+#define HTML_IMG_USEMAP         17
+#define HTML_IMG_WIDTH          18
+#define HTML_IMG_ATTRIBUTES     19
 
 #define HTML_INPUT_ACCEPT       0
 #define HTML_INPUT_ACCEPT_CHARSET  1 /* RFC 2070 HTML i18n - kw */
@@ -855,46 +859,50 @@ Attribute numbers
 #define HTML_TAB_ATTRIBUTES    11
 
 #define HTML_TABLE_ALIGN        0
-#define HTML_TABLE_BORDER       1
-#define HTML_TABLE_CELLPADDING  2
-#define HTML_TABLE_CELLSPACING  3
-#define HTML_TABLE_CLASS        4
-#define HTML_TABLE_CLEAR        5
-#define HTML_TABLE_COLS         6
-#define HTML_TABLE_COLSPEC      7
-#define HTML_TABLE_DIR          8
-#define HTML_TABLE_DP           9
-#define HTML_TABLE_FRAME       10
-#define HTML_TABLE_ID          11
-#define HTML_TABLE_LANG        12
-#define HTML_TABLE_NOFLOW      13
-#define HTML_TABLE_NOWRAP      14
-#define HTML_TABLE_RULES       15
-#define HTML_TABLE_STYLE       16
-#define HTML_TABLE_SUMMARY     17
-#define HTML_TABLE_TITLE       18
-#define HTML_TABLE_UNITS       19
-#define HTML_TABLE_WIDTH       20
-#define HTML_TABLE_ATTRIBUTES  21
+#define HTML_TABLE_BACKGROUND   1
+#define HTML_TABLE_BORDER       2
+#define HTML_TABLE_CELLPADDING  3
+#define HTML_TABLE_CELLSPACING  4
+#define HTML_TABLE_CLASS        5
+#define HTML_TABLE_CLEAR        6
+#define HTML_TABLE_COLS         7
+#define HTML_TABLE_COLSPEC      8
+#define HTML_TABLE_DIR          9
+#define HTML_TABLE_DP          10
+#define HTML_TABLE_FRAME       11
+#define HTML_TABLE_ID          12
+#define HTML_TABLE_LANG        13
+#define HTML_TABLE_NOFLOW      14
+#define HTML_TABLE_NOWRAP      15
+#define HTML_TABLE_RULES       16
+#define HTML_TABLE_STYLE       17
+#define HTML_TABLE_SUMMARY     18
+#define HTML_TABLE_TITLE       19
+#define HTML_TABLE_UNITS       20
+#define HTML_TABLE_WIDTH       21
+#define HTML_TABLE_ATTRIBUTES  22
 
 #define HTML_TD_ALIGN           0
 #define HTML_TD_AXES            1
 #define HTML_TD_AXIS            2
-#define HTML_TD_CHAR            3
-#define HTML_TD_CHAROFF         4
-#define HTML_TD_CLASS           5
-#define HTML_TD_CLEAR           6
-#define HTML_TD_COLSPAN         7
-#define HTML_TD_DIR             8
-#define HTML_TD_DP              9
-#define HTML_TD_ID             10
-#define HTML_TD_LANG           11
-#define HTML_TD_NOWRAP         12
-#define HTML_TD_ROWSPAN        13
-#define HTML_TD_STYLE          14
-#define HTML_TD_TITLE          15
-#define HTML_TD_VALIGN         16
-#define HTML_TD_ATTRIBUTES     17
+#define HTML_TD_BACKGROUND      3
+#define HTML_TD_CHAR            4
+#define HTML_TD_CHAROFF         5
+#define HTML_TD_CLASS           6
+#define HTML_TD_CLEAR           7
+#define HTML_TD_COLSPAN         8
+#define HTML_TD_DIR             9
+#define HTML_TD_DP             10
+#define HTML_TD_HEIGHT         11
+#define HTML_TD_ID             12
+#define HTML_TD_LANG           13
+#define HTML_TD_NOWRAP         14
+#define HTML_TD_ROWSPAN        15
+#define HTML_TD_STYLE          16
+#define HTML_TD_TITLE          17
+#define HTML_TD_VALIGN         18
+#define HTML_TD_WIDTH          19
+#define HTML_TD_ATTRIBUTES     20
 
 #define HTML_TEXTAREA_ACCEPT_CHARSET  0 /* RFC 2070 HTML i18n - kw */
 #define HTML_TEXTAREA_ALIGN     1
diff --git a/WWW/Library/Implementation/HTString.h b/WWW/Library/Implementation/HTString.h
index f6f3f99d..1041d0fd 100644
--- a/WWW/Library/Implementation/HTString.h
+++ b/WWW/Library/Implementation/HTString.h
@@ -7,7 +7,9 @@
 #ifndef HTSTRING_H
 #define HTSTRING_H
 
+#ifndef HTUTILS_H
 #include <HTUtils.h>
+#endif /* HTUTILS_H */
 
 extern int WWW_TraceFlag;       /* Global flag for all W3 trace */
 
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c
index 243749eb..f791f188 100644
--- a/WWW/Library/Implementation/HTTCP.c
+++ b/WWW/Library/Implementation/HTTCP.c
@@ -572,6 +572,7 @@ PRIVATE size_t fill_rehostent ARGS3(
 #define REHOSTENT_SIZE 128		/* not bigger than pipe buffer! */
 
 #ifndef HAVE_H_ERRNO
+#undef  h_errno
 #define h_errno my_errno
 static int my_errno;
 #endif
diff --git a/WWW/Library/Implementation/HTUtils.h b/WWW/Library/Implementation/HTUtils.h
index b6f03d0b..008e8476 100644
--- a/WWW/Library/Implementation/HTUtils.h
+++ b/WWW/Library/Implementation/HTUtils.h
@@ -30,11 +30,14 @@
 /* Explicit system-configure */
 #ifdef VMS
 #define NO_SIZECHANGE
-#define NO_UNISTD_H
+#if defined(VAXC) && !defined(__DECC)
+#define NO_UNISTD_H	/* DEC C has unistd.h, but not VAX C */
+#endif
 #define NO_KEYPAD
 #define NO_UTMP
 #define NO_FILIO_H
 #define NOUSERS
+#define DISP_PARTIAL	/* experimental */
 #endif
 
 #if defined(__STDC__) || defined(VMS)
@@ -122,13 +125,13 @@ Debug message control.
 
  */
 
-#ifdef DEBUG
+#ifdef NO_LYNX_TRACE
+#define TRACE 0
+#define PROGRESS(str) /* nothing for now */
+#else
 #define TRACE (WWW_TraceFlag)
 #define PROGRESS(str) printf(str)
         extern int WWW_TraceFlag;
-#else
-#define TRACE 0
-#define PROGRESS(str) /* nothing for now */
 #endif
 
 /*
diff --git a/WWW/Library/Implementation/HTVMSUtils.c b/WWW/Library/Implementation/HTVMSUtils.c
index ae103082..775d411f 100644
--- a/WWW/Library/Implementation/HTVMSUtils.c
+++ b/WWW/Library/Implementation/HTVMSUtils.c
@@ -954,25 +954,25 @@ PUBLIC int HTVMSBrowseDir ARGS4(
      *  Output the title and header.
      */
     START(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     HTUnEscape(title);
     START(HTML_TITLE);
     PUTS(title);
     PUTS(" directory");
     END(HTML_TITLE);
-    PUTS("\n");
+    PUTC('\n');
     FREE(title);
     END(HTML_HEAD);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     HTUnEscape(header);
     START(HTML_H1);
     PUTS(header);
     END(HTML_H1);
-    PUTS("\n");
+    PUTC('\n');
     if (HTDirReadme == HT_DIR_README_TOP) {
         FILE * fp;
 	if (header[strlen(header)-1] != '/')
@@ -1018,7 +1018,7 @@ PUBLIC int HTVMSBrowseDir ARGS4(
 	PUTS(parent);
 	END(HTML_A);
 	START(HTML_P);
-	PUTS("\n");
+	PUTC('\n');
 	FREE(relative);
 	FREE(parent);
     }
@@ -1233,11 +1233,11 @@ PUBLIC int HTVMSBrowseDir ARGS4(
      *  Complete the output stream.
      */
     END(HTML_PRE);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_BODY);
-    PUTS("\n");
+    PUTC('\n');
     END(HTML_HTML);
-    PUTS("\n");
+    PUTC('\n');
     FREE(tail);
     FREE_TARGET;
 
diff --git a/WWW/Library/Implementation/HTWAIS.c b/WWW/Library/Implementation/HTWAIS.c
index 638a560b..6eea24ee 100644
--- a/WWW/Library/Implementation/HTWAIS.c
+++ b/WWW/Library/Implementation/HTWAIS.c
@@ -198,7 +198,7 @@ PRIVATE void showDiags ARGS2(
 	    PUTS(d[i]->DIAG);
 	    PUTC(' ');
 	    PUTS(d[i]->ADDINFO);
-	    PUTC('\n'); ;
+	    PUTC('\n');
 	}
     }
 }
@@ -482,7 +482,7 @@ PRIVATE void display_search_response ARGS4(
     PUTS(gettext("the second is the number of lines in the item."));
     START(HTML_BR);
     START(HTML_BR);
-    PUTS("\n");
+    PUTC('\n');
     START(HTML_OL);
 
     if (response->DatabaseDiagnosticRecords != 0) {
@@ -595,7 +595,7 @@ PRIVATE void display_search_response ARGS4(
 	}
     }	/* Loop: display user info */
     END(HTML_OL);
-    PUTC('\n'); ;
+    PUTC('\n');
 }
 
 /*		Load by name					HTLoadWAIS
@@ -758,18 +758,18 @@ PUBLIC int HTLoadWAIS ARGS4(
 	HTStructured * target = HTML_new(anAnchor, format_out, sink);
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	HTStartIsIndex(target, HTWAIS_SOLICIT_QUERY , NULL);
-	PUTS("\n");
+	PUTC('\n');
 
 	{
 	    START(HTML_TITLE);
 	    PUTS(wais_database);
 	    PUTS(gettext(" (WAIS Index)"));
 	    END(HTML_TITLE);
-	    PUTS("\n");
+	    PUTC('\n');
 	    END(HTML_HEAD);
-	    PUTS("\n");
+	    PUTC('\n');
 
 	    START(HTML_H1);
 	    PUTS(gettext("WAIS Index: "));
@@ -777,7 +777,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	    PUTS(wais_database);
 	    END(HTML_EM);
 	    END(HTML_H1);
-	    PUTS("\n");
+	    PUTC('\n');
 	    PUTS(gettext("This is a link for searching the "));
 	    START(HTML_EM);
 	    PUTS(wais_database);
@@ -801,7 +801,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	if (fp) {
 	    char c;
 	    START(HTML_PRE);		/* Preformatted description */
-	    PUTS("\n");
+	    PUTC('\n');
 	    while((c=getc(fp))!=EOF) PUTC(c);	/* Transfer file */
 	    END(HTML_PRE);
 	    fclose(fp);
@@ -824,18 +824,18 @@ PUBLIC int HTLoadWAIS ARGS4(
 	target = HTML_new(anAnchor, format_out, sink);
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	HTStartIsIndex(target, HTWAIS_SOLICIT_QUERY, NULL);
-	PUTS("\n");
+	PUTC('\n');
 	START(HTML_TITLE);
 	PUTS(keywords);
 	PUTS(gettext(" (in "));
 	PUTS(wais_database);
-	PUTS(")");
+	PUTC(')');
 	END(HTML_TITLE);
-	PUTS("\n");
+	PUTC('\n');
 	END(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 
 	START(HTML_H1);
 	PUTS(gettext("WAIS Search of \""));
@@ -847,7 +847,7 @@ PUBLIC int HTLoadWAIS ARGS4(
 	PUTS(wais_database);
 	END(HTML_EM);
 	END(HTML_H1);
-	PUTS("\n");
+	PUTC('\n');
 
 	request_buffer_length = MAX_MESSAGE_LEN; /* Amount left */
 	CTRACE(tfp, "HTWAIS: Search for `%s' in `%s'\n",
diff --git a/WWW/Library/Implementation/HTWSRC.c b/WWW/Library/Implementation/HTWSRC.c
index 83a84b55..3388b100 100644
--- a/WWW/Library/Implementation/HTWSRC.c
+++ b/WWW/Library/Implementation/HTWSRC.c
@@ -303,19 +303,19 @@ PRIVATE void WSRC_gen_html ARGS2(HTStream *, me, BOOL, source_file)
 	}
 
 	START(HTML_HEAD);
-	PUTS("\n");
+	PUTC('\n');
 	START(HTML_TITLE);
 	PUTS(shortname);
 	PUTS(source_file ? gettext(" WAIS source file") : INDEX_SEGMENT);
 	END(HTML_TITLE);
-	PUTS("\n");
+	PUTC('\n');
 	END(HTML_HEAD);
 
 	START(HTML_H1);
 	PUTS(shortname);
 	PUTS(source_file ? gettext(" description") : INDEX_SEGMENT);
 	END(HTML_H1);
-	PUTS("\n");
+	PUTC('\n');
 	FREE(shortname);
     }
 
diff --git a/WWW/Library/Implementation/Makefile.old b/WWW/Library/Implementation/Makefile.old
deleted file mode 100644
index 7f028976..00000000
--- a/WWW/Library/Implementation/Makefile.old
+++ /dev/null
@@ -1,489 +0,0 @@
-# Makefile generated by imake - do not edit!
-# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
-#
-# The cpp used on this machine replaces all newlines and multiple tabs and
-# spaces in a macro expansion with a single space.  Imake tries to compensate
-# for this, but is not always successful.
-#
-
-###########################################################################
-# Makefile generated from "Imake.tmpl" and </tmp/IIf.a00214>
-# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
-#
-# Platform-specific parameters may be set in the appropriate .cf
-# configuration files.  Site-wide parameters may be set in the file
-# site.def.  Full rebuilds are recommended if any parameters are changed.
-#
-# If your C preprocessor doesn't define any unique symbols, you'll need
-# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
-# "make Makefile", "make Makefiles", or "make World").
-#
-# If you absolutely can't get imake to work, you'll need to set the
-# variables at the top of each Makefile as well as the dependencies at the
-# bottom (makedepend will do this automatically).
-#
-
-###########################################################################
-# platform-specific configuration parameters - edit sun.cf to change
-
-# platform:  $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
-# operating system:  SunOS 4.0.3
-
-###########################################################################
-# site-specific configuration parameters - edit site.def to change
-
-            SHELL = /bin/sh
-
-              TOP = .
-      CURRENT_DIR = .
-
-               AR = ar clq
-  BOOTSTRAPCFLAGS =
-               CC = cc
-
-         COMPRESS = compress
-              CPP = /lib/cpp $(STD_CPP_DEFINES)
-    PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
-          INSTALL = install
-               LD = ld
-             LINT = lint
-      LINTLIBFLAG = -C
-         LINTOPTS = -axz
-               LN = ln -s
-             MAKE = make
-               MV = mv
-               CP = cp
-           RANLIB = ranlib
-  RANLIBINSTFLAGS =
-               RM = rm -f
-     STD_INCLUDES =
-  STD_CPP_DEFINES =
-      STD_DEFINES =
- EXTRA_LOAD_FLAGS =
-  EXTRA_LIBRARIES =
-             TAGS = ctags
-
-    SHAREDCODEDEF = -DSHAREDCODE
-         SHLIBDEF = -DSUNSHLIB
-
-    PROTO_DEFINES =
-
-     INSTPGMFLAGS =
-
-     INSTBINFLAGS = -m 0755
-     INSTUIDFLAGS = -m 4755
-     INSTLIBFLAGS = -m 0664
-     INSTINCFLAGS = -m 0444
-     INSTMANFLAGS = -m 0444
-     INSTDATFLAGS = -m 0444
-    INSTKMEMFLAGS = -m 4755
-
-          DESTDIR =
-
-     TOP_INCLUDES = -I$(INCROOT)
-
-      CDEBUGFLAGS = -O
-        CCOPTIONS =
-      COMPATFLAGS =
-
-      ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
-       ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
-           CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
-        LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
-           LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
-        LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
-   LDCOMBINEFLAGS = -X -r
-
-        MACROFILE = sun.cf
-           RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
-
-    IMAKE_DEFINES =
-
-         IRULESRC = $(CONFIGDIR)
-        IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
-
-     ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
-			$(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
-			$(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
-
-###########################################################################
-# X Window System Build Parameters
-# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
-
-###########################################################################
-# X Window System make variables; this need to be coordinated with rules
-# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
-
-          PATHSEP = /
-        USRLIBDIR = $(DESTDIR)/usr/lib
-           BINDIR = $(DESTDIR)/usr/bin/X11
-          INCROOT = $(DESTDIR)/usr/include
-     BUILDINCROOT = $(TOP)
-      BUILDINCDIR = $(BUILDINCROOT)/X11
-      BUILDINCTOP = ..
-           INCDIR = $(INCROOT)/X11
-           ADMDIR = $(DESTDIR)/usr/adm
-           LIBDIR = $(USRLIBDIR)/X11
-        CONFIGDIR = $(LIBDIR)/config
-       LINTLIBDIR = $(USRLIBDIR)/lint
-
-          FONTDIR = $(LIBDIR)/fonts
-         XINITDIR = $(LIBDIR)/xinit
-           XDMDIR = $(LIBDIR)/xdm
-           AWMDIR = $(LIBDIR)/awm
-           TWMDIR = $(LIBDIR)/twm
-           GWMDIR = $(LIBDIR)/gwm
-          MANPATH = $(DESTDIR)/usr/man
-    MANSOURCEPATH = $(MANPATH)/man
-           MANDIR = $(MANSOURCEPATH)n
-        LIBMANDIR = $(MANSOURCEPATH)3
-      XAPPLOADDIR = $(LIBDIR)/app-defaults
-
-        SOXLIBREV = 4.2
-          SOXTREV = 4.0
-         SOXAWREV = 4.0
-        SOOLDXREV = 4.0
-         SOXMUREV = 4.0
-        SOXEXTREV = 4.0
-
-       FONTCFLAGS = -t
-
-     INSTAPPFLAGS = $(INSTDATFLAGS)
-
-            IMAKE = imake
-           DEPEND = makedepend
-              RGB = rgb
-            FONTC = bdftosnf
-        MKFONTDIR = mkfontdir
-        MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
-
-        CONFIGSRC = $(TOP)/config
-        CLIENTSRC = $(TOP)/clients
-          DEMOSRC = $(TOP)/demos
-           LIBSRC = $(TOP)/lib
-          FONTSRC = $(TOP)/fonts
-       INCLUDESRC = $(TOP)/X11
-        SERVERSRC = $(TOP)/server
-          UTILSRC = $(TOP)/util
-        SCRIPTSRC = $(UTILSRC)/scripts
-       EXAMPLESRC = $(TOP)/examples
-       CONTRIBSRC = $(TOP)/../contrib
-           DOCSRC = $(TOP)/doc
-           RGBSRC = $(TOP)/rgb
-        DEPENDSRC = $(UTILSRC)/makedepend
-         IMAKESRC = $(CONFIGSRC)
-         XAUTHSRC = $(LIBSRC)/Xau
-          XLIBSRC = $(LIBSRC)/X
-           XMUSRC = $(LIBSRC)/Xmu
-       TOOLKITSRC = $(LIBSRC)/Xt
-       AWIDGETSRC = $(LIBSRC)/Xaw
-       OLDXLIBSRC = $(LIBSRC)/oldX
-      XDMCPLIBSRC = $(LIBSRC)/Xdmcp
-      BDFTOSNFSRC = $(FONTSRC)/bdftosnf
-     MKFONTDIRSRC = $(FONTSRC)/mkfontdir
-     EXTENSIONSRC = $(TOP)/extensions
-
-  DEPEXTENSIONLIB =
-     EXTENSIONLIB = -lXext
-
-          DEPXLIB = $(DEPEXTENSIONLIB)
-             XLIB = $(EXTENSIONLIB) -lX11
-
-      DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
-         XAUTHLIB =  -lXau
-
-        DEPXMULIB =
-           XMULIB = -lXmu
-
-       DEPOLDXLIB =
-          OLDXLIB = -loldX
-
-      DEPXTOOLLIB =
-         XTOOLLIB = -lXt
-
-        DEPXAWLIB =
-           XAWLIB = -lXaw
-
- LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
-         LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
-          LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
-        LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
-          LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
-
-          DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
-
-         DEPLIBS1 = $(DEPLIBS)
-         DEPLIBS2 = $(DEPLIBS)
-         DEPLIBS3 = $(DEPLIBS)
-
-###########################################################################
-# Imake rules for building libraries, programs, scripts, and data files
-# rules:  $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
-
-###########################################################################
-# start of Imakefile
-
-#  Make WWW under unix for a.n.other unix system (bsd)
-#   Use this as a template
-
-TK_WWW_SOURCE_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/Tcl
-
-TK_WWW_INSTALL_PATH=/a/dxcern/userd/tbl/hypertext/WWW/TkWWW/$(WWW_MACH)
-
-TK_WWW_HOME_PAGE=http://www.w3.org/default.html
-TK_WWW_START_PAGE=$(TK_WWW_HOME_PAGE)
-
-CC = gcc -fno-builtin -Wall
-
-CDEBUGFLAGS = -O3 -pipe
-
-COMPATFLAGS =   -I/afs/athena.mit.edu/course/other/cdsdev/www-compat
-CCOPTIONS =
-
-BINDIR = $(TK_WWW_INSTALL_PATH)
-
-# For W3 distribution, machine type for subdirectories
-WWW_MACH = unix_x
-
-# The ASIS repository's name for the machine we are on
-ASIS_MACH = hardware/os
-
-#_________________ OK if normal W3 distribution
-# Where is the WWW source root?
-WWW = ../..
-
-#  Where should temporary (object) files go?
-WTMP = /tmp
-
-#	Common Makefile for W3 Library Code
-#	-----------------------------------
-#
-#	(c) CERN 1990, 1991 -- see Copyright.html for conditions
-#
-# This file should be invariant between systems.
-#	DEPENDENCIES NOT COMPLETE
-
-#
-#	make		Compile and link the software (private version)
-#	make clean	Remove intermediate files
-
-WC = $(WWW)/Library
-CMN = $(WWW)/Library/Implementation/
-
-# Where shall we put the objects and built library?
-
-LOB = $(WTMP)/Library/$(WWW_MACH)
-
-# Bug: This path, if relative, is taken relative to the directory
-# in which this makefile is, not the pwd.  This screws up the
-# recursive invocation
-
-VC = 2.14
-
-CFLAGS2 = $(CFLAGS) -I$(CMN)
-
-CERNLIBBIN = $(WWW)/bin
-
-COMMON = $(LOB)/HTParse.o $(LOB)/HTAccess.o $(LOB)/HTTP.o \
-	$(LOB)/HTFile.o	$(LOB)/HTFTP.o $(LOB)/HTTCP.o \
-	$(LOB)/SGML.o $(LOB)/HTMLDTD.o $(LOB)/HTChunk.o \
-	$(LOB)/HTPlain.o $(LOB)/HTWriter.o $(LOB)/HTFWriter.o \
-	$(LOB)/HTMLGen.o \
-	$(LOB)/HTAtom.o $(LOB)/HTAnchor.o $(LOB)/HTStyle.o \
-	$(LOB)/HTList.o $(LOB)/HTString.o $(LOB)/HTAlert.o \
-	$(LOB)/HTRules.o $(LOB)/HTFormat.o $(LOB)/HTInit.o $(LOB)/HTMIME.o \
-	$(LOB)/HTHistory.o $(LOB)/HTNews.o $(LOB)/HTGopher.o \
-	$(LOB)/HTTelnet.o  $(LOB)/HTWSRC.o $(HTWAIS)
-
-CFILES = $(CMN)HTParse.c $(CMN)HTAccess.c $(CMN)HTTP.c $(CMN)HTFile.c \
-	$(CMN)HTFTP.c   $(CMN)HTTCP.c     $(CMN)SGML.c	\
-	$(CMN)HTMLDTD.c \
-	$(CMN)HTPlain.c	$(CMN)HTWriter.c  $(CMN)HTFWriter.c $(CMN)HTMLGen.c	\
-	$(CMN)HTChunk.c $(CMN)HTAtom.c   $(CMN)HTAnchor.c $(CMN)HTStyle.c \
-	$(CMN)HTList.c  $(CMN)HTString.c $(CMN)HTAlert.c $(CMN)HTRules.c \
-	$(CMN)HTFormat.c $(CMN)HTInit.c $(CMN)HTMIME.c $(CMN)HTHistory.c \
-	$(CMN)HTNews.c  $(CMN)HTGopher.c $(CMN)HTTelnet.c \
-	$(CMN)HTWAIS.c  $(CMN)HTWSRC.c
-
-HFILES = $(CMN)HTParse.h $(CMN)HTAccess.h $(CMN)HTTP.h $(CMN)HTFile.h \
-	$(CMN)HTFTP.h $(CMN)HTTCP.h \
-	$(CMN)SGML.h $(CMN)HTML.h $(CMN)HTMLDTD.h $(CMN)HTChunk.h \
-	$(CMN)HTPlain.h		$(CMN)HTWriter.h \
-	$(CMN)HTFWriter.h 	$(CMN)HTMLGen.h	\
-	$(CMN)HTStream.h \
-	$(CMN)HTAtom.h $(CMN)HTAnchor.h $(CMN)HTStyle.h \
-	$(CMN)HTList.h \
-	$(CMN)HTString.h $(CMN)HTAlert.h $(CMN)HTRules.h \
-	$(CMN)HTFormat.h $(CMN)HTInit.h \
-	$(CMN)HTMIME.h $(CMN)HTHistory.h $(CMN)HTNews.h \
-	$(CMN)HTGopher.h \
-	$(CMN)HTUtils.h $(CMN)tcp.h $(CMN)WWW.h $(CMN)HText.h \
-	$(CMN)HTTelnet.h \
-	$(CMN)HTWAIS.h  $(CMN)HTWSRC.h
-
-SOURCES = $(CFILES) $(HFILES) $(CMN)Version.make $(CMN)CommonMakefile \
-	$(WWW)/README.txt $(WWW)/Copyright.txt $(WWW)/BUILD
-SPECIFIC = $(WWW)/All
-
-#	Library
-#
-#  On SGI, ranlib is unnecessary and does not exist so we ignore errors
-# for that step
-all: $(LOB)/libwww.a
-	$(MV) $(LOB)/libwww.a $(WC)/$(WWW_MACH)
-
-$(LOB)/libwww.a : $(COMMON)
-	ar r $(LOB)/libwww.a $(COMMON)
-	-ranlib $(LOB)/libwww.a
-
-#	Clean up everything generatable except final products
-clean ::
-	$(RM) $(LOB)
-
-#	Clean up everything generatable including final products
-
-cleanall :: clean
-	$(RM) $(LOB)/libwww.a
-
-# 			Common code
-#			-----------
-
-#	Directory for object files - .created checks it exists
-
-OE = $(LOB)/.created
-$(OE) :
-	-mkdir $(WTMP)
-	-mkdir $(WTMP)/Library
-	-mkdir $(WTMP)/Library/$(WWW_MACH)
-	touch $@
-
-$(LOB)/HTList.o : $(OE) $(CMN)HTList.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTList.c
-
-$(LOB)/HTAnchor.o : $(OE) $(CMN)HTAnchor.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAnchor.c
-
-$(LOB)/HTFormat.o : $(OE) $(CMN)HTFormat.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFormat.c
-
-$(LOB)/HTInit.o : $(OE) $(CMN)HTInit.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTInit.c
-
-$(LOB)/HTMIME.o : $(OE) $(CMN)HTMIME.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMIME.c
-
-$(LOB)/HTHistory.o : $(OE) $(CMN)HTHistory.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTHistory.c
-
-$(LOB)/HTNews.o : $(OE) $(CMN)HTNews.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTNews.c
-
-$(LOB)/HTGopher.o : $(OE) $(CMN)HTGopher.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTGopher.c
-
-$(LOB)/HTTelnet.o : $(OE) $(CMN)HTTelnet.c $(CMN)HTUtils.h $(CMN)HTTelnet.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTelnet.c
-
-$(LOB)/HTStyle.o : $(OE) $(CMN)HTStyle.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTStyle.c
-
-$(LOB)/HTAtom.o : $(OE) $(CMN)HTAtom.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAtom.c
-
-$(LOB)/HTChunk.o : $(OE) $(CMN)HTChunk.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTChunk.c
-
-$(LOB)/HTString.o : $(OE) $(CMN)HTString.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTString.c
-
-$(LOB)/HTAlert.o : $(OE) $(CMN)HTAlert.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTAlert.c
-
-$(LOB)/HTRules.o : $(OE) $(CMN)HTRules.c $(CMN)HTUtils.h $(CMN)Version.make
-	$(CC) -c -o $@ $(CFLAGS2) -DVC=\"$(VC)\" $(CMN)HTRules.c
-
-$(LOB)/SGML.o : $(OE) $(CMN)SGML.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)SGML.c
-
-$(LOB)/HTMLGen.o : $(OE) $(CMN)HTMLGen.c $(CMN)HTUtils.h $(CMN)HTMLDTD.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLGen.c
-
-$(LOB)/HTMLDTD.o : $(OE) $(CMN)HTMLDTD.c $(CMN)SGML.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTMLDTD.c
-
-$(LOB)/HTPlain.o : $(OE) $(CMN)HTPlain.c $(CMN)HTPlain.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTPlain.c
-
-$(LOB)/HTWAIS.o : $(OE) $(CMN)HTWAIS.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(WAISINC) $(CMN)HTWAIS.c
-
-$(LOB)/HTWSRC.o : $(OE) $(CMN)HTWSRC.c $(CMN)HTUtils.h $(CMN)HTList.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWSRC.c
-
-$(LOB)/HTWriter.o : $(OE) $(CMN)HTWriter.c $(CMN)HTWriter.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTWriter.c
-
-$(LOB)/HTFWriter.o : $(OE) $(CMN)HTFWriter.c $(CMN)HTFWriter.h $(CMN)HTStream.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFWriter.c
-
-#	Communications & Files
-
-$(LOB)/HTTP.o : $(OE) $(CMN)HTTP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTP.c
-
-$(LOB)/HTTCP.o : $(OE) $(CMN)HTTCP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTTCP.c
-
-$(LOB)/HTFile.o : $(OE) $(CMN)HTFile.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFile.c
-
-$(LOB)/HTFTP.o : $(OE) $(CMN)HTFTP.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTFTP.c
-
-$(LOB)/HTAccess.o : $(OE)  $(CMN)HTAccess.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTAccess.c
-
-$(LOB)/HTParse.o : $(OE) $(CMN)HTParse.c $(CMN)HTUtils.h
-	$(CC) -c -o $@ $(CFLAGS2) $(CMN)HTParse.c
-
-###########################################################################
-# common rules for all Makefiles - do not edit
-
-emptyrule::
-
-clean::
-	$(RM_CMD) \#*
-
-Makefile::
-	-@if [ -f Makefile ]; then \
-	echo "	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
-	$(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
-	else exit 0; fi
-	$(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
-
-tags::
-	$(TAGS) -w *.[ch]
-	$(TAGS) -xw *.[ch] > TAGS
-
-saber:
-	#load $(ALLDEFINES) $(SRCS)
-
-osaber:
-	#load $(ALLDEFINES) $(OBJS)
-
-###########################################################################
-# empty rules for directories that do not have SUBDIRS - do not edit
-
-install::
-	@echo "install in $(CURRENT_DIR) done"
-
-install.man::
-	@echo "install.man in $(CURRENT_DIR) done"
-
-Makefiles::
-
-includes::
-
-###########################################################################
-# dependencies generated by makedepend
-
diff --git a/WWW/Library/Implementation/SGML.c b/WWW/Library/Implementation/SGML.c
index 12003736..406dcf05 100644
--- a/WWW/Library/Implementation/SGML.c
+++ b/WWW/Library/Implementation/SGML.c
@@ -34,6 +34,8 @@
 
 #ifdef USE_COLOR_STYLE
 # include <LYStyle.h>
+#endif
+#ifdef USE_PSRC
 # include <LYPrettySrc.h>
 #endif
 
@@ -187,7 +189,7 @@ struct _HTStream {
 static BOOL seen_letter_in_junk_tag;
 
 PRIVATE void HTMLSRC_apply_markup ARGS3(
-	    HTStream*,	      context,
+	    HTStream *,	      context,
 	    HTlexem,	      lexem,
 	    BOOL,	      start)
 {
diff --git a/WWW/Library/Implementation/SGML.h b/WWW/Library/Implementation/SGML.h
index 261eb54a..9ae3ae36 100644
--- a/WWW/Library/Implementation/SGML.h
+++ b/WWW/Library/Implementation/SGML.h
@@ -110,7 +110,7 @@ typedef int TagFlags;
 typedef struct _tag HTTag;
 struct _tag{
     char *	name;			/* The name of the tag */
-#ifdef USE_PSRC
+#ifdef USE_COLOR_STYLE
     int		name_len;		/* The length of the name */
 #endif
     attr *	attributes;		/* The list of acceptable attributes */