pymacsを使ってdefmacroをpythonで使えたらいいのになあ?

pymacsはemacs lisppythonの双方向インターフェイスだ。詳しい使い方は以下。

  1. http://amt.ty.land.to/OpenNote/Pymacs.html 日本語解説
  2. http://pymacs.progiciels-bpi.ca/pymacs.html 英語

lispからpythonを呼ぶ場合はこんな風に使う

(pymacs-exec "import re")
(setq matcher (pymacs-eval "re.compile('PATTERN').match"))
(pymacs-call matcher ARGUMENT)

(このコードの詳しい解説はここ http://pymacs.progiciels-bpi.ca/pymacs.html#python-handles)
文字列としてpythonのコードを評価するだけなようだ。この形式の場合は
http://www.shido.info/lisp/macro2.html
で紹介されているような

(pymacs-exec "<python code> <EXPANDED MACRO>(<python code>)"))

のような使い方をすることはできるのだろうか? こんなことならできそうな気もするが今ひとつ納得がいかない。

(setq expoerted-python-func (pymacs-eval "PYTHON CODE"))
(defmacro macro-foo  (var)  (...  exported-python-func ...)   )
  ;varをどうやってexported-python-funcに渡す?

( ... (macro-foo ...)...)