nXhtml не выделяет код PHP, выдает ошибки при загрузке
Я использую последнюю версию nXhtml, извлеченную из репозитория, и использую GNU Emacs версии 24.0.91.1. Когда я открываю файл PHP, он отображается как текст без подсвеченного синтаксиса, и я получаю ошибку компиляции:
Error: Wrong type argument: number-or-marker-p, nil
и сообщение в журнале:
File mode specification error: (cl-assertion-failed (functionp byte-compiled-fun))
Я избегаю своего .emacs
а также .emacs.d
запустив emacs с этой командой:
emacs -Q --eval '(load "/path/to/nxhtml/autostart")' /path/to/nxhtml/tests/in/heredoc.php
Даже если у вас нет исправления, как я могу отладить эту проблему?
2 ответа
Похоже, что в последнее время в версии для разработчиков Emacs (24) существует довольно много таких ошибок неправильного аргумента типа. Это может представлять ошибку Emacs. Или это может быть ошибка nXhtml.
Я предлагаю начать с уведомления Леннарта, автора nXhtml, пытаясь дать ему четкий рецепт, начиная с emacs -Q
,
Если это не поможет, рассмотрите возможность регистрации ошибки Emacs: M-x report-emacs-bug
,
Чтобы попытаться отладить его самостоятельно, обязательно загрузите только исходные файлы (например, для nXhtml), т. Е. *.el
не *.elc
начиная предпочтительно с emacs -Q
(нет файла инициализации). Делать M-x set-variable debug-on-error t
чтобы увидеть, где возникает ошибка. Тогда возможно использовать M-x debug-on-entry FUNCTION
, где FUNCTION
это функция, где ошибка, кажется, возникла. Затем пройдитесь по отладчику Emacs, нажав d
шагать и c
пропустить шаг.
Но опять же, я предлагаю начать с Леннарта.
Попробуйте новейшую версию Emacs.
У меня была такая же проблема (на Windows 7):
Error: Wrong type argument: number-or-marker-p, nil
в строке 1471 файла nxhtml-loaddefs.el.
Nxhtml выглядит нормально на Emacs 24.1.50.1 (23 апреля 2012 г.).