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)
 

Reply via email to