In message <19991129224717V.k-horix / s.email.ne.jp>
k-horix / s.email.ne.jp writes:

> (setq interpreter-mode-alist (append '(("^#!.*ruby" . ruby-mode))
>             interpreter-mode-alist))     ^^^^^^^^^
> 
> .emacsに設定する以上の部分を単に"ruby"だけにしたら,ちゃんと
> 検知してくれるようになりました。

    (let ((interpreter
           (save-excursion
             (goto-char (point-min))
             (if (looking-at "#![ \t]?\\([^ \t\n]*/bin/env[ \t]\\)?\\([^ \t\n]+\\)")
                 (buffer-substring (match-beginning 2)
                                   (match-end 2))
               "")))
          elt)
      ;; Map interpreter name to a mode.
      (setq elt (assoc (file-name-nondirectory interpreter)
                       interpreter-mode-alist))
      (unless just-from-file-name
        (if elt
            (funcall (cdr elt)))))

なんてかいてありますし,(files.el: set-auto-mode)デフォルト値もイン
タプリタの名前しか書いてないし,describe-variable すると

    Alist mapping interpreter names to major modes.
    This alist applies to files whose first line starts with `#!'.
    Each element looks like (INTERPRETER . MODE).
    The car of each element is compared with
    the name of the interpreter specified in the first line.
    If it matches, mode MODE is selected.

なのできっとそれで正しいのだと思います.

# GNU Emacs 20.3.1 (i386--freebsd).


-- 
柳川和久 @ 東大阪市 . 大阪府                              November 29, 1999
Never put off till tomorrow what you can do today.