[ruby-core:93629] [Ruby master Feature#15991] Allow questionmarks in variable names
From:
stefan@...
Date:
2019-07-09 06:53:04 UTC
List:
ruby-core #93629
SXNzdWUgIzE1OTkxIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbm9uaXEgKFN0ZWZhbiBEYXNjaGVrKS4N Cg0KDQpGb3IgbWUgcGVyc29uYWxseSB0aGF0IEkgb2Z0ZW4gd3JpdGUgY29kZSBsaWtlIHRoaXM6 DQoNCmBgYHJ1YnkNCmNsYXNzIEZvb2Jhcg0KICBhdHRyX3JlYWRlciA6Y29tcGxldGVkDQoNCiAg ZGVmIGNvbXBsZXRlZD8NCiAgICBAY29tcGxldGVkDQogIGVuZA0KZW5kDQpgYGANCg0KVGhpcyBm ZWVscyB1bm5lY2Vzc2FyeSBjb21wbGV4IHRvIG1lLiBJbiAjMTIwNDYgaXQgd2FzIGRpc2N1c3Nl ZCB0byBhbGxvdyBgYXR0cl9yZWFkZXIgOmZvbz9gIHdoaWNoIHdvdWxkIGludGVybmFsbHkgYWNj ZXNzIGBAZm9vYC4gVGhpcyBjaGFuZ2UgaGFzIGJlZW4gcmVqZWN0ZWQgYnkgTWF0ejoNCg0KPiBh cyBhIHJ1bGUsIGF0dHJfcmVhZGVyIHggY3JlYXRlcyBhbiBpbnN0YW5jZSB2YXJpYWJsZSBAeCwg YnV0IHdlIGNhbm5vdCBoYXZlIEB4Py4NCg0KSeKAmW0gcGVyc29uYWxseSBub3QgdmVyeSBpbnRl cmVzdGVkIGluIGhhdmluZyAvIHVzaW5nIGluc3RhbmNlIHZhcmlhYmxlcyBlbmRpbmcgaW4gYD9g LCBidXQgaWYgYWxsb3dpbmcgc3VjaCB2YXJpYWJsZSBuYW1lcyB3b3VsZCByZXN1bHQgaW4gYSBm ZWF0dXJlIGxpa2UgIzEyMDQ2IGJlY29taW5nIHBvc3NpYmxlLCBJ4oCZbSB2ZXJ5IG11Y2ggaW4g ZmF2b3VyIG9mIHRoaXMgcHJvcG9zYWwuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCkZlYXR1cmUgIzE1OTkxOiBBbGxvdyBxdWVzdGlvbm1hcmtzIGluIHZhcmlh YmxlIG5hbWVzDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTU5OTEjY2hhbmdl LTc5MjM3DQoNCiogQXV0aG9yOiBhcXVhaiAoSsOpcsOpbWllIEJvbmFsKQ0KKiBTdGF0dXM6IE9w ZW4NCiogUHJpb3JpdHk6IE5vcm1hbA0KKiBBc3NpZ25lZTogDQoqIFRhcmdldCB2ZXJzaW9uOiAN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkhpLA0KDQpJIHRob3Vn aHQgc3VjaCBhbiBpc3N1ZSB3b3VsZCd2ZSBhbHJlYWR5IGJlZW4gZGlzY3Vzc2VkIGJ1dCBubyBu dW1iZXIgb2Ygc2VhcmNoZXMgYWxsb3dlZCBtZSB0byBmaW5kIGEgc2ltaWxhciByZXF1ZXN0LiBG ZWVsIGZyZWUgdG8gY2xvc2UgaWYgSSBtaXNzZWQgYSBwcmV2aW91cyByZWZ1c2FsLg0KDQpGcm9t IHRpbWUgdG8gdGltZSwgZXNwZWNpYWxseSB3aGVuIHRyeWluZyB0byBjbGVhciB1cCBjb21wbGV4 IGNvbmRpdGlvbmFsIGxvZ2ljLCBJIGZpbmQgbXlzZWxmIHdpc2hpbmcgSSBjb3VsZCBhZGQgYD9g IHRvIHZhcmlhYmxlIG5hbWVzLCBzaW5jZSBJIGdvdCB1c2VkIHRvIGl0IHdoaWxlIG5hbWluZyBt ZXRob2RzLg0KDQpGb3IgZXhhbXBsZSwgY3VycmVudGx5Og0KYGBgDQppZiAobm9kZT8gJiYgdGVy bWluYWw/KSB8fCAoaGFsdGluZyAmJiAodmFsdWUgPT0gaGFsdGluZykpDQogICMgLi4uDQplbmQN CmBgYA0KYmVjb21lcw0KYGBgDQpsYXN0X25vZGUgPSBzZWxmLm5vZGU/ICYmIHNlbGYudGVybWlu YWw/DQpoYWx0X29uX25vZGUgPSBoYWx0aW5nICYmICh2YWx1ZSA9PSBoYWx0aW5nKQ0KaWYgbGFz dF9ub2RlIHx8IGhhbHRfb25fbm9kZQ0KICAjIC4uLg0KZW5kDQpgYGANCg0KYGhhbHRfb25fbm9k ZWAgaXMgY2xlYXIgZW5vdWdoLCBidXQgYGxhc3Rfbm9kZWAgZmVlbHMgbGlrZSBpdCB3b3VsZCBj b250YWluIGEgbm9kZSwgaW5zdGVhZCBvZiBleHByZXNzaW5nIGl0cyBhY3R1YWwgcHVycG9zZSAo ImlzIHRoZSBub2RlIHRoZSBsYXN0IG9uZT8iKS4NClJpZ2h0IG5vdyBhIGRldmVsb3BlciB3b3Vs ZCBoYXZlIHR3byBvcHRpb25zIGFzIEkgc2VlIHRoZW06DQoxIC0gZXh0cmFjdCB0aGUgY29uZGl0 aW9uYWwgdG8gYSBtZXRob2QgYGRlZiBsYXN0X25vZGU/YCB3aGljaCBjYW4gYmUgYSBiaXQgbXVj aCBpZiBpdCdzIHRoZSBvbmx5IHBsYWNlIHRoaXMgY29kZSBpcyBjYWxsZWQuDQoyIC0gcmVuYW1l IHRoZSB2YXJpYWJsZSBzb21ldGhpbmcgbGlrZSBgaXNfbGFzdF9ub2RlYCwgd2hpY2ggZmVlbHMg YSBiaXQgc2lsbHkgc2luY2Ugd2UncmUgaW4gcnVieSBhbmQgdXNlZCB0byBzZWVpbmcgYD9gcyBm b3IgcHJlZGljYXRlcy4gDQoNClRyeWluZyB0byBhc3NpZ24gdG8gYSBxdWVzdGlvbm1hcmtlZCB2 YXJpYWJsZSAoYGE/ID0gdHJ1ZWApIHJhaXNlcyBhIGBTeW50YXhFcnJvcmAuIElNSE8sIGl0IHdv dWxkIG1ha2UgZm9yIG1vcmUgY29oZXJlbnQgZGVzaWduIHRvIGFsbG93IGl0LCBqdXN0IGxpa2Ug d2UgZG8gaW4gbWV0aG9kIG5hbWVzLg0KDQpJIHdhcyBhZnJhaWQgdGhhdCBgdmFyaWFibGU/YCB3 b3VsZCBiZSBhbHJlYWR5IHBhcnNlZCBhcyBiZWdpbm5pbmcgYSB0ZXJuYXJ5IGV4cHJlc3Npb24g KGB2YXJpYWJsZT8xOjNgKSBidXQgdGhpcyBpc24ndCBwYXJzZWQgZWl0aGVyLCB0aGUgb25seSB0 aGluZyBpdCdzIHVzZWQgZm9yIGlzIGZvciBtZXRob2QgY2FsbHMgKGBhPzUgPD09PiBhPyg1KWAp LCBzbyB0aGlzIGNoYW5nZSB3b3VsZG4ndCBkaXNydXB0IGFueSBjdXJyZW50IGJlaGF2aW9yLCB0 aGUgZXhwcmVzc2lvbiB3b3VsZCBqdXN0IGJlIGxvb2tlZCB1cCBsaWtlIGFueSBvdGhlciBjYWxs IGluc3RlYWQgb2Ygb25seSBsb29raW5nIHVwIG1ldGhvZHMuDQoNClRoZSBvbmx5IHRoaW5nIEkg Y2FuIHNlZSB3aXRoIHRoaXMgaXMgdGhhdCBpdCBtaWdodCByYWlzZSB0aGUgaXNzdWUgb2YgYWxs b3dpbmcgYCFgcyBpbiB2YXJpYWJsZSBuYW1lcyB0b28sIHdoaWNoIEknbSBub3Qgc3VyZSBtYWtl cyBhIGxvdCBvZiBzZW5zZSAodW5saWtlIGA/YCB3aGljaCBkZW5vdGVzICJib29sZWFubmVzcyIs IGEgdHJhaXQgc2hhcmVkIGJ5IHZhcmlhYmxlcyBhbmQgbWV0aG9kcyBhbGlrZSwgSSBjYW4ndCBz ZWUgaG93IGEgdmFyaWFibGUgd291bGQgYmUgImRhbmdlcm91cyIpLg0KDQoNCg0KDQotLSANCmh0 dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29y ZS1yZXF1ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0 cy5ydWJ5LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K