• このエントリーをはてなブックマークに追加

はじめに

まぎらわしいタイトルでスミマセン><

単にアタリマエのことをしていなかっただけのことですが,知ることができたのでメモしておくとします.

これまで

現在のメイン機MacBookでPerlするときには,Emacs(Cocoa Emacs)のcperl-modeを使っていますが,キー入力に対するレスポンスが非常に遅く,イライラさせられっぱなしでした.cperl-modeへ自動で切り替える設定は次のような感じです.

(setq auto-mode-alist (append '(("\\.psgi$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.cgi$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.pl$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.pm$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.t$" . cperl-mode)) auto-mode-alist))

しかもこの設定の場合,*.plなファイルを開いたときに,通常のperl-modeだったりすることがあるんですね.その辺の条件はよくわかりません.

見つけた1行

で,「emacs cperl-mode」とかでググってみると,次の1行をよく見かけました.

(defalias 'perl-mode 'cperl-mode)

これを追加してみたところ,モッサリしていたレスポンスが改善された感じです.

この1行,perl-modecperl-modeへ完全に置き換えてしまうような意味でしょうかね.ということは,これまでは,perl-modecperl-modeの両者が読み込まれていて,何か干渉とか競合とかしてた,ということにでもなりますか.う〜ん,サッパリです><

先の検索について,参考までにリンクをいくつか.

現在

ということで,「cperl-modeで開いてね」な設定は次のようになりました.

(defalias 'perl-mode 'cperl-mode)
(setq auto-mode-alist (append '(("\\.psgi$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.cgi$" . cperl-mode)) auto-mode-alist))
;(setq auto-mode-alist (append '(("\\.pl$" . cperl-mode)) auto-mode-alist))
;(setq auto-mode-alist (append '(("\\.pm$" . cperl-mode)) auto-mode-alist))
(setq auto-mode-alist (append '(("\\.t$" . cperl-mode)) auto-mode-alist))

*.pl*.pmなファイルは,デフォルトでperl-modeで開くようになっていたので,それがdefaliasによってcperl-modeに置き換わることから,同拡張子に関する設定は不要っぽいですね.ので,コメントアウト.

おわりに

以上,cperl-modeを使うにあたって必須ともいえる1行の記述がなかったために,勝手にイライラしていた人のメモでした.

これでPerlを書くモチベーションも上昇します.

amazonさん

そういえば,Emacsって,中身について全然考えたことなかったかもです.やっぱり少しは気にした方がいいのかなぁ...