From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Richard Subject: Re: How to let Org Agenda search all files in a directory *recursively* ? Date: Thu, 27 Jun 2013 16:32:27 +0200 Message-ID: <87li5vbp50.fsf@yahoo.fr> References: <20130627075135.GA4761@stardiviner> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50985) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UsDFr-0004dg-Qu for emacs-orgmode@gnu.org; Thu, 27 Jun 2013 10:33:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UsDFq-00085x-Mr for emacs-orgmode@gnu.org; Thu, 27 Jun 2013 10:32:59 -0400 Received: from mxin.ulb.ac.be ([164.15.128.112]:21777) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UsDFq-00085j-HW for emacs-orgmode@gnu.org; Thu, 27 Jun 2013 10:32:58 -0400 In-Reply-To: <20130627075135.GA4761@stardiviner> (chris's message of "Thu, 27 Jun 2013 15:53:53 +0800") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Emacs Org-mode chris writes: > How to Let [C-c a] to search over all files in a directory *recursively* ? AFAIK, there's no built in way. Applying the following patch to the function org-agenda-files gets you there, but it's not clean at all, and certainly very unefficient : Modified lisp/org.el diff --git a/lisp/org.el b/lisp/org.el index 7fd1576..0068c49 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -17797,8 +17797,7 @@ used by the agenda files. If ARCHIVE is `ifmode', do this only if (setq files (apply 'append (mapcar (lambda (f) (if (file-directory-p f) - (directory-files - f t org-agenda-file-regexp) + (find-lisp-find-files f org-agenda-file-regexp) (list f))) files))) (when org-agenda-skip-unavailable-files Also it might be faster to rely on an external "find" tool but that requires modifying the regexp (-regex applies to whole path). HTH, -- N.