]> git.eshelyaron.com Git - emacs.git/commitdiff
DEFVAR some variables
authorGerd Möllmann <gerd@gnu.org>
Tue, 18 Oct 2022 10:33:35 +0000 (12:33 +0200)
committerGerd Möllmann <gerd@gnu.org>
Tue, 18 Oct 2022 10:33:35 +0000 (12:33 +0200)
* src/lisp.h: Remove extern declarations for some vars.
* src/pkg.c (syms_of_pkg): DEFVAR_LISP_NOPRO some variables.
*package*, *package-registry*, *emacs-package*,
*keyword-package*, package-prefixes

src/lisp.h
src/pkg.c

index 19c266c64ed1c98fa271d30a1b5ac6e0c9d6d02b..83a4e487176c26c2b12bd86ccecccea4ad7499da 100644 (file)
@@ -2287,12 +2287,6 @@ extern void pkg_break (void);
 extern void pkg_define_builtin_symbols (void);
 extern void pkg_map_symbols_c_fn (void (*fn) (Lisp_Object, Lisp_Object), Lisp_Object arg);
 
-extern Lisp_Object Vpackage_registry;
-extern Lisp_Object Vemacs_package, Vkeyword_package;
-extern Lisp_Object Vearmuffs_package;
-extern Lisp_Object Vpackage_prefixes;
-
-
 \f
 /* Return whether a value might be a valid docstring.
    Used to distinguish the presence of non-docstring in the docstring slot,
index 04b56073069b182bb9f01be5907d874368a5ba27..59a362f5617233d14467bbadda70f21efbd9b762 100644 (file)
--- a/src/pkg.c
+++ b/src/pkg.c
@@ -30,23 +30,6 @@ along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
 #include "lisp.h"
 #include "character.h"
 
-/* The package registry, a hash-table of package names to package
-   objects.  */
-
-Lisp_Object Vpackage_registry;
-
-/* The two standard packages.  */
-
-Lisp_Object Vemacs_package, Vkeyword_package;
-
-/* The current package.  */
-
-Lisp_Object Vearmuffs_package;
-
-/* If nil, */
-
-Lisp_Object Vpackage_prefixes;
-
 /***********************************************************************
                            Useless tools
  ***********************************************************************/
@@ -1249,14 +1232,12 @@ init_pkg_once (void)
                                       DEFAULT_REHASH_THRESHOLD,
                                       Qnil, false);
 
-  Vemacs_package = make_package (build_string ("emacs"),
-                                make_fixnum (20000));
   staticpro (&Vemacs_package);
-  Vkeyword_package = make_package (build_string ("keyword"),
-                                  make_fixnum (2000));
+  Vemacs_package = make_package (build_string ("emacs"), make_fixnum (20000));
   register_package (Vemacs_package);
 
   staticpro (&Vkeyword_package);
+  Vkeyword_package = make_package (build_string ("keyword"), make_fixnum (2000));
   XPACKAGE (Vkeyword_package)->nicknames = Fcons (build_string (""), Qnil);
   register_package (Vkeyword_package);
 
@@ -1276,6 +1257,20 @@ init_pkg_once (void)
 void
 syms_of_pkg (void)
 {
+  DEFVAR_LISP_NOPRO ("*package-registry*", Vpackage_registry,
+                    doc: /* The package registry.  For internal use only.  */);
+  DEFVAR_LISP_NOPRO ("*emacs-package*", Vemacs_package,
+                    doc: /* The Emacs package.  For internal use only.  */);
+  DEFVAR_LISP_NOPRO ("*keyword-package*", Vkeyword_package,
+                    doc: /* The keyword package.  For internal use only.  */);
+  DEFVAR_LISP_NOPRO ("*package*", Vearmuffs_package,
+                    doc: /* The current package.  */);
+
+  DEFVAR_LISP_NOPRO ("package-prefixes", Vpackage_prefixes,
+                    doc: /* */);
+  Fmake_variable_buffer_local (Qpackage_prefixes);
+
+  Vmacroexp__dynvars = Qnil;
   defsubr (&Scl_intern);
   defsubr (&Scl_unintern);
   defsubr (&Sdelete_package);