From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: sandipchitale@yahoo.com (Sandip Chitale) Newsgroups: gmane.emacs.help Subject: Re: recentf.el and listing recently visited files Date: 17 Mar 2003 12:25:01 -0800 Organization: http://groups.google.com/ Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: NNTP-Posting-Host: main.gmane.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1047932874 16756 80.91.224.249 (17 Mar 2003 20:27:54 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 17 Mar 2003 20:27:54 +0000 (UTC) Original-X-From: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Mon Mar 17 21:27:49 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18v1D2-0004LL-00 for ; Mon, 17 Mar 2003 21:27:48 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18v1BD-0002Id-04 for gnu-help-gnu-emacs@m.gmane.org; Mon, 17 Mar 2003 15:25:55 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!postnews1.google.com!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 126 Original-NNTP-Posting-Host: 208.135.53.4 Original-X-Trace: posting.google.com 1047932702 13469 127.0.0.1 (17 Mar 2003 20:25:02 GMT) Original-X-Complaints-To: groups-abuse@google.com Original-NNTP-Posting-Date: 17 Mar 2003 20:25:02 GMT Original-Xref: shelby.stanford.edu gnu.emacs.help:111164 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:7664 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:7664 Oh...I see. What you want is synchronization of changes to the recentf-save-file. No, my functions do not do that. What you want may be slightly more difficult. I do not know if emacs has an efficient mechanism (i.e. not based on polling) to monitor changes to files on disk. One approach may be: 1. Before showing the entries to the user the recentf package could check the timestamp of the recentf-save-file. If it is later than the time it was last read it could reread the file. 2. Similarly Before writing out the entries to the recentf-save-file the entries of the current session should be merged with what is on the disk. -sandip "Javier Oviedo" wrote in message news:... > Sandip, > > Thanks for your reply. I tried your functions but they don't seem handle the > cases that I want covered. > > What I have noticed is that when I close emacs, the recentf-list > updates....the list gets written. I noticed a undesirable behavior with > this. Let say that I have two emacs session open. In one I open foo.c and in > the other I open bar.c (both happen to be in the same directory). When I > close the session with foo.c I then see foo.c added to the recentf-list. I > then close the second session with bar.c and I see bar.c written to the list > but I no longer see foo.c. It seems to have been deleted from the list. > > First, I think that once a file is written, it should be saved. Is it > possible to have the list update as soon as any file is opened in any emacs > window? Once the list has updated, any emacs window should be able to now > see the new recently visited file. > > Do you functions handle this case? > > Thanks for your help. > > > "Sandip Chitale" wrote in message > news:b607d812.0303141643.761485a5@posting.google.com... > > Javier, > > > > I had hacked the recentf.el so that it takes into account > > the file-name-history variable. Thus all files opened using > > the find-file (and it's variants) also get added to the > > recent files list. > > > > My changes were top of the following version of recentf.el : > > > > ;; Author: David Ponce > > ;; Created: July 19 1999 > > ;; Keywords: customization > > > > Here are the changed defuns: > > > > (defun recentf-add-file (filename) > > "Add or move FILENAME at the beginning of `recentf-list'. > > Does nothing if FILENAME matches one of the `recentf-exclude' regexps." > > (let ((filename (expand-file-name filename))) > > (when (recentf-include-p filename) > > (setq recentf-list (cons filename (delete filename recentf-list))) > > (setq file-name-history (cons filename (delete filename > file-name-history))) > > (setq recentf-update-menu-p t)))) > > : > > : > > (defun recentf-find-file (filename) > > "Edit file FILENAME using `find-file'. > > If FILENAME is not readable it is removed from `recentf-list'." > > (if (file-readable-p filename) > > (progn > > (find-file filename) > > (setq file-name-history (cons filename file-name-history)) > > ) > > (progn > > (message "File `%s' not found." filename) > > (setq recentf-list (delete filename recentf-list)) > > (setq recentf-update-menu-p t)))) > > : > > : > > (defun recentf-add-file (filename) > > "Add or move FILENAME at the beginning of `recentf-list'. > > Does nothing if FILENAME matches one of the `recentf-exclude' regexps." > > (let ((filename (expand-file-name filename))) > > (when (recentf-include-p filename) > > (setq recentf-list (cons filename (delete filename recentf-list))) > > (setq file-name-history (cons filename (delete filename > file-name-history))) > > (setq recentf-update-menu-p t)))) > > > > HTH, > > sandip > > > > "Javier Oviedo" wrote in message > news:... > > > Hello all: > > > > > > I really like recentf.el and use it quite frequently. I do however have > a > > > few questions: > > > 1. Would it be possible to make entries timeout after some period of > time? > > > After a few days or something like that, the list would drop files. > > > > > > 2. How does the recentf-list update? Is it possible to have recentf-list > > > update whenever a new file is opened regardless of which emacs window it > is > > > opened in? > > > > > > Example: I have one emacs window open. I then open a second emacs window > for > > > some temporary work. I would like the recentf-list to update and show > the > > > file(from second window) in the original window list. Is this possible? > > > > > > > > > > > > Thanks In Advance.