(interactive)
informa ao Emacs que a função é um comando, ou seja, que a função pode ser ligada a uma chave e executada com M-x
. Então (defun select-all () (interactive) (mark-whole-buffer))
deve funcionar (mas (defun select-all () (mark-whole-buffer))
não). Você reiniciou o Emacs ou avaliou a definição com C-M-x
( eval-defun
)? O que C-h f select-all RET
mostra? (O buffer de ajuda deve começar com "select-all é um interativo".)
Aqui, uma alternativa mais simples é
(defalias 'select-all 'mark-whole-buffer)