1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-13 23:10:26 -08:00
emacs/test/src
Mattias Engdegård 890edfd2bb New JSON encoder (bug#70007)
It is in general at least 2x faster than the old encoder and does not
depend on any external library.  Using our own code also gives us
control over translation details: for example, we now have full
bignum support and tighter float formatting.

* src/json.c (json_delete, json_initialized, init_json_functions)
(json_malloc, json_free, init_json, json_out_of_memory)
(json_releae_object, check_string_without_embedded_nulls, json_check)
(json_check_utf8, lisp_to_json_nonscalar_1, lisp_to_json_nonscalar)
(lisp_to_json, json_available_p, ensure_json_available, json_insert)
(json_handle_nonlocal_exit, json_insert_callback):
Remove.  Remaining uses updated.
* src/json.c (json_out_t, symset_t, struct symset_tbl)
(symset_size, make_symset_table, push_symset, pop_symset)
(cleanup_symset_tables, symset_hash, symset_expand, symset_add)
(json_out_grow_buf, cleanup_json_out, json_make_room, JSON_OUT_STR)
(json_out_str, json_out_byte, json_out_fixnum, string_not_unicode)
(json_plain_char, json_out_string, json_out_nest, json_out_unnest)
(json_out_object_cons, json_out_object_hash), json_out_array)
(json_out_float, json_out_bignum, json_out_something)
(json_out_to_string, json_serialize): New.
(Fjson_serialize, Fjson_insert):
New JSON encoder implementation.
* test/src/json-tests.el (json-serialize/object-with-duplicate-keys)
(json-serialize/string): Update tests.
2024-03-30 14:45:53 +01:00
..
comp-resources Fix native compilation for circular immediates (bug#67883) 2024-03-24 12:16:11 +01:00
emacs-module-resources Be more systematic about parens in C source code 2024-01-20 17:28:53 -08:00
lread-resources Make force-load-doc-strings work again 2022-08-07 10:25:03 +02:00
regex-resources * src/regex-emacs.c (analyze_first): Fix incorrect optimization 2023-09-27 13:29:50 -04:00
syntax-resources
alloc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
buffer-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
callint-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
callproc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
casefiddle-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
character-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
charset-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
chartab-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
cmds-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
coding-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
comp-tests.el Fix native comp prediction on null functionp tested objects 2024-03-26 11:14:08 +01:00
data-tests.el cl-preloaded.el: Partly revert last change 2024-03-26 17:27:29 -04:00
decompress-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
doc-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
editfns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
emacs-module-tests.el Fix recent test regressions 2024-03-22 18:44:54 -04:00
emacs-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
eval-tests.el * test/src/eval-tests.el (eval-tests/default-value): Add new test case. 2024-02-19 15:12:42 +02:00
fileio-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
filelock-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
floatfns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
fns-tests.el New sort keyword arguments (bug#69709) 2024-03-29 11:39:38 +01:00
font-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
image-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
indent-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
inotify-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
json-tests.el New JSON encoder (bug#70007) 2024-03-30 14:45:53 +01:00
keyboard-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
keymap-tests.el * lisp/keymap.el (define-keymap): Demote "duplicate def" to a warning 2024-01-20 15:03:05 -05:00
lcms-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
lread-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
marker-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
minibuf-tests.el Use obarray-make instead of make-vector to create obarrays 2024-02-23 13:02:27 +01:00
print-tests.el * src/print.c (print_object): Don't print empty hash-table data 2024-01-13 20:50:37 +01:00
process-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
regex-emacs-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
search-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
sqlite-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
syntax-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
textprop-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
thread-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
timefns-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
treesit-tests.el Merge from origin/emacs-29 2024-02-10 05:07:56 -05:00
undo-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xdisp-tests.el Merge from savannah/emacs-29 2024-01-02 10:28:14 +08:00
xfaces-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00
xml-tests.el ; Add 2024 to copyright years 2024-01-02 09:47:10 +08:00