From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: [RFC] Editing Lisp through changing indentation Date: Fri, 19 Jul 2013 08:58:23 -0700 (PDT) Message-ID: <565b040d-fb4e-4302-9537-9beea2bf4248@default> References: <877ggm3nu3.fsf@zigzag.favinet> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1374249518 8818 80.91.229.3 (19 Jul 2013 15:58:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 19 Jul 2013 15:58:38 +0000 (UTC) Cc: emacs-devel@gnu.org To: Thien-Thi Nguyen , Barry OReilly Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jul 19 17:58:39 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1V0D4o-0005i9-FD for ged-emacs-devel@m.gmane.org; Fri, 19 Jul 2013 17:58:38 +0200 Original-Received: from localhost ([::1]:54415 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0D4o-00012p-69 for ged-emacs-devel@m.gmane.org; Fri, 19 Jul 2013 11:58:38 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42947) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0D4k-00012h-QV for emacs-devel@gnu.org; Fri, 19 Jul 2013 11:58:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V0D4j-0005sy-Eo for emacs-devel@gnu.org; Fri, 19 Jul 2013 11:58:34 -0400 Original-Received: from userp1040.oracle.com ([156.151.31.81]:34547) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V0D4h-0005oo-5W; Fri, 19 Jul 2013 11:58:31 -0400 Original-Received: from acsinet22.oracle.com (acsinet22.oracle.com [141.146.126.238]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id r6JFwPbP008803 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 19 Jul 2013 15:58:26 GMT Original-Received: from userz7022.oracle.com (userz7022.oracle.com [156.151.31.86]) by acsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6JFwOwY007744 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 19 Jul 2013 15:58:24 GMT Original-Received: from abhmt104.oracle.com (abhmt104.oracle.com [141.146.116.56]) by userz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id r6JFwNUn018039; Fri, 19 Jul 2013 15:58:23 GMT In-Reply-To: <877ggm3nu3.fsf@zigzag.favinet> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.7 (607090) [OL 12.0.6668.5000 (x86)] X-Source-IP: acsinet22.oracle.com [141.146.126.238] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:162022 Archived-At: FWIW, I agree with what TTN said, including the encouragement to continue. For me, it's the paren/structure that takes precedence, and the indentation that follows. I use TAB and C-M-q, among other things, to see whether I messed up parentheses. FWIW2, you might also be interested in a gimmick that Franz Lisp used to have (before it moved to Common), and perhaps some other Lisps: A right bracket, `]', acted as a super right paren, being equivalent to sufficient right parens to close up the outermost open list. E.g., (foo (bar 1 (2 3) ((a . b) (c (d (e . f] was equivalent to (foo (bar 1 (2 3) ((a . b) (c (d (e . f)))))) It was mainly a typing convenience, IIRC, i.e., for interactive use, but people did just leave the brackets in files also (IIRC). Another possibility (and this might have been available too; I don't recall) would be for typing `]' to insert the right number of right parens, instead of just inserting a `]' and having that be interpreted as the right number of right parens. (I don't recall that being available, but even if it were I suspect that most fans of `]' would have preferred to see the `]' and be able to delete it as a single char etc.) Such a super-paren might be considered a convenience by some, but I never made much use of it, and I certainly don't miss it. It is most useful, IIRC, in a REPL, i.e., interactively, where you might not have the ability to TAB or C-M-q to fix up indentation and see what's what wrt parens. (Common Lisp takes a smarter view of naturally paired delimiter chars such as `[', `]', realizing that they are rare and that Lisp users often make use of them when defining new languages or language constructs. But then, Common Lisp has reader macros... It's poor cousin Emacs Lisp does not.)