Eu fiz uma função personalizada que combina as duas funções do modo de twitter , twittering-favorite
e twittering-native-retweet
, no entanto estas duas necessidades de entrada de mim, respondendo a uma pergunta sim ou não.
Quero saber se existe uma maneira de envolver essas duas funções com algo que as faça receber uma resposta sem a minha intervenção direta.
twittering-mode
(e não vou me incomodar em acessar o código), mas como um conselho geral: normalmente, em vez de fazer o que você sugere (crie um código que simule a resposta de um usuárioyes
), é melhor criar um código que usa diretamente o código que espera a resposta. IOW, tente aproveitar o caminho do código-fonte que umayes
resposta faria com que fosse invocada. (É só uma sugestão.)Respostas:
EDIT: Como @hatschipuh apontou nos comentários, uma
flet
construção de tipo é mais direta e não depende da minha macro de conselhos idiossincrásicos. Pelo menos no meu Emacs (24.5.1),cl-flet
usa o escopo lexical, portanto, você precisará donoflet
pacote para o seguinte snippet funcionar. Role para baixo para obter a resposta idiossincrática original.EDIT: Esta é a resposta original, exceto que eu consertei
my/bypass-confirmation-all
para trabalhar como anunciado e alterei um pouco as convenções de chamada.Aqui está um invólucro geral que deve funcionar para qualquer função.
Esse código depende dessa macro, que parece ser minha solução preferida para tudo no Stackexchange.
Se esse código é a maneira mais inteligente de lidar com essa situação, eu não sei. Em geral, eu gosto de usar esse tipo de conselho temporário para fazer modificações nas funções existentes, em vez de duplicar o código das funções originais, em parte porque ajuda a tornar sua função modificada à prova do futuro contra alterações não relacionadas no original. Mas, nesse caso, talvez seja necessário tomar cuidado adicional, pois se
twittering-mode
atualizar e alterar os prompts ou adicionar outro, você não verá as alterações. Como um prompt de y ou n indica uma escolha controversa, isso pode ter consequências infelizes.EDIT: Ocorreu-me que um exemplo de uso pode ser útil. Este exemplo funciona com qualquer uma das implementações.
fonte
(flet ((yes-or-no-p (prompt) t) (y-or-n-p (prompt) t)) body...)