[PATCH branch-1.6 2/2] eval: Add >>> operator

Eric Blake via M4-patches <[email protected]> Sat, 17 May 2025 07:35:09 -0500
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
Qm9ycm93IGFuIGlkZWEgZnJvbSBKYXZhOiBldmVuIHRob3VnaCBldmFsIGFsd2F5cyBvcGVyYXRl
cyBvbiBzaWduZWQKaW5wdXRzLCB0aGUgYWJpbGl0eSB0byBkbyBhbiB1bnNpZ25lZCByaWdodCBz
aGlmdCBpcyB2YWx1YWJsZSB3aGVuCm9wZXJhdGluZyBvbiBiaXRtYXNrcy4KCiogc3JjL2V2YWwu
YyAoZXZhbF90b2tlbik6IEFkZCBVUlNISUZULgooZXZhbF9sZXgpOiBUb2tlbml6ZSBpdC4KKHBh
cnNlX2V4cHIpOiBFdmFsdWF0ZSBpdC4KKiBkb2MvbTQudGV4aSAoRXZhbCk6IERvY3VtZW50IHRo
aXMuCiogTkVXUzogTGlrZXdpc2UuCi0tLQogTkVXUyAgICAgICAgfCAgOSArKysrKy0tLS0KIGRv
Yy9tNC50ZXhpIHwgMjkgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHNyYy9ldmFsLmMg
IHwgMTUgKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyks
IDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IDk3YzRkOWMw
Li4wYjQ5OWEyMCAxMDA2NDQKLS0tIGEvTkVXUworKysgYi9ORVdTCkBAIC0xMjYsMTAgKzEyNiwx
MSBAQCBHTlUgTTQgTkVXUyAtIFVzZXIgdmlzaWJsZSBjaGFuZ2VzLgogICAgY29udGV4dCBvZiBh
IG1hY3JvIG5hbWUsIHJhdGhlciB0aGFuIGFjdGluZyBvbiB0aGUgZW1wdHkgc3RyaW5nLiAgVGhp
cwogICAgd2FzIGFscmVhZHkgZG9uZSBmb3IgYGRlZmluZScsIGBwdXNoZGVmJywgYGJ1aWx0aW4n
LCBhbmQgYGluZGlyJy4KCi0qKiBFbmhhbmNlIHRoZSBgZXZhbCcgYnVpbHRpbiB0byB1bmRlcnN0
YW5kIHRoZSBgPzonIG9wZXJhdG9yLCBhbmQKLSAgIGRvd25ncmFkZSBhIGZhaWxlZCBwYXJzZSBk
dWUgdG8gYW4gdW5rbm93biBvcGVyYXRvciBmcm9tIGFuIGVycm9yIHRvIGEKLSAgIHdhcm5pbmcu
ICBGdXJ0aGVyLCB0aGUgYnVpbHRpbiBub3cgcmVmdXNlcyB0byByZWNvZ25pemUgYD0nIGFzIGEK
LSAgIHN5bm9ueW0gZm9yIGA9PScgKHRoaXMgaGFkIGVtaXR0ZWQgYSB3YXJuaW5nIHNpbmNlIDEu
NC44YikuCisqKiBFbmhhbmNlIHRoZSBgZXZhbCcgYnVpbHRpbiB0byB1bmRlcnN0YW5kIHRoZSBg
PzonIGFuZCBgPj4+JyBvcGVyYXRvcnMsCisgICBhbmQgZG93bmdyYWRlIGEgZmFpbGVkIHBhcnNl
IGR1ZSB0byBhbiB1bmtub3duIG9wZXJhdG9yIGZyb20gYW4gZXJyb3IgdG8KKyAgIGEgd2Fybmlu
ZyAodGhlIHNhbWUgYXMgZm9yIGFsbCBvdGhlciBzeW50YXggZXJyb3JzKS4gIEZ1cnRoZXIsIHRo
ZQorICAgYnVpbHRpbiBub3cgcmVmdXNlcyB0byByZWNvZ25pemUgYD0nIGFzIGEgc3lub255bSBm
b3IgYD09JyAodGhpcyBoYWQKKyAgIGVtaXR0ZWQgYSB3YXJuaW5nIHNpbmNlIDEuNC44YikuCgog
KiogQSBudW1iZXIgb2YgcG9ydGFiaWxpdHkgaW1wcm92ZW1lbnRzIGluaGVyaXRlZCBmcm9tIGdu
dWxpYi4KCmRpZmYgLS1naXQgYS9kb2MvbTQudGV4aSBiL2RvYy9tNC50ZXhpCmluZGV4IDVhNzk4
MGU3Li4xMmVhNjYyZSAxMDA2NDQKLS0tIGEvZG9jL200LnRleGkKKysrIGIvZG9jL200LnRleGkK
QEAgLTcwOTIsNyArNzA5Miw3IEBAIEV2YWwKIE11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgYW5k
IG1vZHVsbwogQGl0ZW0gKyAgLQogQWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uCi1AaXRlbSA8PCAg
Pj4KK0BpdGVtIDw8ICA+PiAgPj4+CiBTaGlmdCBsZWZ0IG9yIHJpZ2h0CiBAaXRlbSA+ICA+PSAg
PCAgPD0KIFJlbGF0aW9uYWwgb3BlcmF0b3JzCkBAIC03MTk5LDEyICs3MTk5LDE5IEBAIEV2YWwK
IEBlbmQgZXhhbXBsZQoKIEBjaW5kZXggR05VIGV4dGVuc2lvbnMKLUFzIGEgR05VIGV4dGVuc2lv
biwgdGhlIG9wZXJhdG9yIEBzYW1weyoqfSBwZXJmb3JtcyBpbnRlZ3JhbAotZXhwb25lbnRpYXRp
b24uICBUaGUgb3BlcmF0b3IgaXMgcmlnaHQtYXNzb2NpYXRpdmUsIGFuZCBpZiBldmFsdWF0ZWQs
Ci10aGUgZXhwb25lbnQgbXVzdCBiZSBub24tbmVnYXRpdmUsIGFuZCBhdCBsZWFzdCBvbmUgb2Yg
dGhlIGFyZ3VtZW50cwotbXVzdCBiZSBub24temVybywgb3IgYSB3YXJuaW5nIGlzIGlzc3VlZC4g
IEFsc28sIHRoZSB0ZXJuYXJ5IEMgb3BlcmF0b3IKLUBzYW1wez86fSBpcyBzdXBwb3J0ZWQsIGlu
Y2x1ZGluZyB0aGUgR05VIGV4dGVuc2lvbiBvZiByZXVzaW5nIHRoZQotbm9uLXplcm8gdmFsdWUg
b2YgdGhlIGxlZnQgc2lkZSBpZiB0aGUgbWlkZGxlIHRlcm0gaXMgZW1wdHkuCitBcyBhIEdOVSBl
eHRlbnNpb24sIHNldmVyYWwgYWRkaXRpb25hbCBvcGVyYXRvcnMgYXJlIHN1cHBvcnRlZC4gIFNp
bmNlCitNNCAxLjQsIHRoZSBvcGVyYXRvciBAc2FtcHsqKn0gcGVyZm9ybXMgaW50ZWdyYWwgZXhw
b25lbnRpYXRpb24uICBUaGlzCitvcGVyYXRvciBpcyByaWdodC1hc3NvY2lhdGl2ZSwgYW5kIGlm
IGV2YWx1YXRlZCwgdGhlIGV4cG9uZW50IG11c3QgYmUKK25vbi1uZWdhdGl2ZSwgYW5kIGF0IGxl
YXN0IG9uZSBvZiB0aGUgYXJndW1lbnRzIG11c3QgYmUgbm9uLXplcm8sIG9yIGEKK3dhcm5pbmcg
aXMgaXNzdWVkLiAgQWRkaXRpb25hbGx5LCBNNCAxLjYgaW50cm9kdWNlZCB0aGUgQHNhbXB7Pj4+
fSBhbmQKK0BzYW1wez86fSBvcGVyYXRvcnMuICBUaGUgb3BlcmF0b3IgQHNhbXB7Pj4+fSBoYXMg
dGhlIHNhbWUgcHJlY2VkZW5jZSBhcworQHNhbXB7Pj59LCBidXQgd2hlcmUgQHNhbXB7Pj59IGV4
dGVuZHMgdGhlIHNpZ24gYml0IGludG8gdGhlIG1vc3QKK3NpZ25pZmljYW50IGJpdHMsIEBzYW1w
ez4+Pn0gcGVyZm9ybXMgYW4gdW5zaWduZWQgc2hpZnQgdGhhdCBhbHdheXMKK3N1cHBsaWVzIHpl
cm8gYml0cyBvbiB0aGUgbGVmdC4gIEZpbmFsbHksIHRoZSByaWdodC1hc3NvY2lhdGl2ZSB0ZXJu
YXJ5CitDIG9wZXJhdG9yIEBzYW1wez86fSBpcyBzdXBwb3J0ZWQsIGluY2x1ZGluZyB0aGUgR05V
IGV4dGVuc2lvbiBvZgorcmV1c2luZyB0aGUgbm9uLXplcm8gdmFsdWUgb2YgdGhlIGxlZnQgc2lk
ZSBpZiB0aGUgbWlkZGxlIHRlcm0gaXMgZW1wdHkuCitUaGlzIG9wZXJhdG9yIGV2YWx1YXRlcyB0
aGUgZmlyc3QgdGVybSwgdGhlbiBpZiB0aGUgZmlyc3QgaXMgbm9uLXplcm8KK2V2YWx1YXRlcyB0
aGUgc2Vjb25kIHRlcm0sIG90aGVyd2lzZSBpdCBldmFsdWF0ZXMgdGhlIHRoaXJkIHRlcm0uCgog
QGV4YW1wbGUKIGV2YWwoYDIgKiogMyAqKiAyJykKQEAgLTcyMjEsNiArNzIyOCwxMCBAQCBFdmFs
CiBldmFsKGA0ICoqIC0yJykKIEBlcnJvcnt9bTQ6c3RkaW46Njogd2FybmluZzogZXZhbDogbmVn
YXRpdmUgZXhwb25lbnQ6ICc0ICoqIC0yJwogQHJlc3VsdHt9CitldmFsKGAtMSA+PiAxJykKK0By
ZXN1bHR7fS0xCitldmFsKGAtMSA+Pj4gMScpCitAcmVzdWx0e30yMTQ3NDgzNjQ3CiBldmFsKGAw
ID8gMiA6IDMnKQogQHJlc3VsdHt9MwogZXZhbChgMSA/IDIgOiAxLzAnKQpAQCAtNzIzMiwxMiAr
NzI0MywxMiBAQCBFdmFsCiBldmFsKGAxID8gMiA/IDMgOiA0IDogNScpCiBAcmVzdWx0e30zCiBl
dmFsKGAxLzAgPyAyIDogMycpCi1AZXJyb3J7fW00OnN0ZGluOjEyOiB3YXJuaW5nOiBldmFsOiBk
aXZpZGUgYnkgemVybzogJzEvMCA/IDIgOiAzJworQGVycm9ye31tNDpzdGRpbjoxNDogd2Fybmlu
ZzogZXZhbDogZGl2aWRlIGJ5IHplcm86ICcxLzAgPyAyIDogMycKIEByZXN1bHR7fQogZXZhbChg
MiA/OiAzJykKIEByZXN1bHR7fTIKIGV2YWwoYDEgPyAyLT0zIDogNCcpCi1AZXJyb3J7fW00OnN0
ZGluOjE0OiB3YXJuaW5nOiBldmFsOiBpbnZhbGlkIG9wZXJhdG9yOiAnMSA/IDItPTMgOiA0Jwor
QGVycm9ye31tNDpzdGRpbjoxNjogd2FybmluZzogZXZhbDogaW52YWxpZCBvcGVyYXRvcjogJzEg
PyAyLT0zIDogNCcKIEByZXN1bHR7fQogQGVuZCBleGFtcGxlCgpkaWZmIC0tZ2l0IGEvc3JjL2V2
YWwuYyBiL3NyYy9ldmFsLmMKaW5kZXggMTYzZTI2MzQuLmIyMzZiMTJlIDEwMDY0NAotLS0gYS9z
cmMvZXZhbC5jCisrKyBiL3NyYy9ldmFsLmMKQEAgLTU1LDYgKzU1LDcgQEAgdHlwZWRlZiBlbnVt
IGV2YWxfdG9rZW4KICAgTFNFUSwKICAgTFNISUZUID0gOTAsCiAgIFJTSElGVCwKKyAgVVJTSElG
VCwKICAgLyogcHJlY2VkZW5jZSBnaXZlbiBmb3IgYmluYXJ5IG9wOyBQTFVTIGFuZCBNSU5VUyBh
bHNvIHNlcnZlIGFzIGEgdW5hcnkgb3AgKi8KICAgUExVUyA9IDEwMCwKICAgTUlOVVMsCkBAIC0y
NTUsNyArMjU2LDE0IEBAIGV2YWxfbGV4IChpbnQzMl90ICp2YWwpCiAgICAgICAgIH0KICAgICAg
IGVsc2UgaWYgKCpldmFsX3RleHQgPT0gJz4nKQogICAgICAgICB7Ci0gICAgICAgICAgaWYgKCor
K2V2YWxfdGV4dCA9PSAnPScpCisgICAgICAgICAgZXZhbF90ZXh0Kys7CisgICAgICAgICAgaWYg
KCpldmFsX3RleHQgPT0gJz4nKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBpZiAoKisr
ZXZhbF90ZXh0ID09ICc9JykKKyAgICAgICAgICAgICAgICByZXR1cm4gQkFET1A7CisgICAgICAg
ICAgICAgIHJldHVybiBVUlNISUZUOworICAgICAgICAgICAgfQorICAgICAgICAgIGVsc2UgaWYg
KCpldmFsX3RleHQgPT0gJz0nKQogICAgICAgICAgICAgcmV0dXJuIEJBRE9QOwogICAgICAgICAg
IHJldHVybiBSU0hJRlQ7CiAgICAgICAgIH0KQEAgLTQ4MSw2ICs0ODksMTEgQEAgcGFyc2VfZXhw
ciAoaW50MzJfdCAqdjEsIGV2YWxfZXJyb3IgZXIsIHVuc2lnbmVkIG1pbl9wcmVjKQogICAgICAg
ICAgIHUxID4+PSAodWludDMyX3QpICh2MiAmIDB4MWYpOwogICAgICAgICAgICp2MSA9ICp2MSA8
IDAgPyB+dTEgOiB1MTsKICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBVUlNISUZUOgor
ICAgICAgICAgIHUxID0gKnYxOworICAgICAgICAgIHUxID4+PSAodWludDMyX3QpICh2MiAmIDB4
MWYpOworICAgICAgICAgICp2MSA9IHUxOworICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgY2Fz
ZSBHVDoKICAgICAgICAgICAqdjEgPSAqdjEgPiB2MjsKLS0gCjIuNDkuMAoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk00LXBhdGNoZXMgbWFpbGluZyBs
aXN0Ck00LXBhdGNoZXNAZ251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0
aW5mby9tNC1wYXRjaGVzCg==