[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/package+vc b4e833b2f8 1/6: Attempt to infer the package subject
From: |
Philip Kaludercic |
Subject: |
feature/package+vc b4e833b2f8 1/6: Attempt to infer the package subject if missing |
Date: |
Tue, 18 Oct 2022 16:35:47 -0400 (EDT) |
branch: feature/package+vc
commit b4e833b2f8fa6962b66eddff420b366b07c48cf0
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>
Attempt to infer the package subject if missing
* lisp/emacs-lisp/package-vc.el (package-vc-main-file): Add function.
(package-vc-generate-description-file): Infer the subject.
---
lisp/emacs-lisp/package-vc.el | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index dfa8094e61..e146d89171 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -120,10 +120,32 @@
return it
finally return "0"))
+(defun package-vc-main-file (pkg-desc)
+ "Return the main file of the package PKG-DESC.
+If no file can be found that appends \".el\" to the end of the
+package name, the file with the closest file name is chosen."
+ (let* ((default-directory (package-desc-dir pkg-desc))
+ (best (format "%s.el" (package-desc-name pkg-desc)))
+ (distance most-positive-fixnum) next-best)
+ (if (file-exists-p best)
+ (expand-file-name best)
+ (dolist (file (directory-files default-directory nil "\\.el\\'"))
+ (let ((distance* (string-distance best file)))
+ (when (< distance* distance)
+ (setq distance distance* next-best file))))
+ next-best)))
+
(defun package-vc-generate-description-file (pkg-desc pkg-file)
"Generate a package description file for PKG-DESC.
The output is written out into PKG-FILE."
- (let* ((name (package-desc-name pkg-desc)))
+ (let ((name (package-desc-name pkg-desc)))
+ ;; Infer the subject if missing.
+ (unless (package-desc-summary pkg-desc)
+ (setf (package-desc-summary pkg-desc)
+ (or (and-let* ((pkg (cadr (assq name package-archive-contents))))
+ (package-desc-summary pkg))
+ (lm-summary (package-vc-main-file pkg-desc))
+ package--default-summary)))
(let ((print-level nil)
(print-quoted t)
(print-length nil))
- feature/package+vc updated (5134eb02cf -> 5d60ea47f6), Philip Kaludercic, 2022/10/18
- feature/package+vc c25e78d802 3/6: * src/keyboard.c (echo_add_key): Mention quick-help, Philip Kaludercic, 2022/10/18
- feature/package+vc 5ceb88e6eb 4/6: Have 'vc-clone' return a directory, Philip Kaludercic, 2022/10/18
- feature/package+vc 5d60ea47f6 6/6: Use 'elpa-packages' files for VC metadata, Philip Kaludercic, 2022/10/18
- feature/package+vc 65fa87329c 5/6: Merge remote-tracking branch 'origin/master' into feature/package+vc, Philip Kaludercic, 2022/10/18
- feature/package+vc 39c9b6751e 2/6: Only clone packages if necessary, Philip Kaludercic, 2022/10/18
- feature/package+vc b4e833b2f8 1/6: Attempt to infer the package subject if missing,
Philip Kaludercic <=