Como corrigir diálogos popup do emacs no Mac OS X?

5

Estou sem ideias aqui - meu emacs trava quando a caixa de diálogo pop-up é aberta. Provavelmente, a função x-popup-dialog é , mas eu encontrei nenhuma solução para isso. Minha versão do Emacs é 23.1.1. Infelizmente, algumas funcionalidades do emacs chamam isso (e.x. customize pergunta se ele deve salvar as alterações), o que causa a falha.

Alguém sabe como consertar ou desabilitar?

    
por radekg 28.03.2010 / 19:46

2 respostas

5

Aqui está um pequeno bit elisp que desativa completamente o diálogo gráfico para você:

(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))

Adicione isto ao seu .emacs e ele desativará o uso do diálogo gráfico para as duas formas de prompts sim ou não que o emacs usa.

    
por 29.03.2010 / 22:45
2

Uau. Eu nunca tinha percebido isso, mas x-popup-dialog parece ser um problema para mim também. Pelo menos o diálogo de exemplo caiu para mim. Como você se personaliza para abrir um diálogo? Eu não posso reproduzir isso.

Em geral, a regra é: se você fizer isso a partir do teclado, não usará uma caixa de diálogo. por exemplo. use C-x k em vez do mouse para fechar um buffer e você não obterá nenhum diálogo. Outra maneira, mais pesada, é definir use-dialog-box para nil (embora isso não impeça que x-popup-dialog funcione se for chamado diretamente para que não conserte o problema). Para corrigir isso, você provavelmente teria que informar x-popup-dialog , reimplementá-lo usando, por exemplo, completing-read e nunca chamar ad-do-it . Ou você pode consertar o bug. Não tenho certeza qual seria mais fácil: -)

    
por 29.03.2010 / 09:19