Adrian Aichner <[EMAIL PROTECTED]> writes: > Hi! > > I would like to offer following contribution, which has made it > hassle-free for me to work with a gpg-encrypted timeclock-file.
Just wanted to check if any flaws of my approach are holding up this patch. Please let me know. Adrian > > Best regards! > > Adrian > > ChangeLog addition: > > 2006-08-01 Adrian Aichner <[EMAIL PROTECTED]> > > * timeclock.el: Keep timeclock-file buffer around, so that an > encrypted timeclock-file does not have to be opened on each > clocking operation (requiring entry of encryption key). > * timeclock.el (timeclock-get-timeclock-file-buffer): New. > * timeclock.el (timeclock-log): Don't kill timeclock-file buffer. > * timeclock.el (timeclock-log-data): Use > `timeclock-get-timeclock-file-buffer', which avoids reading > timeclock-file, if it's already in a live buffer. > * timeclock.el (timeclock-find-discrep): Ditto. > * timeclock.el (timeclock-visit-timelog): Ditto. > > diff -u c:\progra~1\xemacs\xemacs-packages\lisp\calendar\timeclock.el.orig > c:\progra~1\xemacs\xemacs-packages\lisp\calendar\timeclock.el > --- c:\progra~1\xemacs\xemacs-packages\lisp\calendar\timeclock.el.orig > 2006-08-01 21:47:12.421375000 +0200 > +++ c:\progra~1\xemacs\xemacs-packages\lisp\calendar\timeclock.el > 2006-08-01 21:47:12.437000000 +0200 > @@ -588,6 +588,12 @@ > (defvar timeclock-project-list nil) > (defvar timeclock-last-project nil) > > +(defun timeclock-get-timeclock-file-buffer (file) > + "Return the buffer visiting timeclock-file FILE." > + (or > + (get-file-buffer file) > + (find-file-noselect file))) > + > (defun timeclock-completing-read (prompt alist &optional default) > "A version of `completing-read' that works on both Emacs and XEmacs." > (if (featurep 'xemacs) > @@ -643,7 +649,8 @@ > "Log the event CODE to the timeclock log, at the time of call. > If PROJECT is a string, it represents the project which the event is > being logged for. Normally only \"in\" events specify a project." > - (with-current-buffer (find-file-noselect timeclock-file) > + (with-current-buffer > + (timeclock-get-timeclock-file-buffer timeclock-file) > (goto-char (point-max)) > (if (not (bolp)) > (insert "\n")) > @@ -667,7 +674,10 @@ > (setq timeclock-last-event (list code now project))) > (save-buffer) > (run-hooks 'timeclock-event-hook) > - (kill-buffer (current-buffer)))) > + ;; APA: Don't kill buffer to avoid having to read in (potentially > + ;; encrypted) file. > + ;; (kill-buffer (current-buffer)) > + )) > > (defvar timeclock-moment-regexp > (concat "\\([bhioO]\\)\\s-+" > @@ -969,7 +979,8 @@ > last-date-limited last-date-seconds last-date > (line 0) last beg day entry event) > (with-temp-buffer > - (insert-file-contents (or filename timeclock-file)) > + (insert-buffer > + (timeclock-get-timeclock-file-buffer (or filename timeclock-file))) > (when recent-only > (goto-char (point-max)) > (unless (re-search-backward "^b\\s-+" nil t) > @@ -1063,7 +1074,8 @@ > timeclock-reason-list nil > timeclock-elapsed 0) > (with-temp-buffer > - (insert-file-contents timeclock-file) > + (insert-buffer > + (timeclock-get-timeclock-file-buffer timeclock-file)) > (goto-char (point-max)) > (unless (re-search-backward "^b\\s-+" nil t) > (goto-char (point-min))) > @@ -1353,7 +1365,8 @@ > (defun timeclock-visit-timelog () > "Open the file named by `timeclock-file' in another window." > (interactive) > - (find-file-other-window timeclock-file)) > + (switch-to-buffer-other-window > + (timeclock-get-timeclock-file-buffer timeclock-file))) > > (provide 'timeclock) -- Adrian Aichner mailto:[EMAIL PROTECTED] http://www.xemacs.org/ _______________________________________________ Planner-el-discuss mailing list [email protected] https://mail.gna.org/listinfo/planner-el-discuss
