summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2017-06-16 07:43:29 -0400
committerNoam Postavsky <npostavs@gmail.com>2017-06-24 10:12:53 -0400
commitc75eb1030fbb606765cc8a5e5ecbab4a9cf435ed (patch)
treee2fef162f27d40c40f7bb9a8acf928bce0f1c483
parent4bd4df40471f42d56e26af9ee62d7a52653ae82a (diff)
downloademacs-c75eb1030fbb606765cc8a5e5ecbab4a9cf435ed.tar.gz
Don't change byte-compile-delete-errors at runtime (Bug#27340)
* lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile time.
-rw-r--r--lisp/emacs-lisp/eieio-core.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/eieio-core.el b/lisp/emacs-lisp/eieio-core.el
index dfe1c06bfaf..9d618e1dc81 100644
--- a/lisp/emacs-lisp/eieio-core.el
+++ b/lisp/emacs-lisp/eieio-core.el
@@ -84,7 +84,7 @@ Currently under control of this var:
(progn
;; Arrange for field access not to bother checking if the access is indeed
;; made to an eieio--class object.
- (cl-declaim (optimize (safety 0)))
+ (eval-when-compile (cl-declaim (optimize (safety 0))))
(cl-defstruct (eieio--class
(:constructor nil)
@@ -103,8 +103,12 @@ Currently under control of this var:
options ;; storage location of tagged class option
; Stored outright without modifications or stripping
)
- ;; Set it back to the default value.
- (cl-declaim (optimize (safety 1))))
+ ;; Set it back to the default value. NOTE: Using the default
+ ;; `safety' value does NOT give the default
+ ;; `byte-compile-delete-errors' value. Therefore limit this (and
+ ;; the above `cl-declaim') to compile time so that we don't affect
+ ;; code which only loads this library.
+ (eval-when-compile (cl-declaim (optimize (safety 1)))))
(eval-and-compile