Я написал функцию init-set-key-mappings, которая устанавливает все глобальные ключи в файле .emacs.
(defun init-set-key-mappings ()
"All the key mappings go here"
(let ((mappings (list
'("\C-ca" 'open-fileline))))
(mapcar (lambda (mapping)
(let ((key (car mapping))
(func (cadr mapping)))
(progn
(message (format "map key %s to %s" key func))
(global-set-key key func))))
mappings)))
Это хорошо оценивается, но когда я нажимаю C-c a, Emacs жалуется на «Неправильный аргумент типа commandp, (quote open-fileline)»
Что я делаю не так?
РЕДАКТИРОВАТЬ: Я нашел ответ. Удаление цитаты перед открытием файла, похоже, решает проблему. Зачем
проблема в том, что это символ? Разве так не передаются функции - как символы?