[racket] scribble and require

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Dec 29 23:16:23 EST 2010

Since you have

 @defmodule[picturing-programs]

then you're documenting the forms as exported by `picturing-programs'.
But you also have

   (for-label racket
              picturing-programs/main
              picturing-programs/io-stuff
   	      picturing-programs/tiles)

which brings some identifiers into scope with the origin
`picturing-programs/io-stuff' and `picturing-programs/tiles'.

I think you want to just remove the `picturing-programs/tiles' and
`picturing-programs/io-stuff' for-label imports, since they're covered
by `picturing-programs/main', and `picturing-programs/main' connects
with the documented source module.


At Wed, 29 Dec 2010 22:15:32 -0500, Stephen Bloch wrote:
> Having some Scribble difficulties.  I've got a collection with several source 
> files.  Everything defined in the "main" source file shows up correctly in the 
> help page, but things defined in the other source files (which are all 
> require'd by the main one) show up underlined in red, not as functioning 
> hot-links, and "raco setup" complains about them:
> raco setup: WARNING: undefined tag in picturing-programs/doc.scrbl:
> raco setup:  ((lib "picturing-programs/tiles.rkt") rotate-cw)
> raco setup:  ((lib "picturing-programs/tiles.rkt") rotate-ccw)
> ...
> 
> 
> 
> main.rkt looks like 
> #lang racket/base
> (require 2htdp/universe
> 	2htdp/image
>          htdp/error
>          picturing-programs/tiles
> 	 picturing-programs/io-stuff
>          etc. etc. etc.)
> (provide (all-from-out picturing-programs/tiles)   ; includes all-from-out 
> 2htdp/image, plus a few simple add-ons
>          (all-from-out picturing-programs/io-stuff) ; includes 
> with-{input-from,output-to}-{string,file}, with-io-strings
>          (all-from-out 2htdp/universe)
>          (all-from-out 2htdp/image)
> 	 etc. etc.)
> ...
> 
> 
> 
> doc.scrbl looks like
> #lang scribble/doc
> @(require 
>   scribble/manual
>   (for-label racket
>              picturing-programs/main
>              picturing-programs/io-stuff
> 	     picturing-programs/tiles
>              2htdp/image
>              2htdp/universe
>              etc. etc.
>              ))
> @; teachpack["picturing-programs"]{Picturing Programs}
> @title{Picturing Programs Teachpack}
> @author{Stephen Bloch}
> @defmodule[picturing-programs]
> @section{Examples to figure out Scribble issues}
> This is a reference to the @racket[list] function (good link; defined in 
> racket).
> Now a reference to @racket[triangle] (good link; defined in 2htdp/image),
> and @racket[show-it] (good link, defined in main.rkt),
> and @racket[crop-top] (underlined in red, not a link, defined in tiles.rkt), 
> and @racket[map-image] (underlined in red, not a link, defined in 
> map-image.rkt),
> and @racket[with-input-from-url] (underlined in red, not a link, defined in 
> io-stuff.rkt).
> ...
> 
> 
> I must be missing something very basic.
> 
> 
> Stephen Bloch
> sbloch at adelphi.edu
> 
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/users


Posted on the users mailing list.