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 20:16:12 -0500 Message-ID: <8762fuj8gz.fsf@netris.org> References: <1327852458.3401.10.camel@homebase> <87ty3ejgbx.fsf@netris.org> <87lioqjevm.fsf@netris.org> <1327882677.3401.37.camel@homebase> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1327886258 2489 80.91.229.3 (30 Jan 2012 01:17:38 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 30 Jan 2012 01:17:38 +0000 (UTC) Cc: guile-user@gnu.org To: psmith@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Jan 30 02:17:37 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 1RrfsE-0005jb-Uu for guile-user@m.gmane.org; Mon, 30 Jan 2012 02:17:35 +0100 Original-Received: from localhost ([::1]:45738 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RrfsE-0002vX-Cj for guile-user@m.gmane.org; Sun, 29 Jan 2012 20:17:34 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:34570) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rrfs9-0002v2-MR for guile-user@gnu.org; Sun, 29 Jan 2012 20:17:30 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rrfs6-0003nF-9O for guile-user@gnu.org; Sun, 29 Jan 2012 20:17:29 -0500 Original-Received: from world.peace.net ([96.39.62.75]:34233) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rrfs6-0003nB-5Z; Sun, 29 Jan 2012 20:17:26 -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 1Rrfs1-00062M-2M; Sun, 29 Jan 2012 20:17:21 -0500 In-Reply-To: <1327882677.3401.37.camel@homebase> (Paul Smith's message of "Sun, 29 Jan 2012 19:17:57 -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:9215 Archived-At: Paul Smith writes: > On Sun, 2012-01-29 at 17:57 -0500, Mark H Weaver wrote: >> Replying to myself... >> >> > The relevant difference is that in Guile 1.8, (define foo ...) returns >> > #, but in Guile 2 it returns the 'variable' object for >> > 'foo'. >> >> I actually think that this qualifies as a bug in Guile, so please don't >> depend on this behavior. Ideally, (define foo ...) should always return >> #, and I hope we can fix that in 2.0.4. > > This definitely is the culprit. If I add a #f to the end of my > definition, so the result is #f, then it works fine. Ouch. That is > going to be a bummer, and no two ways about it. > > Was this change present in 2.0/2.0.1/2.0.2 as well? Yes. > Either I have to recommend everyone add #f for portability, or else I > have to modify my guile-to-make string conversion to map Guile variable > objects to empty strings, which could cause compatibility issues in the > future if we decide to do something "interesting" with those objects. I think it would almost certainly be fine to map variable objects to "", because I can't imagine why anyone would ever want to return a variable object to 'make'. I agree that it's not ideal, but I can't imagine it ever being a problem in practice. I'll respond to your other question (about error handling) later. Mark