Je vous écris suite à un petit soucis rencontré avec Emacs LISP. Je
cherche configurer "l'agenda" du mode org de la façon suivante :
Chercher dans les dossiers X et Y tous les fichiers en .org et .ORG et
l'ajouter à l'agenda org (la todo-list en gros).
Se qui se traduit par :
(setq org-agenda-file (list
(directory-files "~/.emacs.d/org/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/administration/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/cours/cnam/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/logiciels/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/logiciels/emacs/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/materiel/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/network/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/programmation/" t "\\.\\(org\\|ORG\\)$")
(directory-files "~/.emacs.d/org/sites/" t "\\.\\(org\\|ORG\\)$")
))
Mais cette fonction renvoie une sortie de la forme :
J'ai rapidement parcourus le manuel Emacs Lisp pour essayer de trouver
une méthode de concaténation des listes, mais ça n'a rien donné.
Ne connaissant pas très bien Emacs LISP (juste les bases), j'avoue
avoir un tout petit besoin d'aide ;) Est-il besoin de préciser que la
solution du problème m'intéresse infiniment plus que sa résolution ?
Il y a bien la commande find-lisp-find-files, mais apparemment ce n'est pas récursif dans l'arbre des répertoires...
Vincent.
Jacques L'helgoualc'h a écrit :
Le 14-03-2009, Vincent Belaïche a écrit :
Salut,
Ave, que St Ignucius te bénisse.
[...]
(setq org-agenda-file `( ,@(directory-files "~/.emacs.d/org/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/administration/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/cours/cnam/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/logiciels/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/logiciels/emacs/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/materiel/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/network/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/programmation/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/sites/" t ".(org|ORG)$") ))
Pourrait-on être plus concis en Elisp, cf. la commande
find ~/.emacs.d/org/ -iname *.org
?
Salut,
Il y a bien la commande find-lisp-find-files, mais apparemment ce n'est pas
récursif dans l'arbre des répertoires...
Vincent.
Jacques L'helgoualc'h a écrit :
Le 14-03-2009, Vincent Belaïche a écrit :
Salut,
Ave, que St Ignucius te bénisse.
[...]
(setq org-agenda-file `(
,@(directory-files "~/.emacs.d/org/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/administration/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/cours/cnam/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/logiciels/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/logiciels/emacs/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/materiel/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/network/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/programmation/" t "\.\(org\|ORG\)$")
,@(directory-files "~/.emacs.d/org/sites/" t "\.\(org\|ORG\)$")
))
Pourrait-on être plus concis en Elisp, cf. la commande
Il y a bien la commande find-lisp-find-files, mais apparemment ce n'est pas récursif dans l'arbre des répertoires...
Vincent.
Jacques L'helgoualc'h a écrit :
Le 14-03-2009, Vincent Belaïche a écrit :
Salut,
Ave, que St Ignucius te bénisse.
[...]
(setq org-agenda-file `( ,@(directory-files "~/.emacs.d/org/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/administration/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/cours/cnam/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/logiciels/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/logiciels/emacs/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/materiel/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/network/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/programmation/" t ".(org|ORG)$") ,@(directory-files "~/.emacs.d/org/sites/" t ".(org|ORG)$") ))
Pourrait-on être plus concis en Elisp, cf. la commande