9 Feb 22:17
Code in lisp reader and ,.
Michael Welsh Duggan <md5i <at> md5i.com>
2012-02-09 21:17:26 GMT
2012-02-09 21:17:26 GMT
So, in common lisp, ,. is special in quasiquoted forms. It is supposed to work the same as ,@, except that ,. is a hint to the compiler that the argument to ,. may be destructively modified. Hence given: (setq foo '(a b) bar '(c d)) (setq baz `(x ,@foo y ,.bar z)) baz will be (x a b y c d z), foo will be (a b), and bar could be anything under the sun, but is probably either (c d) or (c d z), where (eq bar (cddddr baz)) ==> t. Now, emacs lisp's backquote macro does not handle the ,. form. However, the lisp reader does treat ,. specially: `,.foo ==> (\,\. foo). I suggest that either emacs lisp's backquote macro be modified to handle ,. (most simply by treating it as an alias of ,@), or the special handling for it (lread.c:2838) should be removed. -- -- Michael Welsh Duggan (md5i <at> md5i.com)

RSS Feed