Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

mode org agenda et regexp

11 réponses
Avatar
Camille Bourgoin
Bonjour !


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 :

(("/home/pomme/dapi/zoubida/blabla.org" "/home/pomme/dapi/zoubidabibi.org")
("/home/pomme/dapi/lavabo/loulou.org" etc.))

Alors que la fonction org-agenda-file attend une sortie de la forme :

("/home/pomme/dapi/zoubida/blabla.org" "/home/pomme/dapi/zoubidabibi.org"
"/home/pomme/dapi/lavabo/loulou.org" etc.)

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 ?

Merci à vous !

--
www.jeanbaptiste-bourgoin.com (site perso)
www.actu-philosophia.com
mr.camille@im.apinc.org (jabber)

1 réponse

1 2
Avatar
Vincent Belaïche
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

find ~/.emacs.d/org/ -iname *.org

?
1 2