m4-commit
[Top][All Lists]
Advanced

[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 $




reply via email to

[Prev in Thread] Current Thread [Next in Thread]