From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.user Subject: Re: Errors using Guile 2.0 vs. Guile 1.8 Date: Sun, 29 Jan 2012 17:26:26 -0500 Message-ID: <87ty3ejgbx.fsf@netris.org> References: <1327852458.3401.10.camel@homebase> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1327876076 9302 80.91.229.3 (29 Jan 2012 22:27:56 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 29 Jan 2012 22:27:56 +0000 (UTC) Cc: guile-user@gnu.org To: psmith@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun Jan 29 23:27:55 2012 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RrdDx-000597-MP for guile-user@m.gmane.org; Sun, 29 Jan 2012 23:27:49 +0100 Original-Received: from localhost ([::1]:39070 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrdDw-0000yc-2R for guile-user@m.gmane.org; Sun, 29 Jan 2012 17:27:48 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:39602) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrdDp-0000yM-ER for guile-user@gnu.org; Sun, 29 Jan 2012 17:27:45 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RrdDn-00030Q-FH for guile-user@gnu.org; Sun, 29 Jan 2012 17:27:41 -0500 Original-Received: from world.peace.net ([96.39.62.75]:48975) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrdDn-000307-8r; Sun, 29 Jan 2012 17:27:39 -0500 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.69) (envelope-from ) id 1RrdDh-0005f3-H8; Sun, 29 Jan 2012 17:27:33 -0500 In-Reply-To: <1327852458.3401.10.camel@homebase> (Paul Smith's message of "Sun, 29 Jan 2012 10:54:18 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 96.39.62.75 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:9212 Archived-At: Hi Paul, Paul Smith writes: > To test my GNU make Guile integration I was using guile 1.8 which is > what my distribution provided. To test the newer Guile 2.x I downloaded > the Guile 2.0.3 release and built it and installed in an alternate > location (/opt/guile). I compiled GNU make using that version, and all > the tests ultimately work BUT whenever I use (define ...) from within > GNU make I get these errors: > > $ cat g1.mk > define show > (define (show s) > (display s) > (newline)) > endef > $(info define display) > $(guile $(show)) > $(info after define) > $(guile (show "HI")) > all:; > > $ make -f g1.mk > define display > Backtrace: > In ice-9/boot-9.scm: > 162: 5 [catch #t # ...] > 170: 4 [#] > In unknown file: > ?: 3 [catch-closure] > In ice-9/eval.scm: > 389: 2 [eval # #] > 374: 1 [eval # #] > In unknown file: > ?: 0 [scm-error misc-error #f ...] > > ERROR: In procedure scm-error: > ERROR: Unknown object: #> > after define > HI > make: `all' is up to date. > > I don't know what this means, or how to proceed with debugging. The > same code works fine with Guile 1.8. The relevant difference is that in Guile 1.8, (define foo ...) returns #, but in Guile 2 it returns the 'variable' object for 'foo'. Variables are first-class objects that can be accessed or modified using various functions. See "Variables" in the Guile manual for more: http://www.gnu.org/software/guile/manual/html_node/Variables.html My guess is that your code that converts the final results into strings handles SCM_UNSPECIFIED properly, but fails to cope with variable objects. Regards, Mark