fix bug on matching string litral

This commit is contained in:
Yuito Murase 2014-04-03 01:47:26 +09:00
parent 1352735f3d
commit cb28c52e9b
1 changed files with 6 additions and 0 deletions

View File

@ -62,6 +62,7 @@
(define _null? (r 'null?)) (define _null? (r 'null?))
(define _symbol? (r 'symbol?)) (define _symbol? (r 'symbol?))
(define _eqv? (r 'eqv?)) (define _eqv? (r 'eqv?))
(define _string=? (r 'string=?))
(define _map (r 'map)) (define _map (r 'map))
(define _vector->list (r 'vector->list)) (define _vector->list (r 'vector->list))
(define _list->vector (r 'list->vector)) (define _list->vector (r 'list->vector))
@ -91,6 +92,11 @@
(compile-match-list pattern)) (compile-match-list pattern))
((vector? pattern) ((vector? pattern)
(compile-match-vector pattern)) (compile-match-vector pattern))
((string? pattern)
(values
`(,_if (,_not (,_string=? ',pattern expr))
(exit #f))
'()))
(else (else
(values (values
`(,_if (,_not (,_eqv? ',pattern expr)) `(,_if (,_not (,_eqv? ',pattern expr))