GNU bug report logs - #21378
R6RS guard's else chokes on multiple expressions

Previous Next

Package: guile;

Reported by: taylanbayirli <at> gmail.com (Taylan Ulrich Bayırlı/Kammer)

Date: Sat, 29 Aug 2015 21:53:01 UTC

Severity: normal

Done: taylanbayirli <at> gmail.com (Taylan Ulrich Bayırlı/Kammer)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: taylanbayirli <at> gmail.com (Taylan Ulrich Bayırlı/Kammer)
To: 21378 <at> debbugs.gnu.org
Subject: bug#21378: R6RS guard's else chokes on multiple expressions
Date: Sat, 29 Aug 2015 23:52:04 +0200
It seems that whatever macro tries to match the guard expression's
else-clause, fails to do so when the clause contains more than one
expression, and so adds a default "else re-raise" clause after the
existing else clause.

I couldn't figure out where this happens.  I grepped the whole
source tree for 're-raise' and only found it twice in a comment.

Transcript showcasing bug:

taylan <at> T420:~$ guile
GNU Guile 2.0.11
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use (rnrs exceptions)
scheme@(guile-user)> (guard (exc (else #f #f)) #f)
While compiling expression:
ERROR: Syntax error:
unknown file:3:12: cond: else must be the last clause in subform (else #f #f) of (cond (else #f #f) (else (re-raise)))
scheme@(guile-user)>

Taylan




This bug report was last modified 9 years and 324 days ago.

Previous Next


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