Знайдіть походження попередження в еліпсі


11

Я запустив команду і отримав попередження в мінібуфер.

Точне попередження було comint-completion-at-point failed to return valid completion dataпісля того, як я автоматично виконав команду в shell-mode.

Як я можу визначити походження попередження?


Перегляньте посібник з налагодження програм Lisp .
невдача

1
C-h f comint-completion-at-point, потім натисніть ім'я файлу, щоб побачити вихідний код. Шукайте це повідомлення про помилку. (Ви також можете похвалитись за повідомлення про помилку у джерелах Lisp, щоб знайти її.)
Дрю

Відповіді:


17

Як зазначено в іншій відповіді, ви знайдете прекрасний посібник, корисний для всіх інструментів налагодження, які він має. Для вас конкретна проблема, я вважаю:

(setq debug-on-message "comint-completion-at-point failed to return valid completion data")

У тексті довідки зазначено:

If non-nil, debug if a message matching this regexp is displayed.

З цього ви повинні отримати зворотний хід, коли відмовить. Потім ви можете приєднати відповідні функції за допомогою Cu CMx і перейти до несправності наступного разу, коли це стане для отримання додаткової інформації.


3
Це відмінна відповідь. Дякую. Я думаю, у вас є додаткова цитата в першому рядку, де ви поєднуєте setqта 'debug-on-message. Змінивши його setq debug-on-messageабо set 'debug-on-messageзафіксувавши для мене.
Матвій Пізіак

@MatthewPiziak: спасибі - виправлено надмірне цитування.
stsquad

Це набагато краще, ніж зрізання джерел стиснення Emacs! Єдиним недоліком цього є те, що проблемний стан повинен виникнути, перш ніж можна налагодити його.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.