diff options
| author | Noam Postavsky | 2017-06-16 07:43:29 -0400 |
|---|---|---|
| committer | Noam Postavsky | 2017-06-24 10:12:53 -0400 |
| commit | c75eb1030fbb606765cc8a5e5ecbab4a9cf435ed (patch) | |
| tree | e2fef162f27d40c40f7bb9a8acf928bce0f1c483 | |
| parent | 4bd4df40471f42d56e26af9ee62d7a52653ae82a (diff) | |
| download | emacs-c75eb1030fbb606765cc8a5e5ecbab4a9cf435ed.tar.gz emacs-c75eb1030fbb606765cc8a5e5ecbab4a9cf435ed.zip | |
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.el | 10 |
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: | |||
| 84 | (progn | 84 | (progn |
| 85 | ;; Arrange for field access not to bother checking if the access is indeed | 85 | ;; Arrange for field access not to bother checking if the access is indeed |
| 86 | ;; made to an eieio--class object. | 86 | ;; made to an eieio--class object. |
| 87 | (cl-declaim (optimize (safety 0))) | 87 | (eval-when-compile (cl-declaim (optimize (safety 0)))) |
| 88 | 88 | ||
| 89 | (cl-defstruct (eieio--class | 89 | (cl-defstruct (eieio--class |
| 90 | (:constructor nil) | 90 | (:constructor nil) |
| @@ -103,8 +103,12 @@ Currently under control of this var: | |||
| 103 | options ;; storage location of tagged class option | 103 | options ;; storage location of tagged class option |
| 104 | ; Stored outright without modifications or stripping | 104 | ; Stored outright without modifications or stripping |
| 105 | ) | 105 | ) |
| 106 | ;; Set it back to the default value. | 106 | ;; Set it back to the default value. NOTE: Using the default |
| 107 | (cl-declaim (optimize (safety 1)))) | 107 | ;; `safety' value does NOT give the default |
| 108 | ;; `byte-compile-delete-errors' value. Therefore limit this (and | ||
| 109 | ;; the above `cl-declaim') to compile time so that we don't affect | ||
| 110 | ;; code which only loads this library. | ||
| 111 | (eval-when-compile (cl-declaim (optimize (safety 1))))) | ||
| 108 | 112 | ||
| 109 | 113 | ||
| 110 | (eval-and-compile | 114 | (eval-and-compile |