[COMMIT] Avoid algorithmically-expensive text checks when ERROR_CHECK_TEXT off.

Aidan Kehoe <[email protected]> Sat, 25 Jun 2016 10:28:38 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
CkFQUFJPVkUgQ09NTUlUCgpOT1RFOiBUaGlzIHBhdGNoIGhhcyBiZWVuIGNvbW1pdHRlZAoKIyBI
RyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIEFpZGFuIEtlaG9lIDxrZWhvZWFAcGFyaGFzYXJkLm5l
dD4KIyBEYXRlIDE0NjY4NDY4NTQgLTM2MDAKIyAgICAgIFNhdCBKdW4gMjUgMTA6Mjc6MzQgMjAx
NiArMDEwMAojIE5vZGUgSUQgNjI4NjkzOTZmOTVkZjdmMmY2YzE0NWI2NzE5MjJlOWQzNjIzMDlm
YgojIFBhcmVudCAgMWMwMGNjZjU2MTkzOTMyOThkMGZlOWQ0OTUzY2FlY2QzM2I3MTM3NwpBdm9p
ZCBhbGdvcml0aG1pY2FsbHktZXhwZW5zaXZlIHRleHQgY2hlY2tzIHdoZW4gRVJST1JfQ0hFQ0tf
VEVYVCBvZmYuCgpzcmMvQ2hhbmdlTG9nIGFkZGl0aW9uOgoKMjAxNi0wNi0yNSAgQWlkYW4gS2Vo
b2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KCgkqIGZpbGVpby5jIChGaW5zZXJ0X2ZpbGVfY29u
dGVudHNfaW50ZXJuYWwpOgoJSWYgdGhlIExzdHJlYW0gY2hhcmFjdGVyIGNvdW50IGluZm8gd2Fz
bid0IGF2YWlsYWJsZSBmb3Igb25lCglidWZmZXIgcmVhZCwgZG9uJ3QgYXNzdW1lIGl0IHdpbGwg
bmV2ZXIgYmUgYXZhaWxhYmxlIGFnYWluIGZvcgoJdGhpcyBzdHJlYW0sIGtlZXAgY2hlY2tpbmcu
IFdlIG1heSBiZSBpbiB0aGUgbWlkZGxlIG9mIGEgY2hhcmFjdGVyCglpbiBhIFVuaWNvZGUgY29k
aW5nIHN5c3RlbSwgd2hpY2ggY2FuIHRocm93IG9mZiBvdXIgY2FsY3VsYXRpb24KCWJyaWVmbHku
CgkqIGluc2RlbC5jIChidWZmZXJfaW5zZXJ0X3N0cmluZ18xKToKCUJlbiBjaGFuZ2VkIHRoZSBz
ZW1hbnRpY3Mgb2YgYXNzZXJ0aW9ucyBvbiBidWlsZHMgd2l0aG91dAoJYXNzZXJ0aW9ucyBlbmFi
bGVkLS10aGUgc3RhdGVtZW50IGlzIG5vdyBhbHdheXMgZXhlY3V0ZWQtLXNvIHdyYXAKCWFuIGFz
c2VydGlvbiB0aGF0LCB3aGVuIGVuYWJsZWQsIG1pc3NlcyB0aGUgcG9pbnQgb2YgdGhlIExzdHJl
YW0KCWNoYXJhY3RlciBjb3VudCBpbmZyYXN0cnVjdHVyZSBlbnRpcmVseSwgaW4gI2lmZGVmCglF
UlJPUl9DSEVDS19URVhULgoKZGlmZiAtciAxYzAwY2NmNTYxOTMgLXIgNjI4NjkzOTZmOTVkIHNy
Yy9DaGFuZ2VMb2cKLS0tIGEvc3JjL0NoYW5nZUxvZwlUaHUgSnVuIDE2IDE0OjE3OjU3IDIwMTYg
KzAxMDAKKysrIGIvc3JjL0NoYW5nZUxvZwlTYXQgSnVuIDI1IDEwOjI3OjM0IDIwMTYgKzAxMDAK
QEAgLTEsMyArMSwxOCBAQAorMjAxNi0wNi0yNSAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFz
YXJkLm5ldD4KKworCSogZmlsZWlvLmMgKEZpbnNlcnRfZmlsZV9jb250ZW50c19pbnRlcm5hbCk6
CisJSWYgdGhlIExzdHJlYW0gY2hhcmFjdGVyIGNvdW50IGluZm8gd2Fzbid0IGF2YWlsYWJsZSBm
b3Igb25lCisJYnVmZmVyIHJlYWQsIGRvbid0IGFzc3VtZSBpdCB3aWxsIG5ldmVyIGJlIGF2YWls
YWJsZSBhZ2FpbiBmb3IKKwl0aGlzIHN0cmVhbSwga2VlcCBjaGVja2luZy4gV2UgbWF5IGJlIGlu
IHRoZSBtaWRkbGUgb2YgYSBjaGFyYWN0ZXIKKwlpbiBhIFVuaWNvZGUgY29kaW5nIHN5c3RlbSwg
d2hpY2ggY2FuIHRocm93IG9mZiBvdXIgY2FsY3VsYXRpb24KKwlicmllZmx5LgorCSogaW5zZGVs
LmMgKGJ1ZmZlcl9pbnNlcnRfc3RyaW5nXzEpOgorCUJlbiBjaGFuZ2VkIHRoZSBzZW1hbnRpY3Mg
b2YgYXNzZXJ0aW9ucyBvbiBidWlsZHMgd2l0aG91dAorCWFzc2VydGlvbnMgZW5hYmxlZC0tdGhl
IHN0YXRlbWVudCBpcyBub3cgYWx3YXlzIGV4ZWN1dGVkLS1zbyB3cmFwCisJYW4gYXNzZXJ0aW9u
IHRoYXQsIHdoZW4gZW5hYmxlZCwgbWlzc2VzIHRoZSBwb2ludCBvZiB0aGUgTHN0cmVhbQorCWNo
YXJhY3RlciBjb3VudCBpbmZyYXN0cnVjdHVyZSBlbnRpcmVseSwgaW4gI2lmZGVmCisJRVJST1Jf
Q0hFQ0tfVEVYVC4KKwogMjAxNi0wNi0xNiAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJk
Lm5ldD4KIAogCSogcmVnZXguYzoKZGlmZiAtciAxYzAwY2NmNTYxOTMgLXIgNjI4NjkzOTZmOTVk
IHNyYy9maWxlaW8uYwotLS0gYS9zcmMvZmlsZWlvLmMJVGh1IEp1biAxNiAxNDoxNzo1NyAyMDE2
ICswMTAwCisrKyBiL3NyYy9maWxlaW8uYwlTYXQgSnVuIDI1IDEwOjI3OjM0IDIwMTYgKzAxMDAK
QEAgLTMyMDgsMTMgKzMyMDgsMTIgQEAKIAkgICAgYnJlYWs7CiAJICB9CiAKKyAgICAgICAgdGhp
c190ZWxsID0gTHN0cmVhbV9jaGFyYWN0ZXJfdGVsbCAoWExTVFJFQU0gKHN0cmVhbSkpOwogCWNj
X2luc2VydGVkCiAgICAgICAgICAgPSBidWZmZXJfaW5zZXJ0X3N0cmluZ18xIChidWYsIGN1cl9w
b2ludCwgcmVhZF9idWYsIFFuaWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAwLCB0aGlzX2xlbiwgbGFzdF90ZWxsID49IDAKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID8gKHRoaXNfdGVsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSBMc3RyZWFtX2NoYXJhY3Rlcl90ZWxsIChYTFNUUkVBTQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyZWFt
KSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIGxhc3RfdGVsbCA6IC0x
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgdGhpc19sZW4sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFzdF90ZWxsID49IDAgJiYgdGhpc190
ZWxsID49IDApID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzX3Rl
bGwgLSBsYXN0X3RlbGwpIDogLTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAhTklMUCAodmlzaXQpID8gSU5TREVMX05PX0xPQ0tJTkcgOiAwKTsKIAlpbnNlcnRlZCAgKz0g
Y2NfaW5zZXJ0ZWQ7CiAJY3VyX3BvaW50ICs9IGNjX2luc2VydGVkOwpkaWZmIC1yIDFjMDBjY2Y1
NjE5MyAtciA2Mjg2OTM5NmY5NWQgc3JjL2luc2RlbC5jCi0tLSBhL3NyYy9pbnNkZWwuYwlUaHUg
SnVuIDE2IDE0OjE3OjU3IDIwMTYgKzAxMDAKKysrIGIvc3JjL2luc2RlbC5jCVNhdCBKdW4gMjUg
MTA6Mjc6MzQgMjAxNiArMDEwMApAQCAtMTE0MiwxMiArMTE0MiwxNCBAQAogICAgIH0KICAgZWxz
ZQogICAgIHsKKyNpZmRlZiBFUlJPUl9DSEVDS19URVhUCiAgICAgICB0ZXh0X2NoZWNraW5nX2Fz
c2VydCAoY2NsZW4gPiAwICYmIGNjbGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPT0g
KFNUUklOR1AgKHJlbG9jKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlu
Z19vZmZzZXRfYnl0ZV90b19jaGFyX2xlbiAocmVsb2MsIG9mZnNldCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGgp
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYnl0ZWNvdW50X3RvX2NoYXJjb3Vu
dCAobm9ucmVsb2MgKyBvZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGVuZ3RoKSkpOworI2VuZGlmIC8qIEVSUk9SX0NIRUNL
X1RFWFQgKi8KICAgICB9CiAKICAgLyogJiYjIyMjIEhlcmUgd2UgY2hlY2sgaWYgdGhlIHRleHQg
Y2FuJ3QgZml0IGludG8gdGhlIGZvcm1hdCBvZiB0aGUgYnVmZmVyLAoKCi0tIArigJhUcmFtYWRv
bCBpcyBmdXJ0aGVyIGZlZCB0byBjYXR0bGUgW+KApl0gd2hlbiB3b3JraW5nIHRoZW0gW+KApl0g
KGFzIGRyYWZ0CmFuaW1hbHMpIHNvIHRoYXQgdGhlIGFuaW1hbHMgZG8gbm90IGdldCB0aXJlZCBx
dWlja2x5LiDigKbigJkKCeKAlCBBbmdld2FuZHRlIENoZW1pZSwgU2VwdCAyMDE0LCBkZXNjcmli
aW5nIHRoZSBzb2NpYWwgY29udGV4dCBvZgoJKHN5bnRoZXRpYykgdHJhbWFkb2wgaGF2aW5nIGJl
ZW4gZm91bmQgaW4gQ2FtZXJvb24gdHJlZSByb290cy4KCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fClhFbWFjcy1QYXRjaGVzIG1haWxpbmcgbGlzdApYRW1h
Y3MtUGF0Y2hlc0B4ZW1hY3Mub3JnCmh0dHA6Ly9saXN0cy54ZW1hY3Mub3JnL21haWxtYW4vbGlz
dGluZm8veGVtYWNzLXBhdGNoZXMK