Здесь, по сути, два вопроса. Один из них - как удалить элемент из списка. Другой способ, как автоматически открывать *.m
файлы в октавном режиме. Вам не нужно удалять элемент, чтобы переопределить его. Предоставленная форма
(add-to-list 'auto-mode-alist ("\\.m$" . octave-mode))
вызывает ошибку. Вместо этого вы должны использовать
(add-to-list 'auto-mode-alist '("\\.m$" . octave-mode))
или еще лучше:
(add-to-list 'auto-mode-alist '("\\.m\\'" . octave-mode))
Эти две формы добавят элемент в начало списка ассоциаций, что означает, что имена файлов будут сначала проверяться по нему, никогда не переходя к элементу objc-mode внизу списка.
Если вы действительно хотите удалить элемент из списка, вот несколько способов.
Один способ, который удаляет только точную ячейку минусов '("\\.m\\'" . objc-mode)
:
(setq auto-mode-alist (delete '("\\.m\\'" . objc-mode) auto-mode-alist))
Другой способ удалить что-либо из списка ассоциаций, связанного с "\\.m\\'"
:
(require 'cl-lib)
(cl-remove "\\.m\\'" auto-mode-alist :test 'equal :key 'car)