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-windowcomando (vinculado a qin 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-argsvez de:around, eu acho.