]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 weeks agolisp/progmodes/csharp-mode.el: Fix fontification of typeof (bug#75406).
Jostein Kjønigsen [Mon, 6 Jan 2025 14:08:36 +0000 (15:08 +0100)]
lisp/progmodes/csharp-mode.el: Fix fontification of typeof (bug#75406).

(cherry picked from commit 0ef78b131b4e232f064e370699a7ae2413715a44)

2 weeks ago; Skip commit 3a5aba81ca0739ff3f877a77c41cc0cd5a3c8fc7
Eshel Yaron [Mon, 3 Feb 2025 11:13:35 +0000 (12:13 +0100)]
; Skip commit 3a5aba81ca0739ff3f877a77c41cc0cd5a3c8fc7

2 weeks ago; Skip commit ba2719389515cee54874588d76b9244c17f568d5
Eshel Yaron [Mon, 3 Feb 2025 11:13:23 +0000 (12:13 +0100)]
; Skip commit ba2719389515cee54874588d76b9244c17f568d5

2 weeks ago; Skip commit 89eac993c76b58384e1e5d5ffb7402a8bcdb6290
Eshel Yaron [Mon, 3 Feb 2025 11:13:09 +0000 (12:13 +0100)]
; Skip commit 89eac993c76b58384e1e5d5ffb7402a8bcdb6290

2 weeks ago(defcustom): Improve doc of `:group`
Stefan Monnier [Sat, 1 Feb 2025 11:07:24 +0000 (06:07 -0500)]
(defcustom): Improve doc of `:group`

* lisp/custom.el (defcustom): Mention the use of a default group and
the fact that `:group` can be repeated.

(cherry picked from commit 4aa53f293455e690a9aa07eac13011020b887e0e)

2 weeks agoNew user option 'Buffer-menu-human-readable-sizes'
Pengji Zhang [Mon, 27 Jan 2025 11:42:00 +0000 (19:42 +0800)]
New user option 'Buffer-menu-human-readable-sizes'

* lisp/buff-menu.el (Buffer-menu-human-readable-sizes): New user
option.
(list-buffers--refresh): Use it.
* etc/NEWS: Announce the new user option.  (Bug#75825)

(cherry picked from commit f40aff4c5d2d8dc83074addc568abcdf564e6b01)

2 weeks ago; Skip commit ed0ca7c23e60696148b986ac15fb20e40aec7dea
Eshel Yaron [Mon, 3 Feb 2025 11:12:29 +0000 (12:12 +0100)]
; Skip commit ed0ca7c23e60696148b986ac15fb20e40aec7dea

2 weeks agoAdd new user option bookmark-bmenu-type-column-width
shipmints [Mon, 27 Jan 2025 16:16:04 +0000 (11:16 -0500)]
Add new user option bookmark-bmenu-type-column-width

* lisp/bookmark.el (bookmark-bmenu-mode):
Add new user option bookmark-bmenu-type-column-width, defaulting to 8
for backwards compatibility, and use it when creating the tabulated
bookmark list.  (Bug#75826)

(cherry picked from commit 004600e0142fb6f9c7ab492f855ee9668bb0421e)

2 weeks agoRename a recently-added variable (bug#56197)
Eli Zaretskii [Sat, 1 Feb 2025 10:22:13 +0000 (12:22 +0200)]
Rename a recently-added variable (bug#56197)

* lisp/emacs-lisp/lisp-mode.el
(lisp-fill-paragraphs-as-doc-string): Renamed from
'lisp-fill-paragraph-as-displayed' and default value reversed.
(lisp-fill-paragraph): Adjust to the change.
* test/lisp/emacs-lisp/lisp-mode-tests.el
(lisp-fill-paragraph-as-displayed): Likewise.

(cherry picked from commit e067f2763fd52b78342b5c759205032227e82ebe)

2 weeks ago; Avoid compiler warnings in the MS-Windows build
Eli Zaretskii [Sat, 1 Feb 2025 10:21:51 +0000 (12:21 +0200)]
; Avoid compiler warnings in the MS-Windows build

* src/w32heap.c: Remove unused variables, to avoid compilation
warnings.  This removes variables that were used only in the
unexec build.

(cherry picked from commit 22ab03e155adc4df0623e3ee9c2cc56a228e148a)

2 weeks agoRemove bookmark fringe marks when deleting all bookmarks
Eli Zaretskii [Sat, 1 Feb 2025 09:33:34 +0000 (11:33 +0200)]
Remove bookmark fringe marks when deleting all bookmarks

* lisp/bookmark.el (bookmark-delete-all): Remove fringe marks for
all the bookmarks.  (Bug#75953)

(cherry picked from commit fdc6842a44e76db35432305455a05f2125962a62)

2 weeks agoRevert "Don't use obsolete face variables in lisp-mode.el"
Stefan Kangas [Sat, 1 Feb 2025 04:02:36 +0000 (05:02 +0100)]
Revert "Don't use obsolete face variables in lisp-mode.el"

This reverts commit ba60fa3deaa030eb4815caa8c180ac841709e86a.

(cherry picked from commit a001202b993cf0ef59c46d15fe3f1a011493ad9c)

2 weeks agoImprove wording in symbols.texi
Stefan Kangas [Sat, 1 Feb 2025 03:08:43 +0000 (04:08 +0100)]
Improve wording in symbols.texi

* doc/lispref/symbols.texi (Symbol Components): Improve wording
(Bug#75512).   Reported by Matt Trzcinski <matt@excalamus.com>.

(cherry picked from commit 3bccd04c5c659307231f9e03895d71d26c1d5f8f)

2 weeks agoFix typo in Gnus manual
Manuel Giraud [Fri, 31 Jan 2025 18:25:03 +0000 (19:25 +0100)]
Fix typo in Gnus manual

* doc/misc/gnus.texi (Comparing Mail Back Ends): Fix a missing
verb.  (Bug#75974)

(cherry picked from commit 6441b9ea7af143a882fc1222be345b9260d5bbae)

2 weeks agoImprove typescript-ts-mode fontification (bug#75824)
Jostein Kjønigsen [Wed, 16 Oct 2024 07:52:08 +0000 (09:52 +0200)]
Improve typescript-ts-mode fontification (bug#75824)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--operators): Add syntax-highlighting ??
operator.
(typescript-ts-mode--font-lock-settings): Add "undefined" as
recognized constant.

(cherry picked from commit a4a0957b6b3b1db858524ac6d4dc3d951f65960b)

2 weeks agoeglot: Allow omnisharp binary to be capitalized "OmniSharp"
Damien Cassou [Thu, 30 Jan 2025 20:44:31 +0000 (21:44 +0100)]
eglot: Allow omnisharp binary to be capitalized "OmniSharp"

Some distributors (e.g. nixpkgs) provide a binary "OmniSharp" instead of
"omnisharp", which breaks on case-sensitive file-systems.

* lisp/progmodes/eglot.el (eglot-server-programs): Add "OmniSharp" as a
valid binary name to search for.  (Bug#75954)

(cherry picked from commit 87be3aa1491d5016da8ddb2e896720c53d153643)

2 weeks agoDon’t use garbage after tty_frame_at returns nil
Paul Eggert [Fri, 31 Jan 2025 22:42:33 +0000 (14:42 -0800)]
Don’t use garbage after tty_frame_at returns nil

* src/term.c (handle_one_term_event): Don’t access possibly
uninitialized storage if frame is nil.  This fixes an issue introduced
in commit 5eae7f5227c7789dea45cef26fec17c057024670 dated 2025-01-26
14:43:51 -0800. Issue caught by --enable-gcc-warnings, which enables
-Wanalyzer-use-of-uninitialized-value with gcc (GCC) 14.2.1 20250110
(Red Hat 14.2.1-7).

(cherry picked from commit 3a7809f9cc7214e843c20e3c216933bf8bbcdbb2)

2 weeks agoRevert "Prefer static switch-case checking in pdumper"
Pip Cet [Fri, 31 Jan 2025 22:42:33 +0000 (14:42 -0800)]
Revert "Prefer static switch-case checking in pdumper"

This reverts commit 6e2e7265a04f63f482db7fbdfd8e2519d8bfe03e.

(cherry picked from commit e8ae77e9395162a473c91038019c676f23a19edf)

2 weeks agoRevert "Pacify -Wanalyzer-use-of-uninitialized-value"
Pip Cet [Fri, 31 Jan 2025 22:42:33 +0000 (14:42 -0800)]
Revert "Pacify -Wanalyzer-use-of-uninitialized-value"

This reverts commit 1ed769a3cb753a86badba8a2878fa788a6fdc1f8.

(cherry picked from commit 6cfac8e3a37d7d2812a42fdfba420992208e49df)

2 weeks agoRevert "; * src/pdumper.c (dump_do_fixup): Pacify GCC.
Pip Cet [Fri, 31 Jan 2025 22:42:33 +0000 (14:42 -0800)]
Revert "; * src/pdumper.c (dump_do_fixup): Pacify GCC.

This reverts commit a99ba59aa02ef8cfd314737950b6cd8d97015925.

(cherry picked from commit fa6eb08dc068144281dee0b8d9c0d8bf1aa8a2d7)

2 weeks agoPort dest-mountpoint test to suspicious bwrap
Paul Eggert [Fri, 31 Jan 2025 22:42:33 +0000 (14:42 -0800)]
Port dest-mountpoint test to suspicious bwrap

* test/lisp/emacs-lisp/bytecomp-tests.el:
(bytecomp-tests--dest-mountpoint): Skip test if bwrap prohibits
even ‘true’, which it does on my Ubuntu 24.10 platform.

(cherry picked from commit c1006565184b945aaf5c7d98afe6ee97e6cdb090)

2 weeks agoEglot: add server menu into main menu
João Távora [Fri, 31 Jan 2025 10:31:37 +0000 (10:31 +0000)]
Eglot: add server menu into main menu

* lisp/progmodes/eglot.el (eglot-menu): Add separator at end
and add in eglot-server menu at load-time.
(eglot-server-menu): Rework menu title and description.

(cherry picked from commit bd39ec062d0078c97140b8ad4ddf7c47e6f6e4ee)

2 weeks agoAvoid stack overflow on MS-Windows due to 'make-temp-name'
Eli Zaretskii [Fri, 31 Jan 2025 08:41:28 +0000 (10:41 +0200)]
Avoid stack overflow on MS-Windows due to 'make-temp-name'

* src/fileio.c (Fexpand_file_name) [DOS_NT]: Use 'SAFE_ALLOCA'
instead of 'alloca'.  (Bug#75938)

(cherry picked from commit f54f798588ee5f0b6ba4ebbc1c1b395c19845a2f)

2 weeks agoIn 'replace-buffer-in-windows' try to preserve current buffer (Bug#75949)
Martin Rudalics [Fri, 31 Jan 2025 08:31:05 +0000 (09:31 +0100)]
In 'replace-buffer-in-windows' try to preserve current buffer (Bug#75949)

* lisp/window.el (replace-buffer-in-windows): Preserve current
buffer when 'kill-buffer-quit-windows' is non-nil and a window
showing BUFFER shall be quit.  Running 'kill-buffer-hook' relies
on it (Bug#75949).

(cherry picked from commit 4354cf73d7a5bdd18a5e5b385a06d9d140e8e472)

2 weeks agoAdd new variable tab-bar-format-tab-help-text-function
shipmints [Thu, 30 Jan 2025 17:57:00 +0000 (12:57 -0500)]
Add new variable tab-bar-format-tab-help-text-function

* lisp/tab-bar.el (tab-bar--format-tab):
Add new variable 'tab-bar-format-tab-help-text-function' and a default
function 'tab-bar-format-tab-help-text-default'.  'tab-bar--format-tab'
respects this new variable when producing a tab's help text, normally
shown in the echo area or via tooltips (bug#75950).

(cherry picked from commit f45a776fe3c9160c49fdf21a96d37d2ed780836c)

2 weeks agoAdd treesit-simple-indent-override-rules
Yuan Fu [Fri, 31 Jan 2025 05:16:39 +0000 (21:16 -0800)]
Add treesit-simple-indent-override-rules

* lisp/treesit.el:
(treesit-simple-indent-override-rules): New variable.
(treesit-simple-indent): Try
treesit-simple-indent-override-rules first.
(treesit-add-simple-indent-rules): Mention the new variable.
* etc/NEWS: Update news.

(cherry picked from commit 3479d42406b7952fe22917c14f9e1dd5522d364c)

2 weeks agoAdd treesit-add-simple-indent-rules
Yuan Fu [Fri, 31 Jan 2025 00:54:20 +0000 (16:54 -0800)]
Add treesit-add-simple-indent-rules

* lisp/treesit.el:
(treesit-add-simple-indent-rules): New function.
* etc/NEWS: Update NEWS.
*
test/src/treesit-tests.el:
(treesit-test-add-simple-indent-rules): Add a test for the new
function.

(cherry picked from commit ef28af35bb4c43d71fe4c10d02fe93f30e830c5e)

2 weeks agoDo not set `trusted-content` in major modes
Stefan Kangas [Sun, 26 Jan 2025 13:53:49 +0000 (14:53 +0100)]
Do not set `trusted-content` in major modes

* lisp/progmodes/elisp-mode.el (lisp-interaction-mode):
* lisp/ielm.el (inferior-emacs-lisp-mode): Do not set `trusted-content.
* lisp/ielm.el (ielm):
* lisp/simple.el (get-scratch-buffer-create): Set `trusted-content` here
instead.
* lisp/files.el (trusted-content): Doc fix; warn against setting this
option to :all in a major or mode mode.
Problem reported by Max Nikulin <manikulin@gmail.com>.

(cherry picked from commit 5485ea6aef91c65a0ce300347db3c0ac138ad550)

2 weeks ago* lisp/tab-bar.el (tab-bar-select-tab): Fix wc-bl/wc-bbl when nil
shipmints [Thu, 30 Jan 2025 12:20:34 +0000 (07:20 -0500)]
* lisp/tab-bar.el (tab-bar-select-tab): Fix wc-bl/wc-bbl when nil

Remove the nil-check conditionals around 'wc-bl' and 'wc-bbl' that reset
frame parameters 'buffer-list' and 'buried-buffer-list'. This ensures
originating nil values correctly propagate (bug#75935).

(cherry picked from commit a5965217fc1d7b56df60f8e798edd48ae52c8624)

2 weeks agoAdd new user option tab-bar-define-keys
shipmints [Wed, 29 Jan 2025 18:43:04 +0000 (13:43 -0500)]
Add new user option tab-bar-define-keys

* lisp/tab-bar.el (tab-bar-define-keys):
Add new defcustom tab-bar-define-keys.  Reorganize key binding functions
to accommodate.  Also remove checks for tab-bar-mode enabled in
'tab-bar-select-tab-modifiers', as unnecessary and which prevented user
changes from being accepted in cases where the user defers enabling
tab-bar-mode (bug#75918).

(cherry picked from commit 6c46e2a363195fea338bc89cdc8fa9a46b63e63a)

2 weeks agoAdd abnormal hook tab-bar-post-undo-close-tab-functions
shipmints [Tue, 28 Jan 2025 23:24:15 +0000 (18:24 -0500)]
Add abnormal hook tab-bar-post-undo-close-tab-functions

* lisp/tab-bar.el (tab-bar-undo-close-tab):
Add new abnormal hook tab-bar-post-undo-close-tab-functions (bug#75919).

(cherry picked from commit 815c4dc0e07cfae5398c6145a4b4887b7fa64f42)

2 weeks ago; * lisp/subr.el (sit-for): Doc fix.
Eli Zaretskii [Thu, 30 Jan 2025 09:37:40 +0000 (11:37 +0200)]
; * lisp/subr.el (sit-for): Doc fix.

(cherry picked from commit d11488fd6fb72acd9f9356b95b2f905c59a1095d)

2 weeks ago; Skip commit 0b3e050c6ce07e7b87aaab1185f605a1d8c16ba1
Eshel Yaron [Mon, 3 Feb 2025 11:10:26 +0000 (12:10 +0100)]
; Skip commit 0b3e050c6ce07e7b87aaab1185f605a1d8c16ba1

2 weeks ago; * admin/MAINTAINERS: Prefer "website" to "home page".
Stefan Kangas [Tue, 28 Jan 2025 17:45:52 +0000 (18:45 +0100)]
; * admin/MAINTAINERS: Prefer "website" to "home page".

(cherry picked from commit d0907a43888ea531a94d46d4fdbb45df9a23cc95)

2 weeks ago; * admin/MAINTAINERS: Add CC Mode.
Stefan Kangas [Sun, 26 Jan 2025 21:02:07 +0000 (22:02 +0100)]
; * admin/MAINTAINERS: Add CC Mode.

(cherry picked from commit 6447634f1714cbf4211b682a62915e72c934af6b)

2 weeks agoUpdate cc-mode URL to point to nongnu.org
Stefan Kangas [Sun, 26 Jan 2025 20:57:34 +0000 (21:57 +0100)]
Update cc-mode URL to point to nongnu.org

* doc/misc/cc-mode.texi (Getting Started)
(Custom Filling and Breaking, Updating CC Mode)
(Mailing Lists and Bug Reports):
* lisp/progmodes/cc-mode.el: Update cc-mode URL to point to nongnu.org,
instead of old URL on SourceForge.

(cherry picked from commit 486d5d524ca116a2aaed3069536a2372497551b9)

2 weeks ago; Skip commit 17ef46e849dd1073fc4445834519f983985135fa
Eshel Yaron [Mon, 3 Feb 2025 11:10:00 +0000 (12:10 +0100)]
; Skip commit 17ef46e849dd1073fc4445834519f983985135fa

2 weeks ago; * CONTRIBUTE: Suggest to run more tests sometimes.
Eli Zaretskii [Tue, 28 Jan 2025 14:57:47 +0000 (16:57 +0200)]
; * CONTRIBUTE: Suggest to run more tests sometimes.

(cherry picked from commit 05ee2b741f074b64c46a1063ec331e111099fc31)

2 weeks ago* CONTRIBUTE: Recommend running the unit test prior to committing.
Michael Albinus [Tue, 28 Jan 2025 09:12:09 +0000 (10:12 +0100)]
* CONTRIBUTE: Recommend running the unit test prior to committing.

(cherry picked from commit e74efd9a428491288be46ce56f1d6f4f7cf79ed9)

2 weeks agoDon't signal an error in treesit-node-at
Yuan Fu [Tue, 21 Jan 2025 04:36:41 +0000 (20:36 -0800)]
Don't signal an error in treesit-node-at

* lisp/treesit.el (treesit-node-at): Wrap
treesit-buffer-root-node within condition-case.

(cherry picked from commit a9cde2463abd6677e9d44d306473beef00983aad)

2 weeks ago; Improve documentation of '.dir-locals.el'
Eli Zaretskii [Mon, 27 Jan 2025 13:19:06 +0000 (15:19 +0200)]
; Improve documentation of '.dir-locals.el'

* doc/lispref/variables.texi (Directory Local Variables):
* doc/emacs/custom.texi (Directory Variables): Document that
'.dir-locals-2.el' must be in the same directory as
'.dir-locals.el'.  (Bug#75890)

(cherry picked from commit 5d021a711a9885100e4ab9d5bb286505a2a16827)

2 weeks ago; Prefer HTTPS to HTTP in docs
Stefan Kangas [Sun, 26 Jan 2025 21:39:10 +0000 (22:39 +0100)]
; Prefer HTTPS to HTTP in docs

* doc/emacs/android.texi (Android Software):
* doc/lispref/frames.texi (X Selections):
* doc/misc/cc-mode.texi (Custom Filling and Breaking):
* doc/misc/efaq.texi (Basic editing):
* doc/misc/gnus.texi (Propagating marks, Spam Statistics Package):
* doc/misc/org.org (External Links, Images in HTML export)
(LaTeX Export, LaTeX math snippets): Prefer HTTPS to HTTP.  Fix or
mark some broken links while we're at it.

(cherry picked from commit 5617b07a45bedcaa94591e941d06a3255e06302f)

2 weeks ago; * admin/MAINTAINERS: Sort external packages alphabetically.
Stefan Kangas [Sun, 26 Jan 2025 20:52:21 +0000 (21:52 +0100)]
; * admin/MAINTAINERS: Sort external packages alphabetically.

(cherry picked from commit fdd23023c84f873984aed62ef58699c09ee5ef20)

2 weeks ago; Skip commit 74dcfe155a9cd42fe4d352f031297169bf3abb41
Eshel Yaron [Mon, 3 Feb 2025 11:09:16 +0000 (12:09 +0100)]
; Skip commit 74dcfe155a9cd42fe4d352f031297169bf3abb41

2 weeks ago; Skip commit a87c382cabaec41f8901c858d4abd52305622b9e
Eshel Yaron [Mon, 3 Feb 2025 11:09:13 +0000 (12:09 +0100)]
; Skip commit a87c382cabaec41f8901c858d4abd52305622b9e

2 weeks agoDocument insert-directory-program as a user option
Stefan Kangas [Sun, 26 Jan 2025 20:36:32 +0000 (21:36 +0100)]
Document insert-directory-program as a user option

* doc/lispref/files.texi (Contents of Directories): Document
'insert-directory-program' as a user option.

(cherry picked from commit 3c820cd2650a3126ac13fc4825147271285da519)

2 weeks agodoc/lispref/modes.texi (Syntactic Font Lock): Update for commit 644c6b414f3
Stefan Monnier [Sat, 25 Jan 2025 15:48:38 +0000 (10:48 -0500)]
doc/lispref/modes.texi (Syntactic Font Lock): Update for commit 644c6b414f3

Remove outdated `nil` element, as discussed in
https://lists.gnu.org/archive/html/help-gnu-emacs/2025-01/msg00244.html

(cherry picked from commit 2c1edf5f62adbe1b698e21517a455a2bac09a025)

2 weeks ago; Remove some references to deleted files
Stefan Kangas [Thu, 9 Jan 2025 02:30:58 +0000 (03:30 +0100)]
; Remove some references to deleted files

* admin/MAINTAINERS:
* admin/authors.el (authors-public-domain-files):
* admin/find-gc.el (find-gc-source-files):
* src/conf_post.h: Remove some references to deleted files.

(cherry picked from commit aa07e94439c663f768c32a689d14506d25a7a5bc)

2 weeks agoFix define_error docstring for pure space removal
Stefan Kangas [Wed, 8 Jan 2025 05:52:53 +0000 (06:52 +0100)]
Fix define_error docstring for pure space removal

* src/lisp.h (define_error): Adjust docstring for pure space removal.

(cherry picked from commit f5345a149148f3804fcd58bcd26689c569cbd293)

2 weeks ago; * configure.ac: Minor simplification.
Stefan Kangas [Sun, 29 Dec 2024 18:39:41 +0000 (19:39 +0100)]
; * configure.ac: Minor simplification.

(cherry picked from commit f51e643a2fb3258abc921913a4d338eb9842d38f)

2 weeks agoDelete firstfile.c and lastfile.c
Stefan Kangas [Sat, 28 Dec 2024 20:35:07 +0000 (21:35 +0100)]
Delete firstfile.c and lastfile.c

With the removal of unexec and purespace, the definitions in these files
are no longer used.  Remove them.

* src/firstfile.c:
* src/lastfile.c: Delete unused files.
* configure.ac (PRE_ALLOC_OBJ, POST_ALLOC_OBJ, FIRSTFILE_OBJ):
Remove variables and dependent code.
* msdos/autogen/Makefile.in:
* msdos/sed1v2.inp:
* src/Makefile.in: Don't use above deleted variables.
* src/deps.mk: Remove lastfile.c dependencies.

(cherry picked from commit c70d595708cd0dc19e85e58148a75df21d80f9b2)

2 weeks ago; * nt/INSTALL: Delete reference to unexec build.
Stefan Kangas [Sat, 28 Dec 2024 12:08:14 +0000 (13:08 +0100)]
; * nt/INSTALL: Delete reference to unexec build.

(cherry picked from commit 305bd550cf28045505e76c2b23f51860da914310)

2 weeks ago* Make again `comp--finalize-container' compilable
Andrea Corallo [Wed, 18 Dec 2024 20:58:15 +0000 (21:58 +0100)]
* Make again `comp--finalize-container' compilable

* lisp/emacs-lisp/comp.el (comp--finalize-container): Don't emit
'--lambda-fixup' immediate in data relocations.

(cherry picked from commit b86e4747e66febd400055cb6279238fb95f8a59d)

2 weeks agoUse '--lambda-fixup' as native compiler fixup symbol for lambdas
Andrea Corallo [Wed, 18 Dec 2024 20:55:41 +0000 (21:55 +0100)]
Use '--lambda-fixup' as native compiler fixup symbol for lambdas

* src/comp.c (check_comp_unit_relocs, syms_of_comp): Rename
'Qlambda_fixup' to 'Q__lambda_fixup'.
* src/pdumper.c (dump_do_dump_relocation): Likewise.

(cherry picked from commit 9e99c43d2f5dc5dc2632ad616d224f3bd9cf63c4)

2 weeks ago* Revert "Remove check_comp_unit_relocs"
Andrea Corallo [Wed, 18 Dec 2024 20:27:14 +0000 (21:27 +0100)]
* Revert "Remove check_comp_unit_relocs"

This reverts commit 81fc23b5d6a60ca4f3d269ab2c88eb9a850bac4c as the
check is still useful but needs to be updated for the new reloc layout.

* src/comp.c (check_comp_unit_relocs): Re-add.
(load_comp_unit): Make use of.

(cherry picked from commit 4e11f9c96df98dd3f10c1153bc49209f2383a0ee)

2 weeks agoRemove check_comp_unit_relocs
Gerd Möllmann [Tue, 17 Dec 2024 14:28:14 +0000 (15:28 +0100)]
Remove check_comp_unit_relocs

* src/comp.c (check_comp_unit_relocs): Removed.
(load_comp_unit): Remove use.

(cherry picked from commit 81fc23b5d6a60ca4f3d269ab2c88eb9a850bac4c)

2 weeks ago; * src/fns.c (maybe_resize_hash_table): Remove debugging code.
Pip Cet [Mon, 16 Dec 2024 12:28:59 +0000 (12:28 +0000)]
; * src/fns.c (maybe_resize_hash_table): Remove debugging code.

(cherry picked from commit d140b5cabbbcc5368cfe8c38021d9f6e41a640d8)

2 weeks agoDon't define SYSTEM_PURESIZE_EXTRA
Stefan Kangas [Sun, 15 Dec 2024 18:35:48 +0000 (19:35 +0100)]
Don't define SYSTEM_PURESIZE_EXTRA

* nt/inc/ms-w32.h: Don't define SYSTEM_PURESIZE_EXTRA.

(cherry picked from commit 925431f030b6d6e095ed8f946243e144adcff54c)

2 weeks agoRemove some more references to pure space
Stefan Kangas [Sun, 15 Dec 2024 18:15:29 +0000 (19:15 +0100)]
Remove some more references to pure space

* lisp/auth-source.el (read-passwd-map):
* lisp/emacs-lisp/eldoc.el (eldoc-message-commands)
(eldoc-last-data): Remove some references to pure space.

(cherry picked from commit c729d224ca7bd55d9f49af9d730af45663a3f3d5)

2 weeks agoImprove purify-flag docstring
Stefan Kangas [Sun, 15 Dec 2024 18:14:04 +0000 (19:14 +0100)]
Improve purify-flag docstring

* src/alloc.c (syms_of_alloc): Improve purify-flag docstring.

(cherry picked from commit f818744cd4b1dddece0a221b06e6e83740e06e2d)

2 weeks agoDon't document removed SITELOAD_PURESIZE_EXTRA
Stefan Kangas [Sun, 15 Dec 2024 18:13:35 +0000 (19:13 +0100)]
Don't document removed SITELOAD_PURESIZE_EXTRA

* doc/lispref/internals.texi (Building Emacs): Don't document removed
constant SITELOAD_PURESIZE_EXTRA.

(cherry picked from commit d05ee2ba80b0961015eb543536266208afb57dff)

2 weeks agoRemove another purecopy call in files.el
Stefan Kangas [Sun, 15 Dec 2024 18:08:20 +0000 (19:08 +0100)]
Remove another purecopy call in files.el

* lisp/files.el (save-some-buffers-action-alist): Don't call purecopy.

(cherry picked from commit 526ef8950a98f2d040b9e4f143aa62538904a39f)

2 weeks agoFix a typo which caused test failures
Pip Cet [Sat, 14 Dec 2024 15:45:25 +0000 (15:45 +0000)]
Fix a typo which caused test failures

* lisp/progmodes/python.el (interpreter-mode-alist):
* lisp/progmodes/vera-mode.el (interpreter-mode-alist): Fix typo.

(cherry picked from commit 7024c66123e56501fd409a9b59522fceb5ce8cfd)

2 weeks agoMark pure-bytes-used as obsolete
Stefan Kangas [Tue, 10 Dec 2024 22:57:22 +0000 (23:57 +0100)]
Mark pure-bytes-used as obsolete

* lisp/subr.el (pure-bytes-used): Mark variable as obsolete.

(cherry picked from commit 28dadb6f10aa7a0c785d79bb10d77babb7502dee)

2 weeks agoDelete variable pure-space-overflow
Stefan Kangas [Tue, 10 Dec 2024 22:35:31 +0000 (23:35 +0100)]
Delete variable pure-space-overflow

* lisp/startup.el (pure-space-overflow): Make variable obsolete.
* lisp/loadup.el (pure-space-overflow): Do not set.  Remove call to
`garbage-collect', as that is done by `dump-emacs-portable'.

(cherry picked from commit e7926ab48604d4bdf7088014717b02dddfe9f190)

2 weeks agoMake 'purecopy' an obsolete function alias for 'identity'
Stefan Kangas [Tue, 10 Dec 2024 18:39:03 +0000 (19:39 +0100)]
Make 'purecopy' an obsolete function alias for 'identity'

* lisp/subr.el (purecopy): New obsolete function alias for 'identity'.
* src/alloc.c (purecopy): Remove function.
(Fpurecopy): Remove DEFUN.
(syms_of_alloc): Remove defsubr for above DEFUN.
* lisp/loadup.el (purify-flag): Don't set to hash table.

* doc/lispref/spellfile:
* doc/lispref/keymaps.texi (Tool Bar):
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Delete
references to 'purecopy'

(cherry picked from commit d6b05b128280cc23dc77a1a06194c4e69d1ac519)

2 weeks agoDelete obsolete comment about using purespace
Stefan Kangas [Tue, 10 Dec 2024 18:23:00 +0000 (19:23 +0100)]
Delete obsolete comment about using purespace

* src/alloc.c (Fmake_byte_code): Delete obsolete comment.

(cherry picked from commit b299a5d184542cdc66632b1a47947151a11c035e)

2 weeks agoDelete workaround for purespace in cl-generic
Stefan Kangas [Tue, 10 Dec 2024 11:34:34 +0000 (12:34 +0100)]
Delete workaround for purespace in cl-generic

* lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Delete
purespace workaround.

(cherry picked from commit 52dcc032067381f50d658dc43bf7088f1782c7af)

2 weeks agoRemove unused function my_heap_start
Stefan Kangas [Tue, 10 Dec 2024 10:43:54 +0000 (11:43 +0100)]
Remove unused function my_heap_start

* src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC && GNU_LINUX]:
Remove unused function.  Update callers.

(cherry picked from commit ad9adab04284213aefc3872a610779dc633ff541)

2 weeks agoRemove check for working malloc_set_state
Stefan Kangas [Tue, 10 Dec 2024 10:07:01 +0000 (11:07 +0100)]
Remove check for working malloc_set_state

This check was added to 'malloc_initialize_hook' in order to "insulate
Emacs better from configuration screwups" (commit b4788b9394f3).  With
unexec gone, we no longer use 'malloc_set_state', and thus don't need
this check.

Note that this patch removes the last uses of the deprecated glibc
functions 'malloc_set_state' and 'malloc_get_state' from our code.

* src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
Remove check for working 'malloc_set_state'.
(alloc_unexec_pre) [DOUG_LEA_MALLOC]: Delete unused function.
(alloc_unexec_post) [DOUG_LEA_MALLOC]: Delete function.
(malloc_state_ptr) [DOUG_LEA_MALLOC]: Delete variable.
* configure.ac (emacs_cv_var_doug_lea_malloc): Don't check for
malloc_set_state and malloc_get_state.

(cherry picked from commit 892be3b3d7a459808ee47709d0f4e7f65566a6e5)

2 weeks agoRemove purespace fix from cl-preloaded.el
Stefan Kangas [Mon, 9 Dec 2024 20:34:57 +0000 (21:34 +0100)]
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.

(cherry picked from commit bb64e9464c584bace441f60678b80f41ddc6e2a3)

2 weeks agoDelete remaining calls to purecopy
Stefan Kangas [Mon, 9 Dec 2024 20:26:25 +0000 (21:26 +0100)]
Delete remaining calls to purecopy

* lisp/button.el (default-button):
* lisp/calendar/holidays.el (holiday-solar-holidays)
(holiday-bahai-holidays, holiday-islamic-holidays)
(holiday-christian-holidays, holiday-hebrew-holidays)
(holiday-oriental-holidays, holiday-general-holidays):
* lisp/comint.el (comint-file-name-prefix):
* lisp/composite.el (unicode-category-table):
* lisp/cus-face.el (custom-declare-face):
* lisp/custom.el (custom-add-load, custom-add-package-version)
(custom-add-version, custom-add-link, custom-declare-group)
(custom-declare-variable):
* lisp/dired.el (dired-listing-switches):
* lisp/epa-hook.el (epa-file-name-regexp):
* lisp/faces.el (x-font-regexp, x-font-regexp-head)
(x-font-regexp-slant, x-font-regexp-weight, )
(set-face-attribute, set-face-documentation, face-x-resources)
(face-font-registry-alternatives, face-font-family-alternatives)
(term-file-prefix):
* lisp/find-file.el (ff-special-constructs):
* lisp/format.el (format-alist):
* lisp/help.el (help-for-help):
* lisp/image-file.el (image-file-name-extensions):
* lisp/info.el:
* lisp/isearch.el (isearch-help-for-help-internal)
(search-whitespace-regexp):
* lisp/jka-cmpr-hook.el (jka-compr-load-suffixes)
(jka-compr-mode-alist-additions)
(jka-compr-compression-info-list, jka-compr-build-file-regexp):
* lisp/language/ethiopic.el (font-ccl-encoder-alist):
* lisp/language/korea-util.el (default-korean-keyboard):
* lisp/language/tibetan.el (tibetan-precomposition-rule-regexp)
(tibetan-precomposed-regexp):
* lisp/locate.el (locate-ls-subdir-switches):
* lisp/lpr.el (lpr-command):
* lisp/mail/rmail.el (rmail-secondary-file-regexp)
(rmail-secondary-file-directory, rmail-highlighted-headers)
(rmail-ignored-headers, rmail-spool-directory, rmail-file-name):
* lisp/mail/sendmail.el (mail-default-directory)
(mail-signature-file, mail-citation-prefix-regexp)
(mail-personal-alias-file, mail-header-separator):
* lisp/menu-bar.el (yank-menu):
* lisp/net/eudc.el (eudc-tools-menu):
* lisp/newcomment.el (comment-padding, comment-end):
* lisp/obsolete/autoload.el (autoload-generate-file-autoloads):
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
* lisp/ps-print.el (ps-page-dimensions-database):
* lisp/rfn-eshadow.el (file-name-shadow-tty-properties):
* lisp/shell.el (shell-dumb-shell-regexp):
* lisp/simple.el (overwrite-mode-binary, overwrite-mode-textual)
(mark-inactive, shell-command-switch)
(next-error-overlay-arrow-position):
* lisp/subr.el (package--builtin-versions, eval-after-load):
* lisp/tab-bar.el ([tab-bar]):
* lisp/term/pgtk-win.el (x-gtk-stock-map):
* lisp/term/x-win.el (x-gtk-stock-map):
* lisp/tool-bar.el ([tool-bar]):
* lisp/widget.el (define-widget): Remove calls to purecopy.

(cherry picked from commit d6aeb1a2606e1dece860f2b35623245d9eb865c3)

2 weeks agoDon't call purecopy in mouse.el
Stefan Kangas [Mon, 9 Dec 2024 20:19:21 +0000 (21:19 +0100)]
Don't call purecopy in mouse.el

* lisp/mouse.el (context-menu-entry, mouse-buffer-menu-mode-groups)
(x-fixed-font-alist): Remove calls to purecopy.

(cherry picked from commit 5afc27335468ae4b6d99be91e37b3557f1bfddc8)

2 weeks agoDon't call purecopy in emacs-lisp/*.el
Stefan Kangas [Mon, 9 Dec 2024 20:17:09 +0000 (21:17 +0100)]
Don't call purecopy in emacs-lisp/*.el

* lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias)
(make-obsolete-variable, make-obsolete):
* lisp/emacs-lisp/cl-extra.el (cl-type-definition):
* lisp/emacs-lisp/cl-preloaded.el (cl-assertion-failed):
* lisp/emacs-lisp/cl-print.el (help-byte-code):
* lisp/emacs-lisp/derived.el (define-derived-mode):
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* lisp/emacs-lisp/eldoc.el (eldoc-minor-mode-string):
* lisp/emacs-lisp/gv.el (make-obsolete-generalized-variable):
* lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--parse-file):
* lisp/emacs-lisp/warnings.el (warning-type-format):
Remove calls to purecopy.

(cherry picked from commit 8da7086be6d0b0387c3ffbede062c4349045af70)

2 weeks agoDon't call purecopy in dnd.el
Stefan Kangas [Mon, 9 Dec 2024 20:11:45 +0000 (21:11 +0100)]
Don't call purecopy in dnd.el

* lisp/dnd.el (dnd-protocol-alist):
* lisp/pgtk-dnd.el (pgtk-dnd-types-alist, pgtk-dnd-known-types):
* lisp/x-dnd.el (x-dnd-types-alist, x-dnd-known-types):
Remove calls to purecopy.

(cherry picked from commit b0afe306b748a3fa140cde580239d0f99669850a)

2 weeks agoDon't call purecopy in vc/*.el
Stefan Kangas [Mon, 9 Dec 2024 19:44:23 +0000 (20:44 +0100)]
Don't call purecopy in vc/*.el

* lisp/vc/diff.el (diff-command, diff-switches):
* lisp/vc/ediff-hook.el (menu-bar-ediff-misc-menu)
(menu-bar-epatch-menu, menu-bar-ediff-merge-menu)
(menu-bar-ediff-menu):
* lisp/vc/pcvs-defs.el (cvs-global-menu):
* lisp/vc/vc-hooks.el (vc-menu-entry)
(vc-directory-exclusion-list):
* lisp/vc/vc-rcs.el (vc-rcs-master-templates):
* lisp/vc/vc-sccs.el (vc-sccs-master-templates):
* lisp/vc/vc-src.el (vc-src-master-templates): Remove calls to purecopy.

(cherry picked from commit 8bd246d87ea9cf02cab0a229e89b1648e9462c2e)

2 weeks agoDon't call purecopy in help-mode.el
Stefan Kangas [Mon, 9 Dec 2024 19:40:56 +0000 (20:40 +0100)]
Don't call purecopy in help-mode.el

* lisp/help-mode.el (help-function, help-variable, help-type)
(help-face, help-coding-system, help-input-method)
(help-character-set, help-symbol, help-back, help-forward)
(help-info-variable, help-info, help-man)
(help-customization-group, help-url, help-customize-variable)
(help-customize-face, help-function-def, help-function-cmacro)
(help-variable-def, help-face-def, help-package)
(help-package-def, help-theme-def, help-theme-edit)
(help-dir-local-var-def, help-news, help-back-label)
(help-forward-label, help-xref-symbol-regexp)
(help-xref-info-regexp, help-xref-man-regexp)
(help-xref-customization-group-regexp, help-xref-url-regexp):
Remove calls to purecopy.

(cherry picked from commit 065b6f2fa7a75fda446dc755edfee555b6e6d704)

2 weeks agoDon't call purecopy in textmodes/*.el
Stefan Kangas [Mon, 9 Dec 2024 02:47:37 +0000 (03:47 +0100)]
Don't call purecopy in textmodes/*.el

* lisp/textmodes/bibtex.el (bibtex-url, bibtex-search-crossref):
* lisp/textmodes/fill.el (adaptive-fill-regexp)
(adaptive-fill-first-line-regexp):
* lisp/textmodes/ispell.el (ispell-menu-map)
(ispell-skip-region-alist, ispell-tex-skip-alists):
* lisp/textmodes/rst.el (auto-mode-alist):
* lisp/textmodes/texinfo.el (texinfo-open-quote):
* lisp/textmodes/tex-mode.el (tex-directory, tex-run-command)
(latex-run-command, slitex-run-command, tex-start-options)
(tex-start-commands, tex-bibtex-command, tex-dvi-print-command)
(tex-alt-dvi-print-command, tex-dvi-view-command)
(tex-show-queue-command, tex-open-quote, tex-close-quote):
* lisp/textmodes/texinfo.el (texinfo-open-quote)
(texinfo-close-quote): Remove calls to purecopy.

(cherry picked from commit e44b1bf5cca00edb87452f864e9c450116d8f830)

2 weeks agoDon't call purecopy in progmodes/*.el
Stefan Kangas [Mon, 9 Dec 2024 02:39:56 +0000 (03:39 +0100)]
Don't call purecopy in progmodes/*.el

* lisp/progmodes/compile.el (compile-command):
* lisp/progmodes/etags.el (tags-compression-info-list):
* lisp/progmodes/grep.el (grep-program, find-program, xargs-program):
* lisp/progmodes/js.el (interpreter-mode-alist):
* lisp/progmodes/python.el (interpreter-mode-alist):
* lisp/progmodes/ruby-mode.el (auto-mode-alist, interpreter-mode-alist):
* lisp/progmodes/vera-mode.el: Remove calls to purecopy.

(cherry picked from commit 04408e198f1acc2eeae2ca299de994ba38116d1a)

2 weeks agoDon't call purecopy in bindings.el
Stefan Kangas [Mon, 9 Dec 2024 02:28:30 +0000 (03:28 +0100)]
Don't call purecopy in bindings.el

* lisp/bindings.el (mode-line-input-method-map)
(mode-line-coding-system-map, mode-line-mule-info, mode-line-client)
(mode-line-modified, mode-line-remote)
(mode-line-window-dedicated-keymap, propertized-buffer-identification)
(completion-ignored-extensions): Remove calls to purecopy.

(cherry picked from commit a4e38cc3753ac416181c0ead758d174093eb3526)

2 weeks agoDon't call purecopy in common-win.el
Stefan Kangas [Fri, 23 Aug 2024 18:24:01 +0000 (20:24 +0200)]
Don't call purecopy in common-win.el

* lisp/term/common-win.el: Remove calls to purecopy.

(cherry picked from commit d121953b971f2bee5d75e37355fd2bd5e1d12784)

2 weeks agoDon't call purecopy in international/*.el
Stefan Kangas [Fri, 23 Aug 2024 18:21:41 +0000 (20:21 +0200)]
Don't call purecopy in international/*.el

* lisp/international/fontset.el (font-encoding-alist,)
(x-pixel-size-width-font-regexp, vertical-centering-font-regexp)
(face-font-rescale-alist, standard-fontset-spec):
* lisp/international/latexenc.el (latex-inputenc-coding-alist):
* lisp/international/mule-cmds.el (help-xref-mule-regexp-template)
(set-language-info-internal, set-language-info-alist)
(register-input-method, locale-language-names)
(locale-charset-language-names, locale-preferred-coding-systems)
(define-char-code-property):
* lisp/international/mule-conf.el (file-coding-system-alist):
* lisp/international/mule-diag.el (sort-listed-character-sets):
* lisp/international/mule.el (define-charset, load-with-code-conversion)
(put-charset-property, define-coding-system)
(ctext-non-standard-encodings-alist)
(ctext-non-standard-encodings-regexp, auto-coding-alist)
(auto-coding-regexp-alist):
* lisp/international/quail.el (quail-keyboard-layout-button):
(quail-keyboard-customize-button): Remove calls to purecopy.

(cherry picked from commit 833037fadd3533a50eb07406f058ee695c72fb9a)

2 weeks agoRemove purecopy calls from files.el
Stefan Kangas [Fri, 23 Aug 2024 18:05:15 +0000 (20:05 +0200)]
Remove purecopy calls from files.el

* lisp/files.el (null-device, file-name-invalid-regexp)
(locate-dominating-stop-dir-regexp, auto-mode-alist)
(interpreter-mode-alist, inhibit-local-variables-regexps)
(auto-mode-interpreter-regexp, magic-fallback-mode-alist)
(save-some-buffers-action-alist, list-directory-brief-switches)
(list-directory-verbose-switches, insert-directory-program)
(directory-free-space-program, directory-free-space-args)
(directory-listing-before-filename-regexp)
(file-name-handler-alist): Remove all purecopy calls.

(cherry picked from commit 538a2428983c3aaf300bba920bc9f7e4d718982e)

2 weeks agoAvoid compiler warning in process_mark_stack
Pip Cet [Thu, 22 Aug 2024 05:49:33 +0000 (05:49 +0000)]
Avoid compiler warning in process_mark_stack

* src/alloc.c (process_mark_stack): Only declare and assign to 'po' if
it's needed.
Problem reported by: Stefan Kangas <stefankangas@gmail.com>.

(cherry picked from commit c951fd415cd243eeda3caf2e536967a762bd0ffe)

2 weeks agoUpdate pdumper hashes
Pip Cet [Thu, 22 Aug 2024 05:48:43 +0000 (05:48 +0000)]
Update pdumper hashes

* src/pdumper.c (dump_symbol, dump_hash_table): Update hashes.

(cherry picked from commit 00a1152fad510d56cec813ba008f854cfceb163e)

2 weeks agoMake bindings--define-key obsolete
Stefan Kangas [Wed, 21 Aug 2024 22:09:51 +0000 (00:09 +0200)]
Make bindings--define-key obsolete

It used to be like 'define-key', but was used for making pure copies of
as much of a menu's data as possible.  With purespace now gone, it can
be replaced by 'define-key'.

* lisp/bindings.el (bindings--define-key): Make into obsolete
alias for 'define-key'.  Update all callers.

(cherry picked from commit 1de87314c4c3cd01526e31bb805e2857fe749485)

2 weeks agoPurecopy removal: Lisp code
Pip Cet [Wed, 21 Aug 2024 19:13:23 +0000 (19:13 +0000)]
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.

(cherry picked from commit 5b471384d1805bfb9e78314f8cb1f4d09aa378f7)

2 weeks agoUnexec removal: Build system
Pip Cet [Wed, 21 Aug 2024 08:50:02 +0000 (08:50 +0000)]
Unexec removal: Build system

* configure.ac (CYGWIN_OBJ): Remove comment.
* src/Makefile.in (PAXCTL, SETFATTR, PAXCTL_dumped, PAXCTL_notdumped):
Remove definitions.
(emacs$(EXEEXT), temacs$(EXEEXT), bootstrap-emacs$(EXEEXT)):
* src/deps.mk: Remove 'unexec'-specific code.

(cherry picked from commit a54ff8c18fa9b97b737d0de1a5e160b454ac294d)

2 weeks agoUnexec removal: Documentation adjustments
Pip Cet [Wed, 21 Aug 2024 08:45:13 +0000 (08:45 +0000)]
Unexec removal: Documentation adjustments

* doc/lispref/internals.texi (Building Emacs):
* doc/lispref/os.texi (Command-Line Arguments): Remove documentation for
'unexec'-specific code and arguments.
* etc/PROBLEMS: Remove unexec-specific problems.

(cherry picked from commit 0e37b11e659dd58c520d557820b006a8d03c71e6)

2 weeks agoDon't recognize "bootstrap" option for --temacs
Pip Cet [Wed, 21 Aug 2024 08:44:14 +0000 (08:44 +0000)]
Don't recognize "bootstrap" option for --temacs

This option only makes sense for unexec dumping.

* src/emacs.c (main): Recognize "pbootstrap" only, not "bootstrap".

(cherry picked from commit 9a0728af9df7c208a7e93f8e970b7348b1273fee)

2 weeks agoPure storage removal: Documentation
Pip Cet [Wed, 21 Aug 2024 08:59:25 +0000 (08:59 +0000)]
Pure storage removal: Documentation

* etc/NEWS: Document removal of unexec dumper.
* etc/PROBLEMS: Remove pure space problems.

(cherry picked from commit 1c495735b4fd7411bca39161b45e0115d0d377b9)

2 weeks agoPure storage removal: Bump nativecomp ABI
Pip Cet [Tue, 20 Aug 2024 19:16:58 +0000 (19:16 +0000)]
Pure storage removal: Bump nativecomp ABI

Use "9" as MPS builds use "7" and "8".

* src/comp.c (ABI_VERSION): Bump.

(cherry picked from commit 647f6aa4c06f681df8d2ab6520d8bcd273dff1a8)

2 weeks agoPure storage removal: Remove documentation
Pip Cet [Tue, 20 Aug 2024 19:15:16 +0000 (19:15 +0000)]
Pure storage removal: Remove documentation

As pure storage is now gone, it no longer needs to be documented.

* doc/lispref/elisp.texi (Top):
* doc/lispref/internals.texi (GNU Emacs Internals): Remove "Pure
Storage" section.
(Building Emacs, Garbage Collection, Writing Emacs Primitives):
* doc/lispref/symbols.texi (Standard Properties): Remove references to
pure storage.
* src/alloc.c (Fgarbage_collect): Remove docstring text referring to
pure storage.

(cherry picked from commit c9ab3258760c5ef2baf3ecf2a2a0051fc3fb4612)

2 weeks agoPure storage removal: Adjust nativecomp code
Pip Cet [Tue, 20 Aug 2024 19:09:14 +0000 (19:09 +0000)]
Pure storage removal: Adjust nativecomp code

* lisp/emacs-lisp/comp.el (comp-curr-allocation-class, comp-ctxt)
(comp--emit-for-top-level, comp--emit-lambda-for-top-level)
(comp--finalize-relocs): Remove 'd-impure' allocation class.
* src/comp.c (PURE_RELOC_SYM, DATA_RELOC_IMPURE_SYM)
(TEXT_DATA_RELOC_IMPURE_SYM): Remove definitions.
(comp_t): Remove 'pure_ptr', 'check_impure', 'data_relocs_impure',
'd_impure_idx'.
(helper_link_table): Remove 'pure_write_error'.
(obj_to_reloc): Adjust to removal of 'data_relocs_impure'.
(emit_PURE_P): Remove function.
(declare_imported_data, declare_runtime_imported_funcs)
(emit_ctxt_code): Adjust to removed fields.
(define_setcar_setcdr): Don't call 'CHECK_IMPURE'.
(define_CHECK_IMPURE): Remove function.
(Fcomp__compile_ctxt_to_file0, check_comp_unit_relocs, load_comp_unit)
(Fcomp__register_lambda): Adjust to removed allocation class 'd-impure'.
(syms_of_comp): Don't define 'd-impure'.
* src/comp.h (struct Lisp_Native_Comp_Unit): Drop support for allocation
class 'd-impure'.
* src/lisp.h (allocate_native_comp_unit):
* src/pdumper.c (dump_do_dump_relocation): Adjust to struct change.

(cherry picked from commit bd2b59f07337c4f5980666875207bf877634b1b3)

2 weeks agoPure storage removal: Remove docstring hack
Pip Cet [Tue, 20 Aug 2024 19:08:33 +0000 (19:08 +0000)]
Pure storage removal: Remove docstring hack

This should no longer be needed.

* src/eval.c (Fautoload): Don't try to work around pure storage bug.

(cherry picked from commit 69fea4f29a1390912e4140a3ebacc50b7338db6f)

2 weeks agoPure storage removal: Remove purecopy hash table flag
Pip Cet [Tue, 20 Aug 2024 19:04:44 +0000 (19:04 +0000)]
Pure storage removal: Remove purecopy hash table flag

* lisp/emacs-liqsp/comp.el (comp--jump-table-optimizable): Adjust
comment.
* src/category.c (hash_get_category_set):
* src/emacs-module.c (syms_of_module):
* src/fns.c (make_hash_table): Remove 'purecopy' flag and update
docstring.
(Fmake_hash_table): Ignore ':purecopy' argument.
* src/frame.c (make_frame):
* src/image.c (xpm_make_color_table_h):
* src/lisp.h (struct Lisp_Hash_Table): Drop 'purecopy' flag.
* src/pdumper.c (dump_hash_table): Don't dump 'purecopy' flag.
* src/print.c (print_object): Don't print 'purecopy' flag

* src/json.c (json_parse_object):
* src/lread.c (readevalloop, read_internal_start):
* src/pgtkterm.c (syms_of_pgtkterm):
* src/profiler.c (export_log):
* src/xfaces.c (syms_of_xfaces):
* src/xterm.c (syms_of_xterm): Adjust calls to 'make_hash_table'.

(cherry picked from commit afd61deaaeb5e5e6845bdf995ac5ee9a3479599c)

2 weeks agoPure storage removal: Remove support for pinned objects
Pip Cet [Tue, 20 Aug 2024 19:02:29 +0000 (19:02 +0000)]
Pure storage removal: Remove support for pinned objects

* src/alloc.c (symbol_block_pinned): Remove variable.
(init_symbol): Don't initialize 'pinned flag'.
(pinned_objects): Remove variable.
(mark_pinned_objects, mark_pinned_symbols): Remove functions.
(garbage_collect): Don't call 'mark_pinned_objects',
'mark_pinned_symbols'.
* src/lisp.h (struct Lisp_Symbol): Remove 'pinned' flag.
* src/pdumper.c (dump_symbol): Remove 'pinned' flag from dump.

(cherry picked from commit e1e101c6c10b6e5110c2c47946d477a752828a78)

2 weeks agoPure storage removal: Replace calls to removed functions
Pip Cet [Tue, 20 Aug 2024 19:00:20 +0000 (19:00 +0000)]
Pure storage removal: Replace calls to removed functions

* src/alloc.c (string_bytes, pin_string, valid_lisp_object_p)
(process_mark_stack, survives_gc_p, syms_of_alloc):
* src/androidterm.c (android_term_init): Replace call to
'build_pure_c_string'.
* src/buffer.c (init_buffer_once, syms_of_buffer):
* src/bytecode.c (exec_byte_code):
* src/callint.c (syms_of_callint):
* src/callproc.c (syms_of_callproc):
* src/category.c (Fdefine_category):
* src/coding.c (syms_of_coding):
* src/comp.c (Fcomp__compile_ctxt_to_file0)
(maybe_defer_native_compilation, syms_of_comp):
* src/data.c (Fsetcar, Fsetcdr, Fdefalias, Faset, syms_of_data):
* src/dbusbind.c (syms_of_dbusbind):
* src/doc.c (Fsnarf_documentation):
* src/emacs-module.c (syms_of_module):
* src/eval.c (Finternal__define_uninitialized_variable)
(Fdefconst_1, define_error, syms_of_eval):
* src/fileio.c (syms_of_fileio):
* src/fns.c (Ffillarray, Fclear_string, check_mutable_hash_table):
* src/fontset.c (syms_of_fontset):
* src/frame.c (make_initial_frame):
* src/haikufns.c (syms_of_haikufns):
* src/intervals.c (create_root_interval):
* src/keyboard.c (syms_of_keyboard):
* src/keymap.c (Fmake_sparse_keymap, Fset_keymap_parent)
(store_in_keymap, syms_of_keymap):
* src/lisp.h:
* src/lread.c (Fload, read0, intern_c_string_1, define_symbol)
(Fintern, defsubr, syms_of_lread):
* src/pdumper.c (Fdump_emacs_portable):
* src/pgtkfns.c (syms_of_pgtkfns):
* src/pgtkterm.c (syms_of_pgtkterm):
* src/process.c (syms_of_process):
* src/search.c (syms_of_search):
* src/sqlite.c (syms_of_sqlite):
* src/syntax.c (syms_of_syntax):
* src/treesit.c (syms_of_treesit):
* src/w32fns.c (syms_of_w32fns):
* src/xdisp.c (syms_of_xdisp):
* src/xfaces.c (syms_of_xfaces):
* src/xfns.c (syms_of_xfns):
* src/xftfont.c (syms_of_xftfont):
* src/xterm.c (syms_of_xterm): Remove calls to 'PURE_P', 'CHECK_IMPURE',
'Fpurecopy', and replace calls to 'build_pure_c_string', 'pure_list',
'pure_listn', etc., by impure equivalents.

(cherry picked from commit 5ec86966638885a0f8df8afa28a01ca103ad2a49)

2 weeks agoPure storage removal: Main part
Pip Cet [Tue, 20 Aug 2024 18:52:35 +0000 (18:52 +0000)]
Pure storage removal: Main part

* src/alloc.c (pure, PUREBEG, purebeg, pure_size)
(pure_bytes_used_before_overflow, pure_bytes_used_lisp)
(pure_bytes_used_non_lisp): Remove definitions.
(init_strings): Make empty strings impure.
(cons_listn): Drop 'cons' argument.
(pure_listn): Remove function.
(init_vectors): Allocate zero vector manually to avoid freelist issues.
(pure_alloc, check_pure_size, find_string_data_in_pure)
(make_pure_string, make_pure_c_string, pure_cons, make_pure_float)
(make_pure_bignum, make_pure_vector, purecopy_hash_table): Remove
functions.
(purecopy): Reduce to hash consing our argument.
(init_alloc_once_for_pdumper): Adjust to lack of pure space.
(pure-bytes-used): Adjust docstring to mark as obsolete.
(purify-flag): Keep for hash consing, but adjust docstring.
* src/bytecode.c:
* src/comp.c: Don't include "puresize.h".
* src/conf_post.h (SYSTEM_PURESIZE_EXTRA): Remove definition.
* src/data.c (pure_write_error): Remove function.
* src/deps.mk: Remove puresize.h dependency throughout.
* src/emacs.c:
* src/fns.c:
* src/intervals.c:
* src/keymap.c: Don't include "puresize.h".
* src/lisp.h (struct Lisp_Hash_Table): Adjust comment.
(pure_listn, pure_list, build_pure_c_string): Remove.
* src/w32heap.c (FREEABLE_P): Don't do use 'dumped_data'.
(malloc_before_dump, realloc_before_dump, free_before_dump): Remove
functions.
* src/w32heap.h: Adjust prototype.
* lisp/loadup.el:
* lisp/startup.el: Remove purespace code.

(cherry picked from commit f84ccff5a6275782a37534ed55b706db35f228ac)

2 weeks agoPure storage removal: Delete puresize.h
Pip Cet [Tue, 20 Aug 2024 18:52:04 +0000 (18:52 +0000)]
Pure storage removal: Delete puresize.h

* puresize.h: Delete file.

(cherry picked from commit d359858b5d02e60c1d46c26750e5510c2606916a)