[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21378: R6RS guard's else chokes on multiple expressions

From: Taylan Ulrich Bayırlı/Kammer
Subject: bug#21378: R6RS guard's else chokes on multiple expressions
Date: Sat, 29 Aug 2015 23:52:04 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

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:

address@hidden:~$ 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)))


reply via email to

[Prev in Thread] Current Thread [Next in Thread]