[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkg d7c793cbbf 17/76: Don't register packages in make-package
From: |
Gerd Moellmann |
Subject: |
pkg d7c793cbbf 17/76: Don't register packages in make-package |
Date: |
Fri, 21 Oct 2022 00:16:10 -0400 (EDT) |
branch: pkg
commit d7c793cbbf02eb90ace782dabe9614e2e709e8ff
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Don't register packages in make-package
---
src/lisp.h | 6 ++++++
src/pkg.c | 31 ++++++++++++++++++-------------
2 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/src/lisp.h b/src/lisp.h
index ab99535663..5fde67310e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2234,6 +2234,12 @@ PACKAGEP (Lisp_Object a)
return PSEUDOVECTORP (a, PVEC_PACKAGE);
}
+INLINE void
+CHECK_PACKAGE (Lisp_Object x)
+{
+ CHECK_TYPE (PACKAGEP (x), Qpackagep, x);
+}
+
INLINE struct Lisp_Package *
XPACKAGE (Lisp_Object a)
{
diff --git a/src/pkg.c b/src/pkg.c
index 0d333a2bc1..09fe8408e3 100644
--- a/src/pkg.c
+++ b/src/pkg.c
@@ -722,11 +722,6 @@ pkg_keywordp (Lisp_Object obj)
}
-/***********************************************************************
- Printer
- ***********************************************************************/
-
-
/***********************************************************************
Lisp functions
***********************************************************************/
@@ -840,13 +835,20 @@ usage: (make-package NAME &rest KEYWORD-ARGS) */)
XPACKAGE (package)->nicknames = nicknames;
XPACKAGE (package)->used_packages = used_packages;
- /* PKG-FIXME: Don't register, it's done by defpackage. */
- register_package (package);
-
SAFE_FREE ();
return package;
}
+DEFUN ("%register-package", Fregister_package, Sregister_package, 1, 1, 0, doc:
+ /* Register PACKAGE in the package registry. */)
+ (Lisp_Object package)
+{
+ CHECK_PACKAGE (package);
+ register_package (package);
+ return Qnil;
+}
+
+
DEFUN ("list-all-packages", Flist_all_packages, Slist_all_packages, 0, 0, 0,
doc:
/* Return a list of all registered packages. */)
(void)
@@ -1181,13 +1183,14 @@ syms_of_pkg (void)
defsubr (&Spackage_use_list);
defsubr (&Spackage_used_by_list);
defsubr (&Spackagep);
+ defsubr (&Spkg_read);
+ defsubr (&Sregister_package);
defsubr (&Srename_package);
defsubr (&Sshadow);
defsubr (&Sshadowing_import);
defsubr (&Sunexport);
defsubr (&Sunuse_package);
defsubr (&Suse_package);
- defsubr (&Spkg_read);
DEFSYM (QCexternal, ":external");
DEFSYM (QCinherited, ":inherited");
@@ -1196,13 +1199,13 @@ syms_of_pkg (void)
DEFSYM (QCuse, ":use");
DEFSYM (Qearmuffs_package, "*package*");
- DEFSYM (Qpackage_prefixes, "package-prefixes");
DEFSYM (Qemacs_package, "emacs-package");
- DEFSYM (Qkeyword_package, "keyword-package");
- DEFSYM (Qpackage_registry, "package-registry");
-
DEFSYM (Qkeyword, "keyword");
+ DEFSYM (Qkeyword_package, "keyword-package");
DEFSYM (Qpackage, "package");
+ DEFSYM (Qpackage_prefixes, "package-prefixes");
+ DEFSYM (Qpackage_registry, "package-registry");
+ DEFSYM (Qpackagep, "packagep");
DEFVAR_LISP ("package-registry", Vpackage_registry,
doc: "A map of names to packages.");
@@ -1211,11 +1214,13 @@ syms_of_pkg (void)
DEFVAR_LISP ("emacs-package", Vemacs_package, doc: "The emacs package.");
Vemacs_package = CALLN (Fmake_package, Qemacs);
make_symbol_constant (Qemacs_package);
+ register_package (Vemacs_package);
DEFVAR_LISP ("keyword-package", Vkeyword_package, doc: "The keyword
package.");
Vkeyword_package = CALLN (Fmake_package, Qkeyword,
QCnicknames, list1 (make_string ("", 0)));
make_symbol_constant (Qkeyword_package);
+ register_package (Vkeyword_package);
DEFVAR_LISP ("*package*", Vearmuffs_package, doc: "The current package.");
Vearmuffs_package = Vemacs_package;
- pkg 4f7c171fb4 49/76: Support specifying package size, (continued)
- pkg 4f7c171fb4 49/76: Support specifying package size, Gerd Moellmann, 2022/10/21
- pkg 9e3cfff902 51/76: Increase default symbol-table sizes, Gerd Moellmann, 2022/10/21
- pkg c98a69d650 50/76: DEFVAR some variables, Gerd Moellmann, 2022/10/21
- pkg 2030adac1c 38/76: Fake obarrays, Gerd Moellmann, 2022/10/21
- pkg 6b0304f2dd 67/76: Print package prefixes right, Gerd Moellmann, 2022/10/21
- pkg b6489ecb72 46/76: More scribbling, Gerd Moellmann, 2022/10/21
- pkg 6a8c172927 44/76: Add cö-symbol-name, Gerd Moellmann, 2022/10/21
- pkg e9b97a1f7d 48/76: Revert some unimportant changes, Gerd Moellmann, 2022/10/21
- pkg c4922c4f08 55/76: Make faces work with keywords not having : in symbol names, Gerd Moellmann, 2022/10/21
- pkg 8a59cc12da 54/76: Add amcros for keyword symbols, Gerd Moellmann, 2022/10/21
- pkg d7c793cbbf 17/76: Don't register packages in make-package,
Gerd Moellmann <=
- pkg fc936470cd 56/76: Move make-package to Lisp, Gerd Moellmann, 2022/10/21
- pkg 8ca1c93b67 52/76: Work on defpackage, Gerd Moellmann, 2022/10/21