[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Splicing macros following a dot



CC: (BUG LISP) at MIT-MC, (BUG LISPM) at MIT-MC

In your examples, you point out that a splicing macro which immediatly
follows a dot, *** and returns some non-null list ***, causes an unexpected
result;  but you missed the point of returning a null-list, namely that
the stuff "just disappear".  For example, what should
   (A B . ;Well this is a comment
     )
return?  I claim it should be the same as
   (A B . )
which under the new rules is a hunk.  If there is some merit to what you 
suggest it seems to be here:
1) let splicing macros at top-level, which return a list of length 1, 
   exit from read with the single item from that list (instead of being
   ignored, and causing a rescan into READ again, as now happens)
2) let splicing macros immediately following a dot, which return a list
   of length 1, appear as of the item in that list were the thing typed;
   thus  (A B . ~(C))  would read the same as (A B . C)
This is probably pretty trivial to do.