あどけない話

インターネットに関する技術的な話など

ruby-mode

Ruby には Emacsruby-mode.el が付随しています。README などに設定方法が書いてないので、ほとんどの人は、検索して設定例を探すでしょう。すると、こんな不効率な設定方法が見つかります。

(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t)
(setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))

どうして、こうもみんなそろって間違うんだろうと思っていましたが、inf-ruby.el のコメント部分が原因だと分りました。セル・イメージのある Lisper なら append を使わずに、cons を使います。

(autoload 'ruby-mode "ruby-mode" nil t)
(setq auto-mode-alist (cons '("\\.rb$" . ruby-mode) auto-mode-alist))

まぁ、今回の例だと、セルの無駄遣いは微々たるものですが、必要に迫られない限り append は使わないという習慣を身につける方がいいでしょうね。