From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Building Emacs overflowed pure space Date: Thu, 20 Jul 2006 14:16:37 -0400 Message-ID: References: <7dbe73ed0607180138x35e9d9bft3e42f20cb369795c@mail.gmail.com> <200607181929.k6IJTZN9028639@jane.dms.auburn.edu> Reply-To: rms@gnu.org NNTP-Posting-Host: main.gmane.org Content-Type: text/plain; charset=ISO-8859-15 X-Trace: sea.gmane.org 1153419516 22153 80.91.229.2 (20 Jul 2006 18:18:36 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 20 Jul 2006 18:18:36 +0000 (UTC) Cc: mathias.dahl@gmail.com, teirllm@dms.auburn.edu, ralphm@members.fsf.org, mituharu@math.s.chiba-u.ac.jp, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 20 20:18:31 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1G3d6L-0001rB-EL for ged-emacs-devel@m.gmane.org; Thu, 20 Jul 2006 20:18:21 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G3d6K-0002cl-R2 for ged-emacs-devel@m.gmane.org; Thu, 20 Jul 2006 14:18:20 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1G3d5b-0002IB-MW for emacs-devel@gnu.org; Thu, 20 Jul 2006 14:17:35 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1G3d5b-0002Ht-Be for emacs-devel@gnu.org; Thu, 20 Jul 2006 14:17:35 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G3d5b-0002Hn-38 for emacs-devel@gnu.org; Thu, 20 Jul 2006 14:17:35 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1G3d4x-00005J-0w; Thu, 20 Jul 2006 14:16:55 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1G3d4f-0000Aj-LD; Thu, 20 Jul 2006 14:16:37 -0400 Original-To: storm@cua.dk (Kim F. Storm) In-reply-to: (storm@cua.dk) 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:57386 Archived-At: Why isn't the following version just as good? (defmacro dolist (spec &rest body) "Loop over a list. Evaluate BODY with VAR bound to each car from LIST, in turn. Then evaluate RESULT to get return value, default nil. \(fn (VAR LIST [RESULT]) BODY...)" (declare (indent 1) (debug ((symbolp form &optional form) body))) `(let ((--dolist-temp-- ,(nth 1 spec)) ,(car spec)) (while --dolist-temp-- The only flaw of this is that BODY can see the variable --dolist-temp--. Practically speaking, it may not ever matter; users are unlikely to use that variable by accident. However, it is cleaner to prevent that by using an uninterned symbol, assuming we can get rid of the current inefficiency that that causes.