#1 Le 31/01/2011, à 12:46
- Blabla404
[Résolu] Emacs, raccourci pour ouvrir un fichier
Bonjour,
J'aimerais pouvoir ouvrir le fichier ~/paf/toto en faisant directement M-x toto.
Je ni connais pas grand chose en programmation elips, pour le moment je pensais faire un truc du genre
(defun toto ()
(find-file "~/paf/toto")
)
Mais rien que l'évaluation de (toto ()) ne fonctionne pas. Du coup je ne sais même pas si il faut ensuite ajouter quelque chose pour pouvoir faire M-x toto.
Je continue de lire la doc, mais si quelqu'un sait comment faire je gagnerais beaucoup de temps.
Merci.
Dernière modification par redoxx (Le 31/01/2011, à 15:24)
Hors ligne
#2 Le 31/01/2011, à 14:42
- gigiair
Re : [Résolu] Emacs, raccourci pour ouvrir un fichier
Bonjour,
J'aimerais pouvoir ouvrir le fichier ~/paf/toto en faisant directement M-x toto.
Je ni connais pas grand chose en programmation elips, pour le moment je pensais faire un truc du genre(defun toto () (find-file "~/paf/toto") )
Mais rien que l'évaluation de (toto ()) ne fonctionne pas. Du coup je ne sais même pas si il faut ensuite ajouter quelque chose pour pouvoir faire M-x toto.
Je continue de lire la doc, mais si quelqu'un sait comment faire je gagnerais beaucoup de temps.
Merci.
(defun toto ()
(interactive)
(find-file "~/paf/toto")
)
C-h i d m Emacs Lisp Intro <RET> m writing defuns <RET> m interactive<RET>
Dernière modification par gigiair (Le 31/01/2011, à 14:56)
--
JJR.
Hors ligne
#3 Le 31/01/2011, à 15:24
- Blabla404
Re : [Résolu] Emacs, raccourci pour ouvrir un fichier
Merci cela fait exactement ce que je veux. Mais je ne comprend pas vraiment pourquoi.
Quand j'évalue
(defun toto ()
(interactive)
(find-file "~/paf/toto")
)
(toto ())
J'ai droit à cette erreur : wrong-number-of-arguments (lambda nil (find-file "~/paf/toto")) 1)
Alors que si j'évalue juste (find-file "~/paf/toto") ça m'ouvre bien le fichier toto.
Je dois rater quelque chose d'ultra basique vu que je ne trouve rien de clair dans la doc.
En tout cas le problème est résolu.
Edit: Oui c'est bien la doc que j'utilise, mais tant que l'évaluation de (toto ()) ne marchait pas, je ne voulais pas regarder le problème suivant, à savoir l'interactivité (en plus je ne pensais pas que ce serait si facile)
Dernière modification par redoxx (Le 31/01/2011, à 15:28)
Hors ligne
#4 Le 31/01/2011, à 16:00
- gigiair
Re : [Résolu] Emacs, raccourci pour ouvrir un fichier
Merci cela fait exactement ce que je veux. Mais je ne comprend pas vraiment pourquoi.
Quand j'évalue(defun toto () (interactive) (find-file "~/paf/toto") ) (toto ())
J'ai droit à cette erreur : wrong-number-of-arguments (lambda nil (find-file "~/paf/toto")) 1)
Alors que si j'évalue juste (find-file "~/paf/toto") ça m'ouvre bien le fichier toto.Je dois rater quelque chose d'ultra basique vu que je ne trouve rien de clair dans la doc.
En tout cas le problème est résolu.Edit: Oui c'est bien la doc que j'utilise, mais tant que l'évaluation de (toto ()) ne marchait pas, je ne voulais pas regarder le problème suivant, à savoir l'interactivité (en plus je ne pensais pas que ce serait si facile)
C'est une erreur de logique.
defun toto ()
signifie que la liste des arguments de toto est vide, ce qui signifie que l'appel de toto ne doit être suivi d'aucun argument.
Il ne faut pas confondre «liste vide d'argument» (aucun argument) avec «argument liste vide» (un argument).
L'appel (toto ()) est fait avec l'argument '(), ce qui contredit sa définition.
(toto) est un appel sans aucun argument.
Dernière modification par gigiair (Le 31/01/2011, à 17:11)
--
JJR.
Hors ligne
#5 Le 31/01/2011, à 16:18
- Blabla404
Re : [Résolu] Emacs, raccourci pour ouvrir un fichier
Ok mon erreur vient juste d'une déformation camelesque.
En tout cas merci mon truc marche et je commence à comprendre comment ajouter les fonctions qui me manquent, je vais continuer de lire "An introduction to programming in Emacs lisp" et je devrais m'en sortir.
Hors ligne