2011-07-06 15 views

cevap

1

@huitseeker tarafından verilen cevap oldukça düzgün ve etkilidir. Dört yıl sonra, flet ve defadvice ile modası geçtikten sonra, evet otomatik yanıtlamak için aşağıdaki işlevleri yazdım. Belki biri için yararlıdır.

(defun my/return-t (orig-fun &rest args) 
    t) 
(defun my/disable-yornp (orig-fun &rest args) 
    (advice-add 'yes-or-no-p :around #'my/return-t) 
    (advice-add 'y-or-n-p :around #'my/return-t) 
    (let ((res (apply orig-fun args))) 
    (advice-remove 'yes-or-no-p #'my/return-t) 
    (advice-remove 'y-or-n-p #'my/return-t) 
    res)) 

(advice-add 'projectile-kill-buffers :around #'my/disable-yornp) 
7

Sen gibi bir şey ile semantik-symref tavsiye edebilirsiniz başarısız oldu: Eğer yakalayabilir, böylece yerel olarak tüm onayları atlayarak olduğunuzu dikkat

(defadvice semantic-symref (around stfu activate) 
     (flet ((yes-or-no-p (&rest args) t) 
      (y-or-n-p (&rest args) t)) 
     ad-do-it)) 

semantik-symref'in kendisi tarafından tetiklenen başka sorular.

+0

değildir [flet] eskimiş (https://www.gnu.org/software/emacs/manual/html_node/cl/Obsolete-Macros.html) olarak? Bunun yerine [cl-flet] (http://www.gnu.org/software/emacs/manual/html_node/cl/Function-Bindings.html) kullanılmalı mıdır? – average

İlgili konular