5

У меня нет идей - мой emacs падает при открытии всплывающего диалога. Вероятно, виновата функция x-popup-dialog, но я не нашел обходного пути. Моя версия Emacs - 23.1.1. К сожалению, некоторые функции emacs вызывают это (ex customize спрашивает, следует ли сохранять изменения), что вызывает сбой.

Кто-нибудь знает, как это исправить или отключить?

2 ответа2

5

Вот быстрый бит elisp, который полностью отключит графический диалог для вас:

(defadvice yes-or-no-p (around prevent-dialog activate)
  "Prevent yes-or-no-p from activating a dialog"
  (let ((use-dialog-box nil))
    ad-do-it))
(defadvice y-or-n-p (around prevent-dialog-yorn activate)
  "Prevent y-or-n-p from activating a dialog"
  (let ((use-dialog-box nil))
    ad-do-it))

Добавьте это к вашему .emacs, и это отключит использование графического диалога для двух форм запросов yes-or-no, которые использует emacs.

2

Вот это да. Я никогда не замечал этого, но x-popup-dialog тоже кажется проблемой для меня. По крайней мере, пример диалогового окна потерпел крах для меня. Как вы настраиваете диалог? Я не могу воспроизвести это.

В общем, правило таково: если вы делаете это с клавиатуры, оно не использует диалог. например, используйте C-x k вместо мыши, чтобы закрыть буфер, и у вас не будет диалога. Другим, более сложным способом, является установка use-dialog-box на nil (хотя это не мешает x-popup-dialog работать при непосредственном вызове, поэтому это может не решить проблему). Чтобы исправить это, вам, вероятно, придется посоветовать x-popup-dialog , переопределить его, используя, например, completing-read и никогда не вызывать ad-do-it . Или вы можете исправить ошибку. Я не уверен, что будет проще :-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .