summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/oclosure.el
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-03-29 13:58:40 +0800
committerPo Lu <luangruo@yahoo.com>2022-03-29 13:58:40 +0800
commit55932a65ed719d4277e0e781ca5e323b189d7f63 (patch)
tree320d4c9421b785a7147a2fdb9076efe5e1c3e808 /lisp/emacs-lisp/oclosure.el
parentd96db7b2e8c35ec2970d12c96e2328b684626f24 (diff)
downloademacs-55932a65ed719d4277e0e781ca5e323b189d7f63.tar.gz
emacs-55932a65ed719d4277e0e781ca5e323b189d7f63.tar.bz2
emacs-55932a65ed719d4277e0e781ca5e323b189d7f63.zip
Temporarily fix the oclosure bootstrap
* lisp/emacs-lisp/oclosure.el (oclosure-define): Load oclosure from source if `oclosure--define' is not defined during byte compilation.
Diffstat (limited to 'lisp/emacs-lisp/oclosure.el')
-rw-r--r--lisp/emacs-lisp/oclosure.el2
1 files changed, 2 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/oclosure.el b/lisp/emacs-lisp/oclosure.el
index 3d17c6c668c..0c504e5d821 100644
--- a/lisp/emacs-lisp/oclosure.el
+++ b/lisp/emacs-lisp/oclosure.el
@@ -248,6 +248,8 @@ list of slot properties. The currently known properties are the following:
,(when options (macroexp-warn-and-return name
(format "Ignored options: %S" options)
nil))
+ (eval-when-compile (unless (fboundp 'oclosure--define)
+ (load "oclosure.el")))
(eval-and-compile
(oclosure--define ',name ,docstring ',parent-names ',slots
,@(when predicate `(:predicate ',predicate))))