From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.help Subject: Re: reading the C source of Emacs Date: 17 Jan 2003 12:41:46 +0100 Organization: T-Online Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1042804605 1108 80.91.224.249 (17 Jan 2003 11:56:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 17 Jan 2003 11:56:45 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18ZV76-0000Hi-00 for ; Fri, 17 Jan 2003 12:56:44 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18ZUwt-0006Wm-02 for gnu-help-gnu-emacs@m.gmane.org; Fri, 17 Jan 2003 06:46:11 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!logbridge.uoregon.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!news100.image.dk!feed.news.nacamar.de!newsfeed01.sul.t-online.de!newsmm00.sul.t-online.com!t-online.de!news.t-online.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 23 Original-X-Trace: news.t-online.com 1042803706 04 11873 ubqHEh5TTTAhJ7 030117 11:41:46 Original-X-Complaints-To: abuse@t-online.com X-Sender: 520018396234-0001@t-dialin.net X-Face: 2FEFf>]>q>2iw=B6,xrUubRI>pR&Ml9=ao@P@i)L:\urd*t9M~y1^:+Y]'C0~{mAl`oQuAl \!3KEIp?*w`|bL5qr,H)LFO6Q=qx~iH4DN;i"; /yuIsqbLLCh/!U#X[S~(5eZ41to5f%E@'ELIi$t^ Vc\LWP@J5p^rst0+('>Er0=^1{]M9!p?&:\z]|;&=NP3AhB!B_bi^]Pfkw User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 Original-Xref: shelby.stanford.edu gnu.emacs.help:109068 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:5595 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:5595 Oliver Scholz writes: > Thank you all for you advice. You helped to set me on the track. But > it is indeed a rather difficult read for me. My head dizzles is still > a bit dizzling. > > Below are my very first steps in C: a version of `find-if' as a > starter. I'd appreciate any comment. (Did I miss something important, > for example?) > > One thing that I noticed is that my `find-if' causes an infinite loop, > when applied to a recursive (?) list, à la: There are several tricks for dealing with recursive data structures. One is to have two traversals active at the same time, where one traversal progresses just at every second step. If they should ever catch up, you have encountered a loop in a data structure. I doubt this would be worth the trouble: just make sure that C-g will be able to abort your function should it get stuck. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum