mirror of
https://github.com/mirror/make.git
synced 2025-01-15 06:40:17 +08:00
* Fix backslash-escape in targets.
* Release 3.78.91.
This commit is contained in:
parent
e68a27ec7b
commit
75f879f37f
29
ChangeLog
29
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>
|
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
|
For += target-specific variables we need to remember which
|
||||||
variable set we found the variable in, so we can start looking
|
variable set we found the variable in, so we can start looking
|
||||||
there in the next iteration (otherwise we'll see it again in
|
from there in the next iteration (otherwise we might see it again
|
||||||
recursively_expand and fail!). This is getting to be a hack; if
|
in recursively_expand and fail!). This is turning into a hack; if
|
||||||
it gets any worse we'll have to rethink this entire algorithm;
|
it gets any worse we'll have to rethink this entire algorithm...
|
||||||
probably implementing expansion of these separately from the
|
implementing expansion of these references separately from the
|
||||||
"normal" expansion, instead of alongside.
|
"normal" expansion, say, instead of using the same codepath.
|
||||||
|
Actually, it's already "worse enough" :-/.
|
||||||
|
|
||||||
* variable.h (recursively_expand_setlist): Rename
|
* variable.h (recursively_expand_setlist): Rename
|
||||||
recursively_expand to add a struct variable_set_list argument, and
|
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.
|
variable_set_list argument, and make a macro for lookup_variable.
|
||||||
|
|
||||||
* expand.c (recursively_expand_setlist): Take an extra struct
|
* expand.c (recursively_expand_setlist): Take an extra struct
|
||||||
variable_set_list argument and pass it to
|
variable_set_list argument and pass it to allocated_variable_append().
|
||||||
allocated_variable_append().
|
|
||||||
(reference_variable): Use lookup_variable_setlist() and pass the
|
(reference_variable): Use lookup_variable_setlist() and pass the
|
||||||
returned variable_set_list to recursively_expand_setlist.
|
returned variable_set_list to recursively_expand_setlist.
|
||||||
(allocated_variable_append): Take an extra setlist argument and
|
(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.
|
expansion. If it's null, use current_variable_set_list as before.
|
||||||
|
|
||||||
* variable.c (lookup_variable_setlist): If the LISTP argument is
|
* 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>
|
2000-02-04 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
@ -93,6 +102,10 @@
|
|||||||
don't define HAVE_ALLOCA (the workaround code was included
|
don't define HAVE_ALLOCA (the workaround code was included
|
||||||
twice).
|
twice).
|
||||||
|
|
||||||
|
2000-01-26 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
* Version 3.78.90 released.
|
||||||
|
|
||||||
2000-01-25 Paul D. Smith <psmith@gnu.org>
|
2000-01-25 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
Change gettext support to use the simplified version in libit 0.7.
|
Change gettext support to use the simplified version in libit 0.7.
|
||||||
|
@ -30,10 +30,18 @@ site. There is information there about ordering hardcopy documentation.
|
|||||||
|
|
||||||
You can also find the latest versions of GNU Make from there.
|
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
|
section of the GNU make manual entitled `Problems and Bugs' for
|
||||||
information on submitting useful and complete bug reports.
|
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:
|
If you need help using GNU make, try these forums:
|
||||||
|
|
||||||
help-make@gnu.org
|
help-make@gnu.org
|
||||||
@ -46,6 +54,8 @@ Also:
|
|||||||
- See README.customs for details on integrating GNU make with the
|
- See README.customs for details on integrating GNU make with the
|
||||||
Customs distributed build environment from the Pmake distribution.
|
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.W32 for details about GNU Make on Windows NT, 95, or 98.
|
||||||
|
|
||||||
- See README.Amiga for details about GNU Make on AmigaDOS.
|
- See README.Amiga for details about GNU Make on AmigaDOS.
|
||||||
|
2
read.c
2
read.c
@ -879,7 +879,7 @@ read_makefile (filename, flags)
|
|||||||
sizeof (struct nameseq),
|
sizeof (struct nameseq),
|
||||||
1),
|
1),
|
||||||
sizeof (struct nameseq));
|
sizeof (struct nameseq));
|
||||||
*colonp = ':';
|
*p2 = ':';
|
||||||
|
|
||||||
if (!filenames)
|
if (!filenames)
|
||||||
{
|
{
|
||||||
|
@ -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>
|
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>
|
2000-02-02 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
|
* 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>.
|
Reported by Andreas Jaeger <aj@suse.de>.
|
||||||
|
|
||||||
* run_make_tests.pl (set_more_defaults): Set the $wtime variable
|
* 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
|
* scripts/functions/call: Add a test for PR/1517 and PR/1527: make
|
||||||
sure $(call ...) doesn't eval its arguments and that you can
|
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>
|
1999-12-15 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
|
@ -1,11 +1,17 @@
|
|||||||
|
# -*-perl-*-
|
||||||
$description = "Test various types of escaping in makefiles.";
|
$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");
|
open(MAKEFILE,"> $makefile");
|
||||||
|
|
||||||
print MAKEFILE '$(path)foo : ; @echo cp $^ $@
|
print MAKEFILE <<'EOF';
|
||||||
';
|
$(path)foo : ; @echo cp $^ $@
|
||||||
|
|
||||||
|
foo\ bar: ; @echo 'touch "$@"'
|
||||||
|
EOF
|
||||||
|
|
||||||
close(MAKEFILE);
|
close(MAKEFILE);
|
||||||
|
|
||||||
@ -34,5 +40,11 @@ $answer = "cp p:foo\n";
|
|||||||
$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n";
|
$answer = "$makefile:1: *** target pattern contains no `%'. Stop.\n";
|
||||||
&compare_output($answer,&get_logfile(1));
|
&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.
|
# This tells the test driver that the perl test script executed properly.
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user