Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

redoxx a écrit :

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

redoxx a écrit :

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