« 実践Common Lispを読んでみる(その1) | メイン | 実践Common Lispを読んでみる(その3) »

2008年9月25日

実践Common Lispを読んでみる(その2)

さて、本来なら第3章を読みたいところですが、案の定日本語関係でいろいろミスったのでそれについて。

とりあえず修正した.emacs.elファイルを。


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; emacs-lisp-mode(下のslimeモードとelispモードを分けるため)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq auto-mode-alist
      ;;; 拡張子とモードの対応
      (append
       '(("/.el" . emacs-lisp-mode))
       '(("/.emacs-*" . emacs-lisp-mode))
       '(("/.wl" . emacs-lisp-mode))
       auto-mode-alist))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;slime
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime/")

(require 'hyperspec)
(setq common-lisp-hyperspec-root
      (concat "file://"
              (expand-file-name "~/.emacs.d/HyperSpec/")
              )
      common-lisp-hyperspec-symbol-table
      (expand-file-name "~/.emacs.d/HyperSpec/Data/MapSym.txt")
)

(defun ime-onoff-slime ()
(interactive)
(if slime-mode
 (progn
   (slime-mode nil)
   (toggle-input-method))
 (progn
   (slime-mode t)
   (toggle-input-method))))

(require 'slime)
;; 日本語利用のための設定(emacsのデフォルトがutf-8ならutf-8-unix)
(setq slime-net-coding-system 'euc-jp-unix)
(setq inferior-lisp-program "sbcl")
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
(add-hook 'lisp-mode-hook
          (lambda ()
            (slime-mode t)
            (show-paren-mode)
            (global-set-key "\C-cH" 'hyperspec-lookup)
            (global-set-key "\C-\\" 'ime-onoff-slime)
            )
)

(slime-autodoc-mode)
;以下前と同じ

どうもslime-spaceがanthyの変換キーより先に有効になってしまうので、slime-modeでかつ日本語入力モードにしたときはslime-modeを切ってからtoggle-imput-modeでanthyに切り替えるようにしました。んでもてって(global-set-key "\C-\\" 'ime-onoff-slime)で
slime-modeの時のみ有効になるように設定。

また、emacs-lispと通常のlispを分けるために新しくemacs-lisp-modeを追加しました。

あと意外と引っかかったのが文字コード設定。今うちの環境はデフォルトの文字コードをEUC-JPに統一しているのでそれに併せてslime-net-coding-systemもeuc-jp-unixにしないと日本語コメントありの*.lispファイルを読み込めない(正確にはREPLでloadしようとすると怒られる)というすげーいやな問題が発生します。

やっとこれで日本語コメントありのファイルを生成できるようになった・・・、っていうかここで今日はダウンきゅー・・・。

投稿者 mak : 2008年9月25日 03:44

トラックバック

このエントリーのトラックバックURL:
http://sorakaze.net/cgi-bin/blog/mt-tb.cgi/139

コメント

コメントする