From xemacs-m  Thu Jan 16 10:20:10 1997
Received: from nvwls.cc.purdue.edu (root@nvwls.cc.purdue.edu [128.210.7.3])
          by xemacs.org (8.8.4/8.8.4) with ESMTP
	  id KAA28708 for <XEmacs-Beta@XEmacs.org>; Thu, 16 Jan 1997 10:20:09 -0600 (CST)
Received: from nvwls.cc.purdue.edu (nuspl@localhost [127.0.0.1]) by nvwls.cc.purdue.edu (8.7.5/8.7.3) with ESMTP id LAA27128 for <XEmacs-Beta@XEmacs.org>; Thu, 16 Jan 1997 11:13:09 -0500
Message-Id: <199701161613.LAA27128@nvwls.cc.purdue.edu>
Reply-to: nuspl@purdue.edu
X-Mailer: MH-E 5.0.2
X-Attribution: jjn
X-Face: K'Q`VIQx)c-;TPHDA`.,kBQq(WyNe3AdopJ?B(.4yT%n|F?4>+?x]pQ4XC83s-4;|U{%9x]
 =yr4dko
To: XEmacs-Beta@XEmacs.org
Subject: overlay.el
Mime-Version: 1.0 (generated by tm-edit 7.100)
Content-Type: multipart/mixed;
 boundary="Multipart_Thu_Jan_16_11:12:52_1997-1"
Content-Transfer-Encoding: 7bit
Date: Thu, 16 Jan 1997 11:13:06 -0500
From: Joe Nuspl <nuspl@nvwls.cc.purdue.edu>

--Multipart_Thu_Jan_16_11:12:52_1997-1
Content-Type: text/plain; charset=US-ASCII


I finished overlay.el last night.

Any feedback you might have would be greatly appreciated.


--Multipart_Thu_Jan_16_11:12:52_1997-1
Content-Type: application/octet-stream; type=emacs-lisp
Content-Disposition: attachment; filename="overlay.el"
Content-Transfer-Encoding: base64

Ozs7IG92ZXJsYXkuZWwgLS0tIG92ZXJsYXkgc3VwcG9ydC4KCjs7OzsgQ29weXJpZ2h0IChD
KSAxOTk3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgoKOzsgTWFpbnRhaW5lcjog
WEVtYWNzCjs7IEtleXdvcmRzOiBpbnRlcm5hbAoKOzsgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg
WEVtYWNzLgoKOzsgWEVtYWNzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKOzsgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOzsgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9u
KQo7OyBhbnkgbGF0ZXIgdmVyc2lvbi4KCjs7IFhFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKOzsgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo7OyBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQo7OyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgo7OyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQo7OyBhbG9uZyB3aXRoIFhFbWFjczsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
ICBJZiBub3QsIHdyaXRlIHRvIHRoZSAKOzsgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCA1
OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCjs7IEJvc3RvbiwgTUEgMDIxMTEtMTMwNywg
VVNBLgoKOzs7IFN5bmNoZWQgdXAgd2l0aDogTm90IGluIEZTRi4KCihkZWZ1biBvdmVybGF5
cCAob2JqZWN0KQogICJSZXR1cm4gdCBpZiBPQkpFQ1QgaXMgYW4gb3ZlcmxheS4iCiAgKGFu
ZCAoZXh0ZW50cCBvYmplY3QpCiAgICAgICAoZXh0ZW50LXByb3BlcnR5IG9iamVjdCAnb3Zl
cmxheSkpKQoKKGRlZnVuIG1ha2Utb3ZlcmxheSAoYmVnIGVuZCAmb3B0aW9uYWwgYnVmZmVy
IGZyb250LWFkdmFuY2UgcmVhci1hZHZhbmNlKQogICJDcmVhdGUgYSBuZXcgb3ZlcmxheSB3
aXRoIHJhbmdlIEJFRyB0byBFTkQgaW4gQlVGRkVSLgpJZiBvbWl0dGVkLCBCVUZGRVIgZGVm
YXVsdHMgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLgpCRUcgYW5kIEVORCBtYXkgYmUgaW50ZWdl
cnMgb3IgbWFya2Vycy4KVGhlIGZvdXJ0aCBhcmcgRlJPTlQtQURWQU5DRSwgaWYgbm9uLW5p
bCwgbWFrZXMgdGhlCmZyb250IGRlbGltaXRlciBhZHZhbmNlIHdoZW4gdGV4dCBpcyBpbnNl
cnRlZCB0aGVyZS4KVGhlIGZpZnRoIGFyZyBSRUFSLUFEVkFOQ0UsIGlmIG5vbi1uaWwsIG1h
a2VzIHRoZQpyZWFyIGRlbGltaXRlciBhZHZhbmNlIHdoZW4gdGV4dCBpcyBpbnNlcnRlZCB0
aGVyZS4iCiAgKGxldCAob3ZlcmxheSB0ZW1wKQogICAgKGlmIChudWxsIGJ1ZmZlcikKCShz
ZXRxIGJ1ZmZlciAoY3VycmVudC1idWZmZXIpKQogICAgICAoY2hlY2stYXJndW1lbnQtdHlw
ZSAnYnVmZmVycCBidWZmZXIpKQoKICAgIChpZiAoPiBiZWcgZW5kKQoJKHNldHEgdGVtcCBi
ZWcKCSAgICAgIGJlZyBlbmQKCSAgICAgIGVuZCB0ZW1wKSkKCiAgICAoc2V0cSBvdmVybGF5
IChtYWtlLWV4dGVudCBiZWcgZW5kIGJ1ZmZlcikpCiAgICAoc2V0LWV4dGVudC1wcm9wZXJ0
eSBvdmVybGF5ICdvdmVybGF5IHQpCgogICAgKGlmIGZyb250LWFkdmFuY2UKCShzZXQtZXh0
ZW50LXByb3BlcnR5IG92ZXJsYXkgJ3N0YXJ0LW9wZW4gdCkKICAgICAgKHNldC1leHRlbnQt
cHJvcGVydHkgb3ZlcmxheSAnc3RhcnQtY2xvc2VkIHQpKQoKICAgIChpZiByZWFyLWFkdmFu
Y2UKCShzZXQtZXh0ZW50LXByb3BlcnR5IG92ZXJsYXkgJ2VuZC1jbG9zZWQgdCkKICAgICAg
KHNldC1leHRlbnQtcHJvcGVydHkgb3ZlcmxheSAnZW5kLW9wZW4gdCkpCgogICAgb3Zlcmxh
eSkpCgooZGVmdW4gbW92ZS1vdmVybGF5IChvdmVybGF5IGJlZyBlbmQgJm9wdGlvbmFsIGJ1
ZmZlcikKICAiU2V0IHRoZSBlbmRwb2ludHMgb2YgT1ZFUkxBWSB0byBCRUcgYW5kIEVORCBp
biBCVUZGRVIuCklmIEJVRkZFUiBpcyBvbWl0dGVkLCBsZWF2ZSBPVkVSTEFZIGluIHRoZSBz
YW1lIGJ1ZmZlciBpdCBpbmhhYml0cyBub3cuCklmIEJVRkZFUiBpcyBvbWl0dGVkLCBhbmQg
T1ZFUkxBWSBpcyBpbiBubyBidWZmZXIsIHB1dCBpdCBpbiB0aGUgY3VycmVudApidWZmZXIu
IgogIChsZXQgKHRlbXApCiAgICAoY2hlY2stYXJndW1lbnQtdHlwZSAnb3ZlcmxheXAgb3Zl
cmxheSkKICAgIChpZiAobnVsbCBidWZmZXIpCgkoc2V0cSBidWZmZXIgKGV4dGVudC1vYmpl
Y3Qgb3ZlcmxheSkpKQogICAgCiAgICAoaWYgKG51bGwgYnVmZmVyKQoJKHNldHEgYnVmZmVy
IChjdXJyZW50LWJ1ZmZlcikpKQogICAgCiAgICAoY2hlY2stYXJndW1lbnQtdHlwZSAnYnVm
ZmVycCBidWZmZXIpCiAgICAKICAgIChpZiAoYW5kICg9IGJlZyBlbmQpCgkgICAgIChub3Qg
KG51bGwgKGV4dGVudC1wcm9wZXJ0eSBvdmVybGF5ICdldmFwb3JhdGUpKSkpCgkoZGVsZXRl
LW92ZXJsYXkgb3ZlcmxheSkKCiAgICAgIChpZiAoPiBiZWcgZW5kKQoJICAoc2V0cSB0ZW1w
IGJlZwoJCWJlZyBlbmQKCQllbmQgdGVtcCkpCgogICAgICAoc2V0LWV4dGVudC1lbmRwb2lu
dHMgb3ZlcmxheSBiZWcgZW5kIGJ1ZmZlcikKICAgICAgb3ZlcmxheSkpKQoKKGRlZnVuIGRl
bGV0ZS1vdmVybGF5IChvdmVybGF5KQogICJEZWxldGUgdGhlIG92ZXJsYXkgT1ZFUkxBWSBm
cm9tIGl0cyBidWZmZXIuIgogIChjaGVjay1hcmd1bWVudC10eXBlICdvdmVybGF5cCBvdmVy
bGF5KQogIChkZXRhY2gtZXh0ZW50IG92ZXJsYXkpCiAgbmlsKQoKKGRlZnVuIG92ZXJsYXkt
c3RhcnQgKG92ZXJsYXkpCiAgIlJldHVybiB0aGUgcG9zaXRpb24gYXQgd2hpY2ggT1ZFUkxB
WSBzdGFydHMuIgogIChjaGVjay1hcmd1bWVudC10eXBlICdvdmVybGF5cCBvdmVybGF5KQog
IChleHRlbnQtc3RhcnQtcG9zaXRpb24gb3ZlcmxheSkpCgooZGVmdW4gb3ZlcmxheS1lbmQg
KG92ZXJsYXkpCiAgIlJldHVybiB0aGUgcG9zaXRpb24gYXQgd2hpY2ggT1ZFUkxBWSBlbmRz
LiIKICAoY2hlY2stYXJndW1lbnQtdHlwZSAnb3ZlcmxheXAgb3ZlcmxheSkKICAoZXh0ZW50
LWVuZC1wb3NpdGlvbiBvdmVybGF5KSkKCihkZWZ1biBvdmVybGF5LWJ1ZmZlciAob3Zlcmxh
eSkKICAiUmV0dXJuIHRoZSBidWZmZXIgT1ZFUkxBWSBiZWxvbmdzIHRvLiIKICAoY2hlY2st
YXJndW1lbnQtdHlwZSAnb3ZlcmxheXAgb3ZlcmxheSkKICAoZXh0ZW50LW9iamVjdCBvdmVy
bGF5KSkKCihkZWZ1biBvdmVybGF5LXByb3BlcnRpZXMgKG92ZXJsYXkpCiAgIlJldHVybiBh
IGxpc3Qgb2YgdGhlIHByb3BlcnRpZXMgb24gT1ZFUkxBWS4KVGhpcyBpcyBhIGNvcHkgb2Yg
T1ZFUkxBWSdzIHBsaXN0OyBtb2RpZnlpbmcgaXRzIGNvbnNlcyBoYXMgbm8gZWZmZWN0IG9u
Ck9WRVJMQVkuIgogIChjaGVjay1hcmd1bWVudC10eXBlICdvdmVybGF5cCBvdmVybGF5KQog
IChleHRlbnQtcHJvcGVydGllcyBvdmVybGF5KSkKCihkZWZ1biBvdmVybGF5cy1hdCAocG9z
KQogICJSZXR1cm4gYSBsaXN0IG9mIHRoZSBvdmVybGF5cyB0aGF0IGNvbnRhaW4gcG9zaXRp
b24gUE9TLiIKICAob3ZlcmxheXMtaW4gcG9zIHBvcykpCgooZGVmdW4gb3ZlcmxheXMtaW4g
KGJlZyBlbmQpCiAgIlJldHVybiBhIGxpc3Qgb2YgdGhlIG92ZXJsYXlzIHRoYXQgb3Zlcmxh
cCB0aGUgcmVnaW9uIEJFRyAuLi4gRU5ELgpPdmVybGFwIG1lYW5zIHRoYXQgYXQgbGVhc3Qg
b25lIGNoYXJhY3RlciBpcyBjb250YWluZWQgd2l0aGluIHRoZSBvdmVybGF5CmFuZCBhbHNv
IGNvbnRhaW5lZCB3aXRoaW4gdGhlIHNwZWNpZmllZCByZWdpb24uCkVtcHR5IG92ZXJsYXlz
IGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IGlmIHRoZXkgYXJlIGxvY2F0ZWQgYXQgQkVH
Cm9yIGJldHdlZW4gQkVHIGFuZCBFTkQuIgogIChsZXQgKGxzdCkKICAgIChtYXBjYXIgKGZ1
bmN0aW9uCgkgICAgIChsYW1iZGEgKG92ZXJsYXkpCgkgICAgICAgKGFuZCAoZXh0ZW50LXBy
b3BlcnR5IG92ZXJsYXkgJ292ZXJsYXkpCgkJICAgIChzZXRxIGxzdCAoYXBwZW5kIGxzdCAo
bGlzdCBvdmVybGF5KSkpKSkpCgkgICAgKGV4dGVudC1saXN0IG5pbCBiZWcgZW5kKSkKICAg
IGxzdCkpCgooZGVmdW4gbmV4dC1vdmVybGF5LWNoYW5nZSAocG9zKQogICJSZXR1cm4gdGhl
IG5leHQgcG9zaXRpb24gYWZ0ZXIgUE9TIHdoZXJlIGFuIG92ZXJsYXkgc3RhcnRzIG9yIGVu
ZHMuCklmIHRoZXJlIGFyZSBubyBtb3JlIG92ZXJsYXkgYm91bmRhcmllcyBhZnRlciBQT1Ms
IHJldHVybiAocG9pbnQtbWF4KS4iCiAgKGxldCAoKG5leHQgKHBvaW50LW1heCkpCgllbmQp
CiAgICAobWFwY2FyIChmdW5jdGlvbgoJICAgICAobGFtYmRhIChvdmVybGF5KQoJICAgICAg
IChpZiAoPCAoc2V0cSBlbmQgKGV4dGVudC1lbmQtcG9zaXRpb24gb3ZlcmxheSkpIG5leHQp
CgkJICAgKHNldHEgbmV4dCBlbmQpKSkpCgkgICAgKG92ZXJsYXlzLWluIHBvcyBlbmQpKQog
ICAgbmV4dCkpCgooZGVmdW4gcHJldmlvdXMtb3ZlcmxheS1jaGFuZ2UgKHBvcykKICAiUmV0
dXJuIHRoZSBwcmV2aW91cyBwb3NpdGlvbiBiZWZvcmUgUE9TIHdoZXJlIGFuIG92ZXJsYXkg
c3RhcnRzIG9yIGVuZHMuCklmIHRoZXJlIGFyZSBubyBtb3JlIG92ZXJsYXkgYm91bmRhcmll
cyBiZWZvcmUgUE9TLCByZXR1cm4gKHBvaW50LW1pbikuIgogIChsZXQgKChwcmV2IChwb2lu
dC1taW4pKQoJYmVnKQogICAgKG1hcGNhciAoZnVuY3Rpb24KCSAgICAgKGxhbWJkYSAob3Zl
cmxheSkKCSAgICAgICAoaWYgKGFuZCAoPiAoc2V0cSBiZWcgKGV4dGVudC1zdGFydC1wb3Np
dGlvbiBvdmVybGF5KSkgcHJldikKCQkJKDwgYmVnIHBvcykpCgkJICAgKHNldHEgcHJldiBi
ZWcpKSkpCgkgICAgKG92ZXJsYXlzLWluIHByZXYgcG9zKSkKICAgIHByZXYpKQoKKGRlZnVu
IG92ZXJsYXktbGlzdHMgKCkKICAiUmV0dXJuIGEgcGFpciBvZiBsaXN0cyBnaXZpbmcgYWxs
IHRoZSBvdmVybGF5cyBvZiB0aGUgY3VycmVudCBidWZmZXIuClRoZSBjYXIgaGFzIGFsbCB0
aGUgb3ZlcmxheXMgYmVmb3JlIHRoZSBvdmVybGF5IGNlbnRlcjsKdGhlIGNkciBoYXMgYWxs
IHRoZSBvdmVybGF5cyBhZnRlciB0aGUgb3ZlcmxheSBjZW50ZXIuClJlY2VudGVyaW5nIG92
ZXJsYXlzIG1vdmVzIG92ZXJsYXlzIGJldHdlZW4gdGhlc2UgbGlzdHMuClRoZSBsaXN0cyB5
b3UgZ2V0IGFyZSBjb3BpZXMsIHNvIHRoYXQgY2hhbmdpbmcgdGhlbSBoYXMgbm8gZWZmZWN0
LgpIb3dldmVyLCB0aGUgb3ZlcmxheXMgeW91IGdldCBhcmUgdGhlIHJlYWwgb2JqZWN0cyB0
aGF0IHRoZSBidWZmZXIgdXNlcy4iCiAgKGlmIChub3QgKGJvdW5kcCAneGVtYWNzLWludGVy
bmFsLW92ZXJsYXktY2VudGVyLXBvcykpCiAgICAgIChvdmVybGF5LXJlY2VudGVyICgvICgt
IChwb2ludC1tYXgpIChwb2ludC1taW4pKSAyKSkpCiAgKGxldCAoKHBvcyB4ZW1hY3MtaW50
ZXJuYWwtb3ZlcmxheS1jZW50ZXItcG9zKQoJYmVmb3JlIGFmdGVyKQogICAgKG1hcGNhcgog
ICAgIChmdW5jdGlvbgogICAgICAobGFtYmRhIChvdmVybGF5KQoJKGlmIChleHRlbnQtcHJv
cGVydHkgb3ZlcmxheSAnb3ZlcmxheSkKCSAgICAoaWYgKD4gcG9zIChleHRlbnQtZW5kLXBv
c2l0aW9uIG92ZXJsYXkpKQoJCShzZXRxIGJlZm9yZSAoYXBwZW5kIGJlZm9yZSAobGlzdCBv
dmVybGF5KSkpCgkgICAgICAoc2V0cSBhZnRlciAoYXBwZW5kIGFmdGVyIChsaXN0IG92ZXJs
YXkpKSkpKSkpCiAgICAgKGV4dGVudC1saXN0KSkKICAgIChsaXN0IGJlZm9yZSBhZnRlcikp
KQoKKGRlZnVuIG92ZXJsYXktcmVjZW50ZXIgKHBvcykKICAiUmVjZW50ZXIgdGhlIG92ZXJs
YXlzIG9mIHRoZSBjdXJyZW50IGJ1ZmZlciBhcm91bmQgcG9zaXRpb24gUE9TLiIKICAoc2V0
IChtYWtlLWxvY2FsLXZhcmlhYmxlICd4ZW1hY3MtaW50ZXJuYWwtb3ZlcmxheS1jZW50ZXIt
cG9zKSBwb3MpKQoKKGRlZnVuIG92ZXJsYXktZ2V0IChvdmVybGF5IHByb3ApCiAgIkdldCB0
aGUgcHJvcGVydHkgb2Ygb3ZlcmxheSBPVkVSTEFZIHdpdGggcHJvcGVydHkgbmFtZSBQUk9Q
LiIKICAoY2hlY2stYXJndW1lbnQtdHlwZSAnb3ZlcmxheXAgb3ZlcmxheSkKICAoZXh0ZW50
LXByb3BlcnR5IG92ZXJsYXkgcHJvcCkpCgooZGVmdW4gb3ZlcmxheS1wdXQgKG92ZXJsYXkg
cHJvcCB2YWx1ZSkKICAiU2V0IG9uZSBwcm9wZXJ0eSBvZiBvdmVybGF5IE9WRVJMQVk6IGdp
dmUgcHJvcGVydHkgUFJPUCB2YWx1ZSBWQUxVRS4iCiAgKGNoZWNrLWFyZ3VtZW50LXR5cGUg
J292ZXJsYXlwIG92ZXJsYXkpCiAgKHNldC1leHRlbnQtcHJvcGVydHkgb3ZlcmxheSBwcm9w
IHZhbHVlKSkKCg==

--Multipart_Thu_Jan_16_11:12:52_1997-1--

