It sounds like you want to be able to write something like
- Code: Select all
(<-> 45 my-list)
where "<->" is some funky character, instead of
- Code: Select all
(push 45 my-list)
Is that correct? If so, you can just define another macro or transfer the macro function.
- Code: Select all
;; Wrapper macro which may provide nicer contextual help in something like SLIME
(defmacro <-> (value place) `(push ,value ,place))
;; Transfer the macro function, analogous to your previous work with symbol-function
(setf (macro-function '<->) (macro-function 'push))
In the latter case, you should make sure there is no symbol-function defined for the symbol. You can't have a symbol name both a symbol and a function.