
@alexclear has joined the channel

I’m having trouble with @defthing[#:id ...]
. When my id-expr does not produce a syntax object, I get this: datum->syntax: contract violation
expected: (or/c syntax? #f)
But when I try a syntax object instead, it has no visible effect. I found no clear examples in the docs or racket source. Help?

Maybe I’m solving the wrong problem. I want to deftogether
a few defthings
that share a ~"variable"~ var
name prefix: name-thing1 and name-thing2

@dedbox that might be a bug in scribble — that @defthing[#:id #'A B ....]
will use A
internally but render B

The docs seem to suggest A
and B
should be the other way around.

other way around?

I don’t understand

>If #:id id-expr is supplied, then the result of id-expr is used in place of id.

I understand that to mean, if A
is supplied, then A
is used in place of B
.

Where I guess “is used” refers to “appears in the output”

okay, we basically agree (I looked at the implementation of defthing
, and it uses the id
in 2 places — but yeah if #:id
is there, it sounds like it should be used in both those places)

Somehow, it’s being ignored for me. I’ll work out a minimal example.

wait 1 sec


and the #:id
identifier doesn’t render, but that identifier seems to be getting used for links because when I run scribble --html foo.scrbl
for the sample program, I get this warning: WARNING: no declared exporting libraries for definition
in: foo

Cool, thanks! I see the same output here.