From xemacs-m  Sun Feb  2 21:39:22 1997
Received: from crystal.WonderWorks.COM (crystal.WonderWorks.com [192.203.206.1])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id VAA15829
	for <xemacs-beta@xemacs.org>; Sun, 2 Feb 1997 21:39:19 -0600 (CST)
Received: by crystal.WonderWorks.COM 
	id QQcbfy18490; Sun, 2 Feb 1997 22:39:18 -0500 (EST)
Date: Sun, 2 Feb 1997 22:39:18 -0500 (EST)
Message-Id: <QQcbfy18490.199702030339@crystal.WonderWorks.COM>
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary=XddpFlWly43o3Ah6H8J2FJZlitNav/+GdbwjBGI0
Content-Transfer-Encoding: 7bit
From: Kyle Jones <kyle_jones@wonderworks.com>
To: xemacs-beta@xemacs.org
Subject: redo


--XddpFlWly43o3Ah6H8J2FJZlitNav/+GdbwjBGI0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

OK, I impleemnted the redo thing Hrovje described.  Have at it
and see if I got it right.


--XddpFlWly43o3Ah6H8J2FJZlitNav/+GdbwjBGI0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64

Ozs7IFJlZG8vdW5kbyBzeXN0ZW0gZm9yIFhFbWFjcwo7OzsKOzs7IEF1dGhvcjogS3lsZSBF
LiBKb25lcywgRmVicnVhcnkgMTk5Nwo7OzsKOzs7IERlcml2ZWQgcGFydGx5IGZyb20gbGlz
cC9wcmltL3NpbXBsZS5lbCBpbiBYRW1hY3MKOzs7IExvb2sgdGhlcmUgZm9yIGNvcHlyaWdo
dCBnb29wLgoKOzs7IEVtYWNzJyBub3JtYWwgdW5kbyBzeXN0ZW0gYWxsb3dzIHlvdSB0byB1
bmRvIGFuIGFyYml0cmFyeQo7OzsgbnVtYmVyIG9mIGJ1ZmZlciBjaGFuZ2VzLiAgVGhlc2Ug
dW5kb3MgYXJlIHJlY29yZGVkIGFzIG9yZGluYXJ5Cjs7OyBidWZmZXIgY2hhbmdlcyB0aGVt
c2VsdmVzLiAgU28gd2hlbiB5b3UgYnJlYWsgdGhlIGNoYWluIG9mCjs7OyB1bmRvcyBieSBp
c3N1aW5nIHNvbWUgb3RoZXIgY29tbWFuZCwgeW91IGNhbiB0aGVuIHVuZG8gYWxsCjs7OyB0
aGUgdW5kb3MuICBUaGUgY2hhaW4gb2YgcmVjb3JkZWQgYnVmZmVyIG1vZGlmaWNhdGlvbnMK
Ozs7IHRoZXJlZm9yZSBncm93cyB3aXRob3V0IGJvdW5kLCB0cnVuY2F0ZWQgb25seSBhdCBn
YXJiYWdlCjs7OyBjb2xsZWN0aW9uIHRpbWUuCjs7Owo7OzsgVGhlIHJlZG8vdW5kbyBzeXN0
ZW0gaXMgZGlmZmVyZW50IGluIHR3byB3YXlzOgo7OzsgICAxLiBUaGUgdW5kby9yZWRvIGNv
bW1hbmQgY2hhaW4gaXMgb25seSBicm9rZW4gYnkgYSBidWZmZXIKOzs7ICAgICAgbW9kaWZp
Y2F0aW9uLiAgWW91IGNhbiBtb3ZlIGFyb3VuZCB0aGUgYnVmZmVyIG9yIHN3aXRjaAo7Ozsg
ICAgICBidWZmZXJzIGFuZCBzdGlsbCBjb21lIGJhY2sgYW5kIGRvIG1vcmUgdW5kb3Mgb3Ig
cmVkb3MuCjs7OyAgIDIuIFRoZSBgcmVkbycgY29tbWFuZCByZXNjaW5kcyB0aGUgbW9zdCBy
ZWNlbnQgdW5kbyB3aXRob3V0Cjs7OyAgICAgIHJlY29yZGluZyB0aGUgY2hhbmdlIGFzIGEg
X25ld18gYnVmZmVyIGNoYW5nZS4gIEl0Cjs7OyAgICAgIGNvbXBsZXRlbHkgcmV2ZXJzZXMg
dGhlIGVmZmVjdCBvZiB0aGUgdW5kbywgd2hpY2gKOzs7ICAgICAgaW5jbHVkZXMgbWFraW5n
IHRoZSBjaGFpbiBvZiBidWZmZXIgbW9kaWZpY2F0aW9uIHJlY29yZHMKOzs7ICAgICAgc2hv
cnRlciBieSBvbmUsIHRvIGNvdW50ZXJhY3QgdGhlIGVmZmVjdCBvZiB0aGUgdW5kbwo7Ozsg
ICAgICBjb21tYW5kIG1ha2luZyB0aGUgcmVjb3JkIGxpc3QgbG9uZ2VyIGJ5IG9uZS4KOzsK
OzsgSW5zdGFsbGF0aW9uOgo7Owo7OyBTYXZlIHRoaXMgZmlsZSBhcyByZWRvLmVsLCBieXRl
IGNvbXBpbGUgaXQgYW5kIHB1dCB0aGUKOzsgcmVzdWx0aW5nIHJlZG8uZWxjIGZpbGUgaW4g
YSBkaXJlY3RvcnkgdGhhdCBpcyBsaXN0ZWQgaW4KOzsgbG9hZC1wYXRoLgo7Owo7OyBJbiB5
b3VyIC5lbWFjcyBmaWxlLCBhZGQKOzsgICAocmVxdWlyZSAncmVkbykKOzsgYW5kIHRoZSBz
eXN0ZW0gd2lsbCBiZSBlbmFibGVkLgoKKHByb3ZpZGUgJ3JlZG8pCgooZGVmdmFyIHJlZG8t
dmVyc2lvbiAiMC45MCIKICAiVmVyc2lvbiBudW1iZXIgZm9yIHRoZSBSZWRvLiIpCgooZGVm
dmFyIGxhc3QtdW5kby1idWZmZXItbW9kdGljayAxCiAgIkJ1ZmZlciBtb2RpZmljYXRpb250
aWNrIHRoZSBsYXN0IHRpbWUgYW4gdW5kbyBvciByZWRvIHdhcyBkb25lLiIpCihtYWtlLXZh
cmlhYmxlLWJ1ZmZlci1sb2NhbCAnbGFzdC11bmRvLWJ1ZmZlci1tb2R0aWNrKQoKKGRlZnVu
IHJlZG8gKCZvcHRpb25hbCBjb3VudCkKICAiUmVkbyB0aGUgdGhlIG1vc3QgcmVjZW50IHVu
ZG8uClByZWZpeCBhcmcgQ09VTlQgbWVhbnMgcmVkbyB0aGUgQ09VTlQgbW9zdCByZWNlbnQg
dW5kb3MuCklmIHlvdSBoYXZlIG1vZGlmaWVkIHRoZSBidWZmZXIgc2luY2UgdGhlIGxhc3Qg
cmVkbyBvciB1bmRvLAp0aGVuIHlvdSBjYW5ub3QgcmVkbyBhbnkgdW5kb3MgYmVmb3JlIHRo
ZW4uIgogIChpbnRlcmFjdGl2ZSAiKnAiKQogIChpZiAoZXEgYnVmZmVyLXVuZG8tbGlzdCB0
KQogICAgICAoZXJyb3IgIk5vIHVuZG8gaW5mb3JtYXRpb24gaW4gdGhpcyBidWZmZXIiKSkK
ICAoaWYgKGVxIGxhc3QtdW5kby1idWZmZXItbW9kdGljayAxKQogICAgICAoZXJyb3IgIk5v
IHVuZG9zIHRvIHJlZG8iKSkKICAob3IgKGVxIGxhc3QtdW5kby1idWZmZXItbW9kdGljayAo
YnVmZmVyLW1vZGlmaWVkLXRpY2spKQogICAgICAoZXJyb3IgIkJ1ZmZlciBtb2RpZmllZCBz
aW5jZSBsYXN0IHVuZG8vcmVkbywgY2Fubm90IHJlZG8iKSkKICAoYW5kIChvciAoZXEgYnVm
ZmVyLXVuZG8tbGlzdCBwZW5kaW5nLXVuZG8tbGlzdCkKCSAgIChlcSAoY2RyIGJ1ZmZlci11
bmRvLWxpc3QpIHBlbmRpbmctdW5kby1saXN0KSkKICAgICAgIChlcnJvciAiTm8gZnVydGhl
ciB1bmRvcyB0byByZWRvIGluIHRoaXMgYnVmZmVyIikpCiAgKG9yIChlcSAoc2VsZWN0ZWQt
d2luZG93KSAobWluaWJ1ZmZlci13aW5kb3cpKQogICAgICAobWVzc2FnZSAiUmVkbyEiKSkK
ICAobGV0ICgobW9kaWZpZWQgKGJ1ZmZlci1tb2RpZmllZC1wKSkKCShyZWNlbnQtc2F2ZSAo
cmVjZW50LWF1dG8tc2F2ZS1wKSkKCShvbGQtdW5kby1saXN0IGJ1ZmZlci11bmRvLWxpc3Qp
CgkocCAoY2RyIGJ1ZmZlci11bmRvLWxpc3QpKQoJKHJlY29yZHMtYmV0d2VlbiAwKSkKICAg
IDs7IGNvdW50IHRoZSBudW1iZXIgb2YgdW5kbyByZWNvcmRzIGJldHdlZW4gdGhlIGhlYWQg
b2YgdGVoCiAgICA7OyB1bmRvIGNoYWluIGFuZCB0aGUgcG9pbnRlciB0byB0aGUgbmV4dCBj
aGFuZ2UuICBOb3RlIHRoYXQKICAgIDs7IGJ5IGByZWNvcmQnIHdlIG1lYW4gY2x1bXBzIG9m
IGNoYW5nZSByZWNvcmRzLCBub3QgdGhlCiAgICA7OyBib3VuZGFyeSByZWNvcmRzLiAgVGhl
IG51bWJlciBvZiByZWNvcmRzIHdpbGwgYWx3YXlzIGJlIGEKICAgIDs7IG11bHRpcGxlIG9m
IDIsIGJlY2F1c2UgYW4gdW5kbyBtb3ZlcyB0aGUgcGVuZGluZyBwb2ludGVyCiAgICA7OyBm
b3J3YXJkIG9uZSByZWNvcmQgYW5kIHByZXBlbmQgYSByZWNvcmQgdG8gdGhlIGhlYWQgb2Yg
dGhlCiAgICA7OyBjaGFpbi4gIFRodXMgdGhlIHNlcGFyYXRpb24gYWx3YXlzIGluY3JlYXNl
cyBieSB0d28uICBXSGVuCiAgICA7OyB3ZSBkZWNyZWFzZSBpdCB3ZSB3aWxsIGRlY3JlYXNl
IGl0IGJ5IGEgbXVsdGlwbGUgb2YgMgogICAgOzsgYWxzby4KICAgICh3aGlsZSBwCiAgICAg
IChjb25kICgoZXEgcCBwZW5kaW5nLXVuZG8tbGlzdCkKCSAgICAgKHNldHEgcCBuaWwpKQoJ
ICAgICgobnVsbCAoY2FyIHApKQoJICAgICAoc2V0cSByZWNvcmRzLWJldHdlZW4gKDErIHJl
Y29yZHMtYmV0d2VlbikpCgkgICAgIChzZXRxIHAgKGNkciBwKSkpCgkgICAgKHQKCSAgICAg
KHNldHEgcCAoY2RyIHApKSkpKQogICAgOzsgd2UncmUgb2ZmIGJ5IG9uZSBpZiBwZW5kaW5n
IHBvaW50ZXIgaXMgbmlsLCBiZWNhdXNlIHRoZXJlCiAgICA7OyB3YXMgbm8gYm91bmRhcnkg
cmVjb3JkIGluIGZyb250IG9mIGl0IHRvIGNvdW50LgogICAgKGFuZCAobnVsbCBwZW5kaW5n
LXVuZG8tbGlzdCkKCSAoc2V0cSByZWNvcmRzLWJldHdlZW4gKDErIHJlY29yZHMtYmV0d2Vl
bikpKQogICAgOzsgZG9uJ3QgYWxsb3cgdGhlIHVzZXIgdG8gcmVkbyBtb3JlIHVuZG9zIHRo
YW4gZXhpc3QuCiAgICA7OyBvbmx5IGhhbGYgdGhlIHJlY29yZHMgYmV0d2VlbiB0aGUgbGlz
dCBoZWFkIGFuZCB0aGUgcGVuZGluZwogICAgOzsgcG9pbnRlciBhcmUgdW5kb3MgdGhhdCBh
cmUgYSBwYXJ0IG9mIHRoaXMgY29tbWFuZCBjaGFpbi4KICAgIChzZXRxIGNvdW50IChtaW4g
KC8gcmVjb3Jkcy1iZXR3ZWVuIDIpIGNvdW50KQoJICBwIChwcmltaXRpdmUtdW5kbyAoMSsg
Y291bnQpIGJ1ZmZlci11bmRvLWxpc3QpKQogICAgKGlmIChlcSBwIG9sZC11bmRvLWxpc3Qp
CgluaWwgOzsgbm90aGluZyBoYXBwZW5lZAogICAgICA7OyBzZXQgYnVmZmVyLXVuZG8tbGlz
dCB0byB0aGUgbmV3IHVuZG8gbGlzdC4gIGlmIGhhcyBiZWVuCiAgICAgIDs7IHNob3J0ZW5l
ZCBieSBgY291bnQnIHJlY29yZHMuCiAgICAgIChzZXRxIGJ1ZmZlci11bmRvLWxpc3QgcCkK
ICAgICAgOzsgcHJpbWl0aXZlLXVuZG8gcmV0dXJucyBhIGxpc3Qgd2l0aG91dCBhIGxlYWRp
bmcgdW5kbwogICAgICA7OyBib3VuZGFyeS4gIGFkZCBvbmUuCiAgICAgICh1bmRvLWJvdW5k
YXJ5KQogICAgICA7OyBub3cgbW92ZSB0aGUgcGVuZGluZyBwb2ludGVyIGJhY2t3YXJkIGlu
IHRoZSB1bmRvIGxpc3QKICAgICAgOzsgdG8gcmVmbGVjdCB0aGUgcmVkby4gIHN1cmUgd291
bGQgYmUgbmljZSBpZiB0aGlzIGxpc3QKICAgICAgOzsgd2VyZSBkb3VibHkgbGlua2VkLCBi
dXQgbm8uLi4gc28gd2UgaGF2ZSB0byBydW4gZG93biB0aGUKICAgICAgOzsgbGlzdCBmcm9t
IHRoZSBoZWFkIGFuZCBzdG9wIGF0IHRoZSByaWdodCBwbGFjZS4KICAgICAgKGxldCAoKG4g
KC0gcmVjb3Jkcy1iZXR3ZWVuIGNvdW50KSkpCgkoc2V0cSBwIChjZHIgb2xkLXVuZG8tbGlz
dCkpCgkod2hpbGUgKGFuZCBwICg+IG4gMCkpCgkgIChpZiAobnVsbCAoY2FyIHApKQoJICAg
ICAgKHNldHEgbiAoMS0gbikpKQoJICAoc2V0cSBwIChjZHIgcCkpKQoJKHNldHEgcGVuZGlu
Zy11bmRvLWxpc3QgcCkpKQogICAgKGFuZCBtb2RpZmllZCAobm90IChidWZmZXItbW9kaWZp
ZWQtcCkpCgkgKGRlbGV0ZS1hdXRvLXNhdmUtZmlsZS1pZi1uZWNlc3NhcnkgcmVjZW50LXNh
dmUpKQogICAgKHNldHEgbGFzdC11bmRvLWJ1ZmZlci1tb2R0aWNrIChidWZmZXItbW9kaWZp
ZWQtdGljaykpKSkKCihkZWZ1biB1bmRvICgmb3B0aW9uYWwgYXJnKQogICJVbmRvIHNvbWUg
cHJldmlvdXMgY2hhbmdlcy4KUmVwZWF0IHRoaXMgY29tbWFuZCB0byB1bmRvIG1vcmUgY2hh
bmdlcy4KQSBudW1lcmljIGFyZ3VtZW50IHNlcnZlcyBhcyBhIHJlcGVhdCBjb3VudC4iCiAg
KGludGVyYWN0aXZlICIqcCIpCiAgKGxldCAoKG1vZGlmaWVkIChidWZmZXItbW9kaWZpZWQt
cCkpCgkocmVjZW50LXNhdmUgKHJlY2VudC1hdXRvLXNhdmUtcCkpKQogICAgKG9yIChlcSAo
c2VsZWN0ZWQtd2luZG93KSAobWluaWJ1ZmZlci13aW5kb3cpKQoJKG1lc3NhZ2UgIlVuZG8h
IikpCiAgICAob3IgKGVxIGxhc3QtdW5kby1idWZmZXItbW9kdGljayAoYnVmZmVyLW1vZGlm
aWVkLXRpY2spKQoJKHByb2duICh1bmRvLXN0YXJ0KQoJICAgICAgICh1bmRvLW1vcmUgMSkp
KQogICAgKHVuZG8tbW9yZSAob3IgYXJnIDEpKQogICAgOzsgRG9uJ3Qgc3BlY2lmeSBhIHBv
c2l0aW9uIGluIHRoZSB1bmRvIHJlY29yZCBmb3IgdGhlIHVuZG8gY29tbWFuZC4KICAgIDs7
IEluc3RlYWQsIHVuZG9pbmcgdGhpcyBzaG91bGQgbW92ZSBwb2ludCB0byB3aGVyZSB0aGUg
Y2hhbmdlIGlzLgogICAgOzsKICAgIDs7OzsgVGhlIG9sZCBjb2RlIGZvciB0aGlzIHdhcyBt
YWQhICBJdCBkZWxldGVkIGFsbCBzZXQtcG9pbnQKICAgIDs7OzsgcmVmZXJlbmNlcyB0byB0
aGUgcG9zaXRpb24gZnJvbSB0aGUgd2hvbGUgdW5kbyBsaXN0LAogICAgOzs7OyBpbnN0ZWFk
IG9mIGp1c3QgdGhlIGNlbGxzIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgbmV4dAogICAg
Ozs7OyB1bmRvIGJvdW5kYXJ5LiAgVGhpcyBkb2VzIHdoYXQgSSB0aGluayB0aGUgb3RoZXIg
Y29kZQogICAgOzs7OyBtZWFudCB0byBkby4KICAgIChsZXQgKChsaXN0IGJ1ZmZlci11bmRv
LWxpc3QpCiAgICAJICAocHJldiBuaWwpKQogICAgICAod2hpbGUgKGFuZCBsaXN0IChub3Qg
KG51bGwgKGNhciBsaXN0KSkpKQogICAgCShpZiAoaW50ZWdlcnAgKGNhciBsaXN0KSkKICAg
IAkgICAgKGlmIHByZXYKICAgIAkJKHNldGNkciBwcmV2IChjZHIgbGlzdCkpCiAgICAJICAg
ICAgOzsgaW1wb3NzaWJsZSBub3csIGJ1dCBtYXliZSBub3QgaW4gdGhlIGZ1dHVyZSAKICAg
IAkgICAgICAoc2V0cSBidWZmZXItdW5kby1saXN0IChjZHIgbGlzdCkpKSkKICAgIAkoc2V0
cSBwcmV2IGxpc3QKICAgIAkgICAgICBsaXN0IChjZHIgbGlzdCkpKSkKICAgIChhbmQgbW9k
aWZpZWQgKG5vdCAoYnVmZmVyLW1vZGlmaWVkLXApKQoJIChkZWxldGUtYXV0by1zYXZlLWZp
bGUtaWYtbmVjZXNzYXJ5IHJlY2VudC1zYXZlKSkpCiAgKHNldHEgbGFzdC11bmRvLWJ1ZmZl
ci1tb2R0aWNrIChidWZmZXItbW9kaWZpZWQtdGljaykpKQo=

--XddpFlWly43o3Ah6H8J2FJZlitNav/+GdbwjBGI0--

