calc+.l (2005/07/08)
上記の calc+.l を site-lisp に保存し、好みでバイトコンパイルします。そして、.xyzzy か siteinit.l に以下のように記述します。
(add-hook '*calc-mode-hook*
#'(lambda ()
(require "calc+")
(use-syntax-table *calc-mode-syntax-table*)))
すると calc-mode 起動時、calc+ ファイルが読み込まれます。上記の `(use-syntax-table *calc-mode-syntax-table*)' を記述しなければ、対応括弧を強調表示しなくなります。
calc+.l のデフォルトキーバインドを変更したり、半角スペースや `EOF' 等を calc-mode で表示しないよう変更したいときは以下のように記述するとよいでしょう。
(add-hook '*calc-mode-hook*
#'(lambda ()
(require "calc+")
(define-key *calc-mode-map* #\M-n 'calc+-complete-next)
(define-key *calc-mode-map* #\M-p 'calc+-complete-previous)
(set-local-window-flags (selected-buffer)
(+ *window-flag-eof*
*window-flag-half-width-space*)
nil)))
calc+.l ではデフォルトで以下のようにキーバインドされています。
; 計算実行&履歴に追加
(define-key *calc-mode-map* #\RET 'calc+-eval-line-add-history)
; プロンプト先頭へ
(define-key *calc-mode-map* #\C-a 'calc+-beginning-of-line)
; 入力した式、答えの挿入 or 答えコピーモディファイア
(define-key *calc-mode-map* '(#\C-c #\C-c) 'calc+-modifier)
; 履歴戻る
(define-key *calc-mode-map* #\C-M-n 'calc+-complete-next)
; 履歴進む
(define-key *calc-mode-map* #\C-M-p 'calc+-complete-previous)