[Rpm-maint] [rpm-software-management/rpm] Implement support for literal and one-shot macro modifiers (PR #4129)

Panu Matilainen notifications at github.com
Tue Mar 3 12:03:42 UTC 2026


More details in commit messages, but in brief: implement new `<modifier>` syntax for macro definitions, adding support for defining literal macros through the macro engine itself and macro files with `<l>`. Also implement one-shot macro modifier `<o>` that makes the macro body expand exactly once at the time of first use.

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

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

-- Commit Summary --

  * Refactor doArgvDefine() to use a C++ string for formatting the args
  * Minimally adjust doDefine() to take a C++ string as the string to parse
  * Refactor macro definition parsing to utilize C++ strings a bit
  * Use C++ string primitives for macro option parsing
  * Support defining literal macros via new <l> modifier syntax
  * Implement one-shot macro modifier <o>

-- File Changes --

    M docs/man/rpm-macros.7.scd (21)
    M include/rpm/rpmmacro.h (1)
    M rpmio/macro.cc (153)
    M tests/rpmmacro.at (106)

-- Patch Links --

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

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

Message ID: <rpm-software-management/rpm/pull/4129 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20260303/bcbbcdac/attachment.htm>


More information about the Rpm-maint mailing list