Так что это только обоснованное предположение, но я заметил, что другие регулярные выражения в auto-mode-alist
, которые хотят соответствовать началу имени файла, не используют ^
, они используют /
. Например:
("/\\.?\\(?:gnokiirc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode)
(из Emacs 23.2.1) Исходя из этого, я думаю, что, возможно, регулярное выражение применяется к полному пути файла, а не к базовому имени. Так что попробуйте
(setq auto-mode-alist (cons '("/makefile" . makefile-mode) auto-mode-alist))
вместо.