[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);