2014-11-07 7 views
0

При запуске emacs calc, набрав ключ префикса, скажем 'm', а затем '?' должен показать все связанные с режимом команды в минибуфере как своего рода быструю помощь.Emacs calc minibuffer blank face --- как отлаживать?

В течение нескольких лет я заметил, что это прекратилось для меня. Когда я ударил '?' минибуфер мигает справкой на малую долю секунды, затем гаснет. Иногда я могу видеть части текста справки, но обычно это слишком быстро, чтобы увидеть его.

Этого не происходит, когда я запускаю emacs -Q, чтобы пропустить мой файл инициализации, поэтому это что-то в файле инициализации, который является cuplprit.

Файл инициализации довольно большой. Я хотел бы добавить что-то вроде «(exit)» в разных местах моего файла инициализации, чтобы остановить обработку файла инициализации и посмотреть, могу ли я определить, что вызывает проблему.

(1) Каков правильный способ сделать это?

(2) Кто-нибудь еще видит эту проблему с минибуфером в calc?

ответ

1

После нескольких часов попытки сузить проблему, я нашел преступника.

Когда режим key-chord установлен в calc, в ключевой справочной системе отображаются симптомы, упомянутые выше.

Хотелось бы, чтобы ключ-хорда включался глобально и отключил его в режиме calc-mode, но его выключение в режиме calc-mode-hook отключает его для всех режимов. Есть идеи?

В любом случае, я ближе к выяснению этого долгосрочного раздражителя.

+0

Я лично свяжусь с сопровождающим ключевого аккорда, если вы не найдете ответ легко. – Drew

+0

Обратился к сопровождающему, но он не исправился. Было бы хорошо, если бы был крючок, который срабатывал бы, когда окно «calc» получило фокус, тогда я мог бы просто отключить «keychord-mode», а затем не отключать его глобально. – ddoherty

+0

Это случается для меня тоже. Было бы неплохо иметь исправление. – killdash9

1

Хороший вопрос. Ответ прост: рекурсивно разделяет ваш файл инициализации.

Сделайте это, прокомментировав его 1/2, затем 3/4, затем 7/8, ... Это двоичный поиск, и это очень быстро, даже если сначала это может показаться не таким , Он является систематическим и, по сути, слепым (бездумным).

Чтобы комментировать текст, используйте команду comment-region. Чтобы раскомментировать блок текста, используйте C-u с той же командой.

Поверьте мне - в кратчайшие сроки вы определите код преступника, независимо от того, насколько велик ваш файл инициализации. И если вы загружаете другие библиотеки из файла инициализации, и выполнение упражнения выше показывает, что код виновника находится в одной из этих библиотек, то делайте то же самое с (копией) этого кода библиотеки: рекурсивно делите его пополам.

+0

Дрю, спасибо. Я сделал деление пополам и сузил его до одного из пакетов elpa. Поскольку они кажутся автоматическими, это мой единственный вариант для удаления пакетов по одному, или вы можете думать о чем-то лучше. – ddoherty

+0

Dunno - Я не эксперт на package.el. Попробуйте просто поместить (копию) файлы библиотеки в ваш 'load-path' и' require' библиотеку. Вы можете изменить копию для комментариев и т. Д., Чтобы делить его пополам - так же, как вы сделали свой файл инициализации. В качестве альтернативы обратитесь к владельцу библиотеки/автору/сопровождающему. К сожалению, теперь у вас уже есть проблема. – Drew