From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.bugs Subject: Re: segfault after changing max-lisp-eval-depth and max-specpdl-size Date: Thu, 30 May 2002 11:05:22 -0600 (MDT) Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <200205301705.g4UH5MG13602@aztec.santafe.edu> References: <20020527155352.GA454374@bruegel.RZ.TU-Ilmenau.DE> <200205282023.g4SKNoU10649@aztec.santafe.edu> <20020528212238.GA489593@bruegel.RZ.TU-Ilmenau.DE> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1022780766 30538 127.0.0.1 (30 May 2002 17:46:06 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 30 May 2002 17:46:06 +0000 (UTC) Cc: bug-gnu-emacs@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17DTzy-0007wR-00 for ; Thu, 30 May 2002 19:46:06 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17DTRi-0006VO-00; Thu, 30 May 2002 13:10:42 -0400 Original-Received: from pele.santafe.edu ([192.12.12.119]) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17DTMZ-00060A-00; Thu, 30 May 2002 13:05:23 -0400 Original-Received: from aztec.santafe.edu (aztec [192.12.12.49]) by pele.santafe.edu (8.11.6+Sun/8.11.6) with ESMTP id g4UH5MV01007; Thu, 30 May 2002 11:05:22 -0600 (MDT) Original-Received: (from rms@localhost) by aztec.santafe.edu (8.10.2+Sun/8.9.3) id g4UH5MG13602; Thu, 30 May 2002 11:05:22 -0600 (MDT) X-Authentication-Warning: aztec.santafe.edu: rms set sender to rms@aztec using -f Original-To: paul.stoeber@stud.tu-ilmenau.de In-Reply-To: <20020528212238.GA489593@bruegel.RZ.TU-Ilmenau.DE> (message from Paul Stoeber on Tue, 28 May 2002 23:22:38 +0200) Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:1703 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:1703 That means I'll have to use let/while/setq instead of recursion in order to "Avoid arbitrary limits", which produces less enjoyable code. Although max-lisp-eval-depth is an arbitrary limit, the non-arbitrary limit of the stack size lies behind it. A program that needs to recurse for each element in a long or deep data structure really can't work, in the absence of a tail-recursive interpreter. If we succeed in rehosting Emacs on Guile, which is a long-term plan, tail-recursion would work. Until that day, you simply have to use iteration.