Hello all, Here's another patch set to improve support for source properties. In brief: * 'read' now sets source properties on non-immediate numbers: bignums, floats, fractions, complex. * add the 'supports-source-properties?' predicate (as well as scm_supports_source_properties_p), which cannot be implemented efficiently in Scheme. * relax validation checking of source property getters so that they may be applied to _any_ object. Previously, attempts to get source properties of immediate objects would throw an error. * psyntax now accesses and sets source properties for all supported objects. Previously it assumed that only pairs could support source properties. * add tests to verify that 'read' sets source properties appropriately. For ease of reading, the first patch shows only non-whitespace changes, since the bodies of three functions changed indentation level. I very nearly pushed this, but wanted to make sure there were no objections to adding 'supports-source-properties?', or to relaxing the validation of source property getters. What do you think? Okay to push? Thanks, Mark