From 242d5cbcbabe08b2c3a55587d01e49c8a2b14f79 Mon Sep 17 00:00:00 2001 From: Daniel Borchmann Date: Thu, 18 May 2023 19:07:21 +0200 Subject: [PATCH] Add function to retrieve library version This could come in handy when checking for necessary library versions. --- init.el | 3 ++- site-lisp/db-utils.el | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/init.el b/init.el index ffb4b3f..effb1cf 100644 --- a/init.el +++ b/init.el @@ -612,7 +612,8 @@ db/replace-variables-in-string db/dired-ediff-files db/grep-read-files - db/make-selector-from-table-header)) + db/make-selector-from-table-header + db/get-library-version)) (use-package db-hydras :commands (hydra-toggle/body diff --git a/site-lisp/db-utils.el b/site-lisp/db-utils.el index aade28c..ffbdd50 100644 --- a/site-lisp/db-utils.el +++ b/site-lisp/db-utils.el @@ -25,6 +25,8 @@ (autoload 'async-start "async") (autoload 'lispy-mode "lispy") (autoload 'ldap-search "ldap") +(autoload 'find-libary-name "find-func") +(autoload 'lm-header "lisp-mnt") (declare-function w32-shell-execute "w32fns.c") @@ -606,6 +608,14 @@ duplicates when elements are considered as symbols." (nth idx row) (user-error "Unknow column name %s" column))))))) +(defun db/get-library-version (library) + ;; From bbatsov: https://emacs.stackexchange.com/a/69923 + "Return a version string for LIBRARY." + (with-temp-buffer + (insert-file-contents (find-library-name library)) + (or (lm-header "package-version") + (lm-header "version")))) + ;;; Base45 Decoding