about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--CHANGES7
-rw-r--r--INSTALLATION57
-rw-r--r--LYMessages_en.h7
-rw-r--r--WWW/Library/Implementation/HTFWriter.c359
-rw-r--r--lynx.cfg5
-rw-r--r--lynx.rsp86
-rw-r--r--src/LYGetFile.c4
-rw-r--r--userdefs.h4
8 files changed, 486 insertions, 43 deletions
diff --git a/CHANGES b/CHANGES
index eeccf3f6..b80bf9f2 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,9 +1,12 @@
--- $LynxId: CHANGES,v 1.518 2010/11/26 20:17:33 tom Exp $
+-- $LynxId: CHANGES,v 1.520 2010/12/08 01:30:25 tom Exp $
 ===============================================================================
 Changes since Lynx 2.8 release
 ===============================================================================
 
-2010-11-26 (2.8.8dev.7)
+2010-12-07 (2.8.8dev.7)
+* cleanup URLs in lynx documentation -DK
+* add check in getfile() when handling a "mailto:" url, to prevent it when the
+  user has requested a dump (Debian #533308) -TD
 * improve configure check for IDNA library, which may depend upon intllib,
   e.g., building with mingw on cygwin -DK
 * modify autoconf macros which look for X libraries, e.g., for PDCurses, to
diff --git a/INSTALLATION b/INSTALLATION
index 000f8d6e..fafb96f9 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -915,10 +915,10 @@ Borland C:
     The original Win32 port was built with Borland C++ 4.52, but later
     versions reportedly can be used.  Before compiling the Lynx sources, you
     need a curses library, and it is recommended that you have the zlib
-    library.  Get pdcurses2.3 from "http://www.lightlink.com/hessling/".  I
+    library.  Get pdcurses2.3 from "http://pdcurses.sourceforge.net/".  I
     have modified it so that mouse support is no longer broken for Lynx (see
     "http://www.fdisk.com/doslynx/").  You will want to get zlib from
-    "http://www.gzip.org/zlib/ ".  Compile these libraries, and
+    "http://www.zlib.net/ ".  Compile these libraries, and
     put them in a convenient place (pdcurses inside the Lynx directory).
 
     Unpack the latest Lynx source distribution, and make an obj directory
@@ -938,6 +938,7 @@ Borland C:
     information can be found in "http://www.fdisk.com/doslynx/lynxport.htm".
 
 -- 1997/10/12 - W. Buttles <lynx-port@fdisk.com>
+-- 2010/11/27 - URL's updated by Doug Kaufman <dkaufman@rahul.net>
 
 Cygwin:
     It is possible to compile under the cygwin system, which will allow you to
@@ -1013,7 +1014,7 @@ V. Compile instructions -- 386 DOS
 
     If you wish to compile with "USE_ZLIB" (recommended), you must have the
     zlib library.  Get the source from
-	    http://www.gzip.org/zlib/
+	    http://www.zlib.net
     and compile it.  Put libz.a in the lib subdirectory of DJGPP, and put
     zlib.h and zconf.h in the include subdirectory.
 
@@ -1021,8 +1022,8 @@ V. Compile instructions -- 386 DOS
     package and a TCP package.  You can use PDCurses (available at
     "http://pdcurses.sourceforge.net/") and the DJGPP port of WATTCP.  The
     updated version of WATTCP is known as WATT-32, and is available at
-    "http://www.bgnett.no/~giva/".  You can also use slang (available at
-    "http://www.s-lang.org/") as your screen library.  You must
+    "http://home.broadpark.no/~gvanem/".  You can also use slang (available at
+    "http://www.jedsoft.org/slang/") as your screen library.  You must
     compile these before you go any further.  If you wish to use PDCurses 2.6,
     you need to first apply the following patch:
 
@@ -1154,13 +1155,13 @@ V. Compile instructions -- 386 DOS
 
     If you wish to compile with SSL enabled, you need to get and compile
     OpenSSL. The DJGPP port has been successfully compiled with the
-    0.9.7 stable series of OpenSSL. DJGPP can compile OpenSSL from the
+    development version of OpenSSL. DJGPP can compile OpenSSL from the
     standard source distribution (http://www.openssl.org/). See the file
     "INSTALL.DJGPP" in the OpenSSL distribution.
 
 
     If you have trouble applying the patches, try using the "patch" program,
-    ("http://www.delorie.com/pub/djgpp/current/v2gnu/pat253b.zip").
+    ("http://www.delorie.com/pub/djgpp/current/v2gnu/pat261b.zip").
     To read the Unix man style documentation, use, for example, "less"
     ("http://www.delorie.com/pub/djgpp/current/v2gnu/lss374b.zip").
     Compile or place your compiled PDCurses library in /djgpp/pdcur26, and
@@ -1197,27 +1198,27 @@ V. Compile instructions -- 386 DOS
     If all goes well, you will have a lynx.exe file.  If you have trouble,
     check to be sure djgpp.env is the way it came in the original package.
 
-    To test Lynx_386 you must have a packet driver installed.  The simplest
-    method is to use a null packet driver that just allows Lynx to start up,
-    but doesn't do anything else.  One such executable driver has been posted,
-    uuencoded, to the lynx-dev mailing list:
-    "http://www.flora.org/lynx-dev/html/month011998/msg00057.html".
-    Start the dummy packet driver with "nullpkt 0x60", and take it out of
-    memory with "nullpkt -u".  You can also use slip8250.com.  See the CRYNWR
-    package "ftp://ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip".
-    Usage is "slip8250 0x60", but you may have to invoke it as, for example,
-    "slip8250  0x60 6 3 0x2F8" so that it uses COM2 and IRQ 3, in order to
-    avoid an IRQ conflict with a mouse or some other device.  Another packet
+    To test Lynx_386 you must have a packet driver installed. The simplest
+    method is to use a null packet driver that just allows Lynx to start
+    up, but doesn't do anything else. One such executable driver has been
+    posted, uuencoded, to the lynx-dev mailing list in January 1998,
+    but is corrupted in the mailing list archive. You can get this at
+    "http://www.ncf.ca/ncf/pda/computer/dos/net/nullpkt.zip". Start the
+    dummy packet driver with "nullpkt 0x60", and take it out of memory with
+    "nullpkt -u". You can also use slip8250.com. See the CRYNWR package
+    "ftp://ftp.simtel.net/pub/simtelnet/msdos/pktdrvr/pktd11.zip". Usage
+    is "slip8250 0x60", but you may have to invoke it as, for example,
+    "slip8250 0x60 6 3 0x2F8" so that it uses COM2 and IRQ 3, in order to
+    avoid an IRQ conflict with a mouse or some other device. Another packet
     driver is slipper.exe, which is available from many sites, including
-    "ftp://ftp.trumpet.com.au/slipper".  To remove it from memory use
-    termin.com (usage "termin 0x60"), available in the CRYNWR package.  To
-    connect over a dialup PPP connection you need dosppp or klos' pppshare.
-    (Find at:
+    "http://www.cavazza.it/file/bbs/intsoft/slippr15.zip". To remove it from
+    memory use termin.com (usage "termin 0x60"), available in the CRYNWR
+    package. To connect over a dialup PPP connection you need dosppp or klos'
+    pppshare. (Find at:
     "http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/net/dosppp/dosppp06.zip"
     "http://www.ncf.carleton.ca/ncf/pda/computer/dos/net/dosppp06.zip"
-    "http://mvmpc200.ciw.uni-karlsruhe.de/~mvmpc9/user/TONI/dosppp/dosppp06.zip"
-    "ftp://ftp.oldskool.org/pub/tvdog/internet/dosppp06.zip";
-    "ftp://ftp.klos.com/pub/demo/pppshare.exe")
+    "http://www.cavazza.it/file/bbs/intsoft/dosppp06.zip"
+    "http://www.cavazza.it/file/bbs/intsoft/pppshare.exe")
 
     File access looks like this:
 
@@ -1254,7 +1255,7 @@ V. Compile instructions -- 386 DOS
     lynx2-* directory.  Place a copy of this batch file, named "djgpp.bat",
     in the lynx2-* directory, move to that directory and type "djgpp".  A more
     complete batch file with error checking and annotation can be found at:
-    "http://www.flora.org/lynx-dev/html/month111997/msg00250.html".
+    "http://lists.nongnu.org/archive/html/lynx-dev/1997-11/msg00250.html".
 
     If you use the configure method, remember that if you configure with
     the option "--enable-nls", you also need to set LIBS="-liconv". A
@@ -1285,7 +1286,7 @@ V. Compile instructions -- 386 DOS
 
 -- 1997/9/29 - D. Kaufman <dkaufman@rahul.net>
 -- 1997/10/3 - B. Schiavo <Wschiavo@concentric.net>
--- Last update - 2004/01/19
+-- Last update - 2010/11/27
 
 
 VI. General installation instructions
@@ -1387,4 +1388,4 @@ VIII. Acknowledgment
 
 -- 1999/04/24 - H. Nelson <lynx-admin@irm.nara.kindai.ac.jp>
 -- vile:txtmode
--- $LynxId: INSTALLATION,v 1.113 2010/09/19 18:40:53 tom Exp $
+-- $LynxId: INSTALLATION,v 1.114 2010/12/08 01:28:43 Doug.Kaufman Exp $
diff --git a/LYMessages_en.h b/LYMessages_en.h
index 3ef4a112..87ff962e 100644
--- a/LYMessages_en.h
+++ b/LYMessages_en.h
@@ -1,5 +1,5 @@
 /*
- * $LynxId: LYMessages_en.h,v 1.70 2009/05/28 23:11:50 tom Exp $
+ * $LynxId: LYMessages_en.h,v 1.71 2010/12/08 01:28:43 Doug.Kaufman Exp $
  *
  * Lynx - Hypertext navigation system
  *
@@ -20,11 +20,6 @@
  * debugging (CTRACE) or (b) are constants used in interaction with
  * other programs.
  *
- * Links to collections of alternate definitions, developed by the Lynx
- * User Community, are maintained in Lynx links:
- *
- *    http://www.subir.com/lynx.html
- *
  * See ABOUT-NLS and po/readme for details and location of contributed
  * translations.  When no translation is available, the English default is
  * used.
diff --git a/WWW/Library/Implementation/HTFWriter.c b/WWW/Library/Implementation/HTFWriter.c
new file mode 100644
index 00000000..1680b238
--- /dev/null
+++ b/WWW/Library/Implementation/HTFWriter.c
@@ -0,0 +1,359 @@
+/*		FILE WRITER				HTFWrite.h
+ *		===========
+ *
+ *	This version of the stream object just writes to a C file.
+ *	The file is assumed open and left open.
+ *
+ *	Bugs:
+ *		strings written must be less than buffer size.
+ */
+
+#include <HTUtils.h>
+
+#include <HTFWriter.h>
+
+#include <HTFormat.h>
+#include <HTAlert.h>
+#include <HTFile.h>
+
+#include <LYUtils.h>
+#include <LYLeaks.h>
+
+/*		Stream Object
+ *		------------
+ */
+
+struct _HTStream {
+    const HTStreamClass *isa;
+
+    FILE *fp;
+    char *end_command;
+    char *remove_command;
+    BOOL announce;
+};
+
+/*_________________________________________________________________________
+ *
+ *		B L A C K    H O L E    C L A S S
+ *
+ *	There is only one black hole instance shared by anyone
+ *	who wanst a black hole.  These black holes don't radiate,
+ *	they just absorb data.
+ */
+static void HTBlackHole_put_character(HTStream *me, char c)
+{
+}
+static void HTBlackHole_put_string(HTStream *me, const char *s)
+{
+}
+static void HTBlackHole_write(HTStream *me, const char *s, int l)
+{
+}
+static void HTBlackHole_free(HTStream *me)
+{
+}
+static void HTBlackHole_abort(HTStream *me, HTError e)
+{
+}
+
+/*	Black Hole stream
+ *	-----------------
+ */
+static const HTStreamClass HTBlackHoleClass =
+{
+    "BlackHole",
+    HTBlackHole_free,
+    HTBlackHole_abort,
+    HTBlackHole_put_character, HTBlackHole_put_string,
+    HTBlackHole_write
+};
+
+static HTStream HTBlackHoleInstance =
+{
+    &HTBlackHoleClass,
+    NULL,
+    NULL,
+    NULL,
+    NO
+};
+
+/*	Black hole craetion
+*/
+HTStream *HTBlackHole(void)
+{
+    return &HTBlackHoleInstance;
+}
+
+/*_________________________________________________________________________
+ *
+ *		F I L E     A C T I O N 	R O U T I N E S
+ *  Bug:
+ *	All errors are ignored.
+ */
+
+/*	Character handling
+ *	------------------
+ */
+
+static void HTFWriter_put_character(HTStream *me, char c)
+{
+    putc(c, me->fp);
+}
+
+/*	String handling
+ *	---------------
+ *
+ *	Strings must be smaller than this buffer size.
+ */
+static void HTFWriter_put_string(HTStream *me, const char *s)
+{
+    fputs(s, me->fp);
+}
+
+/*	Buffer write.  Buffers can (and should!) be big.
+ *	------------
+ */
+static void HTFWriter_write(HTStream *me, const char *s, int l)
+{
+    fwrite(s, 1, l, me->fp);
+}
+
+/*	Free an HTML object
+ *	-------------------
+ *
+ *	Note that the SGML parsing context is freed, but the created
+ *	object is not,
+ *	as it takes on an existence of its own unless explicitly freed.
+ */
+static void HTFWriter_free(HTStream *me)
+{
+    fclose(me->fp);
+    if (me->end_command) {	/* Temp file */
+	_HTProgress(me->end_command);	/* Tell user what's happening */
+	system(me->end_command);
+	FREE(me->end_command);
+	if (me->remove_command) {
+	    system(me->remove_command);
+	    FREE(me->remove_command);
+	}
+    }
+
+    FREE(me);
+}
+
+/*	End writing
+*/
+
+static void HTFWriter_abort(HTStream *me, HTError e)
+{
+    fclose(me->fp);
+    if (me->end_command) {	/* Temp file */
+	CTRACE((tfp, "HTFWriter: Aborting: file not executed.\n"));
+	FREE(me->end_command);
+	if (me->remove_command) {
+	    system(me->remove_command);
+	    FREE(me->remove_command);
+	}
+    }
+
+    FREE(me);
+}
+
+/*	Structured Object Class
+ *	-----------------------
+ */
+static const HTStreamClass HTFWriter =	/* As opposed to print etc */
+{
+    "FileWriter",
+    HTFWriter_free,
+    HTFWriter_abort,
+    HTFWriter_put_character, HTFWriter_put_string,
+    HTFWriter_write
+};
+
+/*	Subclass-specific Methods
+ *	-------------------------
+ */
+
+HTStream *HTFWriter_new(FILE *fp)
+{
+    HTStream *me;
+
+    if (!fp)
+	return NULL;
+
+    me = (HTStream *) malloc(sizeof(*me));
+    if (me == NULL)
+	outofmem(__FILE__, "HTML_new");
+
+    assert(me != NULL);
+
+    me->isa = &HTFWriter;
+
+    me->fp = fp;
+    me->end_command = NULL;
+    me->remove_command = NULL;
+    me->announce = NO;
+
+    return me;
+}
+
+/*	Make system command from template
+ *	---------------------------------
+ *
+ *	See mailcap spec for description of template.
+ */
+/* @@ to be written.  sprintfs will do for now.  */
+
+/*	Take action using a system command
+ *	----------------------------------
+ *
+ *	originally from Ghostview handling by Marc Andreseen.
+ *	Creates temporary file, writes to it, executes system command
+ *	on end-document.  The suffix of the temp file can be given
+ *	in case the application is fussy, or so that a generic opener can
+ *	be used.
+ */
+HTStream *HTSaveAndExecute(HTPresentation *pres,
+			   HTParentAnchor *anchor,	/* Not used */
+			   HTStream *sink)	/* Not used */
+
+#ifdef UNIX
+#define REMOVE_COMMAND "/bin/rm -f %s\n"
+#endif
+#ifdef VMS
+#define REMOVE_COMMAND "delete/noconfirm/nolog %s.."
+#endif
+
+#ifdef REMOVE_COMMAND
+{
+    char *fnam;
+    const char *suffix;
+
+    HTStream *me;
+
+    if (HTClientHost) {
+	HTAlert(CANNOT_SAVE_REMOTE);
+	return HTBlackHole();
+    }
+
+    me = (HTStream *) malloc(sizeof(*me));
+    if (me == NULL)
+	outofmem(__FILE__, "Save and execute");
+
+    assert(me != NULL);
+
+    me->isa = &HTFWriter;
+
+    /* Save the file under a suitably suffixed name */
+
+    suffix = HTFileSuffix(pres->rep, anchor->content_encoding);
+
+    fnam = (char *) malloc(L_tmpnam + 16 + strlen(suffix));
+    if (fnam == NULL)
+	outofmem(__FILE__, "HTSaveAndExecute");
+
+    assert(fnam != NULL);
+
+    tmpnam(fnam);
+    strcat(fnam, suffix);
+
+    me->fp = fopen(fnam, BIN_W);
+    if (!me->fp) {
+	HTAlert(CANNOT_OPEN_TEMP);
+	FREE(fnam);
+	FREE(me);
+	return NULL;
+    }
+
+/*	Make command to process file
+*/
+    me->end_command = 0;
+    HTSprintf0(&(me->end_command), pres->command, fnam, fnam, fnam);
+
+    me->remove_command = NULL;	/* If needed, put into end_command */
+#ifdef NOPE
+/*	Make command to delete file
+*/
+    me->remove_command = 0;
+    HTSprintf0(&(me->remove_command), REMOVE_COMMAND, fnam);
+#endif
+
+    me->announce = NO;
+    FREE(fnam);
+    return me;
+}
+
+#else				/* can do remove */
+{
+    return NULL;
+}
+#endif
+
+/*	Save Locally
+ *	------------
+ *
+ *  Bugs:
+ *	GUI Apps should open local Save panel here really.
+ *
+ */
+HTStream *HTSaveLocally(HTPresentation *pres,
+			HTParentAnchor *anchor,		/* Not used */
+			HTStream *sink)		/* Not used */
+
+{
+    char *fnam;
+    char *answer;
+    const char *suffix;
+
+    HTStream *me;
+
+    if (HTClientHost) {
+	HTAlert(CANNOT_SAVE_REMOTE);
+	return HTBlackHole();
+    }
+
+    me = (HTStream *) malloc(sizeof(*me));
+    if (me == NULL)
+	outofmem(__FILE__, "SaveLocally");
+
+    assert(me != NULL);
+
+    me->isa = &HTFWriter;
+    me->end_command = NULL;
+    me->remove_command = NULL;	/* If needed, put into end_command */
+    me->announce = YES;
+
+    /* Save the file under a suitably suffixed name */
+
+    suffix = HTFileSuffix(pres->rep, anchor->content_encoding);
+
+    fnam = (char *) malloc(L_tmpnam + 16 + strlen(suffix));
+    if (fnam == NULL)
+	outofmem(__FILE__, "HTSaveLocally");
+
+    assert(fnam != NULL);
+
+    tmpnam(fnam);
+    strcat(fnam, suffix);
+
+    /*  Save Panel */
+    answer = HTPrompt(GIVE_FILENAME, fnam);
+
+    FREE(fnam);
+
+    me->fp = fopen(answer, BIN_W);
+    if (!me->fp) {
+	HTAlert(CANNOT_OPEN_OUTPUT);
+	FREE(answer);
+	FREE(me);
+	return NULL;
+    }
+
+    FREE(answer);
+    return me;
+}
+
+/*	Format Converter using system command
+ *	-------------------------------------
+ */
diff --git a/lynx.cfg b/lynx.cfg
index 927802bb..24a17be8 100644
--- a/lynx.cfg
+++ b/lynx.cfg
@@ -1,4 +1,4 @@
-# $LynxId: lynx.cfg,v 1.197 2010/10/04 09:53:59 tom Exp $
+# $LynxId: lynx.cfg,v 1.198 2010/12/08 01:28:43 Doug.Kaufman Exp $
 # lynx.cfg file.
 # The default placement for this file is /usr/local/lib/lynx.cfg (Unix)
 #                                     or Lynx_Dir:lynx.cfg (VMS)
@@ -129,8 +129,7 @@ HELPFILE:http://lynx.isc.org/release/lynx2-8-7/lynx_help/lynx_help_main.html
 # An index to your CWIS can be placed here or a document containing
 # pointers to lots of interesting places on the web.
 #
-#DEFAULT_INDEX_FILE:http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html
-DEFAULT_INDEX_FILE:http://lynx.isc.org/
+DEFAULT_INDEX_FILE:http://scout.wisc.edu/
 
 
 .h1 Interaction
diff --git a/lynx.rsp b/lynx.rsp
new file mode 100644
index 00000000..dacdf393
--- /dev/null
+++ b/lynx.rsp
@@ -0,0 +1,86 @@
+../obj/DefaultStyle.obj
+../obj/GridText.obj
+../obj/HTAabrow.obj
+../obj/HTAaprot.obj
+../obj/HTAautil.obj
+../obj/HTAccess.obj
+../obj/HTAlert.obj
+../obj/HTAnchor.obj
+../obj/HTAssoc.obj
+../obj/HTAtom.obj
+../obj/HTBtree.obj
+../obj/HTChunk.obj
+../obj/HTDOS.obj
+../obj/HTFile.obj
+../obj/HTFinger.obj
+../obj/HTFormat.obj
+../obj/HTFtp.obj
+../obj/HTFwriter.obj
+../obj/HTGopher.obj
+../obj/HTGroup.obj
+../obj/HTInit.obj
+../obj/HTLex.obj
+../obj/HTList.obj
+../obj/HTMIME.obj
+../obj/HTML.obj
+../obj/HTMLDTD.obj
+../obj/HTMLGen.obj
+../obj/HTNews.obj
+../obj/HTParse.obj
+../obj/HTPlain.obj
+../obj/HTRules.obj
+../obj/HTString.obj
+../obj/HTStyle.obj
+../obj/HTTP.obj
+../obj/HTTcp.obj
+../obj/HTTelnet.obj
+../obj/HTUU.obj
+../obj/HTWSRC.obj
+../obj/LYBookmark.obj
+../obj/LYCgi.obj
+../obj/LYCharSets.obj
+../obj/LYCharUtils.obj
+../obj/LYClean.obj
+../obj/LYCookie.obj
+../obj/LYCurses.obj
+../obj/LYDownload.obj
+../obj/LYEdit.obj
+../obj/LYEditmap.obj
+../obj/LYExit.obj
+../obj/LYExtern.obj
+../obj/LYForms.obj
+../obj/LYGetFile.obj
+../obj/LYHistory.obj
+../obj/LYJump.obj
+../obj/LYKeymap.obj
+../obj/LYLeaks.obj
+../obj/LYList.obj
+../obj/LYLocal.obj
+../obj/LYMail.obj
+../obj/LYMain.obj
+../obj/LYMainLoop.obj
+../obj/LYMap.obj
+../obj/LYNews.obj
+../obj/LYOptions.obj
+../obj/LYPrint.obj
+../obj/LYPrettySrc.obj
+../obj/LYReadCFG.obj
+../obj/LYSearch.obj
+../obj/LYSession.obj
+../obj/LYShowInfo.obj
+../obj/LYStrings.obj
+../obj/LYTraversal.obj
+../obj/LYUpload.obj
+../obj/LYmktime.obj
+../obj/LYrcFile.obj
+../obj/parsdate.obj
+../obj/SGML.obj
+../obj/TRSTable.obj
+../obj/UCAuto.obj
+../obj/UCAux.obj
+../obj/UCdomap.obj
+../obj/lyutils.obj
+../obj/xsystem.obj
+../curses/PDCURSES.LIB
+../curses/ZLIB.LIB
+../curses/iconv.lib
diff --git a/src/LYGetFile.c b/src/LYGetFile.c
index 7b312a4d..6138fbee 100644
--- a/src/LYGetFile.c
+++ b/src/LYGetFile.c
@@ -1,4 +1,4 @@
-/* $LynxId: LYGetFile.c,v 1.84 2010/09/25 11:19:25 tom Exp $ */
+/* $LynxId: LYGetFile.c,v 1.85 2010/12/07 20:59:41 tom Exp $ */
 #include <HTUtils.h>
 #include <HTTP.h>
 #include <HTAnchor.h>		/* Anchor class */
@@ -525,7 +525,7 @@ int getfile(DocInfo *doc, int *target)
 	} else if (url_type == MAILTO_URL_TYPE) {
 	    if (no_mail) {
 		HTUserMsg(MAIL_DISABLED);
-	    } else {
+	    } else if (!dump_output_immediately) {
 		HTParentAnchor *tmpanchor = HTAnchor_findAddress(&WWWDoc);
 		const char *title;
 		char *tmptitle = NULL;
diff --git a/userdefs.h b/userdefs.h
index abaab7d7..46adb15d 100644
--- a/userdefs.h
+++ b/userdefs.h
@@ -1,5 +1,5 @@
 /*
- * $LynxId: userdefs.h,v 1.260 2010/11/06 13:34:13 tom Exp $
+ * $LynxId: userdefs.h,v 1.261 2010/12/08 01:28:43 Doug.Kaufman Exp $
  *
  * Lynx - Hypertext navigation system
  *
@@ -506,7 +506,7 @@
  * An index to your CWIS can be placed here or a document containing
  * pointers to lots of interesting places on the web.
  */
-#define DEFAULT_INDEX_FILE "http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html"
+#define DEFAULT_INDEX_FILE "http://scout.wisc.edu/"
 
 /*****************************
  * If USE_TRACE_LOG is set FALSE, then when TRACE mode is invoked the