emacs-diffs
[Top][All Lists]
Advanced

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

scratch/pkg 0a107bfd441 5/5: More package-local nicknames


From: Gerd Moellmann
Subject: scratch/pkg 0a107bfd441 5/5: More package-local nicknames
Date: Tue, 19 Dec 2023 03:35:46 -0500 (EST)

branch: scratch/pkg
commit 0a107bfd4410cd702fe27cc0d69becda3dbc78e6
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>

    More package-local nicknames
    
    * lisp/emacs-lisp/pkg.el (find-package): Search in local nicknames.
    * src/pkg.c (pkg_find_package): Fix last change.
---
 lisp/emacs-lisp/pkg.el | 7 +++++--
 src/pkg.c              | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/pkg.el b/lisp/emacs-lisp/pkg.el
index 9045c4b8514..58596de43c8 100644
--- a/lisp/emacs-lisp/pkg.el
+++ b/lisp/emacs-lisp/pkg.el
@@ -503,8 +503,11 @@ returned if found.
 Value is nil if no package with the given name is found. "
   (if (packagep package)
       package
-    (let ((name (pkg--stringify-name package "package name")))
-      (gethash name *package-registry*))))
+    (let* ((name (pkg--stringify-name package "package name"))
+           (local (assoc name (package-local-nicknames *package*))))
+      (if local
+          (cdr local)
+        (gethash name *package-registry*)))))
 
 ;;;###autoload
 (defun delete-package (package)
diff --git a/src/pkg.c b/src/pkg.c
index b1d79824de8..3ad828d4ba5 100644
--- a/src/pkg.c
+++ b/src/pkg.c
@@ -143,9 +143,12 @@ pkg_find_package (Lisp_Object name)
     = XPACKAGE (Vearmuffs_package)->local_nicknames;
   if (!NILP (local_nicknames))
     {
-      const Lisp_Object entry = CALLN (Fassoc, name, local_nicknames);
+      const Lisp_Object entry = Fassoc (name, local_nicknames, Qnil);
       if (!NILP (entry))
-       return XCDR (entry);
+       {
+         eassert (PACKAGEP (XCDR (entry)));
+         return XCDR (entry);
+       }
     }
 
   return Fgethash (name, Vpackage_registry, Qnil);



reply via email to

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