summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c2
-rw-r--r--txr.111
2 files changed, 11 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index b6cfbb87..fc00a630 100644
--- a/eval.c
+++ b/eval.c
@@ -3665,7 +3665,7 @@ static val me_opip(val form, val menv)
uses_or2;
val sym = car(clause);
- if (sym == dwim_s) {
+ if (sym == dwim_s || sym == uref_s || sym == qref_s) {
list_collect(ptail, clause);
} else {
val opdo = if3(or2(macro_form_p(clause, menv),
diff --git a/txr.1 b/txr.1
index 877ea80e..58c62977 100644
--- a/txr.1
+++ b/txr.1
@@ -38542,6 +38542,10 @@ notation denotes the following transformation applied to each argument:
(macro ...) -> (do macro ...)
(dwim ...) -> (dwim ...)
[...] -> [...]
+ (qref ...) -> (qref ...)
+ (uref ...) -> (uref ...)
+ .slot -> .slot
+ .(method ...) -> .(method ...)
atom -> atom
.cble
@@ -38553,7 +38557,12 @@ notation. Compound forms denoting function calls are translated to the
notation. Compound forms which are
.code dwim
invocations, either explicit or via the DWIM brackets notation, are
-preserved, as are any forms which are atoms.
+used without transformation. Used without transformation also are forms
+denoting struct slot access, either explicitly using
+.code uref
+or
+.code qref
+or the respective dot notations, as well as any atom forms.
Note: the
.code opip