From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Stuart D. Herring" Newsgroups: gmane.emacs.devel Subject: Re: Mysterious fontification/C++ context issue - Patch for beginning-of-defun-raw. Date: Fri, 15 Dec 2006 12:46:36 -0800 (PST) Message-ID: <50401.128.165.123.18.1166215596.squirrel@webmail.lanl.gov> References: <878xh987lg.fsf@stupidchicken.com> <87vekd6rcu.fsf@stupidchicken.com> Reply-To: herring@lanl.gov NNTP-Posting-Host: dough.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20061215124636_46388" X-Trace: sea.gmane.org 1166215645 10923 80.91.229.10 (15 Dec 2006 20:47:25 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 15 Dec 2006 20:47:25 +0000 (UTC) Cc: Sean O'Rourke , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Dec 15 21:47:23 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by dough.gmane.org with esmtp (Exim 4.50) id 1GvJxh-0005mG-1g for ged-emacs-devel@m.gmane.org; Fri, 15 Dec 2006 21:47:21 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GvJxg-0007nu-F7 for ged-emacs-devel@m.gmane.org; Fri, 15 Dec 2006 15:47:20 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GvJxA-0007Qb-K0 for emacs-devel@gnu.org; Fri, 15 Dec 2006 15:46:48 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GvJx9-0007OQ-4m for emacs-devel@gnu.org; Fri, 15 Dec 2006 15:46:48 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GvJx8-0007OC-UG for emacs-devel@gnu.org; Fri, 15 Dec 2006 15:46:46 -0500 Original-Received: from [192.65.95.54] (helo=mailwasher-b.lanl.gov) by monty-python.gnu.org with esmtp (Exim 4.52) id 1GvJx8-0001Xb-1A for emacs-devel@gnu.org; Fri, 15 Dec 2006 15:46:47 -0500 Original-Received: from mailrelay3.lanl.gov (mailrelay3.lanl.gov [128.165.4.104]) by mailwasher-b.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id kBFKkfWF031151 for ; Fri, 15 Dec 2006 13:46:41 -0700 Original-Received: from webmail1.lanl.gov (webmail1.lanl.gov [128.165.4.106]) by mailrelay3.lanl.gov (8.13.8/8.13.8/(ccn-5)) with ESMTP id kBFKke0b006635; Fri, 15 Dec 2006 13:46:40 -0700 Original-Received: from webmail1.lanl.gov (localhost.localdomain [127.0.0.1]) by webmail1.lanl.gov (8.12.11.20060308/8.12.11) with ESMTP id kBFKkeRt017316; Fri, 15 Dec 2006 13:46:40 -0700 Original-Received: (from apache@localhost) by webmail1.lanl.gov (8.12.11.20060308/8.12.11/Submit) id kBFKka4D017305; Fri, 15 Dec 2006 12:46:36 -0800 X-Authentication-Warning: webmail1.lanl.gov: apache set sender to herring@lanl.gov using -f Original-Received: from 128.165.123.18 (SquirrelMail authenticated user 196434) by webmail.lanl.gov with HTTP; Fri, 15 Dec 2006 12:46:36 -0800 (PST) In-Reply-To: <87vekd6rcu.fsf@stupidchicken.com> Original-To: "Chong Yidong" User-Agent: SquirrelMail/1.4.8-2.el3.7lanl X-Priority: 3 (Normal) Importance: Normal X-PMX-Version: 4.7.1.128075 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:63791 Archived-At: ------=_20061215124636_46388 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit >> Chong Yidong writes: >>> This binding should take place in CC-mode code; there's no >>> reason to expect all beginning-of-defun functions to run with >>> beginning-of-defun-function rebound to nil. >> >> I think this is a reasonable expectation: if the custom b-o-d-f >> wants to call itself, it can do so directly, and b-o-d-f needs to >> be bound to nil at some point anyways to avoid recursion. It's >> probably less error-prone to do it in just one place, rather than >> letting each new foo-mode's foo-beginning-of-defun discover this >> problem for itself. > > OTOH, there's no other place in Emacs that assumes that you should > bind foo-function to nil before calling foo-function. That would be > considered surprising behavior. Most other places in Emacs aren't delegating a function's entire job, so recursion isn't an issue. If it's thought better, I've attached a patch that sets up b-o-d-f, e-o-d-f, and f-s-f (forward-sexp-function) to be bound to nil while their values are being called, and updates the docstrings accordingly. I've provided a ChangeLog below, although perhaps a NEWS entry would be needed as well. (There might also be other files that could apply this technique, but I don't want to do too much if it turns out to be undesired.) Davis 2006-12-15 Stuart D. Herring * emacs-lisp/lisp.el (forward-sexp-function, beginning-of-defun-function, end-of-defun-function): Document rebinding during use. (forward-sexp): Bind `forward-sexp-function' to nil when calling it, and document this. (beginning-of-defun): Document rebinding of `beginning-of-defun-function' during use. (beginning-of-defun-raw): Bind `beginning-of-defun-function' to nil when calling it, and document this. (end-of-defun): Bind `end-of-defun-function' to nil when calling it, and document this. -- This product is sold by volume, not by mass. If it appears too dense or too sparse, it is because mass-energy conversion has occurred during shipping. ------=_20061215124636_46388 Content-Type: application/octet-stream; name="lisp-function.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lisp-function.patch" KioqIGxpc3AuZWwufjEuNzUufgkyMDA2LTExLTE1IDEwOjA4OjI3LjAwMDAwMDAwMCAtMDcwMAot LS0gbGlzcC5lbAkyMDA2LTEyLTE1IDEzOjQxOjQwLjAwMDAwMDAwMCAtMDcwMAoqKioqKioqKioq KioqKioKKioqIDQ3LDUzICoqKioKICAKICAoZGVmdmFyIGZvcndhcmQtc2V4cC1mdW5jdGlvbiBu aWwKICAgICJJZiBub24tbmlsLCBgZm9yd2FyZC1zZXhwJyBkZWxlZ2F0ZXMgdG8gdGhpcyBmdW5j dGlvbi4KISBTaG91bGQgdGFrZSB0aGUgc2FtZSBhcmd1bWVudHMgYW5kIGJlaGF2ZSBzaW1pbGFy bHkgdG8gYGZvcndhcmQtc2V4cCcuIikKICAKICAoZGVmdW4gZm9yd2FyZC1zZXhwICgmb3B0aW9u YWwgYXJnKQogICAgIk1vdmUgZm9yd2FyZCBhY3Jvc3Mgb25lIGJhbGFuY2VkIGV4cHJlc3Npb24g KHNleHApLgotLS0gNDcsNTQgLS0tLQogIAogIChkZWZ2YXIgZm9yd2FyZC1zZXhwLWZ1bmN0aW9u IG5pbAogICAgIklmIG5vbi1uaWwsIGBmb3J3YXJkLXNleHAnIGRlbGVnYXRlcyB0byB0aGlzIGZ1 bmN0aW9uLgohIFNob3VsZCB0YWtlIHRoZSBzYW1lIGFyZ3VtZW50cyBhcyBhbmQgYmVoYXZlIHNp bWlsYXJseSB0byBgZm9yd2FyZC1zZXhwJy4KISBUaGlzIHZhcmlhYmxlIHdpbGwgYmUgYm91bmQg dG8gbmlsIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZC4iKQogIAogIChkZWZ1biBmb3J3YXJk LXNleHAgKCZvcHRpb25hbCBhcmcpCiAgICAiTW92ZSBmb3J3YXJkIGFjcm9zcyBvbmUgYmFsYW5j ZWQgZXhwcmVzc2lvbiAoc2V4cCkuCioqKioqKioqKioqKioqKgoqKiogNTYsNjIgKioqKgogICAg KGludGVyYWN0aXZlICJwIikKICAgIChvciBhcmcgKHNldHEgYXJnIDEpKQogICAgKGlmIGZvcndh cmQtc2V4cC1mdW5jdGlvbgohICAgICAgIChmdW5jYWxsIGZvcndhcmQtc2V4cC1mdW5jdGlvbiBh cmcpCiAgICAgIChnb3RvLWNoYXIgKG9yIChzY2FuLXNleHBzIChwb2ludCkgYXJnKSAoYnVmZmVy LWVuZCBhcmcpKSkKICAgICAgKGlmICg8IGFyZyAwKSAoYmFja3dhcmQtcHJlZml4LWNoYXJzKSkp KQogIAotLS0gNTcsNjYgLS0tLQogICAgKGludGVyYWN0aXZlICJwIikKICAgIChvciBhcmcgKHNl dHEgYXJnIDEpKQogICAgKGlmIGZvcndhcmQtc2V4cC1mdW5jdGlvbgohICAgICAgIDs7IFJlbWVt YmVyIHRoZSB2YWx1ZSBhbmQgdGhlbiBiaW5kIGl0IHRvIG5pbCBzbyB0aGF0IHRoaXMgZnVuY3Rp b24gaXMKISAgICAgICA7OyB1c2FibGUgZnJvbSB0aGUgZnVuY3Rpb24gd2UgY2FsbC4KISAgICAg ICAobGV0ICgoZnNmIGZvcndhcmQtc2V4cC1mdW5jdGlvbikgZm9yd2FyZC1zZXhwLWZ1bmN0aW9u KQohIAkoZnVuY2FsbCBmc2YgYXJnKSkKICAgICAgKGdvdG8tY2hhciAob3IgKHNjYW4tc2V4cHMg KHBvaW50KSBhcmcpIChidWZmZXItZW5kIGFyZykpKQogICAgICAoaWYgKDwgYXJnIDApIChiYWNr d2FyZC1wcmVmaXgtY2hhcnMpKSkpCiAgCioqKioqKioqKioqKioqKgoqKiogMTc3LDE4MyAqKioq CiAgCiAgVGhlIGZ1bmN0aW9uIChvZiBubyBhcmdzKSBzaG91bGQgZ28gdG8gdGhlIGxpbmUgb24g d2hpY2ggdGhlIGN1cnJlbnQKICBkZWZ1biBzdGFydHMsIGFuZCByZXR1cm4gbm9uLW5pbCwgb3Ig c2hvdWxkIHJldHVybiBuaWwgaWYgaXQgY2FuJ3QKISBmaW5kIHRoZSBiZWdpbm5pbmcuIikKICAK ICAoZGVmdW4gYmVnaW5uaW5nLW9mLWRlZnVuICgmb3B0aW9uYWwgYXJnKQogICAgIk1vdmUgYmFj a3dhcmQgdG8gdGhlIGJlZ2lubmluZyBvZiBhIGRlZnVuLgotLS0gMTgxLDE4OCAtLS0tCiAgCiAg VGhlIGZ1bmN0aW9uIChvZiBubyBhcmdzKSBzaG91bGQgZ28gdG8gdGhlIGxpbmUgb24gd2hpY2gg dGhlIGN1cnJlbnQKICBkZWZ1biBzdGFydHMsIGFuZCByZXR1cm4gbm9uLW5pbCwgb3Igc2hvdWxk IHJldHVybiBuaWwgaWYgaXQgY2FuJ3QKISBmaW5kIHRoZSBiZWdpbm5pbmcuICBUaGlzIHZhcmlh YmxlIHdpbGwgYmUgYm91bmQgdG8gbmlsIHdoZW4gdGhlCiEgZnVuY3Rpb24gaXMgY2FsbGVkLiIp CiAgCiAgKGRlZnVuIGJlZ2lubmluZy1vZi1kZWZ1biAoJm9wdGlvbmFsIGFyZykKICAgICJNb3Zl IGJhY2t3YXJkIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBkZWZ1bi4KKioqKioqKioqKioqKioqCioq KiAxOTAsMTk3ICoqKioKICBub24tbmlsLCB0aGVuIGEgc3RyaW5nIHdoaWNoIG1hdGNoZXMgdGhh dCByZWdleHAgbWF5IHByZWNlZGUgdGhlCiAgb3Blbi1wYXJlbnRoZXNpcywgYW5kIHBvaW50IGVu ZHMgdXAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZS4KICAKISBJZiB2YXJpYWJsZSBgYmVn aW5uaW5nLW9mLWRlZnVuLWZ1bmN0aW9uJyBpcyBub24tbmlsLCBpdHMgdmFsdWUKISBpcyBjYWxs ZWQgYXMgYSBmdW5jdGlvbiB0byBmaW5kIHRoZSBkZWZ1bidzIGJlZ2lubmluZy4iCiAgICAoaW50 ZXJhY3RpdmUgInAiKQogICAgKG9yIChub3QgKGVxIHRoaXMtY29tbWFuZCAnYmVnaW5uaW5nLW9m LWRlZnVuKSkKICAgICAgICAoZXEgbGFzdC1jb21tYW5kICdiZWdpbm5pbmctb2YtZGVmdW4pCi0t LSAxOTUsMjAzIC0tLS0KICBub24tbmlsLCB0aGVuIGEgc3RyaW5nIHdoaWNoIG1hdGNoZXMgdGhh dCByZWdleHAgbWF5IHByZWNlZGUgdGhlCiAgb3Blbi1wYXJlbnRoZXNpcywgYW5kIHBvaW50IGVu ZHMgdXAgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZS4KICAKISBJZiB2YXJpYWJsZSBgYmVn aW5uaW5nLW9mLWRlZnVuLWZ1bmN0aW9uJyBpcyBub24tbmlsLCBpdHMgdmFsdWUgaXMKISBjYWxs ZWQgYXMgYSBmdW5jdGlvbiB0byBmaW5kIHRoZSBkZWZ1bidzIGJlZ2lubmluZy4gIFRoZSB2YXJp YWJsZSBpcwohIGJvdW5kIHRvIG5pbCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQuIgogICAg KGludGVyYWN0aXZlICJwIikKICAgIChvciAobm90IChlcSB0aGlzLWNvbW1hbmQgJ2JlZ2lubmlu Zy1vZi1kZWZ1bikpCiAgICAgICAgKGVxIGxhc3QtY29tbWFuZCAnYmVnaW5uaW5nLW9mLWRlZnVu KQoqKioqKioqKioqKioqKioKKioqIDIwNiwyMjEgKioqKgogIGRvZXMgbm90IG1vdmUgdG8gdGhl IGJlZ2lubmluZyBvZiB0aGUgbGluZSB3aGVuIGBkZWZ1bi1wcm9tcHQtcmVnZXhwJwogIGlzIG5v bi1uaWwuCiAgCiEgSWYgdmFyaWFibGUgYGJlZ2lubmluZy1vZi1kZWZ1bi1mdW5jdGlvbicgaXMg bm9uLW5pbCwgaXRzIHZhbHVlCiEgaXMgY2FsbGVkIGFzIGEgZnVuY3Rpb24gdG8gZmluZCB0aGUg ZGVmdW4ncyBiZWdpbm5pbmcuIgogICAgKGludGVyYWN0aXZlICJwIikgOyBjaGFuZ2UgdGhpcyB0 byAiUCIsIG1heWJlLCBpZiB3ZSBldmVyIGNvbWUgdG8gcGFzcyBBUkcKICAJCSAgICA7IHRvIGJl Z2lubmluZy1vZi1kZWZ1bi1mdW5jdGlvbi4KICAgICh1bmxlc3MgYXJnIChzZXRxIGFyZyAxKSkJ CTsgVGhlIGNhbGwgbWlnaHQgbm90IGJlIGludGVyYWN0aXZlLgogICAgKGNvbmQKICAgICAoYmVn aW5uaW5nLW9mLWRlZnVuLWZ1bmN0aW9uCiAgICAgIChpZiAoPiBhcmcgMCkKISAJKGRvdGltZXMg KGkgYXJnKQohIAkgIChmdW5jYWxsIGJlZ2lubmluZy1vZi1kZWZ1bi1mdW5jdGlvbikpCiAgICAg ICAgOzsgQmV0dGVyIG5vdCBjYWxsIGVuZC1vZi1kZWZ1bi1mdW5jdGlvbiBkaXJlY3RseSwgaW4g Y2FzZQogICAgICAgIDs7IGl0J3Mgbm90IGRlZmluZWQuCiAgICAgICAgKGVuZC1vZi1kZWZ1biAo LSBhcmcpKSkpCi0tLSAyMTIsMjMwIC0tLS0KICBkb2VzIG5vdCBtb3ZlIHRvIHRoZSBiZWdpbm5p bmcgb2YgdGhlIGxpbmUgd2hlbiBgZGVmdW4tcHJvbXB0LXJlZ2V4cCcKICBpcyBub24tbmlsLgog IAohIElmIHZhcmlhYmxlIGBiZWdpbm5pbmctb2YtZGVmdW4tZnVuY3Rpb24nIGlzIG5vbi1uaWws IGl0cyB2YWx1ZSBpcwohIGNhbGxlZCBhcyBhIGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGRlZnVuJ3Mg YmVnaW5uaW5nLiAgVGhlIHZhcmlhYmxlIGlzCiEgYm91bmQgdG8gbmlsIHdoZW4gdGhlIGZ1bmN0 aW9uIGlzIGNhbGxlZC4iCiAgICAoaW50ZXJhY3RpdmUgInAiKSA7IGNoYW5nZSB0aGlzIHRvICJQ IiwgbWF5YmUsIGlmIHdlIGV2ZXIgY29tZSB0byBwYXNzIEFSRwogIAkJICAgIDsgdG8gYmVnaW5u aW5nLW9mLWRlZnVuLWZ1bmN0aW9uLgogICAgKHVubGVzcyBhcmcgKHNldHEgYXJnIDEpKQkJOyBU aGUgY2FsbCBtaWdodCBub3QgYmUgaW50ZXJhY3RpdmUuCiAgICAoY29uZAogICAgIChiZWdpbm5p bmctb2YtZGVmdW4tZnVuY3Rpb24KICAgICAgKGlmICg+IGFyZyAwKQohIAk7OyBSZW1lbWJlciB0 aGUgdmFsdWUgYW5kIHRoZW4gYmluZCBpdCB0byBuaWwgc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGlz CiEgCTs7IHVzYWJsZSBmcm9tIHRoZSBmdW5jdGlvbiB3ZSBjYWxsLgohIAkobGV0ICgoYm9kZiBi ZWdpbm5pbmctb2YtZGVmdW4tZnVuY3Rpb24pIGJlZ2lubmluZy1vZi1kZWZ1bi1mdW5jdGlvbikK ISAJICAoZG90aW1lcyAoaSBhcmcpIChmdW5jYWxsIGJvZGYpKSkpCiAgICAgICAgOzsgQmV0dGVy IG5vdCBjYWxsIGVuZC1vZi1kZWZ1bi1mdW5jdGlvbiBkaXJlY3RseSwgaW4gY2FzZQogICAgICAg IDs7IGl0J3Mgbm90IGRlZmluZWQuCiAgICAgICAgKGVuZC1vZi1kZWZ1biAoLSBhcmcpKSkpCioq KioqKioqKioqKioqKgoqKiogMjcxLDI3NyAqKioqCiAgICAiSWYgbm9uLW5pbCwgZnVuY3Rpb24g Zm9yIGZ1bmN0aW9uIGBlbmQtb2YtZGVmdW4nIHRvIGNhbGwuCiAgVGhpcyBpcyB1c2VkIHRvIGZp bmQgdGhlIGVuZCBvZiB0aGUgZGVmdW4gaW5zdGVhZCBvZiB1c2luZyB0aGUgbm9ybWFsCiAgcmVj aXBlIChzZWUgYGVuZC1vZi1kZWZ1bicpLiAgTWFqb3IgbW9kZXMgY2FuIGRlZmluZSB0aGlzIGlm IHRoZQohIG5vcm1hbCBtZXRob2QgaXMgbm90IGFwcHJvcHJpYXRlLiIpCiAgCiAgKGRlZnVuIGJ1 ZmZlci1lbmQgKGFyZykKICAgICJSZXR1cm4gdGhlIFwiZmFyIGVuZFwiIHBvc2l0aW9uIG9mIHRo ZSBidWZmZXIsIGluIGRpcmVjdGlvbiBBUkcuCi0tLSAyODAsMjg3IC0tLS0KICAgICJJZiBub24t bmlsLCBmdW5jdGlvbiBmb3IgZnVuY3Rpb24gYGVuZC1vZi1kZWZ1bicgdG8gY2FsbC4KICBUaGlz IGlzIHVzZWQgdG8gZmluZCB0aGUgZW5kIG9mIHRoZSBkZWZ1biBpbnN0ZWFkIG9mIHVzaW5nIHRo ZSBub3JtYWwKICByZWNpcGUgKHNlZSBgZW5kLW9mLWRlZnVuJykuICBNYWpvciBtb2RlcyBjYW4g ZGVmaW5lIHRoaXMgaWYgdGhlCiEgbm9ybWFsIG1ldGhvZCBpcyBub3QgYXBwcm9wcmlhdGUuCiEg VGhpcyB2YXJpYWJsZSB3aWxsIGJlIGJvdW5kIHRvIG5pbCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBj YWxsZWQuIikKICAKICAoZGVmdW4gYnVmZmVyLWVuZCAoYXJnKQogICAgIlJldHVybiB0aGUgXCJm YXIgZW5kXCIgcG9zaXRpb24gb2YgdGhlIGJ1ZmZlciwgaW4gZGlyZWN0aW9uIEFSRy4KKioqKioq KioqKioqKioqCioqKiAyODksMjk1ICoqKioKICBgYmVnaW5uaW5nLW9mLWRlZnVuJy4KICAKICBJ ZiB2YXJpYWJsZSBgZW5kLW9mLWRlZnVuLWZ1bmN0aW9uJyBpcyBub24tbmlsLCBpdHMgdmFsdWUK ISBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiB0byBmaW5kIHRoZSBkZWZ1bidzIGVuZC4iCiAgICAo aW50ZXJhY3RpdmUgInAiKQogICAgKG9yIChub3QgKGVxIHRoaXMtY29tbWFuZCAnZW5kLW9mLWRl ZnVuKSkKICAgICAgICAoZXEgbGFzdC1jb21tYW5kICdlbmQtb2YtZGVmdW4pCi0tLSAyOTksMzA2 IC0tLS0KICBgYmVnaW5uaW5nLW9mLWRlZnVuJy4KICAKICBJZiB2YXJpYWJsZSBgZW5kLW9mLWRl ZnVuLWZ1bmN0aW9uJyBpcyBub24tbmlsLCBpdHMgdmFsdWUKISBpcyBjYWxsZWQgYXMgYSBmdW5j dGlvbiB0byBmaW5kIHRoZSBkZWZ1bidzIGVuZC4gIFRoZSB2YXJpYWJsZSBpcwohIGJvdW5kIHRv IG5pbCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQuIgogICAgKGludGVyYWN0aXZlICJwIikK ICAgIChvciAobm90IChlcSB0aGlzLWNvbW1hbmQgJ2VuZC1vZi1kZWZ1bikpCiAgICAgICAgKGVx IGxhc3QtY29tbWFuZCAnZW5kLW9mLWRlZnVuKQoqKioqKioqKioqKioqKioKKioqIDI5OCwzMDUg KioqKgogICAgKGlmIChvciAobnVsbCBhcmcpICg9IGFyZyAwKSkgKHNldHEgYXJnIDEpKQogICAg KGlmIGVuZC1vZi1kZWZ1bi1mdW5jdGlvbgogICAgICAgIChpZiAoPiBhcmcgMCkKISAJICAoZG90 aW1lcyAoaSBhcmcpCiEgCSAgICAoZnVuY2FsbCBlbmQtb2YtZGVmdW4tZnVuY3Rpb24pKQogIAk7 OyBCZXR0ZXIgbm90IGNhbGwgYmVnaW5uaW5nLW9mLWRlZnVuLWZ1bmN0aW9uCiAgCTs7IGRpcmVj dGx5LCBpbiBjYXNlIGl0J3Mgbm90IGRlZmluZWQuCiAgCShiZWdpbm5pbmctb2YtZGVmdW4gKC0g YXJnKSkpCi0tLSAzMDksMzE4IC0tLS0KICAgIChpZiAob3IgKG51bGwgYXJnKSAoPSBhcmcgMCkp IChzZXRxIGFyZyAxKSkKICAgIChpZiBlbmQtb2YtZGVmdW4tZnVuY3Rpb24KICAgICAgICAoaWYg KD4gYXJnIDApCiEgCSAgOzsgUmVtZW1iZXIgdGhlIHZhbHVlIGFuZCB0aGVuIGJpbmQgaXQgdG8g bmlsIHNvIHRoYXQgdGhpcyBmdW5jdGlvbgohIAkgIDs7IGlzIHVzYWJsZSBmcm9tIHRoZSBmdW5j dGlvbiB3ZSBjYWxsLgohIAkgIChsZXQgKChlb2RmIGVuZC1vZi1kZWZ1bi1mdW5jdGlvbikgZW5k LW9mLWRlZnVuLWZ1bmN0aW9uKQohIAkgICAgKGRvdGltZXMgKGkgYXJnKSAoZnVuY2FsbCBlb2Rm KSkpCiAgCTs7IEJldHRlciBub3QgY2FsbCBiZWdpbm5pbmctb2YtZGVmdW4tZnVuY3Rpb24KICAJ OzsgZGlyZWN0bHksIGluIGNhc2UgaXQncyBub3QgZGVmaW5lZC4KICAJKGJlZ2lubmluZy1vZi1k ZWZ1biAoLSBhcmcpKSkK ------=_20061215124636_46388 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ------=_20061215124636_46388--