Merge pull request from DamienCassou/fix-report-again

Fix report again after revert
GitHub-reference: https://github.com/jwiegley/use-package/issues/647
This commit is contained in:
John Wiegley 2018-03-12 23:35:01 -07:00 committed by GitHub
commit 742cf27b0e

View file

@ -43,6 +43,12 @@
(require 'cl-lib) (require 'cl-lib)
(require 'tabulated-list) (require 'tabulated-list)
(if (and (eq emacs-major-version 24) (eq emacs-minor-version 3))
(defsubst hash-table-keys (hash-table)
"Return a list of keys in HASH-TABLE."
(cl-loop for k being the hash-keys of hash-table collect k))
(require 'subr-x))
(eval-when-compile (eval-when-compile
(require 'cl) (require 'cl)
(require 'regexp-opt)) (require 'regexp-opt))
@ -966,27 +972,27 @@ If RECURSED is non-nil, recurse into sublists."
(setq use-package-statistics (make-hash-table))) (setq use-package-statistics (make-hash-table)))
(defun use-package-statistics-status (package) (defun use-package-statistics-status (package)
"Return loading configuration status of PACKAGE." "Return loading configuration status of PACKAGE statistics."
(cond ((gethash :config statistics) "Configured") (cond ((gethash :config package) "Configured")
((gethash :init statistics) "Initialized") ((gethash :init package) "Initialized")
((gethash :preface statistics) "Prefaced") ((gethash :preface package) "Prefaced")
((gethash :use-package statistics) "Declared"))) ((gethash :use-package package) "Declared")))
(defun use-package-statistics-last-event (package) (defun use-package-statistics-last-event (package)
"Return the date when package's status last changed. "Return the date when PACKAGE's status last changed.
The date is returned as a string." The date is returned as a string."
(format-time-string "%Y-%m-%d %a %H:%M" (format-time-string "%Y-%m-%d %a %H:%M"
(or (gethash :config statistics) (or (gethash :config package)
(gethash :init statistics) (gethash :init package)
(gethash :preface statistics) (gethash :preface package)
(gethash :use-package statistics)))) (gethash :use-package package))))
(defun use-package-statistics-time (package) (defun use-package-statistics-time (package)
"Return the time is took for package to load." "Return the time is took for PACKAGE to load."
(+ (float-time (gethash :config-secs statistics 0)) (+ (float-time (gethash :config-secs package 0))
(float-time (gethash :init-secs statistics 0)) (float-time (gethash :init-secs package 0))
(float-time (gethash :preface-secs statistics 0)) (float-time (gethash :preface-secs package 0))
(float-time (gethash :use-package-secs statistics 0)))) (float-time (gethash :use-package-secs package 0))))
(defun use-package-statistics-convert (package) (defun use-package-statistics-convert (package)
"Return information about PACKAGE. "Return information about PACKAGE.
@ -998,9 +1004,9 @@ The information is formatted in a way suitable for
package package
(vector (vector
(symbol-name package) (symbol-name package)
(use-package-statistics-status package) (use-package-statistics-status statistics)
(use-package-statistics-last-event package) (use-package-statistics-last-event statistics)
(format "%.2f" (use-package-statistics-time package)))))) (format "%.2f" (use-package-statistics-time statistics))))))
(defun use-package-report () (defun use-package-report ()
"Show current statistics gathered about use-package declarations. "Show current statistics gathered about use-package declarations.