commit 95575d09b0d7366a6d7ae42d5c9df4d3cc437e64
parent c89374a4416e4e227d6729d6f4d96f19b6676835
Author: Robby Findler <robby@racket-lang.org>
Date: Thu, 3 May 2012 11:34:37 -0500
fix proc-doc/names documentation
closes PR 12739
original commit: f2816e72b4a106399ea075988d337c6ab0f38076
Diffstat:
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/collects/scribblings/scribble/srcdoc.scrbl b/collects/scribblings/scribble/srcdoc.scrbl
@@ -68,9 +68,10 @@ to get core Racket forms and basic Scribble functions to use in
documentation expressions.}
@defform*/subs[#:literals (-> ->* case->)
- [(proc-doc/names id contract ((arg-id ...) ((arg-id default-expr) ...))
- desc-expr)]
- ([contract (-> arg ... result)
+ [(proc-doc/names id contract arg-specs desc-expr)]
+ ([arg-specs ((arg-id ...) ((arg-id default-expr) ...))
+ (arg-id ...)]
+ [contract (-> arg ... result)
(->* (mandatory ...) (optional ...) result)
(case-> (-> arg ... result) ...)]
[mandatory contract-expr
@@ -82,11 +83,14 @@ When used in @racket[provide/doc], exports @racket[id] with the
contract described by @racket[contract]
just like using @racket[provide/contract].
-The @racket[arg-id]s specify the names of arguments, which are not
+The @racket[arg-spec] specifies the names of arguments and the
+default values, which are not
normally written as part of a contract. They are combined with the
contract expression to generate the description of the binding in the
documentation via @racket[defproc]. The @racket[(arg-id default-expr)]
pairs specify the names and default values of the optional arguments.
+If the contract supports optional arguments, then the first
+@racket[arg-spec]s form must be used, otherwise the second must be used.
The @racket[desc-expr] is a documentation-time expression that
produces prose to describe the exported binding---that is, the last