]> git.eshelyaron.com Git - emacs.git/commit
Basic functionality for packages
authorGerd Möllmann <gerd@gnu.org>
Wed, 5 Oct 2022 14:15:20 +0000 (16:15 +0200)
committerGerd Möllmann <gerd@gnu.org>
Sat, 8 Oct 2022 13:39:42 +0000 (15:39 +0200)
commit54a08db92b432cba4d4e92fec86c4f294b9191ed
tree43bfb49b1e851ada492f0c218af0bab3ea22237e
parentd9b026d464db2ddce9d85566ee2f67ebe0c7c614
Basic functionality for packages

Lisp packages exist and can be dumped and loaded.  Two standard
packages "emacs" and "keyword".  Some package functions and variables
of CLHS.

Symbols have a package slot.  Built-in symbols before loaodup get
packages emacs or keyword.

Dumping and loading.

Some tests.

* src/pkg.c: New file for Lisp packages.
* src/Makefile.in (base_obj): Add pkg.c.
* test/src/pkg-tests.el: New file.
* src/lisp.h: Add Lisp_Package.
* etc/emacs_lldb.py: Add Lisp_Package.
* src/data.c (Ftype_of): Handle packages.
(syms_of_data): Add Qpackage.
* src/emacs.c (main): Initialize pkg.c, fix built-in symbols.
* src/fns.c (check_hash_table, get_key_arg): Make externally visible.
* src/pdumper.c (dump_vectorlike): Handle packages.
* src/print.c: Print packages, print symbols with packages.
12 files changed:
etc/emacs_lldb.py
src/Makefile.in
src/alloc.c
src/data.c
src/emacs.c
src/fns.c
src/lisp.h
src/lread.c
src/pdumper.c
src/pkg.c [new file with mode: 0644]
src/print.c
test/src/pkg-tests.el [new file with mode: 0644]