emacs-diffs
[Top][All Lists]
Advanced

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

feature/pkg 06fa6b1e39 3/4: Fixes in package functions


From: Gerd Moellmann
Subject: feature/pkg 06fa6b1e39 3/4: Fixes in package functions
Date: Sat, 22 Oct 2022 09:24:58 -0400 (EDT)

branch: feature/pkg
commit 06fa6b1e39e9109d08127e6dbb7d535a938a4d95
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>

    Fixes in package functions
    
    * lisp/emacs-lisp/pkg.el (pkg-stringify-names): De-duplicate names.
    (delete-package): Unregister package.
---
 lisp/emacs-lisp/pkg.el | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/lisp/emacs-lisp/pkg.el b/lisp/emacs-lisp/pkg.el
index c9759b51e7..8a2afb2966 100644
--- a/lisp/emacs-lisp/pkg.el
+++ b/lisp/emacs-lisp/pkg.el
@@ -72,7 +72,9 @@ but have common elements %s" key1 key2 common))))
     (t (error "Bogus %s name: %s" kind name))))
 
 (defun pkg-stringify-names (names kind)
-  (mapcar (lambda (name) (pkg-stringify-name name kind)) names))
+  (cl-remove-duplicates
+   (mapcar (lambda (name) (pkg-stringify-name name kind)) names)
+   :test #'equal))
 
 (defun pkg-package-namify (n)
   (pkg-stringify-name n "package"))
@@ -152,7 +154,8 @@ but have common elements %s" key1 key2 common))))
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 ;;;###autoload
-(cl-defun make-package (name &key nicknames use (size 10))
+
+(cl-defun make-package (name &key nicknames use (size 0))
   "tbd"
   (cl-check-type size natnum)
   (let* ((name (pkg-stringify-name name "package name"))
@@ -206,15 +209,15 @@ but have common elements %s" key1 key2 common))))
 ;;;###autoload
 (defun delete-package (package)
   (if (and (packagep package)
-           (null (package-name package)))
+           (null (package-%name package)))
       nil
     (let ((package (pkg-package-or-lose package)))
-    (when (or (eq package *emacs-package*)
-              (eq package *keyword-package*))
-      (error "Cannot delete standard package"))
-    (pkg--remove-from-registry package)
-    (setf (package-%name package) nil)
-    t)))
+      (when (or (eq package *emacs-package*)
+                (eq package *keyword-package*))
+        (error "Cannot delete standard package"))
+      (pkg--remove-from-registry package)
+      (setf (package-%name package) nil)
+      t)))
 
 ;;;###autoload
 (defun rename-package (package new-name &optional new-nicknames)



reply via email to

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