diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2021-07-20 14:47:07 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2021-07-20 14:47:07 +0200 |
commit | aa8859d0cb94358cf81d3811953876261512b7eb (patch) | |
tree | f8a6e19d15327734b8812da53c387a877a6c7c74 /src/json.c | |
parent | 7edbcb3648e9d08a4ccc291f672f831b4f07eb5c (diff) | |
download | emacs-aa8859d0cb94358cf81d3811953876261512b7eb.tar.gz emacs-aa8859d0cb94358cf81d3811953876261512b7eb.tar.bz2 emacs-aa8859d0cb94358cf81d3811953876261512b7eb.zip |
Signal an error in json.c function if not available
* src/json.c (Fjson_serialize, Fjson_insert)
(Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal
`json-unavailable' if jansson isn't available (bug#48228).
Diffstat (limited to 'src/json.c')
-rw-r--r-- | src/json.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/src/json.c b/src/json.c index 3f1d27ad7fb..b0779b912a8 100644 --- a/src/json.c +++ b/src/json.c @@ -595,10 +595,8 @@ usage: (json-serialize OBJECT &rest ARGS) */) Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache); } if (!json_initialized) - { - message1 ("jansson library not found"); - return Qnil; - } + Fsignal (Qjson_unavailable, + list1 (build_unibyte_string ("jansson library not found"))); #endif struct json_configuration conf = @@ -706,10 +704,8 @@ usage: (json-insert OBJECT &rest ARGS) */) Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache); } if (!json_initialized) - { - message1 ("jansson library not found"); - return Qnil; - } + Fsignal (Qjson_unavailable, + list1 (build_unibyte_string ("jansson library not found"))); #endif struct json_configuration conf = @@ -965,10 +961,8 @@ usage: (json-parse-string STRING &rest ARGS) */) Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache); } if (!json_initialized) - { - message1 ("jansson library not found"); - return Qnil; - } + Fsignal (Qjson_unavailable, + list1 (build_unibyte_string ("jansson library not found"))); #endif Lisp_Object string = args[0]; @@ -1064,10 +1058,8 @@ usage: (json-parse-buffer &rest args) */) Vlibrary_cache = Fcons (Fcons (Qjson, status), Vlibrary_cache); } if (!json_initialized) - { - message1 ("jansson library not found"); - return Qnil; - } + Fsignal (Qjson_unavailable, + list1 (build_unibyte_string ("jansson library not found"))); #endif struct json_configuration conf = @@ -1129,6 +1121,7 @@ syms_of_json (void) DEFSYM (Qjson_end_of_file, "json-end-of-file"); DEFSYM (Qjson_trailing_content, "json-trailing-content"); DEFSYM (Qjson_object_too_deep, "json-object-too-deep"); + DEFSYM (Qjson_unavailable, "json-unavailable"); define_error (Qjson_error, "generic JSON error", Qerror); define_error (Qjson_out_of_memory, "not enough memory for creating JSON object", Qjson_error); |