Mixing up local stack and global data never was such a hot idea, as locals could get trapped between globals and not freed at appropriate times etc. This clears the semantics wrt that, fixing a long-standing expected failure in the test-suite. Another semantics change is that you can no longer undefine a locally defined macro, which eliminates the ambiguity of what should happen on %undefine if both global and local macros exist. As such, there's of course some potential for breakage too.
Besides clear semantics, this should speed up parametric macro execution as we no longer need to huff and puff the global table up and down on entry and exit. Furthermore, this paves way to using a hash for the macro table. You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/1409 -- Commit Summary -- * Separate macro table from the context * Implement a real stack for parametric macro locals -- File Changes -- M build/rpmfc.c (2) M rpmio/macro.c (180) M rpmio/rpmmacro.h (1) M tests/rpmmacro.at (3) -- Patch Links -- https://github.com/rpm-software-management/rpm/pull/1409.patch https://github.com/rpm-software-management/rpm/pull/1409.diff -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/1409
_______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org http://lists.rpm.org/mailman/listinfo/rpm-maint