[racket-dev] paren-shape question
At Sun, 25 Mar 2012 19:58:29 -0500, Robby Findler wrote:
> On Sun, Mar 25, 2012 at 7:18 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
> > I'm still somewhat confused, because of the following: Compare:
> >
> > (syntax/loc #'foo [app op ...])
> >
> > vs:
> >
> > (syntax [app op ...])
> >
> > The first does not have paren-shape defined, while the second does.
> > Is this intentional?
>
> I'm not sure if it is intentional, but it looks like syntax/loc's
> implementation is not copying properties over
> (racket/private/stxloc.rkt) when it creates the new syntax object with
> the adjusted location. I guess it probably should (and it would not be
> a difficult change), but probably best to get some consensus that this
> is a good change first.
That sounds right to me.
It's puzzling that `syntax/loc' explicitly uses `#f' for the property
argument when calling `datum->syntax', instead of relying on the
default #f; that suggests that I gave the argument some thought. But I
think the explicit `#f' reflects a decision that the first form in
`syntax/loc' shouldn't be used for properties (which would interfere
with `syntax-original?', for example). Using the second form seems
right, and it would produce the result that Danny wants.
I'll try that change and push if it seems to work.