mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-26 10:49:33 +00:00
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
avoid build failure.
This commit is contained in:
parent
4e182dce20
commit
1ca6dea083
@ -2672,17 +2672,19 @@ non-nil value, that slot cannot be set via `setf'.
|
||||
(let ((accessor (intern (format "%s%s" conc-name slot))))
|
||||
(push slot slots)
|
||||
(push (nth 1 desc) defaults)
|
||||
(push `(cl-defsubst ,accessor (x)
|
||||
,(format "Access slot \"%s\" of `%s' struct X."
|
||||
;; The arg "cl-x" is referenced by name in eg pred-form
|
||||
;; and pred-check, so changing it is not straightforward.
|
||||
(push `(cl-defsubst ,accessor (cl-x)
|
||||
,(format "Access slot \"%s\" of `%s' struct CL-X."
|
||||
slot struct)
|
||||
(declare (side-effect-free t))
|
||||
,@(and pred-check
|
||||
(list `(or ,pred-check
|
||||
(signal 'wrong-type-argument
|
||||
(list ',name x)))))
|
||||
,(if (memq type '(nil vector)) `(aref x ,pos)
|
||||
(if (= pos 0) '(car x)
|
||||
`(nth ,pos x))))
|
||||
(list ',name cl-x)))))
|
||||
,(if (memq type '(nil vector)) `(aref cl-x ,pos)
|
||||
(if (= pos 0) '(car cl-x)
|
||||
`(nth ,pos cl-x))))
|
||||
forms)
|
||||
(if (cadr (memq :read-only (cddr desc)))
|
||||
(push `(gv-define-expander ,accessor
|
||||
|
Loading…
Reference in New Issue
Block a user