[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/no-purespace bb64e9464c5 34/41: Remove purespace fix from cl-pre
From: |
Stefan Kangas |
Subject: |
scratch/no-purespace bb64e9464c5 34/41: Remove purespace fix from cl-preloaded.el |
Date: |
Thu, 12 Dec 2024 16:57:52 -0500 (EST) |
branch: scratch/no-purespace
commit bb64e9464c584bace441f60678b80f41ddc6e2a3
Author: Stefan Kangas <stefankangas@gmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>
Remove purespace fix from cl-preloaded.el
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Remove fix for
purespace. This effectively reverts Stefan Monnier's commit
e785c74d3a88.
---
lisp/emacs-lisp/cl-preloaded.el | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index 7432cd6e4ce..f693b277a60 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -183,20 +183,7 @@
(add-to-list 'current-load-list `(define-type . ,name))
(cl--struct-register-child parent-class tag)
(unless (or (eq named t) (eq tag name))
- ;; We used to use `defconst' instead of `set' but that
- ;; has a side-effect of purecopying during the dump, so that the
- ;; class object stored in the tag ends up being a *copy* of the
- ;; one stored in the `cl--class' property! We could have fixed
- ;; this needless duplication by using the purecopied object, but
- ;; that then breaks down a bit later when we modify the
- ;; cl-structure-class class object to close the recursion
- ;; between cl-structure-object and cl-structure-class (because
- ;; modifying purecopied objects is not allowed. Since this is
- ;; done during dumping, we could relax this rule and allow the
- ;; modification, but it's cumbersome).
- ;; So in the end, it's easier to just avoid the duplication by
- ;; avoiding the use of the purespace here.
- (set tag class)
+ (eval `(defconst ,tag ',class) t)
;; In the cl-generic support, we need to be able to check
;; if a vector is a cl-struct object, without knowing its particular
type.
;; So we use the (otherwise) unused function slots of the tag symbol
- scratch/no-purespace 647f6aa4c06 13/41: Pure storage removal: Bump nativecomp ABI, (continued)
- scratch/no-purespace 647f6aa4c06 13/41: Pure storage removal: Bump nativecomp ABI, Stefan Kangas, 2024/12/12
- scratch/no-purespace 1de87314c4c 19/41: Make bindings--define-key obsolete, Stefan Kangas, 2024/12/12
- scratch/no-purespace c951fd415cd 21/41: Avoid compiler warning in process_mark_stack, Stefan Kangas, 2024/12/12
- scratch/no-purespace 538a2428983 22/41: Remove purecopy calls from files.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace d121953b971 24/41: Don't call purecopy in common-win.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace a4e38cc3753 25/41: Don't call purecopy in bindings.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace 04408e198f1 26/41: Don't call purecopy in progmodes/*.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace b0afe306b74 30/41: Don't call purecopy in dnd.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace 8bd246d87ea 29/41: Don't call purecopy in vc/*.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace 5afc2733546 32/41: Don't call purecopy in mouse.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace bb64e9464c5 34/41: Remove purespace fix from cl-preloaded.el,
Stefan Kangas <=
- scratch/no-purespace e7926ab4860 40/41: Delete variable pure-space-overflow, Stefan Kangas, 2024/12/12
- scratch/no-purespace 28dadb6f10a 41/41: Mark pure-bytes-used as obsolete, Stefan Kangas, 2024/12/12
- scratch/no-purespace 0e37b11e659 16/41: Unexec removal: Documentation adjustments, Stefan Kangas, 2024/12/12
- scratch/no-purespace 5b471384d18 18/41: Purecopy removal: Lisp code, Stefan Kangas, 2024/12/12
- scratch/no-purespace 00a1152fad5 20/41: Update pdumper hashes, Stefan Kangas, 2024/12/12
- scratch/no-purespace e44b1bf5cca 27/41: Don't call purecopy in textmodes/*.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace a54ff8c18fa 17/41: Unexec removal: Build system, Stefan Kangas, 2024/12/12
- scratch/no-purespace 065b6f2fa7a 28/41: Don't call purecopy in help-mode.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace 833037fadd3 23/41: Don't call purecopy in international/*.el, Stefan Kangas, 2024/12/12
- scratch/no-purespace 8da7086be6d 31/41: Don't call purecopy in emacs-lisp/*.el, Stefan Kangas, 2024/12/12