From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#6591: 24.0.50; incorrect doc for `catch' Date: Sun, 11 Jul 2010 10:58:18 -0700 Message-ID: <8A949316C82741F4A96534DCD3EB7F58@us.oracle.com> References: <831vbcbl7n.fsf@gnu.org><5500EFEE9A854408ABF0FE400497FE2D@us.oracle.com><83tyo7aiay.fsf@gnu.org><83mxtz9zbn.fsf@gnu.org><3ACAED77613643B7B2FC0207DDE11F11@us.oracle.com><83y6djuyah.fsf@gnu.org><38AC360676154EFF8DF9F35945B6EFAE@us.oracle.com><83sk3qv922.fsf@gnu.org> <87lj9infkq.fsf@stupidchicken.com><526FD0D227F74C5EB38D8F5B903749E1@us.oracle.com> <87eifagcvr.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1278871520 9968 80.91.229.12 (11 Jul 2010 18:05:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 11 Jul 2010 18:05:20 +0000 (UTC) Cc: 6591@debbugs.gnu.org, 'Richard Stallman' To: "'Chong Yidong'" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 11 20:05:19 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OY0tt-0006LR-P0 for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Jul 2010 20:05:14 +0200 Original-Received: from localhost ([127.0.0.1]:38519 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OY0tt-0001UM-7j for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Jul 2010 14:05:13 -0400 Original-Received: from [140.186.70.92] (port=60869 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OY0p3-0006ZK-8c for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 14:00:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OY0oz-0005Mv-RR for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 14:00:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:49617) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OY0oz-0005Mr-QB for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 14:00:09 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1OY0nu-0005eF-AO; Sun, 11 Jul 2010 13:59:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 11 Jul 2010 17:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6591 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 6591-submit@debbugs.gnu.org id=B6591.127887110821694 (code B ref 6591); Sun, 11 Jul 2010 17:59:02 +0000 Original-Received: (at 6591) by debbugs.gnu.org; 11 Jul 2010 17:58:28 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OY0nM-0005dr-04 for submit@debbugs.gnu.org; Sun, 11 Jul 2010 13:58:28 -0400 Original-Received: from rcsinet10.oracle.com ([148.87.113.121]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OY0nJ-0005dk-J3 for 6591@debbugs.gnu.org; Sun, 11 Jul 2010 13:58:26 -0400 Original-Received: from rcsinet13.oracle.com (rcsinet13.oracle.com [148.87.113.125]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o6BHwOih030862 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 11 Jul 2010 17:58:25 GMT Original-Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155]) by rcsinet13.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o6BGwMhX019762; Sun, 11 Jul 2010 17:58:23 GMT Original-Received: from abhmt021.oracle.com by acsmt353.oracle.com with ESMTP id 416447061278871096; Sun, 11 Jul 2010 10:58:16 -0700 Original-Received: from dradamslap1 (/10.175.255.126) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 11 Jul 2010 10:58:16 -0700 X-Mailer: Microsoft Office Outlook 11 In-reply-to: <87eifagcvr.fsf@stupidchicken.com> Thread-Index: AcshHHB5uE9Mkp0BTVal8jmhu70vPwAAfoSQ X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 X-Source-IP: acsmt355.oracle.com [141.146.40.155] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090204.4C3A0640.00D3:SCFMA4539814,ss=1,fgs=0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sun, 11 Jul 2010 13:59:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:38404 Archived-At: > >> The dots are important, because BODY normally implies one > >> single form. We are somewhat abusing notation by using > >> `BODY...' to denote one or more forms, but the convention > >> is well-established and easy to grasp, > >> and there are no better alternatives. > > > > No better alternative? Did you read the thread? What about doing > > what the rest of the world does: (catch TAG FORM...)? > > Either BODY... or FORM... seems fine by me. It seems clearer to use > BODY... and refer to "BODY forms" in the text, than to use FORM... and > refer to "each FORM" in the text. But it is a marginal difference, You are missing the point, but I won't beat a dead horse. I explained myself clearly, I think, for anyone who is willing and able to read. > and I don't think anyone gets confused in practice. If you read the thread, then you should not think that. _I_ got confused in practice, which is why I filed the bug report. I could not remember whether `catch' allows multiple sexps after the tag (i.e. has an implicit `progn'), so I consulted the doc, which I found misleading and confusing.[*] IOW, just to find out whether I needed to use an explicit `progn' after the tag in order to eval multiple sexps, I landed in a doc morass where `BODY...' does not in fact mean repetitions of BODY as it does in the rest of the known universe. For further clarity, I grepped the Emacs Lisp sources for examples, and I found _only_ uses of `catch' with a _single_ sexp. That added to my confusion. And when I finally figured that an implicit `progn' was used, the exclusive use of only one sexp in our source code suggested to me that perhaps some Emacs developers might also have been confused and so never tried using more than one sexp. [* I sometimes forget such things. One that I keep coming back to is `unwind-protect', which does _not_ protect multiple sexps (you need to use an explicit `progn' if you want to do that). Note, BTW, that in MacLisp the syntax was `(catch FORM TAG)', where _only one_ sexp was allowed. Note too that the MacLisp doc for `*catch' (which replaced `catch') shows its syntax as `(*catch tagspec . body)' - note the use of dot notation in a syntax description. http://maclisp.info/pitmanual/contro.html]