allow (submod "..")' as a shorthand for
(submod "." "..")'
Also, `(submod ".")' is allowed as a module path; it's not useful, but it makes the grammar slightly more regular.
This commit is contained in:
parent
876bc6f02b
commit
ae89e210fb
|
@ -212,7 +212,8 @@ with other forms.}
|
|||
@specsubform/subs[#:literals (submod)
|
||||
(submod base element ...+)
|
||||
([base module-path
|
||||
"."]
|
||||
"."
|
||||
".."]
|
||||
[element id
|
||||
".."])]{
|
||||
|
||||
|
@ -229,13 +230,14 @@ names to reach the final submodule.
|
|||
monkey
|
||||
]
|
||||
|
||||
Using @racket["."] as @racket[base] within @racket[submod] stands for the
|
||||
enclosing module. When a path of the form @racket[(#,(racket quote)
|
||||
id)] refers to a submodule, it is equivalent to @racket[(submod "."
|
||||
id)].
|
||||
Using @racket["."] as @racket[base] within @racket[submod] stands for
|
||||
the enclosing module. Using @racket[".."] as @racket[base] is
|
||||
equivalent to using @racket["."] followed by an extra
|
||||
@racket[".."]. When a path of the form @racket[(#,(racket quote) id)]
|
||||
refers to a submodule, it is equivalent to @racket[(submod "." id)].
|
||||
|
||||
Using @racket[".."] as an @racket[element] cancels one submodule step, effectively
|
||||
referring to the enclosing module. For example, @racket[(submod "." "..")]
|
||||
referring to the enclosing module. For example, @racket[(submod "..")]
|
||||
refers to the enclosing module of the submodule in which the path
|
||||
appears.
|
||||
|
||||
|
@ -245,7 +247,7 @@ appears.
|
|||
(provide monkey)
|
||||
(define monkey "Curious George"))
|
||||
(module crocodile-house racket
|
||||
(require (submod "." ".." monkey-house))
|
||||
(require (submod ".." monkey-house))
|
||||
(provide dinner)
|
||||
(define dinner monkey)))
|
||||
(require (submod 'zoo crocodile-house))
|
||||
|
|
|
@ -362,8 +362,9 @@ Legal only in a @tech{module begin context}, and handled by the
|
|||
(for-label require-spec ...)
|
||||
(for-meta phase-level require-spec ...)
|
||||
derived-require-spec]
|
||||
[module-path (submod root-module-path submod-path-element ...+)
|
||||
(submod "." submod-path-element ...+)]
|
||||
[module-path (submod root-module-path submod-path-element ...)
|
||||
(submod "." submod-path-element ...)
|
||||
(submod ".." submod-path-element ...)]
|
||||
[root-module-path (#,(racket quote) id)
|
||||
rel-string
|
||||
(lib rel-string ...+)
|
||||
|
@ -765,14 +766,18 @@ corresponds to the default @tech{module name resolver}.
|
|||
(eval:alts (require (planet mcdonald/farm:2:5/duck)) (void))
|
||||
]}
|
||||
|
||||
@defsubform*[((submod root-module submod-path-element ...+)
|
||||
(submod "." submod-path-element ...+))]{
|
||||
@defsubform*[((submod root-module submod-path-element ...)
|
||||
(submod "." submod-path-element ...)
|
||||
(submod ".." submod-path-element ...))]{
|
||||
Identifies a @tech{submodule} within the module specified by @racket[root-module]
|
||||
or relative to the current module in the case of @racket[(submod "." ....)].
|
||||
or relative to the current module in the case of @racket[(submod "." ....)],
|
||||
where @racket[(submod ".." submod-path-element ...)] is equivalent to
|
||||
@racket[(submod "." ".." submod-path-element ...)].
|
||||
Submodules have symbolic names, and a sequence of identifiers as @racket[submod-path-element]s
|
||||
determine a path of successively nested submodules with the given names.
|
||||
A @racket[".."] as a @racket[submod-path-element] names the enclosing module
|
||||
of a submodule, and it's intended for use in @racket[(submod "." ....)] forms.}
|
||||
of a submodule, and it's intended for use in @racket[(submod "." ....)]
|
||||
and @racket[(submod ".." ....)] forms.}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -96,14 +96,20 @@
|
|||
(module-path-index-join s #f)))
|
||||
submod)]
|
||||
[(eq? (car s) 'submod)
|
||||
(define r (if (equal? (cadr s) ".")
|
||||
(let ()
|
||||
(define-values (d submod) (force-relto relto #f))
|
||||
(combine-submod d submod))
|
||||
(resolve-module-path (cadr s) relto)))
|
||||
(define base-submods (if (and (equal? (cadr s) ".") (pair? r)) (cddr r) null))
|
||||
(define r (cond
|
||||
[(or (equal? (cadr s) ".")
|
||||
(equal? (cadr s) ".."))
|
||||
(define-values (d submod) (force-relto relto #f))
|
||||
(combine-submod d submod)]
|
||||
[else (resolve-module-path (cadr s) relto)]))
|
||||
(define base-submods (if (and (or (equal? (cadr s) ".")
|
||||
(equal? (cadr s) ".."))
|
||||
(pair? r))
|
||||
(cddr r)
|
||||
null))
|
||||
(define base (if (pair? r) (cadr r) r))
|
||||
(flatten base (append base-submods (cddr s)))]
|
||||
(flatten base (append base-submods
|
||||
(if (equal? (cadr s) "..") (cdr s) (cddr s))))]
|
||||
[else #f]))
|
||||
|
||||
(define (resolve-module-path-index mpi relto)
|
||||
|
|
|
@ -287,7 +287,9 @@ Use syntax/modcollapse instead.
|
|||
(if (null? subpath)
|
||||
(cadr sm)
|
||||
`(submod ,(cadr sm) ,@subpath)))
|
||||
sm))
|
||||
(if (null? (cddr sm))
|
||||
(cadr sm)
|
||||
sm)))
|
||||
|
||||
(let normalize-recur ([s s])
|
||||
(cond [(string? s)
|
||||
|
@ -317,11 +319,15 @@ Use syntax/modcollapse instead.
|
|||
[(eq? (car s) 'planet) (normalize-planet s)]
|
||||
[(eq? (car s) 'quote) s]
|
||||
[(eq? (car s) 'submod)
|
||||
(if (equal? (cadr s) ".")
|
||||
(begin
|
||||
(flatten-relto-mp!)
|
||||
(normalize-submod `(submod ,relto-mp ,@relto-submod ,@(cddr s))))
|
||||
(normalize-submod `(submod ,(normalize-recur (cadr s)) ,@relto-submod ,@(cddr s))))]
|
||||
(cond
|
||||
[(equal? (cadr s) ".")
|
||||
(flatten-relto-mp!)
|
||||
(normalize-submod `(submod ,relto-mp ,@relto-submod ,@(cddr s)))]
|
||||
[(equal? (cadr s) "..")
|
||||
(flatten-relto-mp!)
|
||||
(normalize-submod `(submod ,relto-mp ,@relto-submod ,@(cdr s)))]
|
||||
[else
|
||||
(normalize-submod `(submod ,(normalize-recur (cadr s)) ,@relto-submod ,@(cddr s)))])]
|
||||
[else #f])))
|
||||
|
||||
(define (collapse-module-path-index mpi relto-mp)
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
(unless (and (pair? path) (eq? 'submod (car path)))
|
||||
(test `(submod ,expect a b) resolve-module-path `(submod ,path a b) rel-to)
|
||||
(test `(submod ,expect a b) resolve-module-path `(submod ,path a c ".." b) rel-to)
|
||||
(test expect resolve-module-path `(submod ,path) rel-to)
|
||||
(when rel-to
|
||||
(test expect collapse-module-path path (if (procedure? rel-to)
|
||||
(lambda () `(submod ,(rel-to) a b))
|
||||
|
@ -29,7 +30,8 @@
|
|||
pi-rel-to)
|
||||
(unless (and (pair? path)
|
||||
(eq? (car path) 'submod)
|
||||
(equal? (cadr path) "."))
|
||||
(or (equal? (cadr path) ".")
|
||||
(equal? (cadr path) "..")))
|
||||
(test expect resolve-module-path-index
|
||||
(module-path-index-join path
|
||||
(module-path-index-join
|
||||
|
@ -67,8 +69,10 @@
|
|||
(test-rmp (build-path (current-directory) "x.rkt") (build-path (current-directory) "x.ss") #f)
|
||||
(test-rmp (build-path (current-directory) "x.rkt") (build-path "x.ss") #f)
|
||||
(test-rmp `(submod ,(build-path mzlib "y.rkt") n) '(submod "y.rkt" n) `(submod ,(build-path mzlib "x.rkt") q z))
|
||||
(test-rmp `(submod ,(build-path mzlib "x.rkt") q) '(submod "..") `(submod ,(build-path mzlib "x.rkt") q z))
|
||||
(test-rmp `(submod ,(build-path mzlib "x.rkt") q) '(submod "." "..") `(submod ,(build-path mzlib "x.rkt") q z))
|
||||
(test-rmp (build-path mzlib "x.rkt") '(submod "." ".." "..") `(submod ,(build-path mzlib "x.rkt") q z))
|
||||
(test-rmp (build-path mzlib "x.rkt") '(submod ".." "..") `(submod ,(build-path mzlib "x.rkt") q z))
|
||||
(void))
|
||||
|
||||
(err/rt-test (resolve-module-path "apple.ss" 'no))
|
||||
|
@ -90,6 +94,7 @@
|
|||
(unless (and (pair? path) (eq? 'submod (car path)))
|
||||
(test `(submod ,expect a b) collapse-module-path `(submod ,path a b) rel-to)
|
||||
(test `(submod ,expect a b) collapse-module-path `(submod ,path a c ".." b) rel-to)
|
||||
(test expect collapse-module-path `(submod ,path) rel-to)
|
||||
(unless (symbol? rel-to)
|
||||
(test expect collapse-module-path path (if (procedure? rel-to)
|
||||
(lambda () `(submod ,(rel-to) a b))
|
||||
|
@ -97,7 +102,10 @@
|
|||
(test expect collapse-module-path-index
|
||||
(module-path-index-join path (module-path-index-join #f #f))
|
||||
rel-to)
|
||||
(unless (and (pair? path) (eq? 'submod (car path)) (equal? (cadr path) "."))
|
||||
(unless (and (pair? path)
|
||||
(eq? 'submod (car path))
|
||||
(or (equal? (cadr path) ".")
|
||||
(equal? (cadr path) "..")))
|
||||
(test expect collapse-module-path-index
|
||||
(module-path-index-join path
|
||||
(module-path-index-join
|
||||
|
@ -258,9 +266,13 @@
|
|||
(test-cmp (build-path 'same "x.rkt") "x.ss" (build-path 'same))
|
||||
(test-cmp (build-path 'same "x.scm") "x.scm" (build-path 'same))
|
||||
|
||||
(test-cmp ''a '(submod ".") ''a)
|
||||
(test-cmp '(submod 'a x y) '(submod "." x y) ''a)
|
||||
(test-cmp '(submod 'a q z x y) '(submod "." x y) '(submod 'a q z))
|
||||
(test-cmp '(submod 'a q y) '(submod "." ".." y) '(submod 'a q z))
|
||||
(test-cmp '(submod 'a q y) '(submod ".." y) '(submod 'a q z))
|
||||
(test-cmp '(submod 'a q) '(submod "..") '(submod 'a q z))
|
||||
(test-cmp '(submod 'a q y) '(submod ".." y) '(submod 'a q z))
|
||||
(test-cmp ''a '(submod "." ".." "..") '(submod 'a q z))
|
||||
(test-cmp `(submod ,(build-path 'same) x y) '(submod "." x y) (build-path 'same))
|
||||
|
||||
|
|
|
@ -389,6 +389,9 @@
|
|||
(test #t module-path? "x/.")
|
||||
(test #t module-path? "x/..")
|
||||
|
||||
(test #t module-path? (collection-file-path "module.rktl" "tests" "racket"))
|
||||
(test #t module-path? (string->path "x"))
|
||||
|
||||
(test #t module-path? 'hello)
|
||||
(test #f module-path? 'hello/)
|
||||
(test #f module-path? 'hello.rkt)
|
||||
|
|
|
@ -5,6 +5,44 @@
|
|||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(test #t module-path? '(submod "."))
|
||||
(test #t module-path? '(submod "." x))
|
||||
(test #t module-path? '(submod "." x y))
|
||||
(test #t module-path? '(submod "." x ".." y))
|
||||
(test #t module-path? '(submod "." x ".." y ".." ".." ".."))
|
||||
(test #f module-path? '(submod "." "x" y))
|
||||
(test #f module-path? '(submod "." x "y"))
|
||||
(test #t module-path? '(submod ".."))
|
||||
(test #t module-path? '(submod ".." x))
|
||||
(test #t module-path? '(submod ".." x y))
|
||||
(test #f module-path? '(submod ".." "x" y))
|
||||
(test #f module-path? '(submod ".." x "y"))
|
||||
(test #t module-path? '(submod ".." ".."))
|
||||
(test #f module-path? '(submod ".." "."))
|
||||
|
||||
(test #t module-path? '(submod x a b))
|
||||
(test #f module-path? '(submod x "a" b))
|
||||
|
||||
(test #t module-path? '(submod 'x a))
|
||||
(test #t module-path? '(submod 'x))
|
||||
|
||||
(define (check-resolution root [root-mod root])
|
||||
(test root resolved-module-path-name
|
||||
(module-path-index-resolve (module-path-index-join `(submod ,root-mod) #f)))
|
||||
(test root resolved-module-path-name
|
||||
(module-path-index-resolve (module-path-index-join `(submod ".") (make-resolved-module-path root))))
|
||||
(test root resolved-module-path-name
|
||||
(module-path-index-resolve (module-path-index-join `(submod "." "..") (make-resolved-module-path (list root 'y)))))
|
||||
(test root resolved-module-path-name
|
||||
(module-path-index-resolve (module-path-index-join `(submod "..") (make-resolved-module-path (list root 'y)))))
|
||||
(err/rt-test
|
||||
(module-path-index-resolve (module-path-index-join `(submod "..") (make-resolved-module-path root)))
|
||||
exn:fail?))
|
||||
(check-resolution 'x ''x)
|
||||
(check-resolution (path->complete-path "file.rkt"))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(module subm-example-1 racket/base
|
||||
(define x 1)
|
||||
(provide x)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,49,84,0,0,0,0,0,0,0,0,
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,50,84,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,1,0,0,10,0,
|
||||
13,0,20,0,33,0,38,0,42,0,45,0,50,0,57,0,61,0,66,0,73,
|
||||
0,82,0,85,0,91,0,105,0,119,0,122,0,128,0,132,0,134,0,145,0,
|
||||
|
@ -16,12 +16,12 @@
|
|||
108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,97,109,98,100,97,1,
|
||||
20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,
|
||||
61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,115,97,36,11,8,240,
|
||||
160,77,0,0,95,159,2,17,36,36,159,2,16,36,36,159,2,16,36,36,16,
|
||||
237,81,0,0,95,159,2,17,36,36,159,2,16,36,36,159,2,16,36,36,16,
|
||||
20,2,3,2,2,2,4,2,2,2,5,2,2,2,6,2,2,2,7,2,2,
|
||||
2,8,2,2,2,9,2,2,2,10,2,2,2,11,2,2,2,12,2,2,97,
|
||||
37,11,8,240,160,77,0,0,93,159,2,16,36,37,16,2,2,13,161,2,2,
|
||||
37,2,13,2,2,2,13,96,38,11,8,240,160,77,0,0,16,0,96,11,11,
|
||||
8,240,160,77,0,0,16,0,18,98,64,104,101,114,101,13,16,5,36,2,14,
|
||||
37,11,8,240,237,81,0,0,93,159,2,16,36,37,16,2,2,13,161,2,2,
|
||||
37,2,13,2,2,2,13,96,38,11,8,240,237,81,0,0,16,0,96,11,11,
|
||||
8,240,237,81,0,0,16,0,18,98,64,104,101,114,101,13,16,5,36,2,14,
|
||||
2,2,11,11,8,32,8,31,8,30,8,29,27,248,22,156,4,195,249,22,149,
|
||||
4,80,158,39,36,251,22,83,2,18,248,22,98,199,12,249,22,73,2,19,248,
|
||||
22,100,201,27,248,22,156,4,195,249,22,149,4,80,158,39,36,251,22,83,2,
|
||||
|
@ -30,14 +30,14 @@
|
|||
194,248,22,74,193,249,22,149,4,80,158,39,36,251,22,83,2,18,248,22,74,
|
||||
199,249,22,73,2,6,248,22,75,201,11,18,100,10,13,16,5,36,2,14,2,
|
||||
2,11,11,8,32,8,31,8,30,8,29,16,4,11,11,2,20,3,1,8,101,
|
||||
110,118,49,53,50,52,48,16,4,11,11,2,21,3,1,8,101,110,118,49,53,
|
||||
50,52,49,27,248,22,75,248,22,156,4,196,28,248,22,81,193,20,14,159,37,
|
||||
110,118,49,53,53,52,49,16,4,11,11,2,21,3,1,8,101,110,118,49,53,
|
||||
53,52,50,27,248,22,75,248,22,156,4,196,28,248,22,81,193,20,14,159,37,
|
||||
36,37,28,248,22,81,248,22,75,194,248,22,74,193,249,22,149,4,80,158,39,
|
||||
36,250,22,83,2,22,248,22,83,249,22,83,248,22,83,2,23,248,22,74,201,
|
||||
251,22,83,2,18,2,23,2,23,249,22,73,2,7,248,22,75,204,18,100,11,
|
||||
13,16,5,36,2,14,2,2,11,11,8,32,8,31,8,30,8,29,16,4,11,
|
||||
11,2,20,3,1,8,101,110,118,49,53,50,52,51,16,4,11,11,2,21,3,
|
||||
1,8,101,110,118,49,53,50,52,52,248,22,156,4,193,27,248,22,156,4,194,
|
||||
11,2,20,3,1,8,101,110,118,49,53,53,52,52,16,4,11,11,2,21,3,
|
||||
1,8,101,110,118,49,53,53,52,53,248,22,156,4,193,27,248,22,156,4,194,
|
||||
249,22,73,248,22,83,248,22,74,196,248,22,75,195,27,248,22,75,248,22,156,
|
||||
4,23,197,1,249,22,149,4,80,158,39,36,28,248,22,58,248,22,150,4,248,
|
||||
22,74,23,198,2,27,249,22,2,32,0,88,163,8,36,37,43,11,9,222,33,
|
||||
|
@ -67,8 +67,8 @@
|
|||
28,249,22,142,9,248,22,150,4,248,22,74,200,64,101,108,115,101,10,248,22,
|
||||
74,197,250,22,84,2,22,9,248,22,75,200,249,22,73,2,11,248,22,75,202,
|
||||
99,13,16,5,36,2,14,2,2,11,11,8,32,8,31,8,30,8,29,16,4,
|
||||
11,11,2,20,3,1,8,101,110,118,49,53,50,54,54,16,4,11,11,2,21,
|
||||
3,1,8,101,110,118,49,53,50,54,55,18,158,94,10,64,118,111,105,100,8,
|
||||
11,11,2,20,3,1,8,101,110,118,49,53,53,54,55,16,4,11,11,2,21,
|
||||
3,1,8,101,110,118,49,53,53,54,56,18,158,94,10,64,118,111,105,100,8,
|
||||
48,27,248,22,75,248,22,156,4,196,249,22,149,4,80,158,39,36,28,248,22,
|
||||
58,248,22,150,4,248,22,74,197,250,22,83,2,28,248,22,83,248,22,74,199,
|
||||
248,22,98,198,27,248,22,150,4,248,22,74,197,250,22,83,2,28,248,22,83,
|
||||
|
@ -99,7 +99,7 @@
|
|||
EVAL_ONE_SIZED_STR((char *)expr, 2024);
|
||||
}
|
||||
{
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,49,84,0,0,0,0,0,0,0,0,
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,50,84,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,1,0,0,8,0,
|
||||
21,0,26,0,43,0,65,0,94,0,109,0,127,0,139,0,155,0,169,0,191,
|
||||
0,207,0,224,0,246,0,1,1,7,1,16,1,23,1,30,1,42,1,58,1,
|
||||
|
@ -599,7 +599,7 @@
|
|||
EVAL_ONE_SIZED_STR((char *)expr, 10435);
|
||||
}
|
||||
{
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,49,84,0,0,0,0,0,0,0,0,
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,50,84,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,1,0,0,15,0,
|
||||
40,0,57,0,75,0,97,0,120,0,140,0,162,0,169,0,176,0,183,0,0,
|
||||
0,178,1,0,0,74,35,37,112,108,97,99,101,45,115,116,114,117,99,116,1,
|
||||
|
@ -626,7 +626,7 @@
|
|||
EVAL_ONE_SIZED_STR((char *)expr, 502);
|
||||
}
|
||||
{
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,49,84,0,0,0,0,0,0,0,0,
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,50,84,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,1,0,0,7,0,
|
||||
18,0,45,0,51,0,64,0,73,0,80,0,102,0,124,0,150,0,158,0,170,
|
||||
0,185,0,201,0,219,0,239,0,251,0,11,1,34,1,46,1,77,1,84,1,
|
||||
|
@ -634,8 +634,8 @@
|
|||
1,163,1,170,1,174,1,185,1,192,1,195,1,203,1,212,1,220,1,21,2,
|
||||
124,2,145,2,166,2,196,2,226,2,28,3,86,3,135,3,184,3,32,10,83,
|
||||
10,146,10,165,10,179,10,81,11,94,11,228,11,14,13,137,13,143,13,171,13,
|
||||
184,13,81,14,88,14,142,14,164,14,184,14,239,14,249,14,80,15,82,15,185,
|
||||
15,202,23,255,23,23,24,47,24,0,0,177,27,0,0,66,35,37,98,111,111,
|
||||
184,13,90,14,97,14,151,14,173,14,193,14,248,14,2,15,89,15,91,15,194,
|
||||
15,38,24,91,24,115,24,139,24,0,0,13,28,0,0,66,35,37,98,111,111,
|
||||
116,70,100,108,108,45,115,117,102,102,105,120,1,25,100,101,102,97,117,108,116,
|
||||
45,108,111,97,100,47,117,115,101,45,99,111,109,112,105,108,101,100,65,113,117,
|
||||
111,116,101,29,94,2,4,67,35,37,117,116,105,108,115,11,68,35,37,112,97,
|
||||
|
@ -807,177 +807,181 @@
|
|||
249,22,144,9,248,22,74,23,199,2,2,32,28,248,22,81,23,196,2,86,95,
|
||||
23,196,1,23,195,1,250,22,175,9,2,21,6,37,37,116,111,111,32,109,97,
|
||||
110,121,32,34,46,46,34,115,32,105,110,32,115,117,98,109,111,100,117,108,101,
|
||||
32,112,97,116,104,58,32,126,46,115,250,22,84,2,31,28,249,22,144,9,200,
|
||||
2,33,198,249,22,83,28,248,22,58,201,2,4,2,34,200,199,251,2,65,196,
|
||||
197,248,22,75,199,248,22,75,200,251,2,65,196,197,249,22,73,248,22,74,202,
|
||||
200,248,22,75,200,251,2,65,196,197,9,197,27,249,22,155,7,6,31,31,115,
|
||||
116,97,110,100,97,114,100,45,109,111,100,117,108,101,45,110,97,109,101,45,114,
|
||||
101,115,111,108,118,101,114,58,32,196,28,193,250,22,177,9,11,195,196,248,22,
|
||||
175,9,193,28,249,22,138,7,194,2,33,2,27,28,249,22,138,7,194,2,32,
|
||||
62,117,112,192,32,70,88,163,8,36,37,50,11,67,115,115,45,62,114,107,116,
|
||||
222,33,71,27,248,22,135,7,194,28,249,22,188,3,194,39,28,249,22,138,7,
|
||||
6,3,3,46,115,115,249,22,154,7,197,249,22,176,3,198,39,249,22,155,7,
|
||||
250,22,154,7,198,36,249,22,176,3,199,39,2,38,193,193,0,8,35,114,120,
|
||||
34,91,46,93,34,28,249,22,144,9,248,22,75,23,200,2,23,197,1,28,249,
|
||||
22,142,9,248,22,74,23,200,2,23,196,1,251,22,175,9,2,21,6,28,28,
|
||||
99,121,99,108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126,
|
||||
46,115,58,32,126,46,115,23,200,1,249,22,2,22,75,248,22,88,249,22,73,
|
||||
23,206,1,23,202,1,12,12,247,192,20,13,159,80,159,43,48,38,249,22,73,
|
||||
249,22,73,248,22,172,15,247,22,137,13,23,201,1,23,195,1,20,13,159,80,
|
||||
159,43,40,37,250,80,159,46,41,37,249,22,27,11,80,159,48,40,37,22,181,
|
||||
4,23,198,2,249,247,22,163,5,23,200,1,27,248,22,61,248,22,163,14,23,
|
||||
201,1,28,23,202,2,28,250,22,153,2,23,200,1,23,201,1,11,249,22,73,
|
||||
11,203,249,22,73,194,203,192,86,94,28,28,248,22,159,14,23,197,2,10,248,
|
||||
22,148,5,23,197,2,12,28,23,198,2,250,22,177,9,11,6,15,15,98,97,
|
||||
100,32,109,111,100,117,108,101,32,112,97,116,104,23,201,2,250,22,178,9,2,
|
||||
21,6,19,19,109,111,100,117,108,101,45,112,97,116,104,32,111,114,32,112,97,
|
||||
116,104,23,199,2,28,28,248,22,71,23,197,2,249,22,142,9,248,22,74,23,
|
||||
199,2,2,4,11,248,22,139,5,248,22,98,197,28,28,248,22,71,23,197,2,
|
||||
28,249,22,142,9,248,22,74,23,199,2,2,31,28,248,22,71,248,22,98,23,
|
||||
198,2,249,22,142,9,248,22,102,23,199,2,2,4,11,11,11,86,98,23,199,
|
||||
1,23,198,1,23,197,1,23,194,1,23,193,1,248,22,139,5,249,2,64,248,
|
||||
22,115,23,200,2,248,22,100,23,200,1,28,28,248,22,71,23,197,2,28,249,
|
||||
22,142,9,248,22,74,23,199,2,2,31,28,249,22,144,9,248,22,98,23,199,
|
||||
2,2,33,28,23,197,2,27,248,22,140,5,23,199,2,28,248,22,58,193,10,
|
||||
28,248,22,71,193,248,22,58,248,22,74,194,11,11,11,11,11,86,97,23,199,
|
||||
1,23,198,1,23,194,1,23,193,1,27,248,22,140,5,23,199,1,248,22,139,
|
||||
5,249,2,64,28,248,22,71,23,197,2,248,22,74,23,197,2,23,196,2,28,
|
||||
248,22,71,23,197,2,249,22,87,248,22,75,23,199,1,248,22,100,23,203,1,
|
||||
86,94,23,196,1,248,22,100,23,201,1,28,28,248,22,71,23,197,2,249,22,
|
||||
142,9,248,22,74,23,199,2,2,35,11,86,94,23,193,1,86,94,28,208,12,
|
||||
20,13,159,80,159,38,55,37,80,158,38,53,89,161,37,37,10,249,22,183,4,
|
||||
21,94,2,36,6,19,19,112,108,97,110,101,116,47,114,101,115,111,108,118,101,
|
||||
114,46,114,107,116,1,27,112,108,97,110,101,116,45,109,111,100,117,108,101,45,
|
||||
110,97,109,101,45,114,101,115,111,108,118,101,114,12,252,213,200,201,202,203,80,
|
||||
158,43,53,86,94,23,194,1,28,28,248,22,71,23,197,2,28,249,22,142,9,
|
||||
248,22,74,23,199,2,2,31,28,248,22,71,248,22,98,23,198,2,249,22,142,
|
||||
9,248,22,102,23,199,2,2,35,11,11,11,35,251,24,198,1,248,22,98,201,
|
||||
23,202,2,23,203,1,23,204,1,27,248,22,140,5,23,200,1,28,248,22,71,
|
||||
193,249,2,64,248,22,74,195,249,22,87,248,22,75,197,248,22,100,202,249,2,
|
||||
64,194,248,22,100,200,86,94,23,193,1,27,88,163,8,36,37,47,11,79,115,
|
||||
104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114,114,223,6,33,
|
||||
68,27,28,248,22,71,23,199,2,28,249,22,142,9,2,31,248,22,74,23,201,
|
||||
2,27,248,22,98,23,200,2,28,249,22,144,9,23,195,2,2,33,86,94,23,
|
||||
193,1,28,23,200,2,27,248,22,140,5,23,202,2,28,248,22,71,193,248,22,
|
||||
74,193,192,250,22,175,9,2,21,6,45,45,110,111,32,98,97,115,101,32,112,
|
||||
97,116,104,32,102,111,114,32,114,101,108,97,116,105,118,101,32,115,117,98,109,
|
||||
111,100,117,108,101,32,112,97,116,104,58,32,126,46,115,23,202,2,192,23,198,
|
||||
2,23,198,2,27,28,248,22,71,23,200,2,28,249,22,142,9,2,31,248,22,
|
||||
74,23,202,2,27,28,28,249,22,144,9,248,22,98,23,203,2,2,33,23,201,
|
||||
2,11,27,248,22,140,5,23,203,2,28,248,22,71,23,194,2,249,2,64,248,
|
||||
22,74,23,196,2,249,22,87,248,22,75,23,198,1,248,22,100,23,206,1,249,
|
||||
2,64,23,195,1,248,22,100,23,204,1,249,2,64,2,33,248,22,100,23,203,
|
||||
1,28,248,22,71,193,248,22,75,193,11,11,11,27,28,248,22,58,23,196,2,
|
||||
27,248,80,159,44,46,39,249,22,73,23,199,2,247,22,137,15,28,23,193,2,
|
||||
192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80,159,47,52,39,
|
||||
248,22,64,23,201,2,11,27,28,248,22,81,23,195,2,2,37,249,22,155,7,
|
||||
23,197,2,2,38,251,80,159,50,57,39,23,204,1,28,248,22,81,23,199,2,
|
||||
23,199,1,86,94,23,199,1,248,22,74,23,199,2,28,248,22,81,23,199,2,
|
||||
86,94,23,198,1,9,248,22,75,23,199,1,23,197,1,28,248,22,132,7,23,
|
||||
196,2,86,94,23,196,1,27,248,80,159,44,8,26,39,23,203,2,27,248,80,
|
||||
159,45,46,39,249,22,73,23,200,2,23,197,2,28,23,193,2,192,86,94,23,
|
||||
193,1,90,159,38,11,89,161,38,36,11,249,80,159,48,52,39,23,201,2,11,
|
||||
250,22,1,22,177,14,23,199,1,249,22,87,249,22,2,32,0,88,163,8,36,
|
||||
37,44,11,9,222,33,69,23,200,1,248,22,83,248,2,70,23,201,1,28,248,
|
||||
22,159,14,23,196,2,86,94,23,196,1,248,80,159,43,8,27,39,248,22,186,
|
||||
14,28,248,22,183,14,23,198,2,23,197,2,249,22,184,14,23,199,2,248,80,
|
||||
159,47,8,26,39,23,206,2,28,249,22,142,9,248,22,74,23,198,2,2,36,
|
||||
27,248,80,159,44,46,39,249,22,73,23,199,2,247,22,137,15,28,23,193,2,
|
||||
192,86,94,23,193,1,90,159,39,11,89,161,38,36,11,249,80,159,48,52,39,
|
||||
248,22,98,23,202,2,11,89,161,37,38,11,28,248,22,81,248,22,100,23,201,
|
||||
2,28,248,22,81,23,194,2,249,22,151,15,2,72,23,196,2,11,10,27,28,
|
||||
23,196,2,248,2,70,23,196,2,28,248,22,81,23,195,2,2,37,28,249,22,
|
||||
151,15,2,72,23,197,2,248,2,70,23,196,2,249,22,155,7,23,197,2,2,
|
||||
38,27,28,23,197,1,86,94,23,196,1,249,22,87,28,248,22,81,248,22,100,
|
||||
23,205,2,21,93,6,5,5,109,122,108,105,98,249,22,1,22,87,249,22,2,
|
||||
80,159,54,8,28,39,248,22,100,23,208,2,23,197,1,28,248,22,81,23,196,
|
||||
2,86,94,23,195,1,248,22,83,23,197,1,86,94,23,196,1,23,195,1,251,
|
||||
80,159,52,57,39,23,206,1,248,22,74,23,198,2,248,22,75,23,198,1,23,
|
||||
198,1,28,249,22,142,9,248,22,74,23,198,2,2,34,248,80,159,43,8,27,
|
||||
39,248,22,186,14,249,22,184,14,248,22,188,14,248,22,98,23,201,2,248,80,
|
||||
159,47,8,26,39,23,206,2,12,86,94,28,28,248,22,159,14,23,194,2,10,
|
||||
248,22,157,8,23,194,2,86,94,23,202,1,12,28,23,202,2,250,22,177,9,
|
||||
67,114,101,113,117,105,114,101,249,22,180,7,6,17,17,98,97,100,32,109,111,
|
||||
100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,248,22,74,23,199,2,
|
||||
2,39,23,205,1,86,94,23,202,1,250,22,178,9,2,21,249,22,180,7,6,
|
||||
13,13,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,248,22,
|
||||
74,23,199,2,2,39,23,198,2,27,28,248,22,157,8,23,195,2,249,22,162,
|
||||
8,23,196,2,36,249,22,186,14,248,22,187,14,23,197,2,11,27,28,248,22,
|
||||
157,8,23,196,2,249,22,162,8,23,197,2,37,248,80,159,45,58,39,23,195,
|
||||
2,90,159,39,11,89,161,39,36,11,28,248,22,157,8,23,199,2,250,22,7,
|
||||
2,40,249,22,162,8,23,203,2,38,2,40,248,22,180,14,23,198,2,86,95,
|
||||
23,195,1,23,193,1,27,28,248,22,157,8,23,200,2,249,22,162,8,23,201,
|
||||
2,39,249,80,159,50,56,39,23,197,2,5,0,27,28,248,22,157,8,23,201,
|
||||
2,249,22,162,8,23,202,2,40,248,22,139,5,23,200,2,27,250,22,153,2,
|
||||
80,159,53,43,38,248,22,172,15,247,22,137,13,11,27,28,23,194,2,23,194,
|
||||
1,86,94,23,194,1,27,247,22,133,2,86,94,250,22,151,2,80,159,55,43,
|
||||
38,248,22,172,15,247,22,137,13,195,192,27,28,23,204,2,248,22,139,5,249,
|
||||
22,73,248,22,140,5,23,200,2,23,207,2,23,196,2,86,95,28,23,213,1,
|
||||
27,250,22,153,2,23,198,2,196,11,28,23,193,1,12,86,94,27,27,28,248,
|
||||
22,17,80,159,56,49,38,80,159,55,49,38,247,22,19,251,22,27,11,80,159,
|
||||
59,48,38,9,23,197,1,27,248,22,172,15,247,22,137,13,86,94,249,22,3,
|
||||
20,20,94,88,163,8,36,37,55,11,9,226,14,13,2,3,33,73,23,195,1,
|
||||
23,196,2,248,28,248,22,17,80,159,57,49,38,32,0,88,163,36,37,42,11,
|
||||
9,222,33,74,80,159,56,8,29,39,20,20,95,88,163,36,36,55,8,176,64,
|
||||
9,230,20,15,13,12,8,7,5,2,33,75,23,195,1,23,208,1,250,22,151,
|
||||
2,23,198,1,196,10,12,28,28,248,22,157,8,23,204,1,11,28,248,22,132,
|
||||
7,23,206,2,10,28,248,22,58,23,206,2,10,28,248,22,71,23,206,2,249,
|
||||
22,142,9,248,22,74,23,208,2,2,36,11,249,80,159,54,47,39,28,248,22,
|
||||
132,7,23,208,2,249,22,73,23,209,1,248,80,159,57,8,26,39,23,216,1,
|
||||
86,94,23,213,1,249,22,73,23,209,1,247,22,137,15,252,22,159,8,23,209,
|
||||
1,23,208,1,23,206,1,23,204,1,23,203,1,12,192,86,96,20,18,159,11,
|
||||
80,158,36,53,248,80,159,37,8,25,37,249,22,27,11,80,159,39,55,37,248,
|
||||
22,180,4,80,159,37,54,38,248,22,163,5,80,159,37,37,39,248,22,128,14,
|
||||
80,159,37,42,39,20,18,159,11,80,158,36,53,248,80,159,37,8,25,37,249,
|
||||
22,27,11,80,159,39,55,37,20,18,159,11,80,158,36,53,248,80,159,37,8,
|
||||
25,37,249,22,27,11,80,159,39,55,37,159,36,20,113,159,36,16,1,11,16,
|
||||
0,20,26,144,9,2,1,2,1,29,11,11,9,9,11,11,11,10,38,80,158,
|
||||
36,36,20,113,159,40,16,26,2,2,2,3,30,2,5,72,112,97,116,104,45,
|
||||
115,116,114,105,110,103,63,11,30,2,5,75,112,97,116,104,45,97,100,100,45,
|
||||
115,117,102,102,105,120,8,30,2,7,2,8,6,30,2,7,1,23,101,120,116,
|
||||
101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,3,
|
||||
2,9,2,10,2,11,2,12,2,13,2,14,2,15,2,16,2,17,2,18,2,
|
||||
19,2,20,2,21,30,2,22,2,8,6,30,2,5,79,112,97,116,104,45,114,
|
||||
101,112,108,97,99,101,45,115,117,102,102,105,120,10,30,2,5,73,102,105,110,
|
||||
100,45,99,111,108,45,102,105,108,101,3,30,2,5,76,110,111,114,109,97,108,
|
||||
45,99,97,115,101,45,112,97,116,104,7,2,23,2,24,30,2,22,74,114,101,
|
||||
112,97,114,97,109,101,116,101,114,105,122,101,7,16,0,37,39,36,16,0,36,
|
||||
16,14,2,15,2,16,2,10,2,12,2,17,2,18,2,11,2,3,2,9,2,
|
||||
2,2,13,2,14,2,19,2,21,50,11,11,11,16,3,2,23,2,20,2,24,
|
||||
16,3,11,11,11,16,3,2,23,2,20,2,24,39,39,37,12,11,11,16,0,
|
||||
16,0,16,0,36,36,11,12,11,11,16,0,16,0,16,0,36,36,16,21,20,
|
||||
15,16,2,88,163,36,37,45,8,128,128,9,223,0,33,41,80,159,36,8,29,
|
||||
39,20,15,16,2,88,163,8,36,37,45,8,240,0,0,1,0,9,223,0,33,
|
||||
42,80,159,36,8,28,39,20,15,16,2,88,163,36,37,49,8,240,0,0,16,
|
||||
0,72,112,97,116,104,45,115,115,45,62,114,107,116,223,0,33,43,80,159,36,
|
||||
8,27,39,20,15,16,2,88,163,36,37,49,8,240,0,192,0,0,67,103,101,
|
||||
116,45,100,105,114,223,0,33,44,80,159,36,8,26,39,20,15,16,2,248,22,
|
||||
154,8,69,115,111,45,115,117,102,102,105,120,80,159,36,36,37,20,15,16,2,
|
||||
88,163,36,38,8,38,8,61,2,3,223,0,33,53,80,159,36,37,37,20,15,
|
||||
16,2,20,27,158,32,0,88,163,8,36,37,42,11,2,9,222,192,32,0,88,
|
||||
163,8,36,37,42,11,2,9,222,192,80,159,36,42,37,20,15,16,2,247,22,
|
||||
136,2,80,159,36,43,37,20,15,16,2,8,128,8,80,159,36,44,37,20,15,
|
||||
16,2,249,22,158,8,8,128,8,11,80,159,36,45,37,20,15,16,2,88,163,
|
||||
8,36,37,50,8,128,8,2,13,223,0,33,54,80,159,36,46,37,20,15,16,
|
||||
2,88,163,8,36,38,55,8,128,8,2,14,223,0,33,55,80,159,36,47,37,
|
||||
20,15,16,2,247,22,69,80,159,36,48,37,20,15,16,2,248,22,18,74,109,
|
||||
111,100,117,108,101,45,108,111,97,100,105,110,103,80,159,36,49,37,20,15,16,
|
||||
2,11,80,158,36,50,20,15,16,2,11,80,158,36,51,20,15,16,2,32,0,
|
||||
88,163,36,38,8,25,11,2,19,222,33,61,80,159,36,52,37,20,15,16,2,
|
||||
11,80,158,36,53,20,15,16,2,27,11,20,19,158,36,90,159,37,10,89,161,
|
||||
37,36,10,20,25,96,2,21,88,163,8,36,37,51,8,128,2,9,224,2,1,
|
||||
33,62,88,163,36,39,49,11,9,223,0,33,63,88,163,36,40,8,33,16,2,
|
||||
8,176,242,8,187,241,9,225,2,1,0,33,76,207,80,159,36,54,37,20,15,
|
||||
16,2,88,163,36,36,45,8,240,66,0,14,2,2,23,223,0,33,77,80,159,
|
||||
36,59,37,20,15,16,2,20,27,158,88,163,8,36,36,45,8,240,0,0,10,
|
||||
2,2,24,223,0,33,78,88,163,8,36,36,45,8,240,0,0,10,2,2,24,
|
||||
223,0,33,79,80,159,36,8,24,37,96,29,94,2,4,68,35,37,107,101,114,
|
||||
110,101,108,11,29,94,2,4,69,35,37,109,105,110,45,115,116,120,11,2,5,
|
||||
2,22,9,9,9,36,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 7293);
|
||||
32,112,97,116,104,58,32,126,46,115,250,22,84,2,31,28,249,22,144,9,23,
|
||||
201,2,2,33,198,28,248,22,159,14,199,198,249,22,83,28,248,22,58,201,2,
|
||||
4,2,34,200,199,251,2,65,196,197,248,22,75,199,248,22,75,200,251,2,65,
|
||||
196,197,249,22,73,248,22,74,202,200,248,22,75,200,251,2,65,196,197,9,197,
|
||||
27,249,22,155,7,6,31,31,115,116,97,110,100,97,114,100,45,109,111,100,117,
|
||||
108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,58,32,196,28,193,
|
||||
250,22,177,9,11,195,196,248,22,175,9,193,28,249,22,138,7,194,2,33,2,
|
||||
27,28,249,22,138,7,194,2,32,62,117,112,192,32,70,88,163,8,36,37,50,
|
||||
11,67,115,115,45,62,114,107,116,222,33,71,27,248,22,135,7,194,28,249,22,
|
||||
188,3,194,39,28,249,22,138,7,6,3,3,46,115,115,249,22,154,7,197,249,
|
||||
22,176,3,198,39,249,22,155,7,250,22,154,7,198,36,249,22,176,3,199,39,
|
||||
2,38,193,193,0,8,35,114,120,34,91,46,93,34,28,249,22,144,9,248,22,
|
||||
75,23,200,2,23,197,1,28,249,22,142,9,248,22,74,23,200,2,23,196,1,
|
||||
251,22,175,9,2,21,6,28,28,99,121,99,108,101,32,105,110,32,108,111,97,
|
||||
100,105,110,103,32,97,116,32,126,46,115,58,32,126,46,115,23,200,1,249,22,
|
||||
2,22,75,248,22,88,249,22,73,23,206,1,23,202,1,12,12,247,192,20,13,
|
||||
159,80,159,43,48,38,249,22,73,249,22,73,248,22,172,15,247,22,137,13,23,
|
||||
201,1,23,195,1,20,13,159,80,159,43,40,37,250,80,159,46,41,37,249,22,
|
||||
27,11,80,159,48,40,37,22,181,4,23,198,2,249,247,22,163,5,23,200,1,
|
||||
27,248,22,61,248,22,163,14,23,201,1,28,23,202,2,28,250,22,153,2,23,
|
||||
200,1,23,201,1,11,249,22,73,11,203,249,22,73,194,203,192,86,94,28,28,
|
||||
248,22,159,14,23,197,2,10,248,22,148,5,23,197,2,12,28,23,198,2,250,
|
||||
22,177,9,11,6,15,15,98,97,100,32,109,111,100,117,108,101,32,112,97,116,
|
||||
104,23,201,2,250,22,178,9,2,21,6,19,19,109,111,100,117,108,101,45,112,
|
||||
97,116,104,32,111,114,32,112,97,116,104,23,199,2,28,28,248,22,71,23,197,
|
||||
2,249,22,142,9,248,22,74,23,199,2,2,4,11,248,22,139,5,248,22,98,
|
||||
197,28,28,248,22,71,23,197,2,28,249,22,142,9,248,22,74,23,199,2,2,
|
||||
31,28,248,22,71,248,22,98,23,198,2,249,22,142,9,248,22,102,23,199,2,
|
||||
2,4,11,11,11,86,98,23,199,1,23,198,1,23,197,1,23,194,1,23,193,
|
||||
1,248,22,139,5,249,2,64,248,22,115,23,200,2,248,22,100,23,200,1,28,
|
||||
28,248,22,71,23,197,2,28,249,22,142,9,248,22,74,23,199,2,2,31,28,
|
||||
28,249,22,144,9,248,22,98,23,199,2,2,33,10,249,22,144,9,248,22,98,
|
||||
23,199,2,2,32,28,23,197,2,27,248,22,140,5,23,199,2,28,248,22,58,
|
||||
193,10,28,248,22,71,193,248,22,58,248,22,74,194,11,11,11,11,11,86,97,
|
||||
23,199,1,23,198,1,23,194,1,23,193,1,27,248,22,140,5,23,199,1,248,
|
||||
22,139,5,249,2,64,28,248,22,71,23,197,2,248,22,74,23,197,2,23,196,
|
||||
2,27,28,249,22,144,9,248,22,98,23,204,2,2,32,248,22,75,201,248,22,
|
||||
100,201,28,248,22,71,23,198,2,249,22,87,248,22,75,199,194,192,28,28,248,
|
||||
22,71,23,197,2,249,22,142,9,248,22,74,23,199,2,2,35,11,86,94,23,
|
||||
193,1,86,94,28,208,12,20,13,159,80,159,38,55,37,80,158,38,53,89,161,
|
||||
37,37,10,249,22,183,4,21,94,2,36,6,19,19,112,108,97,110,101,116,47,
|
||||
114,101,115,111,108,118,101,114,46,114,107,116,1,27,112,108,97,110,101,116,45,
|
||||
109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,12,
|
||||
252,213,200,201,202,203,80,158,43,53,86,94,23,194,1,28,28,248,22,71,23,
|
||||
197,2,28,249,22,142,9,248,22,74,23,199,2,2,31,28,248,22,71,248,22,
|
||||
98,23,198,2,249,22,142,9,248,22,102,23,199,2,2,35,11,11,11,35,251,
|
||||
24,198,1,248,22,98,201,23,202,2,23,203,1,23,204,1,27,248,22,140,5,
|
||||
23,200,1,28,248,22,71,193,249,2,64,248,22,74,195,249,22,87,248,22,75,
|
||||
197,248,22,100,202,249,2,64,194,248,22,100,200,86,94,23,193,1,27,88,163,
|
||||
8,36,37,47,11,79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,
|
||||
45,101,114,114,223,6,33,68,27,28,248,22,71,23,199,2,28,249,22,142,9,
|
||||
2,31,248,22,74,23,201,2,27,248,22,98,23,200,2,28,28,249,22,144,9,
|
||||
23,195,2,2,33,10,249,22,144,9,23,195,2,2,32,86,94,23,193,1,28,
|
||||
23,200,2,27,248,22,140,5,23,202,2,28,248,22,71,193,248,22,74,193,192,
|
||||
250,22,175,9,2,21,6,45,45,110,111,32,98,97,115,101,32,112,97,116,104,
|
||||
32,102,111,114,32,114,101,108,97,116,105,118,101,32,115,117,98,109,111,100,117,
|
||||
108,101,32,112,97,116,104,58,32,126,46,115,23,202,2,192,23,198,2,23,198,
|
||||
2,27,28,248,22,71,23,200,2,28,249,22,142,9,2,31,248,22,74,23,202,
|
||||
2,27,28,28,28,249,22,144,9,248,22,98,23,203,2,2,33,10,249,22,144,
|
||||
9,248,22,98,23,203,2,2,32,23,201,2,11,27,248,22,140,5,23,203,2,
|
||||
27,28,249,22,144,9,248,22,98,23,205,2,2,32,248,22,75,23,203,1,248,
|
||||
22,100,23,203,1,28,248,22,71,23,195,2,249,2,64,248,22,74,23,197,2,
|
||||
249,22,87,248,22,75,23,199,1,23,197,1,249,2,64,23,196,1,23,195,1,
|
||||
249,2,64,2,33,28,249,22,144,9,248,22,98,23,205,2,2,32,248,22,75,
|
||||
23,203,1,248,22,100,23,203,1,28,248,22,71,193,248,22,75,193,11,11,11,
|
||||
27,28,248,22,58,23,196,2,27,248,80,159,44,46,39,249,22,73,23,199,2,
|
||||
247,22,137,15,28,23,193,2,192,86,94,23,193,1,90,159,38,11,89,161,38,
|
||||
36,11,249,80,159,47,52,39,248,22,64,23,201,2,11,27,28,248,22,81,23,
|
||||
195,2,2,37,249,22,155,7,23,197,2,2,38,251,80,159,50,57,39,23,204,
|
||||
1,28,248,22,81,23,199,2,23,199,1,86,94,23,199,1,248,22,74,23,199,
|
||||
2,28,248,22,81,23,199,2,86,94,23,198,1,9,248,22,75,23,199,1,23,
|
||||
197,1,28,248,22,132,7,23,196,2,86,94,23,196,1,27,248,80,159,44,8,
|
||||
26,39,23,203,2,27,248,80,159,45,46,39,249,22,73,23,200,2,23,197,2,
|
||||
28,23,193,2,192,86,94,23,193,1,90,159,38,11,89,161,38,36,11,249,80,
|
||||
159,48,52,39,23,201,2,11,250,22,1,22,177,14,23,199,1,249,22,87,249,
|
||||
22,2,32,0,88,163,8,36,37,44,11,9,222,33,69,23,200,1,248,22,83,
|
||||
248,2,70,23,201,1,28,248,22,159,14,23,196,2,86,94,23,196,1,248,80,
|
||||
159,43,8,27,39,248,22,186,14,28,248,22,183,14,23,198,2,23,197,2,249,
|
||||
22,184,14,23,199,2,248,80,159,47,8,26,39,23,206,2,28,249,22,142,9,
|
||||
248,22,74,23,198,2,2,36,27,248,80,159,44,46,39,249,22,73,23,199,2,
|
||||
247,22,137,15,28,23,193,2,192,86,94,23,193,1,90,159,39,11,89,161,38,
|
||||
36,11,249,80,159,48,52,39,248,22,98,23,202,2,11,89,161,37,38,11,28,
|
||||
248,22,81,248,22,100,23,201,2,28,248,22,81,23,194,2,249,22,151,15,2,
|
||||
72,23,196,2,11,10,27,28,23,196,2,248,2,70,23,196,2,28,248,22,81,
|
||||
23,195,2,2,37,28,249,22,151,15,2,72,23,197,2,248,2,70,23,196,2,
|
||||
249,22,155,7,23,197,2,2,38,27,28,23,197,1,86,94,23,196,1,249,22,
|
||||
87,28,248,22,81,248,22,100,23,205,2,21,93,6,5,5,109,122,108,105,98,
|
||||
249,22,1,22,87,249,22,2,80,159,54,8,28,39,248,22,100,23,208,2,23,
|
||||
197,1,28,248,22,81,23,196,2,86,94,23,195,1,248,22,83,23,197,1,86,
|
||||
94,23,196,1,23,195,1,251,80,159,52,57,39,23,206,1,248,22,74,23,198,
|
||||
2,248,22,75,23,198,1,23,198,1,28,249,22,142,9,248,22,74,23,198,2,
|
||||
2,34,248,80,159,43,8,27,39,248,22,186,14,249,22,184,14,248,22,188,14,
|
||||
248,22,98,23,201,2,248,80,159,47,8,26,39,23,206,2,12,86,94,28,28,
|
||||
248,22,159,14,23,194,2,10,248,22,157,8,23,194,2,86,94,23,202,1,12,
|
||||
28,23,202,2,250,22,177,9,67,114,101,113,117,105,114,101,249,22,180,7,6,
|
||||
17,17,98,97,100,32,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23,
|
||||
198,2,248,22,74,23,199,2,2,39,23,205,1,86,94,23,202,1,250,22,178,
|
||||
9,2,21,249,22,180,7,6,13,13,109,111,100,117,108,101,32,112,97,116,104,
|
||||
126,97,28,23,198,2,248,22,74,23,199,2,2,39,23,198,2,27,28,248,22,
|
||||
157,8,23,195,2,249,22,162,8,23,196,2,36,249,22,186,14,248,22,187,14,
|
||||
23,197,2,11,27,28,248,22,157,8,23,196,2,249,22,162,8,23,197,2,37,
|
||||
248,80,159,45,58,39,23,195,2,90,159,39,11,89,161,39,36,11,28,248,22,
|
||||
157,8,23,199,2,250,22,7,2,40,249,22,162,8,23,203,2,38,2,40,248,
|
||||
22,180,14,23,198,2,86,95,23,195,1,23,193,1,27,28,248,22,157,8,23,
|
||||
200,2,249,22,162,8,23,201,2,39,249,80,159,50,56,39,23,197,2,5,0,
|
||||
27,28,248,22,157,8,23,201,2,249,22,162,8,23,202,2,40,248,22,139,5,
|
||||
23,200,2,27,250,22,153,2,80,159,53,43,38,248,22,172,15,247,22,137,13,
|
||||
11,27,28,23,194,2,23,194,1,86,94,23,194,1,27,247,22,133,2,86,94,
|
||||
250,22,151,2,80,159,55,43,38,248,22,172,15,247,22,137,13,195,192,27,28,
|
||||
23,204,2,248,22,139,5,249,22,73,248,22,140,5,23,200,2,23,207,2,23,
|
||||
196,2,86,95,28,23,213,1,27,250,22,153,2,23,198,2,196,11,28,23,193,
|
||||
1,12,86,94,27,27,28,248,22,17,80,159,56,49,38,80,159,55,49,38,247,
|
||||
22,19,251,22,27,11,80,159,59,48,38,9,23,197,1,27,248,22,172,15,247,
|
||||
22,137,13,86,94,249,22,3,20,20,94,88,163,8,36,37,55,11,9,226,14,
|
||||
13,2,3,33,73,23,195,1,23,196,2,248,28,248,22,17,80,159,57,49,38,
|
||||
32,0,88,163,36,37,42,11,9,222,33,74,80,159,56,8,29,39,20,20,95,
|
||||
88,163,36,36,55,8,176,64,9,230,20,15,13,12,8,7,5,2,33,75,23,
|
||||
195,1,23,208,1,250,22,151,2,23,198,1,196,10,12,28,28,248,22,157,8,
|
||||
23,204,1,11,28,248,22,132,7,23,206,2,10,28,248,22,58,23,206,2,10,
|
||||
28,248,22,71,23,206,2,249,22,142,9,248,22,74,23,208,2,2,36,11,249,
|
||||
80,159,54,47,39,28,248,22,132,7,23,208,2,249,22,73,23,209,1,248,80,
|
||||
159,57,8,26,39,23,216,1,86,94,23,213,1,249,22,73,23,209,1,247,22,
|
||||
137,15,252,22,159,8,23,209,1,23,208,1,23,206,1,23,204,1,23,203,1,
|
||||
12,192,86,96,20,18,159,11,80,158,36,53,248,80,159,37,8,25,37,249,22,
|
||||
27,11,80,159,39,55,37,248,22,180,4,80,159,37,54,38,248,22,163,5,80,
|
||||
159,37,37,39,248,22,128,14,80,159,37,42,39,20,18,159,11,80,158,36,53,
|
||||
248,80,159,37,8,25,37,249,22,27,11,80,159,39,55,37,20,18,159,11,80,
|
||||
158,36,53,248,80,159,37,8,25,37,249,22,27,11,80,159,39,55,37,159,36,
|
||||
20,113,159,36,16,1,11,16,0,20,26,144,9,2,1,2,1,29,11,11,9,
|
||||
9,11,11,11,10,38,80,158,36,36,20,113,159,40,16,26,2,2,2,3,30,
|
||||
2,5,72,112,97,116,104,45,115,116,114,105,110,103,63,11,30,2,5,75,112,
|
||||
97,116,104,45,97,100,100,45,115,117,102,102,105,120,8,30,2,7,2,8,6,
|
||||
30,2,7,1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,
|
||||
105,122,97,116,105,111,110,3,2,9,2,10,2,11,2,12,2,13,2,14,2,
|
||||
15,2,16,2,17,2,18,2,19,2,20,2,21,30,2,22,2,8,6,30,2,
|
||||
5,79,112,97,116,104,45,114,101,112,108,97,99,101,45,115,117,102,102,105,120,
|
||||
10,30,2,5,73,102,105,110,100,45,99,111,108,45,102,105,108,101,3,30,2,
|
||||
5,76,110,111,114,109,97,108,45,99,97,115,101,45,112,97,116,104,7,2,23,
|
||||
2,24,30,2,22,74,114,101,112,97,114,97,109,101,116,101,114,105,122,101,7,
|
||||
16,0,37,39,36,16,0,36,16,14,2,15,2,16,2,10,2,12,2,17,2,
|
||||
18,2,11,2,3,2,9,2,2,2,13,2,14,2,19,2,21,50,11,11,11,
|
||||
16,3,2,23,2,20,2,24,16,3,11,11,11,16,3,2,23,2,20,2,24,
|
||||
39,39,37,12,11,11,16,0,16,0,16,0,36,36,11,12,11,11,16,0,16,
|
||||
0,16,0,36,36,16,21,20,15,16,2,88,163,36,37,45,8,128,128,9,223,
|
||||
0,33,41,80,159,36,8,29,39,20,15,16,2,88,163,8,36,37,45,8,240,
|
||||
0,0,1,0,9,223,0,33,42,80,159,36,8,28,39,20,15,16,2,88,163,
|
||||
36,37,49,8,240,0,0,16,0,72,112,97,116,104,45,115,115,45,62,114,107,
|
||||
116,223,0,33,43,80,159,36,8,27,39,20,15,16,2,88,163,36,37,49,8,
|
||||
240,0,192,0,0,67,103,101,116,45,100,105,114,223,0,33,44,80,159,36,8,
|
||||
26,39,20,15,16,2,248,22,154,8,69,115,111,45,115,117,102,102,105,120,80,
|
||||
159,36,36,37,20,15,16,2,88,163,36,38,8,38,8,61,2,3,223,0,33,
|
||||
53,80,159,36,37,37,20,15,16,2,20,27,158,32,0,88,163,8,36,37,42,
|
||||
11,2,9,222,192,32,0,88,163,8,36,37,42,11,2,9,222,192,80,159,36,
|
||||
42,37,20,15,16,2,247,22,136,2,80,159,36,43,37,20,15,16,2,8,128,
|
||||
8,80,159,36,44,37,20,15,16,2,249,22,158,8,8,128,8,11,80,159,36,
|
||||
45,37,20,15,16,2,88,163,8,36,37,50,8,128,8,2,13,223,0,33,54,
|
||||
80,159,36,46,37,20,15,16,2,88,163,8,36,38,55,8,128,8,2,14,223,
|
||||
0,33,55,80,159,36,47,37,20,15,16,2,247,22,69,80,159,36,48,37,20,
|
||||
15,16,2,248,22,18,74,109,111,100,117,108,101,45,108,111,97,100,105,110,103,
|
||||
80,159,36,49,37,20,15,16,2,11,80,158,36,50,20,15,16,2,11,80,158,
|
||||
36,51,20,15,16,2,32,0,88,163,36,38,8,25,11,2,19,222,33,61,80,
|
||||
159,36,52,37,20,15,16,2,11,80,158,36,53,20,15,16,2,27,11,20,19,
|
||||
158,36,90,159,37,10,89,161,37,36,10,20,25,96,2,21,88,163,8,36,37,
|
||||
51,8,128,2,9,224,2,1,33,62,88,163,36,39,49,11,9,223,0,33,63,
|
||||
88,163,36,40,8,33,16,2,8,176,242,8,187,241,9,225,2,1,0,33,76,
|
||||
207,80,159,36,54,37,20,15,16,2,88,163,36,36,45,8,240,66,0,14,2,
|
||||
2,23,223,0,33,77,80,159,36,59,37,20,15,16,2,20,27,158,88,163,8,
|
||||
36,36,45,8,240,0,0,10,2,2,24,223,0,33,78,88,163,8,36,36,45,
|
||||
8,240,0,0,10,2,2,24,223,0,33,79,80,159,36,8,24,37,96,29,94,
|
||||
2,4,68,35,37,107,101,114,110,101,108,11,29,94,2,4,69,35,37,109,105,
|
||||
110,45,115,116,120,11,2,5,2,22,9,9,9,36,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 7385);
|
||||
}
|
||||
{
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,49,84,0,0,0,0,0,0,0,0,
|
||||
SHARED_OK static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,9,53,46,50,46,57,48,48,46,50,84,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,1,0,0,10,0,
|
||||
16,0,29,0,44,0,58,0,78,0,90,0,104,0,118,0,170,0,0,0,97,
|
||||
1,0,0,69,35,37,98,117,105,108,116,105,110,65,113,117,111,116,101,29,94,
|
||||
|
@ -986,7 +990,7 @@
|
|||
2,2,74,35,37,112,108,97,99,101,45,115,116,114,117,99,116,11,29,94,2,
|
||||
2,66,35,37,98,111,111,116,11,29,94,2,2,68,35,37,101,120,112,111,98,
|
||||
115,11,29,94,2,2,68,35,37,107,101,114,110,101,108,11,97,36,11,8,240,
|
||||
151,79,0,0,100,159,2,3,36,36,159,2,4,36,36,159,2,5,36,36,159,
|
||||
235,83,0,0,100,159,2,3,36,36,159,2,4,36,36,159,2,5,36,36,159,
|
||||
2,6,36,36,159,2,7,36,36,159,2,8,36,36,159,2,9,36,36,159,2,
|
||||
9,36,36,16,0,159,36,20,113,159,36,16,1,11,16,0,20,26,144,9,2,
|
||||
1,2,1,29,11,11,9,9,11,11,11,18,96,11,46,46,46,36,80,158,36,
|
||||
|
|
|
@ -2305,30 +2305,32 @@ int scheme_is_module_path(Scheme_Object *obj)
|
|||
if (SCHEME_PAIRP(obj)
|
||||
&& (SAME_OBJ(SCHEME_CAR(obj), submod_symbol))) {
|
||||
Scheme_Object *p, *a;
|
||||
int len = 0;
|
||||
p = SCHEME_CDR(obj);
|
||||
if (SCHEME_PAIRP(p)) {
|
||||
p = SCHEME_CDR(p);
|
||||
if (SCHEME_PAIRP(p)) {
|
||||
while (SCHEME_PAIRP(p)) {
|
||||
a = SCHEME_CAR(p);
|
||||
if (!SCHEME_SYMBOLP(a)
|
||||
&& (!SCHEME_CHAR_STRINGP(a)
|
||||
|| (SCHEME_CHAR_STRLEN_VAL(a) != 2)
|
||||
|| (SCHEME_CHAR_STR_VAL(a)[0] != '.')
|
||||
|| (SCHEME_CHAR_STR_VAL(a)[1] != '.')))
|
||||
break;
|
||||
p = SCHEME_CDR(p);
|
||||
}
|
||||
} else
|
||||
p = scheme_false;
|
||||
while (SCHEME_PAIRP(p)) {
|
||||
len++;
|
||||
a = SCHEME_CAR(p);
|
||||
if (!SCHEME_SYMBOLP(a)
|
||||
&& (!SCHEME_CHAR_STRINGP(a)
|
||||
|| (SCHEME_CHAR_STRLEN_VAL(a) != 2)
|
||||
|| (SCHEME_CHAR_STR_VAL(a)[0] != '.')
|
||||
|| (SCHEME_CHAR_STR_VAL(a)[1] != '.')))
|
||||
break;
|
||||
p = SCHEME_CDR(p);
|
||||
}
|
||||
} else
|
||||
p = scheme_false;
|
||||
if (SCHEME_NULLP(p)) {
|
||||
obj = SCHEME_CDR(obj);
|
||||
obj = SCHEME_CAR(obj);
|
||||
if (SCHEME_CHAR_STRINGP(obj)
|
||||
&& (SCHEME_CHAR_STRLEN_VAL(obj) == 1)
|
||||
&& (SCHEME_CHAR_STR_VAL(obj)[0] == '.'))
|
||||
&& (((SCHEME_CHAR_STRLEN_VAL(obj) == 1)
|
||||
&& (SCHEME_CHAR_STR_VAL(obj)[0] == '.'))
|
||||
|| ((SCHEME_CHAR_STRLEN_VAL(obj) == 2)
|
||||
&& (SCHEME_CHAR_STR_VAL(obj)[0] == '.')
|
||||
&& (SCHEME_CHAR_STR_VAL(obj)[1] == '.'))))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -6512,9 +6514,8 @@ static Scheme_Object *do_module(Scheme_Object *form, Scheme_Comp_Env *env,
|
|||
Scheme_Object *rn;
|
||||
|
||||
iidx = scheme_make_modidx(scheme_make_pair(submod_symbol,
|
||||
scheme_make_pair(scheme_make_utf8_string("."),
|
||||
scheme_make_pair(scheme_make_utf8_string(".."),
|
||||
scheme_null))),
|
||||
scheme_make_pair(scheme_make_utf8_string(".."),
|
||||
scheme_null)),
|
||||
self_modidx,
|
||||
scheme_false);
|
||||
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
consistently.)
|
||||
*/
|
||||
|
||||
#define MZSCHEME_VERSION "5.2.900.1"
|
||||
#define MZSCHEME_VERSION "5.2.900.2"
|
||||
|
||||
#define MZSCHEME_VERSION_X 5
|
||||
#define MZSCHEME_VERSION_Y 2
|
||||
#define MZSCHEME_VERSION_Z 900
|
||||
#define MZSCHEME_VERSION_W 1
|
||||
#define MZSCHEME_VERSION_W 2
|
||||
|
||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||
|
|
|
@ -839,7 +839,9 @@
|
|||
"(list* 'submod"
|
||||
" (if (equal? base \".\") "
|
||||
" base "
|
||||
"(list(if(symbol? base) 'quote 'file) base))"
|
||||
"(if(path? base)"
|
||||
" base"
|
||||
"(list(if(symbol? base) 'quote 'file) base)))"
|
||||
" orig-l))"
|
||||
"(loop(cdr a)(cdr l))))"
|
||||
"(else(loop(cons(car l) a)(cdr l))))))"
|
||||
|
@ -850,16 +852,20 @@
|
|||
"(pair?(cadr s))(eq?(caadr s) 'quote))"
|
||||
"(make-resolved-module-path(flatten-sub-path(cadadr s)(cddr s))))"
|
||||
"((and(pair? s)(eq?(car s) 'submod)"
|
||||
" (equal? (cadr s) \".\")"
|
||||
" (or (equal? (cadr s) \".\")"
|
||||
" (equal? (cadr s) \"..\"))"
|
||||
"(and relto"
|
||||
"(let((p(resolved-module-path-name relto)))"
|
||||
"(or(symbol? p)"
|
||||
"(and(pair? p)(symbol?(car p)))))))"
|
||||
"(define rp(resolved-module-path-name relto))"
|
||||
"(make-resolved-module-path(flatten-sub-path(if(pair? rp)(car rp) rp)"
|
||||
" (let ((r (if (equal? (cadr s) \"..\")"
|
||||
"(cdr s)"
|
||||
"(cddr s))))"
|
||||
"(if(pair? rp)"
|
||||
"(append(cdr rp)(cddr s))"
|
||||
"(cddr s)))))"
|
||||
"(append(cdr rp) r)"
|
||||
" r)))))"
|
||||
"((and(pair? s)(eq?(car s) 'planet))"
|
||||
"(unless planet-resolver"
|
||||
"(with-continuation-mark"
|
||||
|
@ -910,7 +916,8 @@
|
|||
" p))))"
|
||||
"(s(if(and(pair? s)(eq? 'submod(car s)))"
|
||||
"(let((v(cadr s)))"
|
||||
" (if (equal? v \".\")"
|
||||
" (if (or (equal? v \".\")"
|
||||
" (equal? v \"..\"))"
|
||||
"(if relto"
|
||||
"(let((p(resolved-module-path-name relto)))"
|
||||
"(if(pair? p)"
|
||||
|
@ -922,13 +929,20 @@
|
|||
" v))"
|
||||
" s))"
|
||||
"(subm-path(if(and(pair? s)(eq? 'submod(car s)))"
|
||||
" (let ((p (if (and (equal? (cadr s) \".\")"
|
||||
" (let ((p (if (and (or (equal? (cadr s) \".\")"
|
||||
" (equal? (cadr s) \"..\"))"
|
||||
" relto)"
|
||||
"(let((p(resolved-module-path-name relto)))"
|
||||
"(let((p(resolved-module-path-name relto))"
|
||||
" (r (if (equal? (cadr s) \"..\")"
|
||||
"(cdr s)"
|
||||
"(cddr s))))"
|
||||
"(if(pair? p)"
|
||||
"(flatten-sub-path(car p)(append(cdr p)(cddr s)))"
|
||||
"(flatten-sub-path p(cddr s))))"
|
||||
" (flatten-sub-path \".\" (cddr s)))))"
|
||||
"(flatten-sub-path(car p)(append(cdr p) r))"
|
||||
"(flatten-sub-path p r)))"
|
||||
" (flatten-sub-path \".\" "
|
||||
" (if (equal? (cadr s) \"..\")"
|
||||
"(cdr s)"
|
||||
"(cddr s))))))"
|
||||
"(if(pair? p)"
|
||||
"(cdr p)"
|
||||
" #f))"
|
||||
|
|
|
@ -967,7 +967,9 @@
|
|||
(list* 'submod
|
||||
(if (equal? base ".")
|
||||
base
|
||||
(list (if (symbol? base) 'quote 'file) base))
|
||||
(if (path? base)
|
||||
base
|
||||
(list (if (symbol? base) 'quote 'file) base)))
|
||||
orig-l))
|
||||
(loop (cdr a) (cdr l)))]
|
||||
[else (loop (cons (car l) a) (cdr l))])))
|
||||
|
@ -978,16 +980,20 @@
|
|||
(pair? (cadr s)) (eq? (caadr s) 'quote))
|
||||
(make-resolved-module-path (flatten-sub-path (cadadr s) (cddr s)))]
|
||||
[(and (pair? s) (eq? (car s) 'submod)
|
||||
(equal? (cadr s) ".")
|
||||
(or (equal? (cadr s) ".")
|
||||
(equal? (cadr s) ".."))
|
||||
(and relto
|
||||
(let ([p (resolved-module-path-name relto)])
|
||||
(or (symbol? p)
|
||||
(and (pair? p) (symbol? (car p)))))))
|
||||
(define rp (resolved-module-path-name relto))
|
||||
(make-resolved-module-path (flatten-sub-path (if (pair? rp) (car rp) rp)
|
||||
(if (pair? rp)
|
||||
(append (cdr rp) (cddr s))
|
||||
(cddr s))))]
|
||||
(let ([r (if (equal? (cadr s) "..")
|
||||
(cdr s)
|
||||
(cddr s))])
|
||||
(if (pair? rp)
|
||||
(append (cdr rp) r)
|
||||
r))))]
|
||||
[(and (pair? s) (eq? (car s) 'planet))
|
||||
(unless planet-resolver
|
||||
(with-continuation-mark
|
||||
|
@ -1038,7 +1044,8 @@
|
|||
p)))]
|
||||
[s (if (and (pair? s) (eq? 'submod (car s)))
|
||||
(let ([v (cadr s)])
|
||||
(if (equal? v ".")
|
||||
(if (or (equal? v ".")
|
||||
(equal? v ".."))
|
||||
(if relto
|
||||
;; must have a path inside, or we wouldn't get here
|
||||
(let ([p (resolved-module-path-name relto)])
|
||||
|
@ -1051,13 +1058,20 @@
|
|||
v))
|
||||
s)]
|
||||
[subm-path (if (and (pair? s) (eq? 'submod (car s)))
|
||||
(let ([p (if (and (equal? (cadr s) ".")
|
||||
(let ([p (if (and (or (equal? (cadr s) ".")
|
||||
(equal? (cadr s) ".."))
|
||||
relto)
|
||||
(let ([p (resolved-module-path-name relto)])
|
||||
(let ([p (resolved-module-path-name relto)]
|
||||
[r (if (equal? (cadr s) "..")
|
||||
(cdr s)
|
||||
(cddr s))])
|
||||
(if (pair? p)
|
||||
(flatten-sub-path (car p) (append (cdr p) (cddr s)))
|
||||
(flatten-sub-path p (cddr s))))
|
||||
(flatten-sub-path "." (cddr s)))])
|
||||
(flatten-sub-path (car p) (append (cdr p) r))
|
||||
(flatten-sub-path p r)))
|
||||
(flatten-sub-path "."
|
||||
(if (equal? (cadr s) "..")
|
||||
(cdr s)
|
||||
(cddr s))))])
|
||||
;; flattening may erase the submodule path:
|
||||
(if (pair? p)
|
||||
(cdr p)
|
||||
|
|
Loading…
Reference in New Issue
Block a user