`datum->syntax' does not copy syntax properties from the 4th parameter to the 
new syntax object if the 2nd parameter is already a syntax object. What is the 
reasoning for this? Lexical context and source location are taken from the 1st 
and 3rd arguments so it seems inconsistent for syntax properties not to act the 
same way. I don't really have an opinion as to whether the new syntax object 
should combine syntax properties from the 2nd and 4th argument or if only the 
properties from the 4th should be used.

Perhaps the API for `datum->syntax' could change slightly so that a list of 
syntax objects can be used to provide syntax properties.

(datum->syntax lexical original source (list a b c)) ;; would create a new 
syntax object with syntax properties from 'a', 'b', and 'c'.

This way the original syntax object can be put into the list to retain its 
properties.

(datum->syntax lexical original source (list original a b c))
____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to