summaryrefslogtreecommitdiff
path: root/doc/ref/api-macros.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ref/api-macros.texi')
-rw-r--r--doc/ref/api-macros.texi20
1 files changed, 13 insertions, 7 deletions
diff --git a/doc/ref/api-macros.texi b/doc/ref/api-macros.texi
index 90cba24d2..23f9a13ef 100644
--- a/doc/ref/api-macros.texi
+++ b/doc/ref/api-macros.texi
@@ -644,13 +644,19 @@ context corresponding to the identifier @var{template-id}. If
@var{template-id} is false, the datum will have no lexical context
information.
-Syntax objects have an associated source location. @xref{Source
-Properties}. If a syntax object is passed as @var{source}, the
-resulting syntax object will have the source properties of @var{source}.
-Otherwise if @var{source} is a source properties alist, those will be
-the source properties of the resulting syntax object. Otherwise if
-@var{source} is false, the source properties are computed as
-@code{(source-properties @var{datum})}.
+Syntax objects have an associated source location. Internally this is
+represented as a 3-element vector of filename, line, and column.
+Usually this location ultimately is provided by @code{read-syntax};
+@xref{Annotated Scheme Read}.
+
+If a syntax object is passed as @var{source}, the resulting syntax
+object will have the source location of @var{source}. Otherwise if
+@var{source} is a 3-element source location vector, that vector will be
+the source location of the resulting syntax object. If @var{source} is
+a source properties alist, those will be parsed and set as the source
+location of the resulting syntax object. Otherwise if @var{source} is
+false, the source properties are looked up from @code{(source-properties
+@var{datum})}. @xref{Source Properties}.
@end deffn
For completeness, we should mention that it is possible to strip the metadata