[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/no-purespace 5b471384d18 18/41: Purecopy removal: Lisp code
From: |
Stefan Kangas |
Subject: |
scratch/no-purespace 5b471384d18 18/41: Purecopy removal: Lisp code |
Date: |
Thu, 12 Dec 2024 16:57:49 -0500 (EST) |
branch: scratch/no-purespace
commit 5b471384d1805bfb9e78314f8cb1f4d09aa378f7
Author: Pip Cet <pipcet@protonmail.com>
Commit: Stefan Kangas <stefankangas@gmail.com>
Purecopy removal: Lisp code
* lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): Don't
request our hash tables be purecopied. Adjust comment.
* lisp/progmodes/elisp-mode.el (elisp--local-variables-completion-table):
Use 'defconst' rather than 'defvar' now the purespace problem is gone
* lisp/rfn-eshadow.el (file-name-shadow-properties): Remove obsolete
comment.
---
lisp/emacs-lisp/bytecomp.el | 3 +--
lisp/progmodes/elisp-mode.el | 6 +-----
lisp/rfn-eshadow.el | 1 -
3 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index f058fc48cc7..11f2ffa6063 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -4640,13 +4640,12 @@ Return (TAIL VAR TEST CASES), where:
cases))))
(setq jump-table (make-hash-table
:test test
- :purecopy t
:size nvalues)))
(setq default-tag (byte-compile-make-tag))
;; The structure of byte-switch code:
;;
;; varref var
- ;; constant #s(hash-table purecopy t data (val1 (TAG1) val2 (TAG2)))
+ ;; constant #s(hash-table data (val1 (TAG1) val2 (TAG2)))
;; switch
;; goto DEFAULT-TAG
;; TAG1
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el
index 2b6d9d2b8bb..c24a1f4672b 100644
--- a/lisp/progmodes/elisp-mode.el
+++ b/lisp/progmodes/elisp-mode.el
@@ -489,11 +489,7 @@ use of `macroexpand-all' as a way to find the \"underlying
raw code\".")
var))
vars))))))
-(defvar elisp--local-variables-completion-table
- ;; Use `defvar' rather than `defconst' since defconst would purecopy this
- ;; value, which would doubly fail: it would fail because purecopy can't
- ;; handle the recursive bytecode object, and it would fail because it would
- ;; move `lastpos' and `lastvars' to pure space where they'd be immutable!
+(defconst elisp--local-variables-completion-table
(let ((lastpos nil) (lastvars nil))
(letrec ((hookfun (lambda ()
(setq lastpos nil)
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 5cf483bf0b1..c1e0e3da22b 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -92,7 +92,6 @@
(sexp :tag "Value")))))
(defcustom file-name-shadow-properties
- ;; FIXME: should we purecopy this?
'(face file-name-shadow field shadow)
"Properties given to the `shadowed' part of a filename in the minibuffer.
Only used when `file-name-shadow-mode' is active.
- scratch/no-purespace d121953b971 24/41: Don't call purecopy in common-win.el, (continued)
- 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, 2024/12/12
- 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 <=
- 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
- scratch/no-purespace d6aeb1a2606 33/41: Delete remaining calls to purecopy, Stefan Kangas, 2024/12/12
- scratch/no-purespace 892be3b3d7a 35/41: Remove check for working malloc_set_state, Stefan Kangas, 2024/12/12
- scratch/no-purespace ad9adab0428 36/41: Remove unused function my_heap_start, Stefan Kangas, 2024/12/12
- scratch/no-purespace 52dcc032067 37/41: Delete workaround for purespace in cl-generic, Stefan Kangas, 2024/12/12