--- Begin Message ---
Subject: |
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)))
scheme@(guile-user)>
Taylan
--- End Message ---
--- Begin Message ---
Subject: |
Re: R6RS guard's else chokes on multiple expressions |
Date: |
Sun, 30 Aug 2015 13:52:39 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Please ignore this bug report, since it was my fault. I had a foreign
(rnrs exceptions) library in my load-path that took precedence.
Sorry about the noise.
Taylan
--- End Message ---