summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
Diffstat (limited to 'txr.1')
-rw-r--r--txr.114
1 files changed, 14 insertions, 0 deletions
diff --git a/txr.1 b/txr.1
index b030b9b7..62ffe92c 100644
--- a/txr.1
+++ b/txr.1
@@ -10079,6 +10079,20 @@ Examples:
(call (op list 1 . @1) 2) ;; yields 2
.cble
+A special consideration is given to symbol macros which occur in the
+dot position. If a symbol macro occurs in this position, then it must not
+expand to a compound form, otherwise a macro-expansion-time error results.
+If it expands to an atom, then it is substituted by that atom, and
+the semantics of the function call proceeds as described above.
+
+.cblk
+ (symacrolet ((x (list 1 2)))
+ (list 1 . x)) ;; error: x expands to form (list 1 2)
+
+ (symacrolet ((x 2))
+ (list 1 . x)) ;; yields (1 . 2)
+.cble
+
Dialect Note:
In some other Lisp dialects like ANSI Common Lisp, the improper list syntax may