1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

175863 commits

Author SHA1 Message Date
Gerd Möllmann
bd2da5282d igc.org: Finalization, new section 2024-12-28 06:19:20 +01:00
Gerd Möllmann
c0c1e8c54d igc.org: Lisp allocation, mention create_thread_aps 2024-12-28 05:09:17 +01:00
Gerd Möllmann
344038a424 igc.org: The registry, mention root_create 2024-12-28 04:53:51 +01:00
Gerd Möllmann
5d4d621eae igc.org: Malloc with roots, fixes and Org markup 2024-12-28 04:24:48 +01:00
Gerd Möllmann
f95feb1fda igc.org: Malloc with roots, add example 2024-12-27 21:25:18 +01:00
Gerd Möllmann
a1e5f13a96 igc.org: Root scan functions
Clarify a sentence regarding telling MPS about references
2024-12-27 21:25:18 +01:00
Gerd Möllmann
c445e6ab43 Introductory documentation for igc
* admin/igc.org: New content.
2024-12-27 14:52:46 +01:00
Eli Zaretskii
eedd4b7427 ; * src/igc.c (weak_hash_table_entry): Avoid compiler warning. 2024-12-26 19:20:30 +02:00
Pip Cet
14a9836bf0 [MPS] Remove remaining references to XHASH/lisp_h_XHASH
* src/eval.c (Fautoload): Use `Fsxhash_eq', not `lisp_h_XHASH'.
* src/lisp.h (XHASH, lisp_h_XHASH): Remove macro definitions if
HAVE_MPS.
2024-12-24 21:38:12 +00:00
Gerd Möllmann
6bc8e322a5 Don't define XHASH if HAVE_MPS
* src/lisp.h (XHASH): Don't define if HAVE_MPS.
* src/eval.c (Fautoload): Use lisp_h_XHASH.
2024-12-24 09:46:45 +01:00
Gerd Möllmann
8557cbe9ef Avoid using XHASH if HAVE_MPS
* src/profiler.c (trace_hash): Use igc_hash instead of XHASH for igc.
2024-12-24 09:43:55 +01:00
Pip Cet
ceec5ace13 Avoid MPS being interrupted by signals
* src/igc.c (make_igc): Save signal mask.
(gc_signal_handler_can_run, gc_maybe_quit): New functions.
* src/lisp.h (gc_maybe_quit, gc_signal_handler_can_run):
New functions.
(maybe_quit): Call `gc_maybe_quit'.
* src/sysdep.c (deliver_process_signal, deliver_thread_signal):
Call `gc_signal_handler_can_run'.
2024-12-22 22:10:32 +00:00
Gerd Möllmann
c5916c3e13 Remove package-related code from emacs_lldb.py
* etc/emacs_lldb.py (Lisp_Object.get_symbol_package)
(Lisp_Object.get_package_name): Removed.
2024-12-21 07:19:15 +01:00
Gerd Möllmann
bea85a5391 Replace emacs_lldb.py with the one from my fork 2024-12-19 16:27:29 +01:00
Eli Zaretskii
cedb01b6c9 ; * README-IGC: Fix typos and wording. 2024-12-13 14:18:21 +02:00
Pip Cet
1b7d60f944 ; * README-IGC: Mention that MPS segfaults are expected 2024-12-13 08:49:35 +00:00
Stefan Kangas
9b06075b95 ; * README-IGC: Ask users to report bugs. 2024-12-13 00:17:52 +01:00
Pip Cet
2e2c41fdcd [MPS] Another hypothetical 32-bit big-endian WIDE_EMACS_INT fix
* src/igc.c (fix_weak_hash_table_strong_part): Fix the right 32-bit
word on 32-bit big-endian systems with 64-bit EMACS_INT types.
2024-12-11 18:52:01 +00:00
Pip Cet
3084e092bd [MPS] Fix assertion violation crash in weak hash table code
* src/igc.c (weak_hash_table_entry): Cast to EMACS_INT so the sign bit
is correct.
2024-12-11 18:50:24 +00:00
Pip Cet
423d89aa7b Fix an eassert again
* src/igc.c (fix_weak_hash_table_weak_part): Fix assertion.
2024-12-11 15:24:14 +00:00
Gerd Möllmann
3f46110b87 Fix an eassert 2024-12-11 15:55:07 +01:00
Pip Cet
c0b51c564c Fix hypothetical big-endian 32-bit WIDE_EMACS_INT + MPS build
* src/igc.c (fix_weak_hash_table_weak_part): Ensure we fix the LSB
word of a 64-bit EMACS_UINT representing a 32-bit pointer.
(weak_hash_table_entry):
(make_weak_hash_table_entry):
* src/lisp.h: Use EMACS_UINT, not intptr_t.
2024-12-11 13:48:01 +00:00
Pip Cet
a40ef9155a Enable WIDE_EMACS_INT + MPS builds
These builds force USE_LSB_TAG to 1, which means MPS only ever has to
look at the low-order 32-bit word. There is a known potential bug that
means WIDE_EMACS_INT builds are likely broken on 32-bit big-endian
systems, but that's true with or without MPS.

* src/igc.c: Don't check that WIDE_EMACS_INT isn't defined. Check that
USE_LSB_TAG is true, not just defined.
* src/lisp.h (USE_LSB_TAG): Force to 1 for MPS builds.
2024-12-11 12:28:24 +00:00
Pip Cet
51f028396c Ensure main_thread's IGC header is initialized
* src/thread.c (init_threads): Move call to `gc_init_header' here ...
(syms_of_threads): ... from here.
2024-12-09 17:35:25 +00:00
Gerd Möllmann
308b216444 README-IGC: fix --enable-checking=igc_debug 2024-12-07 04:38:52 +01:00
Óscar Fuentes
a1772fa44b README-IGC: another fix 2024-12-01 23:38:22 +01:00
Pip Cet
18244fa8f2 Ensure JSON parser allocations are traced (bug#74547)
* src/json.c (json_parser_done):
(json_make_object_workspace_for_slow_path): Use IGC-aware allocations.
2024-12-01 15:52:49 +00:00
Yikai Zhao
7593bbd012 Fix mps library check
; * configure.ac (with_mps): add LIB_PTHREAD
2024-11-29 09:11:26 +01:00
Óscar Fuentes
b5953c12ea README-IGC: fix instructions for using a locally built MPS
We can't add the mps code directory to the include path because that
causes header file name clashes.
2024-11-28 13:42:46 +01:00
Óscar Fuentes
dc798ebe72 README-IGC: add-instructions to build MPS 2024-11-28 01:32:50 +01:00
Gerd Möllmann
0a79b40c0e Fail if configuring --with-mps and no MPS lib
* configure.ac (HAVE_MPS): AC_MSG_ERROR if wanting to use MPS but lib is
missing.
2024-11-27 15:45:01 +01:00
Gerd Möllmann
992831d93f Add README-IGC 2024-11-27 12:07:49 +01:00
Eli Zaretskii
fad5e872ca ; * src/fns.c (weak_hash_remove_from_table): Fix comparison. 2024-11-25 22:00:00 +02:00
Eli Zaretskii
0eebc6729b ; * src/marker.c (buf_bytepos_to_charpos): BUF_MARKERS is a Lisp_Object. 2024-11-25 21:21:27 +02:00
Jeff Walsh
0756b1f2f5 Mark atimer allocation as ambiguous root
* src/atimer.c (start_atimer): Time could be passed a lisp object for
data, we should allocate this as an ambiguous root
2024-11-06 14:36:30 +01:00
Gerd Möllmann
000ad84c02 TTY menus can reference string data
* src/term.c (tty_menu_make_room): Allocate text and help_text as ambig
roots for igc.
(tty_menu_destroy): Free roots for MPS.
2024-11-05 08:38:15 +01:00
Gerd Möllmann
a19e818265 ; Fix last change 2024-10-28 08:32:05 +01:00
Gerd Möllmann
806c6b2339 Fix glyph pools instead of matrices on ttys
* src/igc.c (fix_glyph_pool): New function.
(fix_frame): Call fix_glyph_pool.
2024-10-28 08:30:40 +01:00
Gerd Möllmann
92d4bd6688 Fix glyph matrices a bit differently for ttys
* src/igc.c (fix_frame): Fix frame matrices for tty.
(fix_window): Don't fix window matrices for tty.
2024-10-28 05:42:47 +01:00
Gerd Möllmann
d864c26b20 Merge branch 'master' into scratch/igc 2024-10-19 04:50:24 +02:00
F. Jason Park
1854f2751e Don't autoload erc-modules
* doc/misc/erc.texi (Modules): Recommend using `describe-variable'
instead of `customize-option' because the latter needs the symbol to be
loaded.
* lisp/erc/erc.el (erc-modules): Remove autoload cookie because it
caused customizations for this option to load the main library.  This
reverts the thrust of bb894845 "Teach customize-option about
erc-modules", which was added in ERC 5.6 and Emacs 30.  The motivation
for the original offending change was to allow new users to run M-x
customize-option RET erc-modules RET immediately after startup instead
of M-x customize-group RET, followed by an I-search.  (Bug#73812)
2024-10-18 18:37:58 -07:00
F. Jason Park
be3318badd Move experimental module querypoll to erc-notify
* etc/ERC-NEWS: Announce migration of misplaced `querypoll' module from
erc-goodies.el to erc-notify.el.
* lisp/erc/erc-goodies.el: Move all definitions associated with
experimental module `querypoll' to erc-notify.
* lisp/erc/erc-notify.el (erc--querypoll-ring)
(erc--querypoll-timer, erc-querypoll-exclude-regexp)
(erc-querypoll-mode, erc-querypoll-enable, erc-querypoll-disable)
(erc--queries-current-p, erc-querypoll-period-params)
(erc--querypoll-compute-period, erc--querypoll-target-in-chan-p)
(erc--querypoll-get-length, erc--querypoll-get-next)
(erc--querypoll-subscribe, erc--querypoll-on-352)
(erc--querypoll-send): Move here from erc-goodies.
* test/lisp/erc/erc-goodies-tests.el (erc--querypoll-compute-period)
(erc--querypoll-target-in-chan-p, erc--querypoll-get-length)
(erc--querypoll-get-next): Move to new file erc-notify-tests.el.
* test/lisp/erc/erc-notify-tests.el: New file.  The `querypoll' module
was first introduced as part of bug#70928 in ERC 5.6.
2024-10-18 18:37:58 -07:00
F. Jason Park
a5b2de8b54 Fix trailing args bug in erc-d-i--parse-message
* test/lisp/erc/resources/erc-d/erc-d-i.el: Require `subr-x'.
(erc-d-i--parse-message): Populate `contents' slot when lone trailing
arg lacks a preceding colon.
* test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-i--parse-message):
Fix expected result.
(erc-d-i--parse-message/privmsg): New test.
2024-10-18 18:37:58 -07:00
F. Jason Park
b00f400d1d ; Undo erroneous change in ERC's sample configuration
* doc/misc/erc.texi (Sample Configuration): Remove `erc-modules' from
the `:custom' section of the `use-package' declaration for feature `erc'
because its presence there depends on `:defer' being non-nil, and this
configuration is supposed to be `:defer' agnostic.  This reverts part of
3f1ce47f "; Add face customization to ERC's sample config".
* etc/ERC-NEWS: Mention `erc-modules' no longer being autoloaded.
* lisp/erc/erc-match.el (erc-text-matched-hooks): Explain expected
format of non-NUH matches.
* test/lisp/erc/erc-match-tests.el (test/lisp/erc/erc-match-tests.el):
Inhibit messages when running non-interactively.
2024-10-18 18:37:57 -07:00
Dmitry Gutov
1374f20491 Fix the regression in dired-backup-diff's diff-goto-source behavior
* lisp/vc/diff-mode.el (diff-find-source-location): Undo part of
the previous change, so that 'reverse' does not affect whether the
"other file" is used (bug#62731).
(diff-apply-hunk): Make that choice here.
2024-10-19 02:26:32 +01:00
john muhl
60e58be091 Fix naming of buffers for tags ending in Y in 'mpc'
* lisp/mpc.el (mpc-tagbrowser-buf): Use 'mpc-tagbrowser-tag-name'
to ensure buffers corresponding to tags that end in Y are
correctly pluralized; e.g. the tag "Directory" should create a
buffer named "*MPC Directories*" not "*MPC Directorys".
2024-10-18 17:11:45 -04:00
Stefan Monnier
0886ef01a8 (symbol-file): Fix C-h v pcase where cl-struct lacks file info
* lisp/subr.el (symbol-file): Return an actual (and absolute) file name
for the autoload case, as is done for other cases.
2024-10-18 14:51:13 -04:00
Stefan Monnier
e807d62cdd (help-fns-short-filename): Fix bug#73766
* lisp/help-fns.el (help-fns--radix-trees): New var.
(help-fns--filename, help-fns--radix-tree): New functions.
(help-fns-short-filename): Use them.
2024-10-18 14:48:28 -04:00
Michael Albinus
c437d7110b * admin/notes/git-workflow: Use emacs-30 in examples. 2024-10-18 18:33:48 +02:00
Michael Albinus
cf01f8776a Merge from origin/emacs-30
7dbbd58d6c Locate password icon in global-mode-string
19049efd30 ; Fix last documentation change
2c640e63a8 Explain tty-color-mode frame parameter more.
e5d600006e ; * src/doc.c (Ftext_quoting_style): Make doc string agre...
90c6880a92 (track-changes--after): Fix problem found in bug#73041
2024-10-18 17:56:15 +02:00