unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Paul Smith <psmith@gnu.org>
To: Mark H Weaver <mhw@netris.org>
Cc: guile-user@gnu.org
Subject: Re: Errors using Guile 2.0 vs. Guile 1.8
Date: Sun, 29 Jan 2012 19:17:57 -0500	[thread overview]
Message-ID: <1327882677.3401.37.camel@homebase> (raw)
In-Reply-To: <87lioqjevm.fsf@netris.org>

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
> > #<unspecified>, 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
> #<unspecified>, 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?

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.


Not to mention that there is clearly some work needed, hopefully aided
by someone more familiar with embedded Guile than I, on handling errors
in the Guile interpreter.  If I can't understand the error resulting
from this behavior there's obviously a problem...

Is there any documentation for Guile embedders dealing with how to
gracefully manage errors in Guile code?

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psmith@gnu.org>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




  reply	other threads:[~2012-01-30  0:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-29 15:54 Errors using Guile 2.0 vs. Guile 1.8 Paul Smith
2012-01-29 21:18 ` Thien-Thi Nguyen
2012-01-29 21:51   ` Paul Smith
2012-01-29 22:26 ` Mark H Weaver
2012-01-29 22:57   ` Mark H Weaver
2012-01-30  0:17     ` Paul Smith [this message]
2012-01-30  1:16       ` Mark H Weaver
2012-01-30  1:42         ` Paul Smith
2012-01-30 11:06     ` Andy Wingo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1327882677.3401.37.camel@homebase \
    --to=psmith@gnu.org \
    --cc=guile-user@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).