fix serialization problems
svn: r15241
This commit is contained in:
parent
a33dcc0073
commit
8e5993f99f
|
@ -71,6 +71,18 @@
|
|||
(void))))
|
||||
(define varref (#%variable-reference varref))
|
||||
|
||||
(define (collapse/resolve-module-path-index mpi rel-to)
|
||||
(let ([v (collapse-module-path-index mpi rel-to)])
|
||||
(if (path? v)
|
||||
;; If collapsing gives a path, then we can't do any better than
|
||||
;; resolving --- and we must resolved, because the mpi may record
|
||||
;; a more accurate path inside.
|
||||
(let ([v2 (resolved-module-path-name (module-path-index-resolve mpi))])
|
||||
(if (symbol? v2)
|
||||
`(quote ,v2)
|
||||
v2))
|
||||
v)))
|
||||
|
||||
(define (mod-to-id info mod-map cache)
|
||||
(let ([deserialize-id (serialize-info-deserialize-id info)])
|
||||
(hash-ref
|
||||
|
@ -86,7 +98,7 @@
|
|||
(if (symbol? (caddr b))
|
||||
(caddr b)
|
||||
(protect-path
|
||||
(collapse-module-path-index
|
||||
(collapse/resolve-module-path-index
|
||||
(caddr b)
|
||||
(build-path (serialize-info-dir info)
|
||||
"here.ss")))))
|
||||
|
@ -98,7 +110,7 @@
|
|||
(if (symbol? (cdr deserialize-id))
|
||||
(cdr deserialize-id)
|
||||
(protect-path
|
||||
(collapse-module-path-index
|
||||
(collapse/resolve-module-path-index
|
||||
(cdr deserialize-id)
|
||||
(build-path (serialize-info-dir info)
|
||||
"here.ss"))))
|
||||
|
|
|
@ -138,8 +138,11 @@ Use syntax/modcollapse instead.
|
|||
(cdddr relto-mp))
|
||||
(list (cadr relto-mp))))))])
|
||||
(normalize-planet `(planet ,pathstr ,(caddr relto-mp)))))]
|
||||
[(eq? (car relto-mp) 'quote)
|
||||
(set! relto-mp (build-path (current-directory) "x"))
|
||||
(combine-relative-elements elements)]
|
||||
[else (error 'combine-relative-elements
|
||||
"don't know how to deal with: ~s" relto-mp)]))
|
||||
"don't know how to deal with: ~s for ~s" relto-mp elements)]))
|
||||
|
||||
(define (normalize-lib s)
|
||||
(if (null? (cddr s))
|
||||
|
|
Loading…
Reference in New Issue
Block a user