From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Noah Lavine Newsgroups: gmane.lisp.guile.devel Subject: Re: Broken Backtraces, and Part of a Solution Date: Wed, 18 Apr 2012 21:08:05 -0400 Message-ID: References: <87zka8y1y7.fsf@pobox.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1334797702 11640 80.91.229.3 (19 Apr 2012 01:08:22 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 19 Apr 2012 01:08:22 +0000 (UTC) Cc: guile-devel To: Andy Wingo Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Apr 19 03:08:20 2012 Return-path: Envelope-to: guile-devel@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 1SKfr8-00089u-8v for guile-devel@m.gmane.org; Thu, 19 Apr 2012 03:08:18 +0200 Original-Received: from localhost ([::1]:52337 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SKfr7-0003em-9D for guile-devel@m.gmane.org; Wed, 18 Apr 2012 21:08:17 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:34794) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SKfr2-0003dx-6N for guile-devel@gnu.org; Wed, 18 Apr 2012 21:08:16 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SKfqx-0005qk-Rw for guile-devel@gnu.org; Wed, 18 Apr 2012 21:08:11 -0400 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:37564) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SKfqx-0005qX-JQ for guile-devel@gnu.org; Wed, 18 Apr 2012 21:08:07 -0400 Original-Received: by iajr24 with SMTP id r24so13936814iaj.0 for ; Wed, 18 Apr 2012 18:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=26ybW8dxBobdAXWtJzUKh6zCGZiRuoyKbUTtamE2Y94=; b=YRZVaTffIE0Vj95/CrDmLtn2vSsaTa8C+bybTOAP47AE7Bl2qrTEnB/9E+15MyZ2ki iil4uj9g2fFbfHTKeSCmWk8pxF2YQTtqIE+1fVkmt2E6rqBs9d8RA9XRcGjp1KtcLhwA Ck4KHip71rct9nPiIFUqbqHTzuZzCEHmV9zYHL3MCtWeiGdznqtAko6H4zVl8rLxRo6D fgHQJ8S67Mm+PzqsS/PbZRTaojME8QfJpb8mz+RvIpYzjafjoEyuRyasB6DMcrde6kae eScXmk73reCdnC/1smtlabsj0fBDMVoqsKXV0ToyAvmenLjfmgsIRRJETeTfC/nbYTvF 77BQ== Original-Received: by 10.50.77.136 with SMTP id s8mr40295igw.56.1334797685772; Wed, 18 Apr 2012 18:08:05 -0700 (PDT) Original-Received: by 10.42.29.200 with HTTP; Wed, 18 Apr 2012 18:08:05 -0700 (PDT) In-Reply-To: <87zka8y1y7.fsf@pobox.com> X-Google-Sender-Auth: FhMyqYWiXlSBzKk51nX796LZFf4 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.169 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:14284 Archived-At: On Wed, Apr 18, 2012 at 8:56 PM, Andy Wingo wrote: > On Wed 18 Apr 2012 17:02, Noah Lavine writes: > >> The problem is that narrow-stack->vector returns #(). It does this >> because the stack is narrowed to nothing. The narrowing really happens >> in the functions scm_make_stack and narrow_stack, in stacks.c. >> >> The reason it narrows to nothing is the third argument to >> narrow-stack->vector, tag. On my Guile build, tag evaluates to >> '("start-stack"). > > Aaaaah. =A0I was seeing something like this as well but I didn't figure > out why. =A0Thanks for tracking this down! =A0The reason is that the type= of > make-prompt-tag changed, and the stack narrowing code didn't adapt > accordingly. =A0We need to change to default to consider generic objects > as eq?-compared prompt tags. I agree, but you still couldn't use procedures or integers as prompt tags if you wanted make-stack to work, because those are special cases. That's why I thought of just changing the interface to make-stack to specify what you want - it's such a weird restriction that someone could be bitten by it and have a lot of trouble tracking it down. And because an argument can mean three different things, code that uses make-stack is hard to understand (or at least it was for me). What do you think? Noah