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 08:33:34 -0700 Message-ID: <231065DA146544BC8F04D09E33D823A5@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> 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 1278864040 21141 80.91.229.12 (11 Jul 2010 16:00:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 11 Jul 2010 16:00:40 +0000 (UTC) Cc: 6591@debbugs.gnu.org, 'Richard Stallman' To: "'Eli Zaretskii'" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jul 11 18:00:37 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 1OXyxH-0007uL-IC for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Jul 2010 18:00:36 +0200 Original-Received: from localhost ([127.0.0.1]:50446 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OXyxG-0008FD-LB for geb-bug-gnu-emacs@m.gmane.org; Sun, 11 Jul 2010 12:00:34 -0400 Original-Received: from [140.186.70.92] (port=46455 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OXywu-0008C9-7u for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 12:00:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OXywr-0000V3-Ny for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 12:00:12 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:42143) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OXywr-0000Uz-Mf for bug-gnu-emacs@gnu.org; Sun, 11 Jul 2010 12:00:09 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1OXyYY-0004df-0I; Sun, 11 Jul 2010 11:35: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 15:35:01 +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.127886246117825 (code B ref 6591); Sun, 11 Jul 2010 15:35:01 +0000 Original-Received: (at 6591) by debbugs.gnu.org; 11 Jul 2010 15:34:21 +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 1OXyXs-0004dS-60 for submit@debbugs.gnu.org; Sun, 11 Jul 2010 11:34:20 -0400 Original-Received: from rcsinet10.oracle.com ([148.87.113.121]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OXyXp-0004dL-L9 for 6591@debbugs.gnu.org; Sun, 11 Jul 2010 11:34:18 -0400 Original-Received: from rcsinet15.oracle.com (rcsinet15.oracle.com [148.87.113.117]) by rcsinet10.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o6BFYGuf008210 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 11 Jul 2010 15:34:17 GMT Original-Received: from acsmt353.oracle.com (acsmt353.oracle.com [141.146.40.153]) by rcsinet15.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o6BEEwCZ019159; Sun, 11 Jul 2010 15:34:16 GMT Original-Received: from abhmt007.oracle.com by acsmt354.oracle.com with ESMTP id 395574951278862413; Sun, 11 Jul 2010 08:33:33 -0700 Original-Received: from dradamslap1 (/10.175.255.126) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sun, 11 Jul 2010 08:33:32 -0700 X-Mailer: Microsoft Office Outlook 11 In-reply-to: <83sk3qv922.fsf@gnu.org> Thread-Index: AcsgwMpMxNAU6FHpSdiVK+b0VdOFTQAStpKw X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5931 X-Source-IP: acsmt353.oracle.com [141.146.40.153] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090202.4C39E478.0165: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 11:35: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:38390 Archived-At: > > If you now say that you are open to looking for another > > syntax to use, then I would return to my initial suggestion > > (but I won't argue that it is the only good approach): > > use `...' to mean repetitions of whatever it follows, in > > this case a sexp, and thus write (catch TAG FORM...). > > Introducing a grouping syntax operator (e.g. braces: {}), > > so the scope of the ellipsis can be controlled - e.g. > > (A B {C D}... E...) meaning that C D repeats and E repeats. > > Using FORM... is okay, but will need more extensive changes, so I'd > rather not do it. I'd like to simply remove the dots after BODY, and > explain in the text that BODY can consist of one or more forms. AND that list of forms is SPLICED IN. That's the important part that needs to be made clear if you take your approach. IOW, reading what you just wrote, a reader will assume that BODY might be (A B C) when what you meant was A B C. E.g. this is not valid: (catch 'foo ((setq a b) (terpri) (set-buffer z))). But it follows your description fine: "BODY can consist of one or more forms". We will agree to disagree on this one. IMO, readers will not be helped, and doc maintenance will be increased in the long run, by doing what you suggest. There is a mismatch between what someone sees in the syntax description, (catch TAG BODY), and what the surrounding text needs to say in order to explain that syntax. A user sees TAG and BODY directly, and naturally supposes that each is a placeholder and the kind of thing substitutable for each placeholder is the same or similar. The text needs (at *each* occurrence of this phenomenon) to explain that this is not the case: TAG is replaceable by a sexp, BODY is replaceable by a list of sexps, but the list is spliced in. It's easy enough to say that in `(A B C)' A is a placeholder for a function symbol, B for an integer and C for any sexp (or whatever) - the types of the placeholders are straightforward. It is not so easy to explain that BODY in (catch TAG BODY) is a list of sexps but that list has no surrounding parens etc. It's your call, but in the long run what you propose will lead to more complex, confusing doc and increased doc maintenance. That will help neither reader nor writer. > Does anyone see any reason why keeping the dots in BODY... will have > some didactical importance? Richard? Stefan? Yidong?