[plt-scheme] Scribble path conversion?

From: Dave Gurnell (d.j.gurnell at gmail.com)
Date: Thu Jun 12 06:50:41 EDT 2008

Hi all,

Another problem with Scribble and paths.

I recently upgraded my SVN from 3.99.0.23 to 3.99.0.26 and the  
Scribble docs for Unlib won't compile. I've placed the critical part  
of the output from setup-plt at the end of this email.

It looks like the problem is coming from the following PLaneT path:

     (planet "doc/../exn.ss" ("untyped" "unlib.plt" 3 (= 6)))

I think the ".." part is causing problems. From what I can tell, this  
path is being generated from the require form:

     (require (file "../exn.ss"))

in the file:

     unlib.plt/3/6/doc/base.ss

which contains utility procedures for the Scribble docs.

Does this seem like a likely cause, and is it a bug or is there a  
workaround?

Many thanks,

-- Dave

===== OUTPUT FROM setup-plt =====
Trillian:~/untyped/unlib/trunk/src$ setup-plt -P untyped unlib.plt 3 6
setup-plt: version: 3.99.0.26 [3m]
setup-plt: variants:  3m
setup-plt: main collects: /usr/local/plt/collects
setup-plt: collects paths:
setup-plt:   /Users/dave/Library/PLT Scheme/3.99.0.26/collects
setup-plt:   /usr/local/plt/collects
setup-plt: making: /Users/dave/planet/untyped/unlib.plt/3/6 (unlib)
setup-plt: making: /Users/dave/planet/untyped/unlib.plt/3/6/check
setup-plt: making: /Users/dave/planet/untyped/unlib.plt/3/6/server
setup-plt: updating: /Users/dave/Library/PLT Scheme/planet/ 
300/3.99.0.26/cache.ss
setup-plt: --- building documentation ---
setup-plt: skipping: /Users/dave/planet/untyped/delirium.plt/2/0/doc/ 
delirium.scrbl
setup-plt: skipping: /Users/dave/planet/untyped/snooze.plt/3/0/doc/ 
snooze.scrbl
setup-plt: using: /Users/dave/planet/untyped/mirrors.plt/1/2/doc/ 
mirrors.scrbl
setup-plt: skipping: /Users/dave/planet/untyped/dispatch.plt/1/2/doc/ 
dispatch.scrbl
setup-plt: skipping: /Users/dave/planet/untyped/instaservlet.plt/1/3/ 
doc/instaservlet.scrbl
setup-plt: running: /Users/dave/planet/untyped/unlib.plt/3/6/doc/ 
unlib.scrbl
"modcollapse.ss" broke the contract
   (->
    (or/c symbol? module-path-index?)
    (or/c
     (->
      (or/c
       (and/c
        module-path?
        (or/c
         symbol?
         (cons/c (symbols 'lib) any/c)
         (cons/c (symbols 'file) any/c)
         (cons/c (symbols 'planet) any/c)
         (cons/c (symbols 'quote) any/c)))
       path?))
     (or/c
      (and/c
       module-path?
       (or/c
        symbol?
        (cons/c (symbols 'lib) any/c)
        (cons/c (symbols 'file) any/c)
        (cons/c (symbols 'planet) any/c)
        (cons/c (symbols 'quote) any/c)))
      path?)
     path?)
    (or/c
     (and/c
      module-path?
      (or/c
       symbol?
       (cons/c (symbols 'lib) any/c)
       (cons/c (symbols 'file) any/c)
       (cons/c (symbols 'planet) any/c)
       (cons/c (symbols 'quote) any/c)))
     path?))
on collapse-module-path-index; expected <(or/c (and/c module-path? (or/ 
c symbol? (cons/c (symbols (quote lib)) any/c) (cons/c (symbols (quote  
file)) any/c) (cons/c (symbols (quote planet)) any/c) (cons/c (symbols  
(quote quote)) any/c))) path?)>, given: (planet "doc/../ 
exn.ss" ("untyped" "unlib.plt" 3 (= 6)))
==========


Posted on the users mailing list.