summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2009-05-26 01:31:40 +0000
committerPaul Smith <psmith@gnu.org>2009-05-26 01:31:40 +0000
commit5b4d419476e9fbda8ea26017f6ec15956d103ed9 (patch)
tree534eac34c276b58bbbfa1d104820843af666d1a1 /ChangeLog
parent7b16a8e3ca8e9866df29df868a4cb1b6771d5f48 (diff)
downloadgunmake-5b4d419476e9fbda8ea26017f6ec15956d103ed9.tar.gz
Add 'private' variable modifier, feature submitted by Ramon Garcia.
Rework the parser for variables to allow multiple modifiers and also allow for variables and targets with modifier names, like "export" and "private".
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog30
1 files changed, 30 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7b6ec17..803aa03 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2009-05-25 Paul Smith <psmith@gnu.org>
+
+ Reworked the parser for variable assignments to allow multiple
+ modifiers, and in any order. Also allows variable and
+ prerequisites to be modifier names ('export', 'private', etc.)
+
+ * NEWS: Add notes about user-visible changes.
+
+ * read.c (struct vmodifiers): Remember what modifiers were seen.
+ (parse_var_assignment): New function to parse variable assignments.
+ (eval): Call the new function. Handle variable assignments earlier.
+
+ * variable.c (parse_variable_definition): Only parse; don't create var.
+ (assign_variable_definition): Call parse, then create the var.
+
2009-05-24 Paul Smith <psmith@gnu.org>
* doc/make.texi: Fix the ISBN for the GNU make manual. Incorrect
@@ -23,6 +38,21 @@
* function.c (func_shell): Don't close pipedes[1] if it is -1.
Fixes Savannah bug #20495.
+2009-02-23 Ramon Garcia <ramon.garcia.f@gmail.com>
+
+ Introduce a new keyword "private" which applies to target-specific
+ variables and prevents their values from being inherited.
+
+ * variable.h (struct variable): Add private_var flag to each variable.
+ Add a flag to specify which list entry switches to the parent target.
+ * variable.c (define_variable_in_set): Initialize private_var flag.
+ (lookup_variable): Skip private variables in parent contexts.
+ (initialize_file_variables): Set next_is_parent appropriately.
+ (print_variable): Show the private_var flag.
+ * read.c (eval): Recognize the private keyword.
+ (record_target_var): Set private_var.
+ * doc/make.texi (Suppressing Inheritance): Add documentation.
+
2008-10-26 Paul Smith <psmith@gnu.org>
* configure.in: Check for strndup().