[racket] scribble defproc formatting question

From: Neil Van Dyke (neil at neilvandyke.org)
Date: Tue May 1 01:51:24 EDT 2012

Can someone who knows Scribble internals point me in the right direction 
on this?

I have a generated "defproc" syntax object that gets formatted badly by 
Scribble, as shown in screenshot: http://i.imgur.com/FmdQr.png

The "defproc" syntax object is generated in this case by piecing 
together information from three syntax objects read from a source file:

(doc procedure soundex-ordinal
      "Yields the Soundex ordinal value of character "
      (racket chr)
      [...])

(provide/contract (soundex-ordinal (-> char? (or/c soundex-ordinal? #f))))

(define (soundex-ordinal chr)
    [...])

Note that the other "defproc" in the screenshot is formatted fine.  That 
"defproc" result of that one is an identifier, rather than a 
parenthesized form.

The "syntax->datum" looks fine, and formats correctly if pasted into a 
file and processed from there:

@(defproc (soundex-ordinal (chr char?))
    (or/c soundex-ordinal? #f)
    "Yields the Soundex ordinal value of character "
    (racket chr)
    [...])

I'm wondering whether the problem is the combinations of syntax location 
info in the generated "defproc" syntax object.  I try to preserve the 
location info of the individual pieces, and often use 
"quasisyntax/loc".  Also, the "(or/c soundex-ordinal? #f)" syntax object 
should be intact just as read originally, including its parentheses.

Neil V.

-- 
http://www.neilvandyke.org/

Posted on the users mailing list.