summaryrefslogtreecommitdiff
path: root/lisp/subr.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/subr.el')
-rw-r--r--lisp/subr.el10
1 files changed, 5 insertions, 5 deletions
diff --git a/lisp/subr.el b/lisp/subr.el
index a5e66de27de..701c26f8cd8 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -6911,11 +6911,11 @@ sentence (see Info node `(elisp) Documentation Tips')."
(defun json-available-p ()
"Return non-nil if Emacs has libjansson support."
- (and (fboundp 'json-serialize)
- (condition-case nil
- (json-serialize t)
- (:success t)
- (json-unavailable nil))))
+ (declare (side-effect-free error-free))
+ (and (eval-when-compile (fboundp 'json-serialize))
+ ;; If `json--available-p' is present, we need to call it at run-time.
+ (or (not (eval-when-compile (fboundp 'json--available-p)))
+ (json--available-p))))
(defun ensure-list (object)
"Return OBJECT as a list.