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: Wed, 19 Jul 2006 17:15:53 -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 1153343797 25257 80.91.229.2 (19 Jul 2006 21:16:37 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 19 Jul 2006 21:16:37 +0000 (UTC) Cc: emacs-devel@gnu.org, teirllm@dms.auburn.edu, ralphm@members.fsf.org, mathias.dahl@gmail.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jul 19 23:16:34 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 1G3JP6-0005lW-3I for ged-emacs-devel@m.gmane.org; Wed, 19 Jul 2006 23:16:24 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G3JP5-0003ZI-Gt for ged-emacs-devel@m.gmane.org; Wed, 19 Jul 2006 17:16:23 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1G3JOe-0003LB-B0 for emacs-devel@gnu.org; Wed, 19 Jul 2006 17:15:56 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1G3JOd-0003KS-Nx for emacs-devel@gnu.org; Wed, 19 Jul 2006 17:15:55 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1G3JOd-0003KM-Et for emacs-devel@gnu.org; Wed, 19 Jul 2006 17:15:55 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1G3JOe-0006yR-MM; Wed, 19 Jul 2006 17:15:56 -0400 Original-Received: from rms by fencepost.gnu.org with local (Exim 4.34) id 1G3JOb-0002Kh-51; Wed, 19 Jul 2006 17:15:53 -0400 Original-To: YAMAMOTO Mitsuharu In-reply-to: (message from YAMAMOTO Mitsuharu on Wed, 19 Jul 2006 18:22:44 +0900) 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:57349 Archived-At: I see no good reason why each expansion of `dolist' should use a different symbol. Maybe we can arrange to use one symbol over and over again. Does this work? (defvar dolist-temp-var nil) (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))) (unless dolist-temp-var (setq dolist-temp-var (make-symbol "--dolist-temp--"))) (let ((temp dolist-temp-var)) `(let ((,temp ,(nth 1 spec)) ,(car spec)) (while ,temp (setq ,(car spec) (car ,temp)) (setq ,temp (cdr ,temp)) ,@body) ,@(if (cdr (cdr spec)) `((setq ,(car spec) nil) ,@(cdr (cdr spec)))))))