[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
m4 ChangeLog NEWS doc/m4.texinfo src/m4.h src/m... [branch]
From: |
Eric Blake |
Subject: |
m4 ChangeLog NEWS doc/m4.texinfo src/m4.h src/m... [branch] |
Date: |
Tue, 06 Jun 2006 12:39:53 +0000 |
CVSROOT: /sources/m4
Module name: m4
Branch: branch
Changes by: Eric Blake <ericb> 06/06/06 12:39:53
Modified files:
. : ChangeLog NEWS
doc : m4.texinfo
src : m4.h macro.c symtab.c
Log message:
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.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/m4/ChangeLog?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.54&r2=1.1.1.1.2.55
http://cvs.savannah.gnu.org/viewcvs/m4/NEWS?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.15&r2=1.1.1.1.2.16
http://cvs.savannah.gnu.org/viewcvs/m4/doc/m4.texinfo?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.16&r2=1.1.1.1.2.17
http://cvs.savannah.gnu.org/viewcvs/m4/src/m4.h?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.6&r2=1.1.1.1.2.7
http://cvs.savannah.gnu.org/viewcvs/m4/src/macro.c?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.1&r2=1.1.1.1.2.2
http://cvs.savannah.gnu.org/viewcvs/m4/src/symtab.c?cvsroot=m4&only_with_tag=branch&r1=1.1.1.1.2.6&r2=1.1.1.1.2.7
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- m4 ChangeLog NEWS doc/m4.texinfo src/m4.h src/m... [branch],
Eric Blake <=