From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Barry Margolin Newsgroups: gmane.emacs.help Subject: Re: cl-dolist, dolist, cl-return, Date: Fri, 10 Jul 2015 14:44:42 -0400 Organization: A noiseless patient Spider Message-ID: References: <87fv4za4jo.fsf@nl106-137-147.student.uu.se> <87k2ub2bgb.fsf@nl106-137-147.student.uu.se> <87oajmi6eh.fsf@nl106-137-147.student.uu.se> NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1436553924 21504 80.91.229.3 (10 Jul 2015 18:45:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 10 Jul 2015 18:45:24 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Jul 10 20:45:24 2015 Return-path: Envelope-to: geh-help-gnu-emacs@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 1ZDdIZ-0004xz-Cz for geh-help-gnu-emacs@m.gmane.org; Fri, 10 Jul 2015 20:45:23 +0200 Original-Received: from localhost ([::1]:45813 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDdIY-0001AF-TZ for geh-help-gnu-emacs@m.gmane.org; Fri, 10 Jul 2015 14:45:22 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!eternal-september.org!feeder.eternal-september.org!mx02.eternal-september.org!barmar.motzarella.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 35 Injection-Info: barmar.motzarella.org; posting-host="2be9e9f5dd9af768b8861af71b85fc28"; logging-data="6578"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/zmOFIcWMusHo42/CdDkhn" User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Cancel-Lock: sha1:4DfSoc0bnedcviIIbdufsJ/IJu4= Original-Xref: usenet.stanford.edu gnu.emacs.help:213300 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:105587 Archived-At: In article , Emanuel Berg wrote: > The reason I asked is the C for loop, which looks like > this in C99 style: > > for (int i = 0; i < a_size; i++) { a[i] = ... ; } > > But sometimes, people are tempted to do like this: > > for (int i = 0; i < sizeof(a)/sizeof(a[0]); i++) { > a[i] = ... ; > } You're making the wrong analogy. The list parameter of dolist is equivalent to the initialization part of the "for", not the repetition or update parts. So if you did: for (int i = func(x); ...) you wouldn't expect func(x) to be called every time through the loop, would you? The C equivalent of dolist is: for (list_ptr* p = ; p; p = p->next) { ... } As above, you wouldn't expect to be evaluated each time. -- Barry Margolin, barmar@alum.mit.edu Arlington, MA *** PLEASE post questions in newsgroups, not directly to me ***