[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-kawa] [bug #36727] Inconsistency between quasisyntax and #`
From: |
Jamison Hope |
Subject: |
[Bug-kawa] [bug #36727] Inconsistency between quasisyntax and #` |
Date: |
Mon, 25 Jun 2012 16:15:45 +0000 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5 |
URL:
<http://savannah.gnu.org/bugs/?36727>
Summary: Inconsistency between quasisyntax and #`
Project: Kawa
Submitted by: jhope
Submitted on: Mon 25 Jun 2012 04:15:45 PM GMT
Category: Scheme language
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
A while back, using *unquote* inside *quasisyntax* became deprecated:
#|kawa:1|# (quasisyntax ,(cons 1 2))
/dev/stdin:1:15: warning - unquote inside quasisyntax is deprecated - use
unsyntax or #,
(1 . 2)
Following the warning's advice, however, leads to an error:
#|kawa:2|# (quasisyntax #,(cons 1 2))
/dev/stdin:2:26: unknown reader constructor cons
Using literal *unsyntax* instead of *#,* works, though:
#|kawa:3|# (quasisyntax (unsyntax (cons 1 2)))
(1 . 2)
As does using both *#`* and *#,*:
#|kawa:4|# #`#,(cons 1 2)
(1 . 2)
The problem appears to be that ReaderDispatchSyntaxQuote#read sets
reader.inQuasiSyntax = true when it sees *#`*, but nothing sets that flag for
literal *quasisyntax*. So in the latter case, when it gets to *#,* it
erroneously calls ReaderDispatchSyntaxQuote#readNamedConstructor.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?36727>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-kawa] [bug #36727] Inconsistency between quasisyntax and #`,
Jamison Hope <=