Muitos comandos do Emacs alteram seu comportamento quando chamados com um ou mais C-uprefixos. Em alguns casos, o comportamento padrão de um comando é menos útil para mim do que o comportamento que recebo quando o prefixo C-u. Ao mesmo tempo, não quero me livrar completamente do comportamento padrão.
Para dar um exemplo concreto, o quit-window
comando (vinculado a q
in help-mode
) sai da janela atual e enterra o buffer exibido nela por padrão. Quando chamado C-u, mata o buffer. Eu gostaria que o comando matasse o buffer por padrão e o enterrasse quando chamado com um C-uprefixo.
P: Como posso dizer ao Emacs para que um comando se comporte como se fosse chamado com um C-u prefixo por padrão enquanto move o comportamento padrão para o C-u prefixo ?
Eu sei que poderia resolver isso redefinindo o comando original ou agrupando-o em um comando personalizado que passa o prefixo args de acordo com minhas preferências. Mas prefiro fazer algo assim:
(swap-args 'quit-window)
:filter-args
vez de:around
, eu acho.