emacs/lisp/emacs-lisp
Noam Postavsky 5f01af6c8e Use plain symbols for eieio type descriptors (Bug#29220)
Since Emacs 26, eieio objects use a class record (with circular
references) as the type descriptor of the object record.  This causes
problems when reading back an object from a string, because the class
record is not `eq' to the canonical one (which means that read objects
don't satisfy the foo-p predicate).
* lisp/emacs-lisp/eieio.el (make-instance): As a (partial) fix, set
the record's type descriptor to a plain symbol for the type descriptor
when eieio-backward-compatibility is non-nil (the default).
* lisp/emacs-lisp/eieio-core.el (eieio--object-class): Call
eieio--class-object on the type tag when eieio-backward-compatibility
is non-nil.
(eieio-object-p): Use eieio--object-class instead of
eieio--object-class-tag.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
(eieio-test-persist-hash-and-vector)
(eieio-test-persist-interior-lists): Make into functions.
(eieio-persist-hash-and-vector-backward-compatibility)
(eieio-persist-hash-and-vector-no-backward-compatibility)
(eieio-test-persist-interior-lists-backward-compatibility)
(eieio-test-persist-interior-lists-no-backward-compatibility): New
tests which call them, eieio-backward-compatibility let-bound.
2019-05-30 18:46:07 -04:00
..
advice.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
autoload.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
avl-tree.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
backquote.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
benchmark.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
bindat.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
byte-opt.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
byte-run.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
bytecomp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cconv.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
chart.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
check-declare.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
checkdoc.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-extra.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-generic.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-indent.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-lib.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-macs.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-preloaded.el Fix copyright years by hand 2019-01-01 01:02:40 +00:00
cl-print.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl-seq.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cl.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
copyright.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
crm.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
cursor-sensor.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
debug.el * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix. (Bug#34518) 2019-02-18 19:13:04 +02:00
derived.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
disass.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
easy-mmode.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
easymenu.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
edebug.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio-base.el Fix incorrect cloning of eieio-instance-inheritor objects (Bug#34840) 2019-05-08 11:12:29 +02:00
eieio-compat.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio-core.el Use plain symbols for eieio type descriptors (Bug#29220) 2019-05-30 18:46:07 -04:00
eieio-custom.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio-datadebug.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio-opt.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio-speedbar.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
eieio.el Use plain symbols for eieio type descriptors (Bug#29220) 2019-05-30 18:46:07 -04:00
eldoc.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
elint.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
elp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ert-x.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ert.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ewoc.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
find-func.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
float-sup.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
generator.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
generic.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
gv.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
helper.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
inline.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
let-alist.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
lisp-mnt.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
lisp-mode.el Be more careful about indent-sexp going over eol (Bug#35286) 2019-04-22 12:49:36 -04:00
lisp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
macroexp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
map-ynp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
map.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
nadvice.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
package-x.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
package.el Fix downloading updates for packages with non-ASCII descriptions 2019-03-19 13:16:50 +02:00
pcase.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
pp.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
radix-tree.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
re-builder.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
regexp-opt.el Fix a typo in the doc string of 'regex-opt' 2019-02-22 10:12:14 +02:00
regi.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
ring.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
rmc.el Avoid infloop in read-multiple-choice (Bug#32257) 2019-05-26 08:46:30 -04:00
rx.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
seq.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
shadow.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
smie.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
subr-x.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
syntax.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
tabulated-list.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
tcover-ses.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
tcover-unsafep.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
testcover.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
thunk.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
timer-list.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
timer.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
tq.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
trace.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
unsafep.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00
warnings.el Update copyright year to 2019 2019-01-01 01:01:13 +00:00