diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-03-24 09:21:52 -0400 |
---|---|---|
committer | Lars Brinkhoff <lars@nocrew.org> | 2017-03-30 18:31:27 +0200 |
commit | 390612eb7ab8ccf0792fda7c48b7056c5cda9b06 (patch) | |
tree | 71766520a963d9c970cd72e8a2022302661a9f94 /lisp/emacs-lisp/cl-macs.el | |
parent | 43cb754a3109ac9afaeab1f08e35673b078a7a09 (diff) | |
download | emacs-scratch/record.tar.gz |
Backward compatibility with pre-existing struct instances.scratch/record
* lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
(cl-old-struct-compat-mode): New minor mode.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
cl-struct-define to signal use of record objects.
* lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
cl-struct-define): Enable legacy defstruct compatibility.
* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
old-struct): New tests.
* doc/lispref/elisp.texi, doc/lispref/records.texi: Document
`old-struct-compat'.
Diffstat (limited to 'lisp/emacs-lisp/cl-macs.el')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index c282938a9bf..25c9f999920 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -2847,8 +2847,8 @@ non-nil value, that slot cannot be set via `setf'. ;; struct as a parent. (eval-and-compile (cl-struct-define ',name ,docstring ',include-name - ',type ,(eq named t) ',descs ',tag-symbol ',tag - ',print-auto)) + ',(or type 'record) ,(eq named t) ',descs + ',tag-symbol ',tag ',print-auto)) ',name))) ;;; Add cl-struct support to pcase |