From: Mattias EngdegÄrd Date: Sun, 31 Jul 2022 13:45:16 +0000 (+0200) Subject: Declare `key-valid-p` and `readablep` as error-free X-Git-Tag: emacs-29.0.90~1447^2~598 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f5cd6b730dd04390fcbcfe45f7462026f16ae78e;p=emacs.git Declare `key-valid-p` and `readablep` as error-free * lisp/keymap.el (key-valid-p): * lisp/subr.el (readablep): These functions are effect-free; declare them correspondingly. Note that readablep is not pure since its return value depends on ambient state. --- diff --git a/lisp/keymap.el b/lisp/keymap.el index ad7d4fbbba1..376a30f1065 100644 --- a/lisp/keymap.el +++ b/lisp/keymap.el @@ -313,7 +313,7 @@ Modifiers have to be specified in this order: which is Alt-Control-Hyper-Meta-Shift-super" - (declare (pure t) (side-effect-free t)) + (declare (pure t) (side-effect-free error-free)) (let ((case-fold-search nil)) (and (stringp keys) diff --git a/lisp/subr.el b/lisp/subr.el index 1a16d781174..ff82d0d1d8d 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -6820,7 +6820,7 @@ This means that OBJECT can be printed out and then read back again by the Lisp reader. This function returns nil if OBJECT is unreadable, and the printed representation (from `prin1') of OBJECT if it is readable." - (declare (side-effect-free t)) + (declare (side-effect-free error-free)) (catch 'unreadable (let ((print-unreadable-function (lambda (_object _escape)