[PATCH] defn: Be more consistent about defn(builtin) concatenation

Eric Blake via M4-patches <[email protected]> Wed, 4 Feb 2026 19:23:56 -0600
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
VGhlIG1hbnVhbCBzdGF0ZWQgdGhhdCB3aGVuIGRlZm4oKSBpcyB1c2VkIG9uIGEgYnVpbHRpbiwg
YXR0ZW1wdHMgdG8KY29uY2F0ZW5hdGUgaXQgd2l0aCBvdGhlciB0ZXh0IHByb2R1Y2UgYSB3YXJu
aW5nIGFuZCBvbWl0IHRoZSBidWlsdGluLgpUaGlzIHdhcyB0cnVlIGZvciBkZWZuKGBkaXZudW0n
LCBgb3RoZXInKSwgYnV0IG5vdCBmb3IgZGVmaW5lKGBmb28nLApkZWZuKGBkaXZudW0nKWRlZm4o
YG90aGVyJykpLiAgV2hhdCdzIG1vcmUsIG00IHNpbGVudGx5IGJlaGF2ZWQKZGlmZmVyZW50bHkg
ZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIGJ1aWx0aW4gdG9rZW4gd2FzIGZpcnN0ICh0aGUKZGVm
aW5pdGlvbiBiZWNhbWUgYSBzeW5vbnltIG9mIHRoZSBidWlsdGluLCBpZ25vcmluZyB0aGUgcmVz
dCBvZiB0aGUKdGV4dCkgb3Igc2Vjb25kICh0aGUgZGVmaW50aW9uIHVzZWQgb25seSB0aGUgdGV4
dCkuICBBbGwgb2YgdGhpcyBpcwpjb25mdXNpbmcgdG8gdGhlIHVzZXIsIGFuZCBtb3N0IHBvcnRh
YmxlIHByb2dyYW1zIHdvbid0IGJlIHRyeWluZyB0bwpjb25jYXRlbmF0ZSBidWlsdGluIHRva2Vu
cyBhbnl3YXlzIChhcyBvdGhlciBtNCBpbXBsZW1lbnRhdGlvbnMgYmVoYXZlCmRpZmZlcmVudGx5
IG9uIGhvdyBidWlsdGlucyBhcmUgcmVwcmVzZW50ZWQgaW4gZGVmbikuCgoqIHNyYy9tYWNyby5j
IChleHBhbmRfYXJndW1lbnQpOiBXYXJuIGlmIGEgYnVpbHRpbiB0b2tlbiBpcyB1c2VkCndpdGgg
YW55dGhpbmcgZWxzZSBkdXJpbmcgYXJndW1lbnQgY29sbGVjdGlvbi4gIERyb3AgYnVpbHRpbnMK
Y29uc2lzdGVudGx5IGluIGFueSBjb250ZXh0IHRoYXQgZG9lcyBub3QgZXhwZWN0IHRoZW0uCihj
b2xsZWN0X2FyZ3VtZW50cyk6IExvd2VyIGdyb2tzX21hY3JvIGhhbmRsaW5nIHRvIGV4cGFuZF9h
cmd1bWVudC4KKiBtNC50ZXhpIChEZWZuKTogRXhwYW5kIHRoZSB0ZXh0IHRvIGNvdmVyIG1vcmUg
Y2FzZXMuCiogTkVXUzogRG9jdW1lbnQgdGhpcy4KUmVwb3J0ZWQgYnkgWGF2aWVyIFdhbmcKPGh0
dHBzOi8vbWFpbC5nbnUub3JnL2FyY2hpdmUvaHRtbC9tNC1kaXNjdXNzLzIwMjUtMDgvbXNnMDAw
MDAuaHRtbD4KLS0tCiBORVdTICAgICAgICB8IDEwICsrKysrKysrKysKIGRvYy9tNC50ZXhpIHwg
MTcgKysrKysrKysrKysrKystLS0KIHNyYy9tYWNyby5jIHwgMzYgKysrKysrKysrKysrKysrKysr
KysrKystLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDE2
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IGI5NjFmOWRmLi45
NTQzN2UzZiAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC02LDYgKzYsMTYgQEAgR05V
IE00IE5FV1MgLSBVc2VyIHZpc2libGUgY2hhbmdlcy4KICAgIGFjY2VwdCBhcyBhbiBpbnRlZ2Vy
IGxpdGVyYWwsIHJhdGhlciB0aGFuIHNpbGVudGx5IHRyZWF0aW5nIGl0IGFzIHplcm8KICAgIChw
cmVzZW50IHNpbmNlICJ0aGUgYmVnaW5uaW5nIikuCgorKiogRml4IHRoZSBgZGVmaW5lJyBhbmQg
YHB1c2hkZWYnIGJ1aWx0aW5zIHRvIGFsd2F5cyB3YXJuIHdoZW4gYXR0ZW1wdGluZworICAgdG8g
Y29uY2F0ZW5hdGUgdGhlIHJlc3VsdCBvZiB1c2luZyB0aGUgYGRlZm4nIG1hY3JvIG9uIGEgYnVp
bHRpbiBtYWNybworICAgd2l0aCBhbnl0aGluZyBlbHNlLiAgVGhpcyBpcyBhIGNvdW50ZXJwYXJ0
IHRvIHRoZSBjaGFuZ2UgaW4gbTQgMS40LjExCisgICB0aGF0IGlzc3VlcyBhIHdhcm5pbmcgd2hl
biBgZGVmbicgd2l0aCBtdWx0aXBsZSBhcmd1bWVudHMgYXR0ZW1wdHMgdG8KKyAgIHBlcmZvcm0g
Y29uY2F0ZW5hdGlvbi4gIEF0dGVtcHRpbmcgdG8gdXNlIHRoZSBvdXRwdXQgb2YgYGRlZm4nIGFu
eXdoZXJlCisgICBvdGhlciB0aGFuIGEgbG9uZSBhcmd1bWVudCBkdXJpbmcgbWFjcm8gZGVmaW5p
dGlvbiBoYXMgbmV2ZXIgYmVlbgorICAgcG9ydGFibGUsIGJ1dCBub3cgdGhlIG91dGNvbWUgaXMg
YWx3YXlzIHRoZSByZW1haW5pbmcgdGV4dCwgcmF0aGVyCisgICB0aGFuIGJlaW5nIGRlcGVuZGVu
dCBvbiB3aGV0aGVyIGBkZWZuJyB3YXMgdXNlZCBiZWZvcmUgb3IgYWZ0ZXIgdGhlCisgICBvdGhl
ciB0ZXh0IChwcmVzZW50IHNpbmNlICJ0aGUgYmVnaW5uaW5nIikuCisKICoqIFBvcnQgdG8gZ2xp
YmMgMi40Mywgd2hpY2ggaW1wbGVtZW50cyBmdW5jdGlvbnMgbGlrZSBzdHJjaHIgYXMgbWFjcm9z
CiAgICB3aGVuIGNvbXBpbGVkIHdpdGggYSBDMjMgY29tcGlsZXIuCgpkaWZmIC0tZ2l0IGEvZG9j
L200LnRleGkgYi9kb2MvbTQudGV4aQppbmRleCA4M2Y0YTI3My4uNDJkMWZjZTEgMTAwNjQ0Ci0t
LSBhL2RvYy9tNC50ZXhpCisrKyBiL2RvYy9tNC50ZXhpCkBAIC0yMjY3LDkgKzIyNjcsMTAgQEAg
RGVmbgogZXhwYW5zaW9uIGlzIGEgc3BlY2lhbCB0b2tlbiwgd2hpY2ggcG9pbnRzIHRvIHRoZSBi
dWlsdGluJ3MgaW50ZXJuYWwKIGRlZmluaXRpb24uICBUaGlzIHRva2VuIGlzIG9ubHkgbWVhbmlu
Z2Z1bCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvCiBAY29kZXtkZWZpbmV9IChhbmQgQGNvZGV7
cHVzaGRlZn0pLCBhbmQgaXMgc2lsZW50bHkgY29udmVydGVkIHRvIGFuCi1lbXB0eSBzdHJpbmcg
aW4gbW9zdCBvdGhlciBjb250ZXh0cy4gIENvbWJpbmluZyBhIGJ1aWx0aW4gd2l0aCBhbnl0aGlu
ZwotZWxzZSBpcyBub3Qgc3VwcG9ydGVkOyBhIHdhcm5pbmcgaXMgaXNzdWVkIGFuZCB0aGUgYnVp
bHRpbiBpcyBvbWl0dGVkCi1mcm9tIHRoZSBmaW5hbCBleHBhbnNpb24uCitlbXB0eSBzdHJpbmcg
aW4gbW9zdCBvdGhlciBjb250ZXh0cy4gIFdoZW4gZGVmaW5pbmcgYSBtYWNybywgY29tYmluaW5n
IGEKK2J1aWx0aW4gd2l0aCBhbnl0aGluZyBlbHNlIGlzIG5vdCBzdXBwb3J0ZWQ7IGEgd2Fybmlu
ZyBpcyBpc3N1ZWQgYW5kIHRoZQorYnVpbHRpbiBpcyBvbWl0dGVkIGZyb20gdGhlIGZpbmFsIGRl
ZmluaXRpb24gKG90aGVyIGltcGxlbWVudGF0aW9ucyBtYXkKK2RvIG90aGVyIHVuZXhwZWN0ZWQg
dGhpbmdzKS4KCiBUaGUgbWFjcm8gQGNvZGV7ZGVmbn0gaXMgcmVjb2duaXplZCBvbmx5IHdpdGgg
cGFyYW1ldGVycy4KIEBlbmQgZGVmZm4KQEAgLTIzNzksNiArMjM4MCwxMCBAQCBEZWZuCiBAcmVz
dWx0e30wCiBsZW4oZGVmbihgZGl2bnVtJykpCiBAcmVzdWx0e30wCitldmFsKGAxJ2RlZm4oYGRp
dm51bScpKSBldmFsKGRlZm4oYGRpdm51bScpOCkKK0ByZXN1bHR7fTEgOAoraWZlbHNlKGRlZm4o
YGRpdm51bScpLCBkZWZuKGBkZWZpbmUnKSwgYGluZGlzdGluZ3Vpc2hhYmxlJykKK0ByZXN1bHR7
fWluZGlzdGluZ3Vpc2hhYmxlCiBAZW5kIGV4YW1wbGUKCiBBbHNvIG5vdGUgdGhhdCBAY29kZXtk
ZWZufSB3aXRoIG11bHRpcGxlIGFyZ3VtZW50cyBjYW4gb25seSBqb2luIHRleHQKQEAgLTI0MDEs
NiArMjQwNiwxMiBAQCBEZWZuCiBAZXJyb3J7fW00dHJhY2U6IC0yLSBkZWZuKGBkaXZudW0nLCBg
ZGl2bnVtJykKIEBlcnJvcnt9bTR0cmFjZTogLTEtIGRlZmluZShgbXlkaXZudW0nLCBgJykKIEBy
ZXN1bHR7fQorZGVmaW5lKGBteWRpdm51bSsnLCBkZWZuKGBkaXZudW0nKWArJ2RlZm4oYGRpdm51
bScpKW15ZGl2bnVtKworQGVycm9ye31tNHRyYWNlOiAtMi0gZGVmbihgZGl2bnVtJykKK0BlcnJv
cnt9bTR0cmFjZTogLTItIGRlZm4oYGRpdm51bScpCitAZXJyb3J7fW00OnN0ZGluOjU6IFdhcm5p
bmc6IGNhbm5vdCBjb25jYXRlbmF0ZSBidWlsdGluIHRva2VucworQGVycm9ye31tNHRyYWNlOiAt
MS0gZGVmaW5lKGBteWRpdm51bSsnLCBgKycpCitAcmVzdWx0e30rCiB0cmFjZW9mZihgZGVmbics
IGBkZWZpbmUnKQogQHJlc3VsdHt9CiBAZW5kIGV4YW1wbGUKZGlmZiAtLWdpdCBhL3NyYy9tYWNy
by5jIGIvc3JjL21hY3JvLmMKaW5kZXggMWM0OGNlMDkuLjI5NDY2Y2ZhIDEwMDY0NAotLS0gYS9z
cmMvbWFjcm8uYworKysgYi9zcmMvbWFjcm8uYwpAQCAtMTM3LDcgKzEzNyw3IEBAIGV4cGFuZF90
b2tlbiAoc3RydWN0IG9ic3RhY2sgKm9icywgdG9rZW5fdHlwZSB0LCB0b2tlbl9kYXRhICp0ZCwg
aW50IGxpbmUpCiBgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgogc3RhdGljIGJvb2wKLWV4cGFuZF9hcmd1bWVudCAo
c3RydWN0IG9ic3RhY2sgKm9icywgdG9rZW5fZGF0YSAqYXJncCkKK2V4cGFuZF9hcmd1bWVudCAo
c3RydWN0IG9ic3RhY2sgKm9icywgdG9rZW5fZGF0YSAqYXJncCwgYm9vbCBncm9rc19tYWNybykK
IHsKICAgdG9rZW5fdHlwZSB0OwogICB0b2tlbl9kYXRhIHRkOwpAQCAtMTcyLDYgKzE3MiwxMiBA
QCBleHBhbmRfYXJndW1lbnQgKHN0cnVjdCBvYnN0YWNrICpvYnMsIHRva2VuX2RhdGEgKmFyZ3Ap
CiAgICAgICAgICAgICAgIGxlbiA9IG9ic3RhY2tfb2JqZWN0X3NpemUgKG9icykgLSAxOwogICAg
ICAgICAgICAgICB0ZXh0ID0gKGNoYXIgKikgb2JzdGFja19maW5pc2ggKG9icyk7CgorICAgICAg
ICAgICAgICBpZiAoVE9LRU5fREFUQV9UWVBFIChhcmdwKSA9PSBUT0tFTl9GVU5DICYmIGxlbikK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBNNEVSUk9SICgod2FybmluZ19z
dGF0dXMsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiV2FybmluZzogY2Fubm90
IGNvbmNhdGVuYXRlIGJ1aWx0aW4gdG9rZW5zIikpKTsKKyAgICAgICAgICAgICAgICAgIFRPS0VO
X0RBVEFfVFlQRSAoYXJncCkgPSBUT0tFTl9WT0lEOworICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgaWYgKFRPS0VOX0RBVEFfVFlQRSAoYXJncCkgPT0gVE9LRU5fVk9JRCkKICAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICBUT0tFTl9EQVRBX1RZUEUgKGFyZ3ApID0g
VE9LRU5fVEVYVDsKQEAgLTIwNCwxMCArMjEwLDIxIEBAIGV4cGFuZF9hcmd1bWVudCAoc3RydWN0
IG9ic3RhY2sgKm9icywgdG9rZW5fZGF0YSAqYXJncCkKICAgICAgICAgICBicmVhazsKCiAgICAg
ICAgIGNhc2UgVE9LRU5fTUFDREVGOgotICAgICAgICAgIGlmIChvYnN0YWNrX29iamVjdF9zaXpl
IChvYnMpID09IDApCisgICAgICAgICAgLyogU2lsZW50bHkgaWdub3JlIG1hY3JvIHRva2VucyBv
dXRzaWRlIG9mIGNlcnRhaW4gYnVpbHRpbnMgKi8KKyAgICAgICAgICBpZiAoZ3Jva3NfbWFjcm8p
CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIFRPS0VOX0RBVEFfVFlQRSAoYXJncCkgPSBU
T0tFTl9GVU5DOwotICAgICAgICAgICAgICBUT0tFTl9EQVRBX0ZVTkMgKGFyZ3ApID0gVE9LRU5f
REFUQV9GVU5DICgmdGQpOworICAgICAgICAgICAgICBpZiAob2JzdGFja19vYmplY3Rfc2l6ZSAo
b2JzKSA9PSAwICYmCisgICAgICAgICAgICAgICAgICBUT0tFTl9EQVRBX1RZUEUgKGFyZ3ApID09
IFRPS0VOX1ZPSUQpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgVE9LRU5f
REFUQV9UWVBFIChhcmdwKSA9IFRPS0VOX0ZVTkM7CisgICAgICAgICAgICAgICAgICBUT0tFTl9E
QVRBX0ZVTkMgKGFyZ3ApID0gVE9LRU5fREFUQV9GVU5DICgmdGQpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAgIE00RVJST1IgKCh3YXJuaW5nX3N0YXR1cywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBfKCJXYXJuaW5nOiBjYW5ub3QgY29uY2F0ZW5hdGUgYnVpbHRpbiB0b2tlbnMiKSkpOwor
ICAgICAgICAgICAgICAgICAgVE9LRU5fREFUQV9UWVBFIChhcmdwKSA9IFRPS0VOX1ZPSUQ7Cisg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgIGJyZWFrOwoKQEAgLTIz
NCw3ICsyNTEsNyBAQCBjb2xsZWN0X2FyZ3VtZW50cyAoc3ltYm9sICpzeW0sIHN0cnVjdCBvYnN0
YWNrICphcmdwdHIsCiAgIHRva2VuX2RhdGEgdGQ7CiAgIHRva2VuX2RhdGEgKnRkcDsKICAgYm9v
bCBtb3JlX2FyZ3M7Ci0gIGJvb2wgZ3Jva3NfbWFjcm9fYXJncyA9IFNZTUJPTF9NQUNST19BUkdT
IChzeW0pOworICBib29sIGdyb2tzX21hY3JvID0gU1lNQk9MX01BQ1JPX0FSR1MgKHN5bSk7Cgog
ICBUT0tFTl9EQVRBX1RZUEUgKCZ0ZCkgPSBUT0tFTl9URVhUOwogICBUT0tFTl9EQVRBX1RFWFQg
KCZ0ZCkgPSBTWU1CT0xfTkFNRSAoc3ltKTsKQEAgLTI0NywxNCArMjY0LDcgQEAgY29sbGVjdF9h
cmd1bWVudHMgKHN5bWJvbCAqc3ltLCBzdHJ1Y3Qgb2JzdGFjayAqYXJncHRyLAogICAgICAgbmV4
dF90b2tlbiAoJnRkLCBOVUxMKTsgICAvKiBnb2JibGUgcGFyZW50aGVzaXMgKi8KICAgICAgIGRv
CiAgICAgICAgIHsKLSAgICAgICAgICBtb3JlX2FyZ3MgPSBleHBhbmRfYXJndW1lbnQgKGFyZ3Vt
ZW50cywgJnRkKTsKLQotICAgICAgICAgIGlmICghZ3Jva3NfbWFjcm9fYXJncyAmJiBUT0tFTl9E
QVRBX1RZUEUgKCZ0ZCkgPT0gVE9LRU5fRlVOQykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgVE9LRU5fREFUQV9UWVBFICgmdGQpID0gVE9LRU5fVEVYVDsKLSAgICAgICAgICAgICAgVE9L
RU5fREFUQV9URVhUICgmdGQpID0gKGNoYXIgKikgIiI7Ci0gICAgICAgICAgICAgIFRPS0VOX0RB
VEFfTEVOICgmdGQpID0gMDsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICBtb3JlX2FyZ3MgPSBl
eHBhbmRfYXJndW1lbnQgKGFyZ3VtZW50cywgJnRkLCBncm9rc19tYWNybyk7CiAgICAgICAgICAg
dGRwID0gKHRva2VuX2RhdGEgKikgb2JzdGFja19jb3B5IChhcmd1bWVudHMsICZ0ZCwgc2l6ZW9m
IHRkKTsKICAgICAgICAgICBvYnN0YWNrX3B0cl9ncm93IChhcmdwdHIsIHRkcCk7CiAgICAgICAg
IH0KCmJhc2UtY29tbWl0OiA5MDBhOTBmNjI0Y2VlNGE4YzFjMDJjNGQ2YTYxZWYxZWQyNmExN2Qx
Ci0tIAoyLjUyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNNC1wYXRjaGVzIG1haWxpbmcgbGlzdApNNC1wYXRjaGVzQGdudS5vcmcKaHR0cHM6Ly9s
aXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vbTQtcGF0Y2hlcwo=