branch: elpa/logview commit 695d8aaa64c051959ca15498b600f2ee8bbe121f Merge: 6a45a35863 c305a42980 Author: Paul Pogonyshev <pogonys...@gmail.com> Commit: Paul Pogonyshev <pogonys...@gmail.com>
Merge pull request #27 from dakra/customize-logview-cache-filename --- logview.el | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/logview.el b/logview.el index 0b96c4760b..68a4f6d219 100644 --- a/logview.el +++ b/logview.el @@ -393,6 +393,14 @@ You can also pulse the current entry unconditionally with `\\<logview-mode-map>\ :group 'logview :type 'file) +(defcustom logview-cache-filename (locate-user-emacs-file "logview-cache.extmap") + "Internal non-human-readable cache. +Customizable in case you want to put it somewhere else. This +file can be safely deleted, but will be recreated by Logview next +time you use the mode. Used to make startup faster." + :group 'logview + :type 'file) + (defcustom logview-completing-read-function nil "Completion system used by Logview." :group 'logview @@ -2169,15 +2177,14 @@ returns non-nil." ;; not only in memory, but also on disk. We use `extmap' to create and read the cache ;; file. If `datetime' reports a different locale database version, cache is ;; discarded. - (let* ((cache-filename (locate-user-emacs-file "logview-cache.extmap")) - (cache-file (ignore-errors (extmap-init cache-filename))) - (locale-database-version (if (fboundp #'datetime-locale-database-version) (with-no-warnings (datetime-locale-database-version)) 0))) + (let ((cache-file (ignore-errors (extmap-init logview-cache-filename))) + (locale-database-version (if (fboundp #'datetime-locale-database-version) (with-no-warnings (datetime-locale-database-version)) 0))) (when cache-file (let ((cached-externally (extmap-get cache-file 'timestamp-formats t))) (when (and cached-externally (equal (extmap-get cache-file 'locale-database-version t) locale-database-version)) (setq logview--all-timestamp-formats-cache (extmap-get cache-file 'timestamp-formats t))))) (if logview--all-timestamp-formats-cache - (logview--internal-log "Logview: loaded locale timestamp formats from `%s'" cache-filename) + (logview--internal-log "Logview: loaded locale timestamp formats from `%s'" logview-cache-filename) (let ((start-time (float-time)) (patterns (make-hash-table :test 'equal :size 1000)) (uniques (make-hash-table :test 'equal :size 1000))) @@ -2217,8 +2224,8 @@ returns non-nil." uniques) (logview--internal-log "Logview/datetime: built list of %d timestamp regexps in %.3f s" (hash-table-count uniques) (- (float-time) start-time)) (ignore-errors - (extmap-from-alist cache-filename `((locale-database-version . ,locale-database-version) - (timestamp-formats . ,logview--all-timestamp-formats-cache)) + (extmap-from-alist logview-cache-filename `((locale-database-version . ,locale-database-version) + (timestamp-formats . ,logview--all-timestamp-formats-cache)) :overwrite t)))))) logview--all-timestamp-formats-cache)