Strip the syntax of operator type instead of injecting it

We could inject, but then we'd have to also inject all the symbols
we're comparing against (and use the "compare" procedure to do so).
Instead, because these identifiers are treated as plain symbols, it's
easier to strip the syntax.

This was always broken, but actually got exposed due to CHICKEN core
commit 41d48cdba2e46645c7dd157525652aa3953aed6c, which fixed an
obscure bug related to double renaming.
master
Peter Bex 8 years ago
parent 54e50214a8
commit 16682ee9fc

@ -28,7 +28,8 @@
(let ((ssql-op (first op)) (let ((ssql-op (first op))
(type (second op))) (type (second op)))
(unless (memq (i type) '(infix infix* suffix prefix suffix* prefix* function)) (unless (memq (strip-syntax type)
'(infix infix* suffix prefix suffix* prefix* function))
(error "unknown operator syntax type" type)) (error "unknown operator syntax type" type))
(let-optionals (cddr op) (let-optionals (cddr op)

Loading…
Cancel
Save