xmp meets elisp
早速 scratch バッファで試してみた。
(require 'lispxmp) lispxmp (+ 3 4) ; => Error in eval: (void-variable lispxmp)
2 行目 (require の結果) まで評価しようとしてる _| ̄|○
eval-last-sexp とか eval-region の xmp 版があればいいのかも知れない。
でも、それを作れるほど elisp に詳しくないので、ruby-scratch の要領で逃げてみた。
(add-hook 'emacs-lisp-mode-hook (lambda () (define-key emacs-lisp-mode-map "\C-c\C-d" 'lispxmp))) (defadvice comment-dwim (around rct-hack activate) "If comment-dwim is successively called, add => mark." (if (and (eq major-mode 'emacs-lisp-mode) (eq last-command 'comment-dwim)) (insert " =>") ad-do-it))
comment-dwim の処理は rcodetools.el から、そのままコピった。
なるほど、こんなことできるんだ。
これで emacs-lisp-mode のバッファにいれば xmp し放題。
もう scratch バッファはいらない (かも?)