Muchos comandos de Emacs alteran su comportamiento cuando se los llama con uno o más C-uprefijos. En algunos casos, el comportamiento predeterminado de un comando es menos útil para mí que el comportamiento que obtengo al prefijarlo C-u. Al mismo tiempo, no quiero deshacerme del comportamiento predeterminado por completo.
Para dar un ejemplo concreto, el quit-window
comando (ligado a q
en help-mode
) se cierra la ventana y entierra el buffer está representada en ella por defecto actual. Cuando se llama con C-uél, mata el búfer en su lugar. Me gustaría que el comando elimine el búfer de forma predeterminada y lo entierre cuando se lo llame con un C-uprefijo.
P: ¿Cómo puedo decirle a Emacs que haga que un comando se comporte como si fuera invocado con un C-u prefijo por defecto mientras mueve el comportamiento predeterminado al C-u prefijo ?
Sé que podría abordar esto redefiniendo el comando original o envolviéndolo en un comando personalizado que pasa los argumentos de prefijo de acuerdo con mis preferencias. Pero prefiero hacer algo como esto:
(swap-args 'quit-window)
:filter-args
lugar de:around
, creo.