scheme-send-last-sexp
直前の式を評価するコマンドで、おなじみ C-x C-e
にバインドされている。
cmuscheme.el の定義を読んだら、単にプロセスに対してリージョンを送るというものだった。
save-excursion
内で一時的に前のS式に戻って、戻ったところの位置をリージョン開始にしている。なるほど。
;;; cmuscheme.el (defun scheme-send-last-sexp () "Send the previous sexp to the inferior Scheme process." (interactive) (scheme-send-region (save-excursion (backward-sexp) (point)) ;; 戻ったところのポイントをリージョン開始位置とする (point)))