Macro initialization is about loading macro configuration, but built-ins should 
always work as they are, well, built-ins. Initialize built-ins in the macro 
context constructor so they're usable in any macro context at any time.

Note that we now need to pay attention to avoid copying the built-ins, and make 
sure they're still there after clearing the macros. Avoiding deleting them 
in the first place sounds neater but is messier in practise and unlikely to 
make the damnest of differences in performance.

Fixes: #3638
You can view, comment on, or merge this pull request online at:

  https://github.com/rpm-software-management/rpm/pull/3640

-- Commit Summary --

  * Make built-in macros usable before explicit initialization

-- File Changes --

    M rpmio/macro.cc (26)
    M tests/rpmmacro.at (12)

-- Patch Links --

https://github.com/rpm-software-management/rpm/pull/3640.patch
https://github.com/rpm-software-management/rpm/pull/3640.diff

-- 
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/3640
You are receiving this because you are subscribed to this thread.

Message ID: <rpm-software-management/rpm/pull/[email protected]>
_______________________________________________
Rpm-maint mailing list
[email protected]
https://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to