Index: /branches/1.2/processor/main.m4
===================================================================
--- /branches/1.2/processor/main.m4	(revision 356)
+++ /branches/1.2/processor/main.m4	(revision 357)
@@ -8,5 +8,5 @@
 
 dnl {{{ basic
-define(`REDEF', `undefine(`$1') define(`$1', `$2')')
+define(`REDEF', `ifdef(`$1', `undefine(`$1')') define(`$1', `$2')')
 define(`MAKE_MACRONAME', `translit(`$1', ` ():
 ', `_____')')
@@ -183,5 +183,5 @@
 foreach(`i', `($2)', `pushdef(`item_'defn(`i'))undefine(`item_'defn(`i'))')dnl allocate variable for items in $2, and undefine it 
 foreach(`i', `($1)', `ifdef(`item_'defn(`i'), `defn(`i') ')')dnl see what is still defined
-foreach(`i', `($2)', `popdef(`item_'defn(`i'))')dnl
+foreach(`i', `($2)', `define(`item_'defn(`i'))popdef(`item_'defn(`i'))')dnl
 foreach(`i', `($1)', `popdef(`item_'defn(`i'))')dnl
 ')
