]> git.eshelyaron.com Git - emacs.git/commit
lisp/emacs-lisp/oclosure.el: Signal errors for invalid code
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 21 Dec 2021 14:57:34 +0000 (09:57 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 21 Dec 2021 14:57:34 +0000 (09:57 -0500)
commit230617c90cf97285b554cc85de135a46b7587a4d
tree1270e550b34d983bca07f3b9ffabd303d824735f
parente9cfab679d3fe449e12d3557db7bf6628ee0b971
lisp/emacs-lisp/oclosure.el: Signal errors for invalid code

* test/lisp/emacs-lisp/oclosure-tests.el (oclosure-tests): Remove left-over
debugging messages.
(oclosure-tests--limits): New test.

* lisp/emacs-lisp/oclosure.el (oclosure-define): Fill the `index-table` and
signal an error in case of duplicate slot names.
(oclosure-lambda): Change use of `oclosure--fix-type` so `cconv-convert` can use
it to detect store-converted slots.  Tweak generated code to avoid
a warning.
(oclosure--fix-type): Adjust accordingly.

* lisp/emacs-lisp/cconv.el (cconv-convert): Signal an error if we
store-convert a OClosure slot.
lisp/emacs-lisp/cconv.el
lisp/emacs-lisp/oclosure.el
test/lisp/emacs-lisp/cconv-tests.el
test/lisp/emacs-lisp/oclosure-tests.el