fixed a bug in matching library subversion in psyntax.
This commit is contained in:
parent
1cd581de70
commit
2c8cb7dda2
|
@ -1 +1 @@
|
||||||
1523
|
1524
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
interaction-environment
|
interaction-environment
|
||||||
ellipsis-map)
|
ellipsis-map)
|
||||||
(import
|
(import
|
||||||
(only (ikarus) printf)
|
|
||||||
(except (rnrs)
|
(except (rnrs)
|
||||||
environment environment? identifier?
|
environment environment? identifier?
|
||||||
eval generate-temporaries free-identifier=?
|
eval generate-temporaries free-identifier=?
|
||||||
|
@ -3292,14 +3291,14 @@
|
||||||
(lambda (x) (not (p x))))]
|
(lambda (x) (not (p x))))]
|
||||||
[(sub* ...)
|
[(sub* ...)
|
||||||
(let ([p* (map subversion-pred sub*)])
|
(let ([p* (map subversion-pred sub*)])
|
||||||
(lambda (x)
|
(lambda (x)
|
||||||
(let f ([p* p*] [x x])
|
(let f ([p* p*] [x x])
|
||||||
(cond
|
(cond
|
||||||
[(null? p*) #t]
|
[(null? p*) #t]
|
||||||
[(null? x) #f]
|
[(null? x) #f]
|
||||||
[else
|
[else
|
||||||
(and ((car p*) (car x))
|
(and ((car p*) (car x))
|
||||||
(f (cdr p*) (cdr x*)))]))))]
|
(f (cdr p*) (cdr x)))]))))]
|
||||||
[_ (syntax-violation 'import "invalid version spec" spec x*)]))
|
[_ (syntax-violation 'import "invalid version spec" spec x*)]))
|
||||||
(let f ([x spec])
|
(let f ([x spec])
|
||||||
(syntax-match x ()
|
(syntax-match x ()
|
||||||
|
|
Loading…
Reference in New Issue