diff --git a/ChangeLog b/ChangeLog
index 2b0ba8c..cc7cd75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,22 @@
+2000-02-09  Paul D. Smith  <psmith@gnu.org>
+
+	* Version 3.78.91 released.
+
 2000-02-07  Paul D. Smith  <psmith@gnu.org>
 
+	* read.c (read_makefile): Reset *p2 to ':', not *colonp.  If any
+	filenames contained backslashes the resulting output (without
+	backslashes) will be shorter, so setting *colonp doesn't change
+	the right character.  Fix for PR/1586.
+
 	For += target-specific variables we need to remember which
 	variable set we found the variable in, so we can start looking
-	there in the next iteration (otherwise we'll see it again in
-	recursively_expand and fail!).  This is getting to be a hack; if
-	it gets any worse we'll have to rethink this entire algorithm;
-	probably implementing expansion of these separately from the
-	"normal" expansion, instead of alongside.
+	from there in the next iteration (otherwise we might see it again
+	in recursively_expand and fail!).  This is turning into a hack; if
+	it gets any worse we'll have to rethink this entire algorithm...
+	implementing expansion of these references separately from the
+	"normal" expansion, say, instead of using the same codepath.
+	Actually, it's already "worse enough" :-/.
 
 	* variable.h (recursively_expand_setlist): Rename
 	recursively_expand to add a struct variable_set_list argument, and
@@ -15,8 +25,7 @@
 	variable_set_list argument, and make a macro for lookup_variable.
 
 	* expand.c (recursively_expand_setlist): Take an extra struct
-	variable_set_list argument and pass it to
-	allocated_variable_append().
+	variable_set_list argument and pass it to allocated_variable_append().
 	(reference_variable): Use lookup_variable_setlist() and pass the
 	returned variable_set_list to recursively_expand_setlist.
 	(allocated_variable_append): Take an extra setlist argument and
@@ -24,7 +33,7 @@
 	expansion.  If it's null, use current_variable_set_list as before.
 
 	* variable.c (lookup_variable_setlist): If the LISTP argument is
-	not nil, return the list where we found the variable in it.
+	not nil, set it to the list containing the variable we found.
 
 2000-02-04  Paul D. Smith  <psmith@gnu.org>
 
@@ -93,6 +102,10 @@
 	don't define HAVE_ALLOCA (the workaround code was included
 	twice).
 
+2000-01-26  Paul D. Smith  <psmith@gnu.org>
+
+	* Version 3.78.90 released.
+
 2000-01-25  Paul D. Smith  <psmith@gnu.org>
 
 	Change gettext support to use the simplified version in libit 0.7.
diff --git a/README.template b/README.template
index afb3f69..55001a4 100644
--- a/README.template
+++ b/README.template
@@ -30,10 +30,18 @@
 
 You can also find the latest versions of GNU Make from there.
 
-You can send GNU make bug reports to bug-make@gnu.org.  Please see the
+You can send GNU make bug reports to <bug-make@gnu.org>.  Please see the
 section of the GNU make manual entitled `Problems and Bugs' for
 information on submitting useful and complete bug reports.
 
+You can also use the FSF's online bug tracking system to submit new
+problem reports or search for existing ones.  A web interface is
+available here:
+
+  http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl
+
+Use the Category "make".
+
 If you need help using GNU make, try these forums:
 
   help-make@gnu.org
@@ -46,6 +54,8 @@
   - See README.customs for details on integrating GNU make with the
     Customs distributed build environment from the Pmake distribution.
 
+  - See readme.vms for details about GNU Make on OpenVMS.
+
   - See README.W32 for details about GNU Make on Windows NT, 95, or 98.
 
   - See README.Amiga for details about GNU Make on AmigaDOS.
diff --git a/read.c b/read.c
index 67b2a2d..c5434f7 100644
--- a/read.c
+++ b/read.c
@@ -879,7 +879,7 @@
 						  sizeof (struct nameseq),
 						  1),
 				  sizeof (struct nameseq));
-          *colonp = ':';
+          *p2 = ':';
 
           if (!filenames)
             {
diff --git a/tests/ChangeLog b/tests/ChangeLog
index fe8b25c..6fba7ea 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,11 +1,17 @@
+2000-02-07  Paul D. Smith  <psmith@gnu.org>
+
+	* scripts/features/escape: Add a test for backslash-escaped spaces
+	in a target name (PR/1586).
+
 2000-02-04  Paul D. Smith  <psmith@gnu.org>
 
-	* scripts/features/patspecific_vars: Add a test for PR/1407.
+	* scripts/features/patspecific_vars: Add a test for pattern-specific
+	target variables inherited from the parent target (PR/1407).
 
 2000-02-02  Paul D. Smith  <psmith@gnu.org>
 
 	* run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
-	to make sure porting order, etc. is predictable.
+	to make sure sorting order, etc. is predictable.
 	Reported by Andreas Jaeger <aj@suse.de>.
 
 	* run_make_tests.pl (set_more_defaults): Set the $wtime variable
@@ -32,7 +38,7 @@
 
 	* scripts/functions/call: Add a test for PR/1517 and PR/1527: make
 	sure $(call ...) doesn't eval its arguments and that you can
-	invoke foreach from it without infinitely looping.
+	invoke foreach from it without looping forever.
 
 1999-12-15  Paul D. Smith  <psmith@gnu.org>
 
diff --git a/tests/scripts/features/escape b/tests/scripts/features/escape
index 7404387..b1eed16 100644
--- a/tests/scripts/features/escape
+++ b/tests/scripts/features/escape
@@ -1,11 +1,17 @@
+#                                                                    -*-perl-*-
 $description = "Test various types of escaping in makefiles.";
 
-$details = "Make sure that escaping of `:' works in target names.";
+$details = "\
+Make sure that escaping of `:' works in target names.
+Also make sure escaping of whitespace works in target names";
 
 open(MAKEFILE,"> $makefile");
 
-print MAKEFILE '$(path)foo : ; @echo cp $^ $@
-';
+print MAKEFILE <<'EOF';
+$(path)foo : ; @echo cp $^ $@
+
+foo\ bar: ; @echo 'touch "$@"'
+EOF
 
 close(MAKEFILE);
 
@@ -34,5 +40,11 @@
 $answer = "$makefile:1: *** target pattern contains no `%'.  Stop.\n";
 &compare_output($answer,&get_logfile(1));
 
+# TEST 5: This one should work
+
+&run_make_with_options($makefile, "'foo bar'", &get_logfile, 0);
+$answer = "touch \"foo bar\"\n";
+&compare_output($answer,&get_logfile(1));
+
 # This tells the test driver that the perl test script executed properly.
 1;
