Behave sensibly with list sequence, :from-end t, 0-length range, #'reduce.

Aidan Kehoe <[email protected]> Tue, 31 May 2016 23:08:13 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
CkFQUFJPVkUgQ09NTUlUCgpOT1RFOiBUaGlzIHBhdGNoIGhhcyBiZWVuIGNvbW1pdHRlZAoKIyBI
RyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIEFpZGFuIEtlaG9lIDxrZWhvZWFAcGFyaGFzYXJkLm5l
dD4KIyBEYXRlIDE0NjQ3MzIzODggLTM2MDAKIyAgICAgIFR1ZSBNYXkgMzEgMjM6MDY6MjggMjAx
NiArMDEwMAojIE5vZGUgSUQgY2JjZDhjYmRjZTZiNmIzNDg2Mzc4NmRjNWZiZjQ0NzkzZWRmYTUy
OAojIFBhcmVudCAgZDViNTFjNjE4ZWY4NWNiNGNiNTczODY4NWQ4M2VlOWNmZDk1MTRhNQpCZWhh
dmUgc2Vuc2libHkgd2l0aCBsaXN0IHNlcXVlbmNlLCA6ZnJvbS1lbmQgdCwgemVyby1sZW5ndGgg
cmFuZ2UsICMncmVkdWNlLgoKc3JjL0NoYW5nZUxvZyBhZGRpdGlvbjoKCjIwMTYtMDUtMzEgIEFp
ZGFuIEtlaG9lICA8a2Vob2VhQHBhcmhhc2FyZC5uZXQ+CgoJKiBzZXF1ZW5jZS5jIChGcmVkdWNl
KToKCUJlaGF2ZSBzZW5zaWJseSB3aXRoIGEgY29ucyBzZXF1ZW5jZSwgOmZyb20tZW5kIG5vbi1u
aWwsIGFuZCBhCgl6ZXJvLWxlbmd0aCByYW5nZSwgYXZvaWQgYSBjcmFzaCBpbiB0aGlzIGNvbnRl
eHQuCgp0ZXN0cy9DaGFuZ2VMb2cgYWRkaXRpb246CgoyMDE2LTA1LTMxICBBaWRhbiBLZWhvZSAg
PGtlaG9lYUBwYXJoYXNhcmQubmV0PgoKCSogYXV0b21hdGVkL2xpc3AtdGVzdHMuZWw6CglUZXN0
ICMncmVkdWNlIGNhbiBoYW5kbGUgOmZyb20tZW5kIG5vbi1uaWwgYW5kIGEgemVybyBsZW5ndGgK
CXJhbmdlLCBsaXN0IHNlcXVlbmNlLgoKZGlmZiAtciBkNWI1MWM2MThlZjggLXIgY2JjZDhjYmRj
ZTZiIHNyYy9DaGFuZ2VMb2cKLS0tIGEvc3JjL0NoYW5nZUxvZwlTYXQgTWF5IDA3IDIzOjI1OjI0
IDIwMTYgKzAxMDAKKysrIGIvc3JjL0NoYW5nZUxvZwlUdWUgTWF5IDMxIDIzOjA2OjI4IDIwMTYg
KzAxMDAKQEAgLTEsMyArMSw5IEBACisyMDE2LTA1LTMxICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBw
YXJoYXNhcmQubmV0PgorCisJKiBzZXF1ZW5jZS5jIChGcmVkdWNlKToKKwlCZWhhdmUgc2Vuc2li
bHkgd2l0aCBhIGNvbnMgc2VxdWVuY2UsIDpmcm9tLWVuZCBub24tbmlsLCBhbmQgYQorCXplcm8t
bGVuZ3RoIHJhbmdlLCBhdm9pZCBhIGNyYXNoIGluIHRoaXMgY29udGV4dC4KKwogMjAxNi0wNS0w
NyAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KIAogCSogc2VxdWVuY2UuYyAo
c3VibGlzKTogR0MgcHJvdGVjdCB0aGUgcmVzdWx0cyByZXR1cm5lZCBieQpkaWZmIC1yIGQ1YjUx
YzYxOGVmOCAtciBjYmNkOGNiZGNlNmIgc3JjL3NlcXVlbmNlLmMKLS0tIGEvc3JjL3NlcXVlbmNl
LmMJU2F0IE1heSAwNyAyMzoyNToyNCAyMDE2ICswMTAwCisrKyBiL3NyYy9zZXF1ZW5jZS5jCVR1
ZSBNYXkgMzEgMjM6MDY6MjggMjAxNiArMDEwMApAQCAtNTE3OCwyMiArNTE3OCwxOSBAQAogCQkg
cmVhY2hhYmxlIHZpYSBTRVFVRU5DRS4gICovCiAJICAgICAgR0NQUk8xIChzdWJzZXF1ZW5jZVsw
XSk7CiAJICAgICAgZ2Nwcm8xLm52YXJzID0gbGVuOwotCSAgICB9Ci0KLSAgICAgICAgICBpZiAo
bmVlZF9hY2N1bSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgYWNjdW0gPSBLRVkgKGtl
eSwgc3Vic2VxdWVuY2VbbGVuIC0gMV0pOwotICAgICAgICAgICAgICAtLWxlbjsKLSAgICAgICAg
ICAgIH0KLQotICAgICAgICAgIGZvciAoaWkgPSBsZW47IGlpICE9IDA7KQotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAtLWlpOwotICAgICAgICAgICAgICBhY2N1bSA9IENBTEwyIChmdW5j
dGlvbiwgS0VZIChrZXksIHN1YnNlcXVlbmNlW2lpXSksIGFjY3VtKTsKLSAgICAgICAgICAgIH0K
LQotCSAgaWYgKHN1YnNlcXVlbmNlICE9IE5VTEwpCi0JICAgIHsKKworICAgICAgICAgICAgICBp
ZiAobmVlZF9hY2N1bSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBhY2N1
bSA9IEtFWSAoa2V5LCBzdWJzZXF1ZW5jZVtsZW4gLSAxXSk7CisgICAgICAgICAgICAgICAgICAt
LWxlbjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgZm9yIChpaSA9IGxlbjsg
aWkgIT0gMDspCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgLS1paTsKKyAg
ICAgICAgICAgICAgICAgIGFjY3VtID0gQ0FMTDIgKGZ1bmN0aW9uLCBLRVkgKGtleSwgc3Vic2Vx
dWVuY2VbaWldKSwgYWNjdW0pOworICAgICAgICAgICAgICAgIH0KKwogCSAgICAgIFVOR0NQUk87
CiAJICAgIH0KICAgICAgICAgfQpkaWZmIC1yIGQ1YjUxYzYxOGVmOCAtciBjYmNkOGNiZGNlNmIg
dGVzdHMvQ2hhbmdlTG9nCi0tLSBhL3Rlc3RzL0NoYW5nZUxvZwlTYXQgTWF5IDA3IDIzOjI1OjI0
IDIwMTYgKzAxMDAKKysrIGIvdGVzdHMvQ2hhbmdlTG9nCVR1ZSBNYXkgMzEgMjM6MDY6MjggMjAx
NiArMDEwMApAQCAtMSwzICsxLDkgQEAKKzIwMTYtMDUtMzEgIEFpZGFuIEtlaG9lICA8a2Vob2Vh
QHBhcmhhc2FyZC5uZXQ+CisKKwkqIGF1dG9tYXRlZC9saXNwLXRlc3RzLmVsOgorCVRlc3QgIydy
ZWR1Y2UgY2FuIGhhbmRsZSA6ZnJvbS1lbmQgbm9uLW5pbCBhbmQgYSB6ZXJvIGxlbmd0aAorCXJh
bmdlLCBsaXN0IHNlcXVlbmNlLgorCiAyMDE2LTA1LTA3ICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBw
YXJoYXNhcmQubmV0PgogCiAJKiBhdXRvbWF0ZWQvbGlzcC10ZXN0cy5lbDoKZGlmZiAtciBkNWI1
MWM2MThlZjggLXIgY2JjZDhjYmRjZTZiIHRlc3RzL2F1dG9tYXRlZC9saXNwLXRlc3RzLmVsCi0t
LSBhL3Rlc3RzL2F1dG9tYXRlZC9saXNwLXRlc3RzLmVsCVNhdCBNYXkgMDcgMjM6MjU6MjQgMjAx
NiArMDEwMAorKysgYi90ZXN0cy9hdXRvbWF0ZWQvbGlzcC10ZXN0cy5lbAlUdWUgTWF5IDMxIDIz
OjA2OjI4IDIwMTYgKzAxMDAKQEAgLTI1ODcsNiArMjU4NywxMSBAQAogCQkJCSAgICAgKGdhcmJh
Z2UtY29sbGVjdCkpKSkpKQogICJjaGVja2luZyB3ZSBjYW4gYW1wdXRhdGUgbGlzdHMgd2l0aG91
dCBjcmFzaGluZyAjJ3JlZHVjZSIpCiAKKyhBc3NlcnQgKGVxICdwbGFjZWhvbGRlciAocmVkdWNl
ICMnY29ucyAnKGEgYiBjIGQgZSBmIGcgaCBpIGopCis6ZnJvbS1lbmQgdCA6c3RhcnQgMCA6ZW5k
IDAKKzppbml0aWFsLXZhbHVlICdwbGFjZWhvbGRlcikpCisgICAgICAgICJjaGVja2luZyA6ZnJv
bS1lbmQgYW5kIHplcm8tbGVuZ3RoIHJhbmdlcyBkb24ndCBjcmFzaCwgIydyZWR1Y2UiKQorCiAo
QXNzZXJ0IChub3QgKGVxIHQgKGNhbm9uaWNhbGl6ZS1pbnN0LWxpc3QKIAkJICAgIGAoKChtc3dp
bmRvd3MpIC4gW3N0cmluZyA6ZGF0YSAsKG1ha2Utc3RyaW5nIDIwIDApXSkKIAkJICAgICAgKCh0
dHkpIC4gW3N0cmluZyA6ZGF0YSAiICJdKSkgJ2ltYWdlIHQpKSkKCgotLSAK4oCYVHJhbWFkb2wg
aXMgZnVydGhlciBmZWQgdG8gY2F0dGxlIFvigKZdIHdoZW4gd29ya2luZyB0aGVtIFvigKZdIChh
cyBkcmFmdAphbmltYWxzKSBzbyB0aGF0IHRoZSBhbmltYWxzIGRvIG5vdCBnZXQgdGlyZWQgcXVp
Y2tseS4g4oCm4oCZCgnigJQgQW5nZXdhbmR0ZSBDaGVtaWUsIFNlcHQgMjAxNCwgZGVzY3JpYmlu
ZyB0aGUgc29jaWFsIGNvbnRleHQgb2YKCShzeW50aGV0aWMpIHRyYW1hZG9sIGhhdmluZyBiZWVu
IGZvdW5kIGluIENhbWVyb29uIHRyZWUgcm9vdHMuCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpYRW1hY3MtUGF0Y2hlcyBtYWlsaW5nIGxpc3QKWEVtYWNz
LVBhdGNoZXNAeGVtYWNzLm9yZwpodHRwOi8vbGlzdHMueGVtYWNzLm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL3hlbWFjcy1wYXRjaGVzCg==