emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 84e1ab8 117/184: counsel.el (counsel-package): Refresh con


From: Oleh Krehel
Subject: [elpa] master 84e1ab8 117/184: counsel.el (counsel-package): Refresh contents automatically
Date: Wed, 16 Oct 2019 13:15:03 -0400 (EDT)

branch: master
commit 84e1ab8ca7f227174362992f67895f21d74c4070
Author: Oleh Krehel <address@hidden>
Commit: Oleh Krehel <address@hidden>

    counsel.el (counsel-package): Refresh contents automatically
    
    In case any of "archive-contents" files is older than 4 hours, call
    `package-refresh-contents'.
---
 counsel.el | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/counsel.el b/counsel.el
index 1476f38..933dd33 100644
--- a/counsel.el
+++ b/counsel.el
@@ -3825,6 +3825,8 @@ Position of selected mark outside accessible part of 
buffer")))
 (defvar package--initialized)
 (defvar package-alist)
 (defvar package-archive-contents)
+(defvar package-archives)
+(defvar package-user-dir)
 (declare-function package-installed-p "package")
 (declare-function package-delete "package")
 (declare-function package-desc-extras "package")
@@ -3836,8 +3838,16 @@ Position of selected mark outside accessible part of 
buffer")))
   "Return completion alist for `counsel-package'."
   (unless package--initialized
     (package-initialize t))
-  (unless package-archive-contents
-    (package-refresh-contents))
+  (if (or (not package-archive-contents)
+          (cl-find-if (lambda (package-archive)
+                        (let ((fname
+                               (format
+                                "%s/archives/%s/archive-contents"
+                                package-user-dir (car package-archive))))
+                          (or (not (file-exists-p fname))
+                              (counsel-file-stale-p fname (* 4 60 60)))))
+                      package-archives))
+      (package-refresh-contents))
   (sort (mapcar (lambda (entry)
                   (cons (let ((pkg (car entry)))
                           (concat (if (package-installed-p pkg) "-" "+")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]