[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scratch/igc 9c1e11218e8 1/2: Root for chan_process
From: |
Gerd Moellmann |
Subject: |
scratch/igc 9c1e11218e8 1/2: Root for chan_process |
Date: |
Fri, 19 Apr 2024 09:17:17 -0400 (EDT) |
branch: scratch/igc
commit 9c1e11218e83b1d737ffc0698ef68e5e02030276
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Root for chan_process
---
src/.lldbinit | 7 ++++---
src/igc.c | 6 ++++++
src/igc.h | 1 +
src/process.c | 5 +++++
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/.lldbinit b/src/.lldbinit
index 14bbc003d18..7f186748bae 100644
--- a/src/.lldbinit
+++ b/src/.lldbinit
@@ -69,8 +69,9 @@ b die
#settings set -- target.run-args --batch -l loadup --temacs=pbootstrap
--bin-dest --eln-dest
#command alias go process launch --working-dir .
-target create bootstrap-emacs
-settings set -- target.run-args -batch --no-site-file --no-site-lisp -l
./emacs-lisp/loaddefs-gen.elc -f loaddefs-generate--emacs-batch . ./calc
./calendar ./cedet ./cedet/ede ./cedet/semantic ./cedet/semantic/analyze
./cedet/semantic/bovine ./cedet/semantic/decorate ./cedet/semantic/symref
./cedet/semantic/wisent ./cedet/srecode ./emacs-lisp ./emulation ./erc ./eshell
./gnus ./image ./international ./language ./leim ./leim/quail ./mail ./mh-e
./net ./nxml ./org ./play ./progmodes ./text [...]
-command alias go process launch --working-dir ../lisp
+target create emacs
+env EMACS_TEST_DIRECTORY=/Users/gerd/emacs/github/igc/test
+command alias go process launch --working-dir ../test
+settings set -- target.run-args --module-assertions --no-init-file
--no-site-file --no-site-lisp -L ":." -l ert --eval "(setq
treesit-extra-load-path '(\"/Users/gerd/.emacs.d/tree-sitter\"))" -l
lisp/net/tramp-tests --batch --eval '(ert-run-tests-batch-and-exit (quote (not
(or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))))'
# end.
diff --git a/src/igc.c b/src/igc.c
index cc4dd61c238..794f5b9507b 100644
--- a/src/igc.c
+++ b/src/igc.c
@@ -1638,6 +1638,12 @@ igc_root_create_ambig (void *start, void *end)
root_create_ambig (global_igc, start, end);
}
+void
+igc_root_create_exact (Lisp_Object *start, Lisp_Object *end)
+{
+ root_create_exact (global_igc, start, end, scan_exact);
+}
+
static void
root_create_specpdl (struct igc_thread_list *t)
{
diff --git a/src/igc.h b/src/igc.h
index 410b4bfd812..39ce15ee8f1 100644
--- a/src/igc.h
+++ b/src/igc.h
@@ -91,6 +91,7 @@ void igc_on_alloc_main_thread_bc (void);
void igc_check_symbol (void *p);
void igc_collect (void);
void igc_root_create_ambig (void *start, void *end);
+void igc_root_create_exact (Lisp_Object *start, Lisp_Object *end);
# define eassert_not_mps() eassert (false)
#else
diff --git a/src/process.c b/src/process.c
index 6b8b483cdf7..c6fe29691a9 100644
--- a/src/process.c
+++ b/src/process.c
@@ -31,6 +31,7 @@ along with GNU Emacs. If not, see
<https://www.gnu.org/licenses/>. */
#include <fcntl.h>
#include "lisp.h"
+#include "igc.h"
/* Only MS-DOS does not define `subprocesses'. */
#ifdef subprocesses
@@ -8612,6 +8613,10 @@ init_process_emacs (int sockfd)
#endif /* subprocesses */
kbd_is_on_hold = 0;
+
+#ifdef HAVE_MPS
+ igc_root_create_exact (chan_process, chan_process + ARRAYELTS
(chan_process));
+#endif
}
void