[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Changes to m4/ChangeLog,v [branch]
From: |
Eric Blake |
Subject: |
Changes to m4/ChangeLog,v [branch] |
Date: |
Tue, 06 Jun 2006 12:39:54 +0000 |
CVSROOT: /sources/m4
Module name: m4
Branch: branch
Changes by: Eric Blake <ericb> 06/06/06 12:39:53
Index: ChangeLog
===================================================================
RCS file: /sources/m4/m4/ChangeLog,v
retrieving revision 1.1.1.1.2.54
retrieving revision 1.1.1.1.2.55
diff -u -b -r1.1.1.1.2.54 -r1.1.1.1.2.55
--- ChangeLog 6 Jun 2006 12:33:13 -0000 1.1.1.1.2.54
+++ ChangeLog 6 Jun 2006 12:39:53 -0000 1.1.1.1.2.55
@@ -1,5 +1,28 @@
2006-06-06 Eric Blake <address@hidden>
+ When changing macro definitions inside the arguments to the macro,
+ consistently preserve the old definition that was in effect before
+ argument collection, similar to the C pre-processor.
+ * NEWS: Document this change.
+ * doc/m4.texinfo (Macro Arguments, Undefine, Dumpdef): Document
+ this policy, and add tests that expose core dumps prior to this
+ patch.
+ * src/m4.h (struct symbol): New members to track when a symbol is
+ still in use after removal from the symbol table.
+ (SYMBOL_PENDING_EXPANSIONS, SYMBOL_DELETED): Define.
+ (free_symbol): Prototype.
+ * src/macro.c (expand_macro): Track pending expansions of a
+ symbol. On completion, if a symbol is deleted and no longer
+ pending, free its memory.
+ * src/symtab.c (free_symbol): Export. Don't free memory if symbol
+ is still in use.
+ (lookup_symbol) <SYMBOL_INSERT>: Create new entry when old entry
+ is still in use.
+ (lookup_symbol) <SYMBOL_DELETE, SYMBOL_POPDEF>: Mark entries still
+ in use as deleted and remove from the table without freeing
+ memory.
+ (symtab_print_list) [DEBUG_SYM]: More debug output.
+
* src/symtab.c (hack_all_symbols): Allow certain modifications of
the symbol table during traversal.
* src/builtin.c (set_trace): Replace SYMBOL_DELETE with
@@ -1977,4 +2000,4 @@
* Initial beta release. Release 0.50, manual 0.05.
- $Revision: 1.1.1.1.2.54 $ $Date: 2006/06/06 12:33:13 $
+ $Revision: 1.1.1.1.2.55 $ $Date: 2006/06/06 12:39:53 $
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/04
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/05
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/06
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/06
- Changes to m4/ChangeLog,v [branch],
Eric Blake <=
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/06
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/06
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/06
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/07
- Changes to m4/ChangeLog,v [branch], Eric Blake, 2006/06/07