From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: built with SCM_DEBUG=1 lately? Date: Fri, 01 Jul 2005 02:44:47 -0400 Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: sea.gmane.org 1120201214 31236 80.91.229.2 (1 Jul 2005 07:00:14 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 1 Jul 2005 07:00:14 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Jul 01 09:00:05 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DoFUp-0006Ug-D8 for guile-devel@m.gmane.org; Fri, 01 Jul 2005 08:59:32 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DoFdC-0007XL-FD for guile-devel@m.gmane.org; Fri, 01 Jul 2005 03:08:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DoFRb-0005XJ-Si for guile-devel@gnu.org; Fri, 01 Jul 2005 02:56:12 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DoFRP-0005V7-5d for guile-devel@gnu.org; Fri, 01 Jul 2005 02:56:09 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DoFRL-0005Ky-Ed for guile-devel@gnu.org; Fri, 01 Jul 2005 02:55:56 -0400 Original-Received: from [207.172.4.63] (helo=smtp04.mrf.mail.rcn.net) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DoFLd-0001Pr-Rk for guile-devel@gnu.org; Fri, 01 Jul 2005 02:50:01 -0400 Original-Received: from 65-78-24-4.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com (HELO raeburn.org) (65.78.24.4) by smtp04.mrf.mail.rcn.net with ESMTP; 01 Jul 2005 02:44:48 -0400 X-IronPort-AV: i="3.93,249,1115006400"; d="scan'208"; a="53944731:sNHT31358700" Original-Received: from kal-el.raeburn.org ([IPv6:2002:414e:1804:1:201:2ff:fe23:e26d]) by raeburn.org (8.12.11/8.12.11) with ESMTP id j616imVE009079; Fri, 1 Jul 2005 02:44:48 -0400 (EDT) Original-Received: from raeburn by kal-el.raeburn.org with local (Exim 3.36 #1 (Debian)) id 1DoFGZ-0006M5-00; Fri, 01 Jul 2005 02:44:47 -0400 Original-To: guile-devel@gnu.org Original-Lines: 27 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:5134 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:5134 --=-=-= (BTW, I should've mentioned in my earlier mail tonight that the patch got me past compilation failures on Linux; my original report complaining of some format string problems was on a Mac laptop, where I haven't tried the build again.) >>From the comments, it looks like the list returned by scm_i_dynwinds can have both cons cells and smob objects in it, like the winder object that was keeping the snarf step from working for me. This patch causes the SCM_CDAR invocation to be applied only if the SCM_CAR is a pair. BTW, under SCM_DEBUG=1 it'd be nice if SCM_SMOB_OBJECT*, SCM_SMOB_DATA*, etc, would check that the passed object is a smob. I don't think that's happening. Ken 2005-07-01 Ken Raeburn * throw.c (scm_ithrow): Only use SCM_CDAR if SCM_CAR is known to be a cons cell. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=throw-patch Content-Description: patch for throw.c to not run SCM_CDR on non-pairs Index: throw.c =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/throw.c,v retrieving revision 1.107 diff -p -u -r1.107 throw.c --- throw.c 23 May 2005 19:57:21 -0000 1.107 +++ throw.c 1 Jul 2005 06:41:31 -0000 @@ -623,7 +623,8 @@ scm_ithrow (SCM key, SCM args, int noret jmpbuf = SCM_CDR (dynpair); for (wind_goal = scm_i_dynwinds (); - !scm_is_eq (SCM_CDAR (wind_goal), jmpbuf); + !(scm_is_pair (SCM_CAR (wind_goal)) + && scm_is_eq (SCM_CDAR (wind_goal), jmpbuf)); wind_goal = SCM_CDR (wind_goal)) ; --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel --=-=-=--