Don't change byte-compile-delete-errors at runtime (Bug#27340)

* lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
time.
This commit is contained in:
Noam Postavsky 2017-06-16 07:43:29 -04:00
parent 4bd4df4047
commit c75eb1030f

View file

@ -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