From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Evgeny Roubinchtein Newsgroups: gmane.emacs.bugs Subject: startup.el(normal-top-level-add-subdirs-to-load-path): include mtime in normal-top-level-add-subdirs-inode-list? Date: Thu, 15 Dec 2005 18:10:13 -0800 Message-ID: <8664pp23ne.fsf@evgeny.isilon.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1134714466 3282 80.91.229.2 (16 Dec 2005 06:27:46 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 16 Dec 2005 06:27:46 +0000 (UTC) Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 16 07:27:42 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1En93k-0006qs-Ed for geb-bug-gnu-emacs@m.gmane.org; Fri, 16 Dec 2005 07:27:16 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1En94Q-0000zc-Cw for geb-bug-gnu-emacs@m.gmane.org; Fri, 16 Dec 2005 01:27:58 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1En54G-0003Jx-7h for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2005 21:11:32 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1En54D-0003Gf-Q9 for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2005 21:11:31 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1En54D-0003G7-Fb for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2005 21:11:29 -0500 Original-Received: from [65.101.129.58] (helo=seaxch05.desktop.isilon.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1En56Y-0005ef-Iw for bug-gnu-emacs@gnu.org; Thu, 15 Dec 2005 21:13:54 -0500 Original-Received: from evgeny.isilon.com ([172.16.5.119]) by seaxch05.desktop.isilon.com with Microsoft SMTPSVC(6.0.3790.211); Thu, 15 Dec 2005 18:10:42 -0800 Original-To: bug-gnu-emacs@gnu.org User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.51 (berkeley-unix) X-OriginalArrivalTime: 16 Dec 2005 02:10:42.0631 (UTC) FILETIME=[EADFC570:01C601E5] X-Mailman-Approved-At: Fri, 16 Dec 2005 01:27:31 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:14660 Archived-At: I appologize if something like this has already been suggested (and rejected), but was any thought given to including last modification time in the normal-top-level-add-subdirs-inode-list in the function normal-top-level-add-subdirs-to-load-path defined in startup.el? The idea is that I would like to be able to add some directories to $PREFIX/share/emacs/site-lisp (for example), load $PREFIX/share/emacs/site-lisp/subdirs.el, and have the site-lisp directory re-walked, so the directories I've just added get found. Right now, to accomplish this, I'd have to first do something like: (setq normal-top-level-add-subdirs-inode-list (remove (nthcdr 10 (file-attributes "$PREFIX/share/emacs/site-lisp")) normal-top-level-add-subdirs-inode-list)) (not a _huge_ deal, but I had to look at startup.el to learn about the existance of normal-top-level-add-subdirs-inode-list, and it seems that adding mtime in would make it so things "just work"). One drawback I can see to my patch (below) is that _old_ entries wouldn't get removed, so normal-top-level-add-subdirs-inode-list would slowly grow for as long as Emacs is running. Any comments appreciated. *** /tmp/ediff28227jgS Thu Dec 15 11:13:50 2005 --- /tmp/ediff28227wqY Thu Dec 15 11:13:50 2005 *************** *** 14,25 **** (contents (directory-files this-dir)) (default-directory this-dir) (canonicalized (if (fboundp 'untranslated-canonical-name) ! (untranslated-canonical-name this-dir)))) ;; The Windows version doesn't report meaningful inode ;; numbers, so use the canonicalized absolute file name of the ;; directory instead. ! (setq attrs (or canonicalized ! (nthcdr 10 (file-attributes this-dir)))) (unless (member attrs normal-top-level-add-subdirs-inode-list) (push attrs normal-top-level-add-subdirs-inode-list) (dolist (file contents) --- 14,27 ---- (contents (directory-files this-dir)) (default-directory this-dir) (canonicalized (if (fboundp 'untranslated-canonical-name) ! (untranslated-canonical-name this-dir))) ! (all-attributes-for-this-dir (file-attributes this-dir))) ;; The Windows version doesn't report meaningful inode ;; numbers, so use the canonicalized absolute file name of the ;; directory instead. ! (setq attrs (cons (or canonicalized ! (nthcdr 10 all-attributes-for-this-dir)) ! (nth 5 all-attributes-for-this-dir))) (unless (member attrs normal-top-level-add-subdirs-inode-list) (push attrs normal-top-level-add-subdirs-inode-list) (dolist (file contents) -- Evgeny