J'obtiens ici un "argument de type incorrect: commandp, (lambda nil (forward-line 5))".
(global-set-key [?\M-n] (lambda () (forward-line 5)))
Quelle est l'erreur? Je suis assez sûr que c'est simple et il me manque quelque chose d'évident.
global-set-key
attend une commande interactive. (lambda () (interactive) (forward-line 5))
devrait fonctionner.
Au fait, C-h f commandp
est un assez bon point de départ pour de telles erreurs.
La forme correcte devrait être la suivante -
(global-set-key (kbd "M-n") (lambda () (interactive) (forward-line 5)))
Le problème était que vous avez oublié de mettre (interactive)
(comme Brendan l'a mentionné).
Au fait, vous remarquerez que j'ai utilisé le (kbd)
fonction pour spécifier le raccourci clavier. Cette fonction est extrêmement utile car vous pouvez mettre les raccourcis clavier presque littéralement.
J'ai également vu cette erreur sur une nouvelle machine sur laquelle j'utilise mon .emacs
fichier mais je n'ai pas installé mes packages, et la commande à exécuter se trouve dans l'un de ces packages. (Parce qu'une commande qui ne peut pas être exécutée n'est certainement pas interactive!)