cperl-modeでエラーが出る
再現性はつかめてないんだけど、*.plなファイルを開いたときにたまにエラーが起こる。発生すると、以降は毎回*.plなファイルを開いたときに同じエラーが起こる。
- emacs-version = "22.0.50.1"
- cperl-version = "5.22" (http://math.berkeley.edu/~ilya/software/emacs/)
cperl-mode.elを新しいのにしてから不調のような気がする。
とりあえずバックトレースをコピペ。
Debugger entered--Lisp error: (void-function compilation-build-compilation-error-regexp-alist) compilation-build-compilation-error-regexp-alist() funcall(compilation-build-compilation-error-regexp-alist) (let ((f ...)) (funcall f)) (cond ((boundp ...) (make-local-variable ...) (set ... ...) (let ... ...)) ((boundp ...) (make-local-variable ...) (set ... ...))) cperl-mode() set-auto-mode-0(cperl-mode nil) set-auto-mode() normal-mode(t) after-find-file(nil t) find-file-noselect-1(#<buffer oops.pl> "~/oops.pl" nil nil "~/oops.pl" (95939 772)) find-file-noselect("/home/hirose31/oops.pl" nil nil nil) find-file("/home/hirose31/oops.pl") find-file-at-point() call-interactively(find-file-at-point)
追記
cperl-mode.el.5.22だと、
(cond ((boundp 'compilation-error-regexp-alist-alist);; xemacs 20.x
なふうにcompilation-error-regexp-alist-alistのあり/なしでXEmacsかどうかの判別をしてるんだけど、最近のEmacsは
でcompilation-error-regexp-alist-alistが導入されたので、EmacsなのにXEmacs用のコードに入っちゃうのが原因っぽい。
サンクス!>katokenさん
さらに追記
Emacsのレポジトリ
に、cperl-mode.el-5.22がマージされてるみたいなので、コレ使ってみよ。