aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * src/lisp.h (pkg_error): Fix GCC warning in declaration.Stefan Kangas2022-10-211-1/+1
|
* Handle keywords in image specsGerd Möllmann2022-10-201-3/+5
| | | | | * src/image.c (parse_image_spec): Don't assume that keywords have a ':' in their symbol name.
* Remove a call to pkg_breakGerd Möllmann2022-10-201-3/+0
|
* Add pkg_set_status and Lisp defun for itGerd Möllmann2022-10-201-5/+29
|
* Fix completion for new symbol table layoutGerd Möllmann2022-10-201-8/+26
|
* De-duplicate packages for mapatomsGerd Möllmann2022-10-201-7/+20
|
* Introduce PACKAGE_NAMEXGerd Möllmann2022-10-203-7/+12
| | | | PACKAGE_NAME Is already taken :-(.
* Some cleanup in pkg.c and lisp.hGerd Möllmann2022-10-202-86/+113
|
* Intrdduce pkg_find_symbolGerd Möllmann2022-10-203-25/+27
|
* Print package prefixes rightGerd Möllmann2022-10-201-13/+14
|
* Remove Lisp_Symbol::externalGerd Möllmann2022-10-204-12/+0
|
* Remove unused function prototype from lisp.hGerd Möllmann2022-10-201-1/+0
|
* Change package symbol table layoutGerd Möllmann2022-10-203-184/+150
| | | | | | | The symbol table now stored symbol as key, and symbol status (:internal, :external) as values. Quite some changes due to that.
* hash_remove_from_table returns boolGerd Möllmann2022-10-192-2/+6
| | | | | | * src/fns.c (hash_remove_from_table): Return true if something was deleted. * src/lisp.h: Change declaration.
* Fix intern-softGerd Möllmann2022-10-191-28/+8
| | | | | | * src/pkg.c (conflicting_package): Remove unused function. (pkg_emacs_intern_soft): If checking a symbol, return non-nil only if we found exactly that symbol.
* New predefined hash table test for string-equalGerd Möllmann2022-10-191-1/+30
| | | | | | | | * src/fns.c (cmpfn_string_equal): New. (hashfn_string_equal): New. (hashtest_string_equal): New. (Fmake_hash_table): Recognize test type Qstring_equal. (syms_of_fns): DEFSYM Qstring_qual.
* Move more package stuff to LispGerd Möllmann2022-10-193-408/+12
|
* Move make-package to LispGerd Möllmann2022-10-181-72/+12
| | | | | | * lisp/emacs-lisp/pkg.el: Implement make-package. * lisp/obarray.el (obarray-make): Use make-%package. * src/pkg.c: Various changes to move make-package to Lisp.
* Make faces work with keywords not having : in symbol namesGerd Möllmann2022-10-181-8/+7
| | | | | | | * src/xfaces.c (set_lface_from_font): Use LISP_SYMBOL_NAME. (merge_face_vectors): Use LISP_SYMBOL_NAME. (merge_face_ref): Use SYMBOL_KEYWORD_P instead of checking ':'. (gui_supports_face_attributes_p): Use LISP_SYMBOL_NAME.
* Add amcros for keyword symbolsGerd Möllmann2022-10-183-2/+16
| | | | | | | * src/lisp.h (SYMBOL_KEYWORD_P): Returns true if symbol is a keyword. (LISP_SYMBOL_NAME): Basically the same as Fsymbol_name, a shortcut. * src/data.c (Fsymbol_name): Use SYMBOL_KEYWORD_P. * src/pkg.c (pkg_intern_keyword): Use SYMBOL_KEYWORD_P.
* Make internals of Lisp_Package visible to LispGerd Möllmann2022-10-182-15/+93
| | | | | | | | | | | | | | | | | Done to be able to do as much as possible from Lisp. * src/lisp.h (Lisp_Package): Rename used_packages to use_list. * src/pkg.c: Rename used_packages to use_list. (Fpackage_percent_name): (Fpackage_percent_set_name): (Fpackage_percent_nicknames): (Fpackage_percent_set_nicknames): (Fpackage_percent_use_list): (Fpackage_percent_set_use_list): (Fpackage_percent_shadowing_symbols): (Fpackage_percent_set_shadowing_symbols): (Fpackage_percent_symbols): New functions for getting and setting internals of Lisp_Package. (syms_of_pkg): defsubr them.
* Increase default symbol-table sizesGerd Möllmann2022-10-181-2/+11
| | | | | | * src/pkg.c (Fpackage_symbols): New function. (syms_of_pkg): defsubr it. (init_pkg_once): Up symbol table sizes.
* DEFVAR some variablesGerd Möllmann2022-10-182-27/+16
| | | | | | | * 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
* Support specifying package sizeGerd Möllmann2022-10-181-13/+21
|
* Add cö-symbol-nameGerd Möllmann2022-10-181-0/+9
|
* Fix printing uninterned symbolsGerd Möllmann2022-10-181-5/+8
|
* symbol-name returning ':' for keywordsGerd Möllmann2022-10-181-4/+3
| | | | | * src/data.c (Fsymbol_name): Return a name starting with ':' for keywords.
* Fix printing symbolsGerd Möllmann2022-10-171-5/+7
|
* Fake obarraysGerd Möllmann2022-10-171-41/+74
|
* Fix printing of confusing symbol namesGerd Möllmann2022-10-171-2/+16
|
* Handle packages in completionGerd Möllmann2022-10-171-21/+44
| | | | | | | | * lisp/minibuffer.el (completion-table-with-context): Add packagep case. * src/minibuf.c (Ftry_completion, Fall_completions), Ftest_completion): Take into account that predicate functions used with packages are the same that were used for obarrays.
* intern-soft with ':' trickGerd Möllmann2022-10-162-12/+23
| | | | | | * src/lread.c (Fintern): Move everything to pkg.c * src/pkg.c (pkg_emacs_intern): Handle ':' in symbol names. (pkg_emacs_intern_soft): Ditto.
* Mapatoms differentlyGerd Möllmann2022-10-163-11/+24
| | | | | Also, assume that in some cases, (intern ":xy") means that old code wants to intern a keyword.
* Workaround for something Stefan missedGerd Möllmann2022-10-161-3/+18
| | | | | | | See comment there for an explanation. * src/alloc.c (xmake_pure_vector): Former make_pure_vector. (init_vectors): Use it to allocate zero_vecgtor.
* src/alloc.c: Remove all uses of `pure_alloc`Stefan Monnier2022-10-161-258/+40
| | | | | | | | | | | | | | | | | First step of removal of the purespace: stop using it. The more delicate parts are the handling of 0-length strings and vectors which we used to allocate in purespace but now need to be allocated elsewhere, but the existing code makes us work harder to allocate them in the normal way. * src/alloc.c: Remove all uses of `pure_alloc`. (init_strings): Alloc empty strings in the normal heap. (init_vectors): Allocate the zero_vector in the normal heap. (make_pure_string, make_pure_c_string, pure_cons): Rewrite to create normal heap objects. (find_string_data_in_pure, make_pure_float, make_pure_bignum) (make_pure_vector, purecopy_hash_table): Delete functions. (purecopy): Return without purecopying.
* Use build_pure_c_stringGerd Möllmann2022-10-151-4/+5
| | | | | * src/pkg.c (init_pkg_once): Use build_pure_c_string instead of build_string.
* BlablaGerd Möllmann2022-10-152-6/+0
| | | | | | * src/lread.c (Fintern): Remove comment. * src/pkg.c (pkg_emacs_intern_soft): Don't assume *package* if a vector was passed in for a package. Assert instead elsewhere.
* Remove Lisp_Symbol::next pointerGerd Möllmann2022-10-153-21/+18
| | | | | | | | * src/lisp.h (struct Lisp_Symbol): Remvoe next field. (next_free_symbol, set_next_free_symbol): New. (set_symbol_next): Remove. * src/alloc.c (init_symbol): symbol_free_list done differently. * src/pdumper.c (dump_symbol): Don't dump Lisp_Symbol::next.
* Remove obarraysGerd Möllmann2022-10-157-361/+176
| | | | | | | | | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-message-commands): Make a package instead of an obarray-vector. * src/doc.c (Fsnarf_documentation): Don't use oblookup. * src/eval.c (Fsignal): Debuggin helper code. * src/font.c (font_intern_prop): Don't use oblookup. * src/lisp.h (intern_c_string): Delete inline function, use the one in fread.c. * src/lread.c: Remove everything realted to obarray, except Vobarray, which is now set to Vemacs_package. * src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion): Accept packages. * src/pkg.c: Adapted to other changes.
* Initialize package system earlierGerd Möllmann2022-10-144-146/+109
|
* Mapping over symbols in a package, mapatomsGerd Möllmann2022-10-143-12/+14
|
* Don't register packages in make-packageGerd Möllmann2022-10-142-13/+24
|
* Remove Lisp_Symbol::internedGerd Möllmann2022-10-145-37/+2
|
* Can now pdumg withput warnings from cl-defstructGerd Möllmann2022-10-143-43/+45
|
* Can now pdumpGerd Möllmann2022-10-133-111/+144
|
* More symbol readingGerd Möllmann2022-10-121-24/+35
|
* Intern keywords differentlyGerd Möllmann2022-10-124-10/+42
| | | | | Instead of something like (intern (format ":%s" ...)) do (intern (format "%s" :keyword). Likewise in C.
* And more fixesGerd Möllmann2022-10-113-223/+65
|
* Fixing stuffGerd Möllmann2022-10-113-33/+171
|
* Check for keywords differentlyGerd Möllmann2022-10-103-37/+36
|