From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kevin Rodgers Newsgroups: gmane.emacs.help Subject: Re: HOWTO: Ispell multiple regions? Date: Tue, 18 Oct 2005 18:15:02 -0600 Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010101020103090300080009" X-Trace: sea.gmane.org 1129681024 9068 80.91.229.2 (19 Oct 2005 00:17:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 19 Oct 2005 00:17:04 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Oct 19 02:16:55 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1ES1cx-0008Cd-4h for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Oct 2005 02:16:21 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ES1cr-0006nD-T1 for geh-help-gnu-emacs@m.gmane.org; Tue, 18 Oct 2005 20:16:14 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ES1cc-0006mt-M8 for help-gnu-emacs@gnu.org; Tue, 18 Oct 2005 20:15:58 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ES1cb-0006mh-3X for help-gnu-emacs@gnu.org; Tue, 18 Oct 2005 20:15:58 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ES1ca-0006md-R0 for help-gnu-emacs@gnu.org; Tue, 18 Oct 2005 20:15:56 -0400 Original-Received: from [80.91.229.2] (helo=ciao.gmane.org) by monty-python.gnu.org with esmtp (TLS-1.0:RSA_AES_128_CBC_SHA:16) (Exim 4.34) id 1ES1ca-0003A5-80 for help-gnu-emacs@gnu.org; Tue, 18 Oct 2005 20:15:56 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1ES1cK-0007ya-4r for help-gnu-emacs@gnu.org; Wed, 19 Oct 2005 02:15:40 +0200 Original-Received: from 207.167.42.60 ([207.167.42.60]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Oct 2005 02:15:40 +0200 Original-Received: from ihs_4664 by 207.167.42.60 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 19 Oct 2005 02:15:40 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-To: help-gnu-emacs@gnu.org Original-Lines: 276 Original-X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 207.167.42.60 User-Agent: Mozilla Thunderbird 0.9 (X11/20041105) X-Accept-Language: en-us, en In-Reply-To: X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:30356 Archived-At: This is a multi-part message in MIME format. --------------010101020103090300080009 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Ilya Zakharevich wrote: > [A complimentary Cc of this posting was sent to Kevin Rodgers > ], who wrote in article > : > >>What commands are invoked by `x' and `q' in ispell-region? >> >>You could advise those commands to throw to a tag that you establish >>with catch. > > No such command. See `ispell-command-loop'. Of course, one could > advise ispell-command-loop itself to propagate ispell-quit (which is > going to be reset to nil later) to, e.g., ispell-quit-pos. > > Is it possible to do advising "locally" (like let()ting), so it is > automatically undone when the calling function exits? Ah, ispell-command-loop. I should have remembered that, since I had to rewrite the whole thing in order to implement a simple change I wanted (to index the *Choices* buffer with numbers instead of characters). To keep it clean, I extracted those command characters into their own keymap. If you start with what I wrote (ispell-command-loop.el, which I'm attaching), then you could get access to those anonymous commands like this: (defconst ispell-x-command (lookup-key ispell-command-loop-map "x")) (defconst ispell-q-command (lookup-key ispell-command-loop-map "q")) And then modify the bindings to do what you want: (define-key ispell-command-loop-map "x" (lambda () (interactive) (throw 'my-tag (funcall ispell-x-command)))) (define-key ispell-command-loop-map "q" (lambda () (interactive) (throw 'my-tag (funcall ispell-q-command)))) -- Kevin Rodgers --------------010101020103090300080009 Content-Type: application/emacs-lisp; name="ispell-command-loop.el" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="ispell-command-loop.el" Ozs7IGlzcGVsbC1jb21tYW5kLWxvb3AuZWwgLS0tIEluZGV4IHRoZSAqQ2hvaWNlcyogYnVm ZmVyIHdpdGggbnVtYmVycy4KOzs7IC0qLXVuaWJ5dGU6IHQ7IGNvZGluZzogaXNvLTg4NTkt MTstKi0KCjs7IENvcHlyaWdodCCpIDIwMDEsMjAwMyBLZXZpbiBSb2RnZXJzCgo7OyBBdXRo b3I6IEtldmluIFJvZGdlcnMgPGloc180NjY0QHlhaG9vLmNvbT4KOzsgQ3JlYXRlOiAyNSBB cHIgMjAwMQo7OyBWZXJzaW9uOiAkUmV2aXNpb24kCjs7IEtleXdvcmRzOiB1bml4IHdwIHNw ZWxsCjs7IFJDUzogJElkOiBpc3BlbGwtY29tbWFuZC1sb29wLmVsLHYgMS4zIDIwMDEvMDQv MjUgMjI6MzY6NTIga2V2aW5yIEV4cCBrZXZpbnIgJAoKOzsgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo7OyBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cwo7OyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMiBvZgo7OyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KCjs7IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUKOzsgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZAo7OyB3YXJyYW50eSBvZiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCjs7IFBVUlBPU0UuICBTZWUgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgo7OyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMK OzsgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZQo7OyBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2Us IFN1aXRlIDMzMCwgQm9zdG9uLAo7OyBNQSAwMjExMS0xMzA3IFVTQQoKOzs7IENvbW1lbnRh cnk6Cgo7OyBpc3BlbGwuZWwncyAqQ2hvaWNlcyogYnVmZmVyIGlzIGluZGV4ZWQgd2l0aCBj aGFyYWN0ZXJzLCB3aGljaCBpcwo7OyB1bm5hdHVyYWwgd2hlbiB0aGUgY2hvaWNlcyBhcmUg bnVtZXJvdXMgZW5vdWdoIHRvIGluY2x1ZGUKOzsgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0 ZXJzIHN1Y2ggYXMgcHVuY3R1YXRpb24gYW5kIG5vbi1BU0NJSQo7OyBjaGFyYWN0ZXJzLiAg VGhpcyBhZGQgb24gdG8gRW1hY3MgMjEuMyBpc3BlbGwuZWwgcmVkZWZpbmVzCjs7IGBpc3Bl bGwtY29tbWFuZC1sb29wJyB0byBpbmRleCB0aGUgKkNob2ljZXMqIGJ1ZmZlciB3aXRoIG51 bWJlcnMuCgo7OzsgQ29kZToKCihyZXF1aXJlICdpc3BlbGwpCgooZGVmdmFyIGlzcGVsbC1j b21tYW5kLWxvb3AtbWFwCiAgKGxldCAoKG1hcCAobWFrZS1zcGFyc2Uta2V5bWFwKSkpCiAg ICAoZGVmaW5lLWtleSBtYXAgIiAiIDsgYWNjZXB0IHdvcmQgdGhpcyB0aW1lIG9ubHkKICAg ICAgJ2lnbm9yZSkJCQkJOyByZXR1cm4gbmlsCiAgICAoZGVmaW5lLWtleSBtYXAgImkiCQkJ OyBhY2NlcHQgYW5kIGluc2VydCB3b3JkIGludG8gcGVycyBkaWN0CiAgICAgIChsYW1iZGEg KCkKCShpbnRlcmFjdGl2ZSkKCShpc3BlbGwtc2VuZC1zdHJpbmcgKGNvbmNhdCAiKiIgd29y ZCAiXG4iKSkKCShzZXRxIGlzcGVsbC1wZGljdC1tb2RpZmllZC1wICcodCkpIDsgZGljdGlv bmFyeSBtb2RpZmllZCEKCW5pbCkpCQkJCQogICAgKGRlZmluZS1rZXkgbWFwICJhIgkJCTsg YWNjZXB0IHdvcmQgd2l0aG91dCBpbnNlcnQKICAgICAgKGxhbWJkYSAoKQoJKGludGVyYWN0 aXZlKQoJKGlzcGVsbC1zZW5kLXN0cmluZyAoY29uY2F0ICJAIiB3b3JkICJcbiIpKQoJKGlm IChudWxsIGlzcGVsbC1wZGljdC1tb2RpZmllZC1wKQoJICAgIChzZXRxIGlzcGVsbC1wZGlj dC1tb2RpZmllZC1wCgkJICAobGlzdCBpc3BlbGwtcGRpY3QtbW9kaWZpZWQtcCkpKQoJbmls KSkKICAgIChkZWZpbmUta2V5IG1hcCAiQSIJCQk7IGFjY2VwdCB3b3JkIHdpdGhvdXQgaW5z ZXJ0CiAgICAgIChsYW1iZGEgKCkKCShpbnRlcmFjdGl2ZSkKCShpc3BlbGwtc2VuZC1zdHJp bmcgKGNvbmNhdCAiQCIgd29yZCAiXG4iKSkKCShpZiAobnVsbCBpc3BlbGwtcGRpY3QtbW9k aWZpZWQtcCkKCSAgICAoc2V0cSBpc3BlbGwtcGRpY3QtbW9kaWZpZWQtcAoJCSAgKGxpc3Qg aXNwZWxsLXBkaWN0LW1vZGlmaWVkLXApKSkKCTApKQkJCQk7IHJldHVybiAwIGZvciBpc3Bl bGwtYWRkIGJ1ZmZlci1sb2NhbAogICAgKGRlZmluZS1rZXkgbWFwICJyIgkJCTsgdHlwZSBp biByZXBsYWNlbWVudAogICAgICAobGFtYmRhICgpCgkoaW50ZXJhY3RpdmUpCgkoYW5kIChl cSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKSA7IHJlZnJlc2ggdHR5J3MKCSAgICAgKGlz cGVsbC1oaWdobGlnaHQtc3BlbGxpbmctZXJyb3Igc3RhcnQgZW5kIG5pbCB0KSkKCShwcm9n MSAoaWYgaXNwZWxsLXF1ZXJ5LXJlcGxhY2UtY2hvaWNlcwoJCSAgIChsaXN0IChyZWFkLXN0 cmluZyAoZm9ybWF0ICJRdWVyeS1yZXBsYWNlbWVudCBmb3IgJXM6ICJ3b3JkKQoJCQkJICAg ICAgd29yZCkKCQkJIHQpCgkJIChjb25zIChyZWFkLXN0cmluZyAoZm9ybWF0ICJSZXBsYWNl bWVudCBmb3IgJXM6ICIgd29yZCkKCQkJCSAgICB3b3JkKQoJCSAgICAgICBuaWwpKQoJICAo YW5kIChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKQoJICAgICAgIChpc3BlbGwtaGln aGxpZ2h0LXNwZWxsaW5nLWVycm9yIHN0YXJ0IGVuZCBuaWwgJ2Jsb2NrKSkpKSkKICAgIChk ZWZpbmUta2V5IG1hcCAiUiIJCQk7IHR5cGUgaW4gcmVwbGFjZW1lbnQKICAgICAgKGxhbWJk YSAoKQoJKGludGVyYWN0aXZlKQoJKGFuZCAoZXEgJ2Jsb2NrIGlzcGVsbC1oaWdobGlnaHQt cCkgOyByZWZyZXNoIHR0eSdzCgkgICAgIChpc3BlbGwtaGlnaGxpZ2h0LXNwZWxsaW5nLWVy cm9yIHN0YXJ0IGVuZCBuaWwgdCkpCgkocHJvZzEgKGxpc3QgKHJlYWQtc3RyaW5nIChmb3Jt YXQgIlF1ZXJ5LXJlcGxhY2VtZW50IGZvciAlczogIndvcmQpCgkJCQkgIHdvcmQpCgkJICAg ICB0KQoJICAoYW5kIChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKQoJICAgICAgIChp c3BlbGwtaGlnaGxpZ2h0LXNwZWxsaW5nLWVycm9yIHN0YXJ0IGVuZCBuaWwgJ2Jsb2NrKSkp KSkKICAgIChkZWZpbmUta2V5IG1hcCAieCIJCQk7IHF1aXQgYW5kIG1vdmUgcG9pbnQgYmFj awogICAgICAobGFtYmRhICgpCgkoaW50ZXJhY3RpdmUpCgkoaXNwZWxsLXBkaWN0LXNhdmUg aXNwZWxsLXNpbGVudGx5LXNhdmVwKQoJKG1lc3NhZ2UgIkV4aXRlZCBzcGVsbC1jaGVja2lu ZyIpCgkoc2V0cSBpc3BlbGwtcXVpdCB0KQoJbmlsKSkKICAgIChkZWZpbmUta2V5IG1hcCAi WCIJCQk7IHF1aXQgYW5kIHByZXNlcnZlIHBvaW50CiAgICAgIChsYW1iZGEgKCkKCShpbnRl cmFjdGl2ZSkKCShpc3BlbGwtcGRpY3Qtc2F2ZSBpc3BlbGwtc2lsZW50bHktc2F2ZXApCgko bWVzc2FnZSAiJXMiIChzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyAiU3BlbGwtY2hlY2tpbmcg c3VzcGVuZGVkOyBcCnVzZSBDLXUgXFxbaXNwZWxsLXdvcmRdIHRvIHJlc3VtZSIpKQoJKHNl dHEgaXNwZWxsLXF1aXQgc3RhcnQpCgluaWwpKQogICAgKGRlZmluZS1rZXkgbWFwICJxIgog ICAgICAobGFtYmRhICgpCgkoaW50ZXJhY3RpdmUpCgkoaWYgKHktb3Itbi1wICJSZWFsbHkg a2lsbCBJc3BlbGwgcHJvY2Vzcz8gIikKCSAgICAocHJvZ24KCSAgICAgIChpc3BlbGwta2ls bC1pc3BlbGwgdCkJOyB0ZXJtaW5hdGUgcHJvY2Vzcy4KCSAgICAgIChzZXRxIGlzcGVsbC1x dWl0IChvciAobm90IGlzcGVsbC1jaGVja2luZy1tZXNzYWdlKSAocG9pbnQpKQoJCSAgICBp c3BlbGwtcGRpY3QtbW9kaWZpZWQtcCBuaWwpKQoJICB0KSkpCQkJCTsgY29udGludWUgaWYg dGhleSBkb24ndCBxdWl0LgogICAgKGRlZmluZS1rZXkgbWFwICJsIgogICAgICAobGFtYmRh ICgpCgkoaW50ZXJhY3RpdmUpCgkoYW5kIChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1w KSA7IHJlZnJlc2ggdHR5IGRpc3BsYXlzCgkgICAgIChpc3BlbGwtaGlnaGxpZ2h0LXNwZWxs aW5nLWVycm9yIHN0YXJ0IGVuZCBuaWwgdCkpCgkobGV0ICgobmV3LXdvcmQgKHJlYWQtc3Ry aW5nICJMb29rdXAgc3RyaW5nIChgKicgaXMgd2lsZGNhcmQpOiAiCgkJCQkgICAgIHdvcmQp KQoJICAgICAgKG5ldy1saW5lIGlzcGVsbC1jaG9pY2VzLXdpbi1kZWZhdWx0LWhlaWdodCkp CgkgIChpZiBuZXctd29yZAoJICAgICAgKHByb2duCgkJKHNhdmUtZXhjdXJzaW9uCgkJICAo c2V0LWJ1ZmZlciAoZ2V0LWJ1ZmZlci1jcmVhdGUgaXNwZWxsLWNob2ljZXMtYnVmZmVyKSkK CQkgIChlcmFzZS1idWZmZXIpCgkJICAoc2V0cSBjb3VudCAwCgkJCW1vZGUtbGluZS1mb3Jt YXQgKGNvbmNhdCAiLS0gICViICAtLSAgd29yZDogIiBuZXctd29yZCkKCQkJbWlzcyAobG9v a3VwLXdvcmRzIG5ldy13b3JkKQoJCQljaG9pY2VzIG1pc3MpCgkJICAod2hpbGUgKGFuZCBj aG9pY2VzCTsgYWRqdXN0IGNob2ljZXMgd2luZG93LgoJCQkgICAgICAoPCAoaWYgKD4gKCsg NyAoY3VycmVudC1jb2x1bW4pCgkJCQkJICAgKGxlbmd0aCAoY2FyIGNob2ljZXMpKQoJCQkJ CSAgIChpZiAoPiBjb3VudCAwKQoJCQkJCSAgICAgICAodHJ1bmNhdGUgKGxvZyBjb3VudCAx MCkpCgkJCQkJICAgICAwKSkKCQkJCQkod2luZG93LXdpZHRoKSkKCQkJCSAgICAgKHByb2du CgkJCQkgICAgICAgKGluc2VydCAiXG4iKQoJCQkJICAgICAgIChzZXRxIG5ldy1saW5lICgx KyBuZXctbGluZSkpKQoJCQkJICAgbmV3LWxpbmUpCgkJCQkgbWF4LWxpbmVzKSkKCQkgICAg KGluc2VydCAiKCIgKGZvcm1hdCAiJWQiIGNvdW50KSAiKSAiIChjYXIgY2hvaWNlcykgIiAg IikKCQkgICAgKHNldHEgY2hvaWNlcyAoY2RyIGNob2ljZXMpCgkJCSAgY291bnQgKDErIGNv dW50KSkpKQoJCShpc3BlbGwtc2hvdy1jaG9pY2VzIG5ldy1saW5lIGVuZCkKCQkoc2VsZWN0 LXdpbmRvdyAobmV4dC13aW5kb3cpKSkpKQoJKGFuZCAoZXEgJ2Jsb2NrIGlzcGVsbC1oaWdo bGlnaHQtcCkKCSAgICAgKGlzcGVsbC1oaWdobGlnaHQtc3BlbGxpbmctZXJyb3Igc3RhcnQg ZW5kIG5pbCAnYmxvY2spKQoJdCkpCQkJCTsgcmVzZWxlY3QgZnJvbSBuZXcgY2hvaWNlcwog ICAgKGRlZmluZS1rZXkgbWFwICJ1IgkJCTsgaW5zZXJ0IGxvd2VyY2FzZSBpbnRvIGRpY3Rp b25hcnkKICAgICAgKGxhbWJkYSAoKQoJKGludGVyYWN0aXZlKQoJKGlzcGVsbC1zZW5kLXN0 cmluZyAoY29uY2F0ICIqIiAoZG93bmNhc2Ugd29yZCkgIlxuIikpCgkoc2V0cSBpc3BlbGwt cGRpY3QtbW9kaWZpZWQtcCAnKHQpKSA7IGRpY3Rpb25hcnkgbW9kaWZpZWQhCgluaWwpKQog ICAgKGRlZmluZS1rZXkgbWFwICJtIgkJCTsgdHlwZSBpbiB3aGF0IHRvIGluc2VydAogICAg ICAobGFtYmRhICgpCgkoaW50ZXJhY3RpdmUpCgkoaXNwZWxsLXNlbmQtc3RyaW5nIChjb25j YXQgIioiIChyZWFkLXN0cmluZyAiSW5zZXJ0OiAiIHdvcmQpICJcbiIpKQoJKHNldHEgaXNw ZWxsLXBkaWN0LW1vZGlmaWVkLXAgJyh0KSkKCShjb25zIHdvcmQgbmlsKSkpCiAgICAoZGVm aW5lLWtleSBtYXAgIlxDLWwiIChsYW1iZGEgKCkKCQkJICAgICAocmVkcmF3LWRpc3BsYXkp CgkJCSAgICAgdCkpCiAgICAoZGVmaW5lLWtleSBtYXAgIlxDLXIiIChsYW1iZGEgKCkKCQkJ ICAgICAoaW50ZXJhY3RpdmUpCgkJCSAgICAgKHNhdmUtd2luZG93LWV4Y3Vyc2lvbiAocmVj dXJzaXZlLWVkaXQpKQoJCQkgICAgIHQpKQogICAgKGRlZmluZS1rZXkgbWFwICJcQy16IiAo bGFtYmRhICgpCgkJCSAgICAgKGludGVyYWN0aXZlKQoJCQkgICAgIChrZXktYmluZGluZyAi XEMteiIpCgkJCSAgICAgdCkpCiAgICBtYXApCiAgIlRoZSBrZXltYXAgdXNlZCB0byBieSBg aXNwZWxsLWNvbW1hbmQtbG9vcCcuIikKCihkZWZ1biBpc3BlbGwtY29tbWFuZC1sb29wICht aXNzIGd1ZXNzIHdvcmQgc3RhcnQgZW5kKQogICJEaXNwbGF5IHBvc3NpYmxlIGNvcnJlY3Rp b25zIGZyb20gbGlzdCBNSVNTLgpHVUVTUyBsaXN0cyBwb3NzaWJseSB2YWxpZCBhZmZpeCBj b25zdHJ1Y3Rpb24gb2YgV09SRC4KUmV0dXJucyBuaWwgdG8ga2VlcCB3b3JkLgpSZXR1cm5z IDAgdG8gaW5zZXJ0IGxvY2FsbHkgaW50byBidWZmZXItbG9jYWwgZGljdGlvbmFyeS4KUmV0 dXJucyBzdHJpbmcgZm9yIG5ldyBjaG9zZW4gd29yZC4KUmV0dXJucyBsaXN0IGZvciBuZXcg cmVwbGFjZW1lbnQgd29yZCAod2lsbCBiZSByZWNoZWNrZWQpLgogIFF1ZXJ5LXJlcGxhY2Ug d2hlbiBsaXN0IGxlbmd0aCBpcyAyLgogIEF1dG9tYXRpYyBxdWVyeS1yZXBsYWNlIHdoZW4g c2Vjb25kIGVsZW1lbnQgaXMgYHF1ZXJ5LXJlcGxhY2UnLgpIaWdobGlnaHRzIHRoZSB3b3Jk LCB3aGljaCBpcyBhc3N1bWVkIHRvIHJ1biBmcm9tIFNUQVJUIHRvIEVORC4KR2xvYmFsIGBp c3BlbGwtcGRpY3QtbW9kaWZpZWQtcCcgYmVjb21lcyBhIGxpc3Qgd2hlcmUgdGhlIG9ubHkg dmFsdWUKaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGRpY3Rpb25hcnkgaGFzIGJlZW4gbW9kaWZp ZWQgd2hlbiBvcHRpb24gYGEnIG9yIGBpJyBpcwp1c2VkLgpHbG9iYWwgYGlzcGVsbC1xdWl0 JyBzZXQgdG8gc3RhcnQgbG9jYXRpb24gdG8gY29udGludWUgc3BlbGwgc2Vzc2lvbi4iCiAg KGxldCAoKGNvdW50IDApCgkobGluZSBpc3BlbGwtY2hvaWNlcy13aW4tZGVmYXVsdC1oZWln aHQpCgk7OyBlbnN1cmUgNCBjb250ZXh0IGxpbmVzLgoJKG1heC1saW5lcyAoLSAoaXNwZWxs LWFkanVzdGVkLXdpbmRvdy1oZWlnaHQpIDQpKQoJKGNob2ljZXMgbWlzcykKCSh3aW5kb3ct bWluLWhlaWdodCAobWluIHdpbmRvdy1taW4taGVpZ2h0CgkJCQlpc3BlbGwtY2hvaWNlcy13 aW4tZGVmYXVsdC1oZWlnaHQpKQoJKGNvbW1hbmQtY2hhcmFjdGVycyAnKCA/ICA/aSA/YSA/ QSA/ciA/UiA/PyA/eCA/WCA/cSA/bCA/dSA/bSApKQoJKGRlZGljYXRlZCAod2luZG93LWRl ZGljYXRlZC1wIChzZWxlY3RlZC13aW5kb3cpKSkKCWNoYXIgbnVtIGtleSByZXN1bHQgdGV4 dHdpbiBkZWRpY2F0ZWQtd2luKQoKICAgIDs7IHNldHVwIHRoZSAqQ2hvaWNlcyogYnVmZmVy IHdpdGggdmFsaWQgZGF0YS4KICAgIChzYXZlLWV4Y3Vyc2lvbgogICAgICAoc2V0LWJ1ZmZl ciAoZ2V0LWJ1ZmZlci1jcmVhdGUgaXNwZWxsLWNob2ljZXMtYnVmZmVyKSkKICAgICAgKHNl dHEgbW9kZS1saW5lLWZvcm1hdCAoY29uY2F0ICItLSAgJWIgIC0tICB3b3JkOiAiIHdvcmQp KQogICAgICA7OyBYRW1hY3M6IHByZXZlbnQgdGhpY2sgbW9kZWxpbmUgdnMgaW5jcmVhc2lu ZyBoZWlnaHQgaW4gb3ZlcmxheS13aW5kb3cKICAgICAgOzsoYW5kIChmYm91bmRwICdzZXQt c3BlY2lmaWVyKQogICAgICA7OyAgICAgKHNldC1zcGVjaWZpZXIgaGFzLW1vZGVsaW5lLXAg KGNvbnMgKGN1cnJlbnQtYnVmZmVyKSBuaWwpKSkKICAgICAgKGVyYXNlLWJ1ZmZlcikKICAg ICAgKGlmIGd1ZXNzCgkgIChwcm9nbgoJICAgIChpbnNlcnQgIkFmZml4IHJ1bGVzIGdlbmVy YXRlIGFuZCBjYXBpdGFsaXplICIKCQkgICAgInRoaXMgd29yZCBhcyBzaG93biBiZWxvdzpc blx0IikKCSAgICAod2hpbGUgZ3Vlc3MKCSAgICAgIChpZiAoPiAoKyA0IChjdXJyZW50LWNv bHVtbikgKGxlbmd0aCAoY2FyIGd1ZXNzKSkpCgkJICAgICAod2luZG93LXdpZHRoKSkKCQkg IChwcm9nbgoJCSAgICAoaW5zZXJ0ICJcblx0IikKCQkgICAgKHNldHEgbGluZSAoMSsgbGlu ZSkpKSkKCSAgICAgIChpbnNlcnQgKGNhciBndWVzcykgIiAgICAiKQoJICAgICAgKHNldHEg Z3Vlc3MgKGNkciBndWVzcykpKQoJICAgIChpbnNlcnQgIlxuVXNlIG9wdGlvbiBgaScgaWYg dGhpcyBpcyBhIGNvcnJlY3QgY29tcG9zaXRpb24iCgkJICAgICIgZnJvbSB0aGUgZGVyaXZh dGl2ZSByb290LlxuIikKCSAgICAoc2V0cSBsaW5lICgrIGxpbmUgKGlmIGNob2ljZXMgMyAy KSkpKSkKICAgICAgKHdoaWxlIChhbmQgY2hvaWNlcwoJCSAgKDwgKGlmICg+ICgrIDcgKGN1 cnJlbnQtY29sdW1uKSAobGVuZ3RoIChjYXIgY2hvaWNlcykpCgkJCSAgICAgICAoaWYgKD4g Y291bnQgMCkKCQkJCSAgICh0cnVuY2F0ZSAobG9nIGNvdW50IDEwKSkKCQkJCSAwKSkKCQkJ ICAgICh3aW5kb3ctd2lkdGgpKQoJCQkgKHByb2duCgkJCSAgIChpbnNlcnQgIlxuIikKCQkJ ICAgKHNldHEgbGluZSAoMSsgbGluZSkpKQoJCSAgICAgICBsaW5lKQoJCSAgICAgbWF4LWxp bmVzKSkKCShpbnNlcnQgIigiIChmb3JtYXQgIiVkIiBjb3VudCkgIikgIiAoY2FyIGNob2lj ZXMpICIgICIpCgkoc2V0cSBjaG9pY2VzIChjZHIgY2hvaWNlcykKCSAgICAgIGNvdW50ICgx KyBjb3VudCkpKSkKCiAgICA7OyBlbnN1cmUgd29yZCBpcyB2aXNpYmxlCiAgICAoaWYgKG5v dCAocG9zLXZpc2libGUtaW4td2luZG93LXAgZW5kKSkKCShzaXQtZm9yIDApKQoKICAgIDs7 IGFsbG93IHRlbXBvcmFyeSBzcGxpdCBvZiBkZWRpY2F0ZWQgd2luZG93cy4uLgogICAgKGlm IGRlZGljYXRlZAoJKHByb2duCgkgIChzZXRxIGRlZGljYXRlZC13aW4gKHNlbGVjdGVkLXdp bmRvdykpCgkgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIGRlZGljYXRlZC13aW4gbmlsKSkp CgogICAgOzsgRGlzcGxheSBjaG9pY2VzIGZvciBtaXNzcGVsbGVkIHdvcmQuCiAgICAobGV0 ICgoY2hvaWNlcy13aW5kb3cgKGdldC1idWZmZXItd2luZG93IGlzcGVsbC1jaG9pY2VzLWJ1 ZmZlcikpKQogICAgICAoaWYgY2hvaWNlcy13aW5kb3cKCSAgKGlmICg9IGxpbmUgKHdpbmRv dy1oZWlnaHQgY2hvaWNlcy13aW5kb3cpKQoJICAgICAgKHNlbGVjdC13aW5kb3cgY2hvaWNl cy13aW5kb3cpCgkgICAgOzsgKkNob2ljZXMqIHdpbmRvdyBjaGFuZ2VkIHNpemUuICBBZGp1 c3QgdGhlIGNob2ljZXMgd2luZG93CgkgICAgOzsgd2l0aG91dCBzY3JvbGxpbmcgdGhlIHNw ZWxsZWQgd2luZG93IHdoZW4gcG9zc2libGUKCSAgICAobGV0ICgod2luZG93LWxpbmUgKC0g bGluZSAod2luZG93LWhlaWdodCBjaG9pY2VzLXdpbmRvdykpKQoJCSAgKHZpc2libGUgKHBy b2duIChmb3J3YXJkLWxpbmUgLTEpIChwb2ludCkpKSkKCSAgICAgIChpZiAoPCBsaW5lIGlz cGVsbC1jaG9pY2VzLXdpbi1kZWZhdWx0LWhlaWdodCkKCQkgIChzZXRxIHdpbmRvdy1saW5l ICgrIHdpbmRvdy1saW5lCgkJCQkgICAgICAgKC0gaXNwZWxsLWNob2ljZXMtd2luLWRlZmF1 bHQtaGVpZ2h0CgkJCQkJICBsaW5lKSkpKQoJICAgICAgKG1vdmUtdG8td2luZG93LWxpbmUg MCkKCSAgICAgIChmb3J3YXJkLWxpbmUgd2luZG93LWxpbmUpCgkgICAgICAoc2V0LXdpbmRv dy1zdGFydCAoc2VsZWN0ZWQtd2luZG93KQoJCQkJKGlmICg+IChwb2ludCkgdmlzaWJsZSkg dmlzaWJsZSAocG9pbnQpKSkKCSAgICAgIChnb3RvLWNoYXIgZW5kKQoJICAgICAgKHNlbGVj dC13aW5kb3cgKHByZXZpb3VzLXdpbmRvdykpIDsgKkNob2ljZXMqIHdpbmRvdwoJICAgICAg KGVubGFyZ2Utd2luZG93IHdpbmRvdy1saW5lKSkpCgk7OyBPdmVybGF5ICpDaG9pY2VzKiB3 aW5kb3cgd2hlbiBpdCBpc24ndCBzaG93aW5nCgkoaXNwZWxsLW92ZXJsYXktd2luZG93ICht YXggbGluZSBpc3BlbGwtY2hvaWNlcy13aW4tZGVmYXVsdC1oZWlnaHQpKSkKICAgICAgKHN3 aXRjaC10by1idWZmZXIgaXNwZWxsLWNob2ljZXMtYnVmZmVyKQogICAgICAoZ290by1jaGFy IChwb2ludC1taW4pKSkKCiAgICAoc2VsZWN0LXdpbmRvdyAoc2V0cSB0ZXh0d2luIChuZXh0 LXdpbmRvdykpKQoKICAgIDs7IGhpZ2hsaWdodCB3b3JkLCBwcm90ZWN0aW5nIGN1cnJlbnQg YnVmZmVyIHN0YXR1cwogICAgKHVud2luZC1wcm90ZWN0CgkocHJvZ24KCSAgKGFuZCBpc3Bl bGwtaGlnaGxpZ2h0LXAKCSAgICAgICAoaXNwZWxsLWhpZ2hsaWdodC1zcGVsbGluZy1lcnJv ciBzdGFydCBlbmQgdCkpCgkgIDs7IExvb3AgdW50aWwgYSB2YWxpZCBjaG9pY2UgaXMgbWFk ZS4KCSAgKHdoaWxlCgkgICAgICAoZXEKCSAgICAgICB0CgkgICAgICAgKHNldHEKCQlyZXN1 bHQKCQkocHJvZ24KCQkgICh1bmRvLWJvdW5kYXJ5KQoJCSAgKGxldCAobWVzc2FnZS1sb2ct bWF4KQoJCSAgICAobWVzc2FnZSAoY29uY2F0ICJDLWggb3IgPyBmb3IgbW9yZSBvcHRpb25z OyBTUEMgdG8gbGVhdmUgIgoJCQkJICAgICAidW5jaGFuZ2VkLCBudW1iZXIgdG8gcmVwbGFj ZSB3b3JkIikpKQoJCSAgKGxldCAoKGluaGliaXQtcXVpdCB0KSkKCQkgICAgKHNldHEgY2hh cgoJCQkgIChpZiAoZmJvdW5kcCAncmVhZC1jaGFyLWV4Y2x1c2l2ZSkKCQkJICAgICAgKHJl YWQtY2hhci1leGNsdXNpdmUpCgkJCSAgICAocmVhZC1jaGFyKSkpCgkJICAgIChpZiAob3Ig cXVpdC1mbGFnICg9IGNoYXIgP1xDLWcpKSA7IEMtZyBpcyBsaWtlIHR5cGluZyBYCgkJCShz ZXRxIGNoYXIgP1gKCQkJICAgICAgcXVpdC1mbGFnIG5pbCkpKQoJCSAgKGNvbmQgKChvciAo PSBjaGFyID8/KSAoPSBjaGFyIGhlbHAtY2hhcikgKD0gY2hhciA/XEMtaCkpCgkJCSAoYW5k IChlcSAnYmxvY2sgaXNwZWxsLWhpZ2hsaWdodC1wKQoJCQkgICAgICAoaXNwZWxsLWhpZ2hs aWdodC1zcGVsbGluZy1lcnJvciBzdGFydCBlbmQgbmlsIHQpKQoJCQkgKGlzcGVsbC1oZWxw KQoJCQkgKGFuZCAoZXEgJ2Jsb2NrIGlzcGVsbC1oaWdobGlnaHQtcCkKCQkJICAgICAgKGlz cGVsbC1oaWdobGlnaHQtc3BlbGxpbmctZXJyb3Igc3RhcnQgZW5kIG5pbAoJCQkJCQkJICAg ICAgICdibG9jaykpCgkJCSB0KQoJCQkoKG1lbWJlciBjaGFyIGNvbW1hbmQtY2hhcmFjdGVy cykKCQkJIChjYWxsLWludGVyYWN0aXZlbHkKCQkJICAobG9va3VwLWtleSBpc3BlbGwtY29t bWFuZC1sb29wLW1hcAoJCQkJICAgICAgKGNoYXItdG8tc3RyaW5nIGNoYXIpKSkpCgkJCSgo YW5kICg+PSBjaGFyID8wKSAoPD0gY2hhciA/OSkpCgkJCSAobGV0ICgodW5yZWFkLWNvbW1h bmQtZXZlbnRzCgkJCQkoY29ucyBjaGFyIHVucmVhZC1jb21tYW5kLWV2ZW50cykpKQoJCQkg ICAoc2V0cSBudW0KCQkJCSAoY29uZGl0aW9uLWNhc2UgbmlsCgkJCQkgICAgIChyZWFkLW1p bmlidWZmZXIKCQkJCSAgICAgICJDLWggb3IgPyBmb3IgbW9yZSBvcHRpb25zOyBcClNQQyB0 byBsZWF2ZSB1bmNoYW5nZWQsIG51bWJlciB0byByZXBsYWNlIHdvcmQ6ICIpCgkJCQkgICAo ZXJyb3IgbmlsKSkpKQoJCQkgKGNvbmQgKChhbmQgKG51bWJlcnAgbnVtKQoJCQkJICAgICAo Pj0gbnVtIDApICg8IG51bSBjb3VudCkpCgkJCQkoaWYgaXNwZWxsLXF1ZXJ5LXJlcGxhY2Ut Y2hvaWNlcwoJCQkJICAgIChsaXN0IChudGggbnVtIG1pc3MpICdxdWVyeS1yZXBsYWNlKQoJ CQkJICAobnRoIG51bSBtaXNzKSkpCgkJCSAgICAgICAodCAoZGluZykgdCkpKQoJCQkodCAo ZGluZykgdCkpKSkpKQoJICByZXN1bHQpCiAgICAgIDs7IHByb3RlY3RlZAogICAgICAoaWYg aXNwZWxsLWhpZ2hsaWdodC1wCQk7IHVuaGlnaGxpZ2h0CgkgIChzYXZlLXdpbmRvdy1leGN1 cnNpb24KCSAgICAoc2VsZWN0LXdpbmRvdyB0ZXh0d2luKQoJICAgIChpc3BlbGwtaGlnaGxp Z2h0LXNwZWxsaW5nLWVycm9yIHN0YXJ0IGVuZCkpKSkpKQoKOzs7IGlzcGVsbC1jb21tYW5k LWxvb3AgZW5kcyBoZXJlCg== --------------010101020103090300080009 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Help-gnu-emacs mailing list Help-gnu-emacs@gnu.org http://lists.gnu.org/mailman/listinfo/help-gnu-emacs --------------010101020103090300080009--