Ho letto la documentazione su come effettuare chiamate interattive da Elisp, ma non riesco ancora a capire come passare l'argomento universale quando si utilizza call-interactively
un comando che riconosce l'argomento universale.
Più specificamente, voglio implementare una funzione che, in determinate condizioni, dovrebbe chiamare il shell
comando in modo interattivo con l'argomento universale , in modo che, di conseguenza, il prompt
Shell buffer (default *shell*):
sarà visibile nel minibuffer e, una volta che questo prompt avrà una risposta, verrà creato il buffer specificato (se non esiste già) e creato il buffer corrente.
FWIW, ho provato quanto segue:
(universal-argument)
(call-interactively 'shell)
e
(setq prefix-arg (list 4))
(call-interactively 'shell)
... ma non ho mai visto il prompt Shell buffer (default *shell*):
; invece, in tutti i casi, il shell
comando è stato eseguito esattamente come se fosse stato chiamato senza l'argomento universale. (Davvero non so cosa sto facendo qui, quindi i miei tentativi ciechi sopra sono stati fatti con ignorante consapevolezza del consiglio prescientifico della documentazione .)
(let ((current-prefix-arg 4)) (call-interactively 'shell))