GNU bug report logs - #13509
wrong "definition in expression context" in R6RS mode

Previous Next

Package: guile;

Reported by: marco.maggi-ipsu <at> poste.it

Date: Sun, 20 Jan 2013 20:07:02 UTC

Severity: normal

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Mark H Weaver <mhw <at> netris.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#13509: closed (wrong "definition in expression context" in
 R6RS mode)
Date: Thu, 31 Jan 2013 06:12:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Thu, 31 Jan 2013 01:10:07 -0500
with message-id <874nhxj328.fsf <at> tines.lan>
and subject line Re: bug#13509: wrong "definition in expression context" in R6RS mode
has caused the debbugs.gnu.org bug report #13509,
regarding wrong "definition in expression context" in R6RS mode
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
13509: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13509
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Marco Maggi <marco.maggi-ipsu <at> poste.it>
To: bug-guile <at> gnu.org
Subject: wrong "definition in expression context" in R6RS mode
Date: Sun, 20 Jan 2013 20:37:03 +0100
On my i686-pc-linux-gnu running:

    $ guile --version
    guile (GNU Guile) 2.1.0.1329-d7cb7

built from the head of the "master" branch, this program:

    #!r6rs
    (import (rnrs))
    (define (alpha)
      (define-syntax define-special
        (syntax-rules ()
          ((_ ?who ?val)
           (define ?who ?val))))
      (define-special beta #t)
      #f)
    (alpha)

should succeed, but instead it fails with:

    ;;; compiling /home/marco/var/tmp/proof.sps
    ;;; WARNING: compilation of /home/marco/var/tmp/proof.sps failed:
    ;;; ERROR: Syntax error:
    ;;; /home/marco/var/tmp/proof.sps:12:2:   definition  in
    ;;; expression context, where definitions a re not allowed, in form (define beta #t)
    ice-9/boot-9.scm:718:27: In procedure map:
    ice-9/boot-9.scm:718:27: Syntax error:
    /home/marco/var/tmp/proof.sps:12:2: definition in expression context, where definitions are not allowed, in form (define beta #t)
-- 
Marco Maggi


[Message part 3 (message/rfc822, inline)]
From: Mark H Weaver <mhw <at> netris.org>
To: marco.maggi-ipsu <at> poste.it
Cc: 13509-done <at> debbugs.gnu.org
Subject: Re: bug#13509: wrong "definition in expression context" in R6RS mode
Date: Thu, 31 Jan 2013 01:10:07 -0500
Marco Maggi <marco.maggi-ipsu <at> poste.it> writes:
>     #!r6rs
>     (import (rnrs))
>     (define (alpha)
>       (define-syntax define-special
>         (syntax-rules ()
>           ((_ ?who ?val)
>            (define ?who ?val))))
>       (define-special beta #t)
>       #f)
>     (alpha)
>
> should succeed, but instead it fails with:
>
[...]
>     ;;; /home/marco/var/tmp/proof.sps:12:2:   definition  in
>     ;;; expression context, where definitions a re not allowed, in form (define beta #t)

Fixed in ceb7f9cc126f50e0cc8956b80ac5d111580b23c8
(which is now in stable-2.0 but not yet in master)

Thanks for the report!

     Mark


This bug report was last modified 12 years and 173 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.