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

188135 commits

Author SHA1 Message Date
Helmut Eller
0ee25efb2e Exclude two more tests on the anangc platform
* mps/tool/testcases.txt (awlut, awluthe): Mark those as
multi-threaded.
2025-09-25 18:40:39 +02:00
Helmut Eller
cc6b939bd6 Don't compile forktest on the anangc platform
* mps/code/comm.gmk (TEST_TARGETS): Exclude forktest.
2025-09-25 18:38:13 +02:00
Helmut Eller
0c93a0044f Don't run Unix-only test on Msys
Detect Msys and use the existing X flag in testcases.txt to
exclude the forktest.

* mps/tool/testrun.sh (EXCLUDE_OS): New variable.
2025-09-25 18:33:30 +02:00
Helmut Eller
b142f39be0 * mps/code/comm.gmk (testratio): Add EXEEXT. 2025-09-25 18:27:44 +02:00
Eli Zaretskii
4748e47e1b Fix emacs-module-tests for igc
* test/src/emacs-module-tests.el
(module--test-assertions--call-emacs-from-gc): Skip if igc is
being used.
2025-09-25 16:32:56 +03:00
Eli Zaretskii
e850bcf6c6 ; * mps/code/mps.h (mps_word_t): Fix condition for MinGW64. 2025-09-25 11:39:05 +03:00
Eli Zaretskii
e223d2f339 Fix igc tests on MS-Windows
* src/igc.c (Figc_info): Fix "commit-limit" value when there's no
limit, and 'size_t' is narrower than 'intmax_t'.  Doc fix.

* test/src/igc-tests.el (set-commit-limit-test): Fix test for
32-bit builds.
2025-09-25 11:31:27 +03:00
Eli Zaretskii
03d6ca27ec * mps/TESTING: New file. 2025-09-25 10:27:29 +03:00
Gerd Möllmann
296077db95 * autogen.sh: Use absolute include path for autoreconf. 2025-09-25 04:39:26 +02:00
Eli Zaretskii
1acd389e14 Fix formatted input in MinGW builds
* src/igc.c (read_gens, read_commit_limit): Don't use %zu in
32-bit MinGW builds.
2025-09-24 17:50:42 +03:00
Eli Zaretskii
e473734445 Support the MinGW build of MPS and tests, part 2
* mps/code/mingw.gmk (CFLAGSCOMPILERSTRICT): Use gnu99, not gnu89.

* mps/configure.ac (EXEEXT): Define and use for program names.
(i*86-*-mingw*/no, x86_64-*-mingw*/no): Add definitions for MinGW.
2025-09-24 16:28:33 +03:00
Eli Zaretskii
74492583e5 Support the MinGW build of MPS and tests, part 1
* mps/code/w3i6gc.gmk:
* mps/code/w3i3gc.gmk:
* mps/code/mingw.gmk: New files, for the MinGW build.

* mps/code/ss.c (StackHot) [__MINGW32__ && __GNUC__ >= 12]: Ignore
dangling-pointer warnings.

* mps/code/global.c (ArenaFinalize): Avoid compiler warnings.

* mps/code/thw3.c (ThreadScan): Avoid compilation errors due to
prototype mismatch.

* mps/code/testlib.h (alloca): Don't redefine for MinGW.
(setenv): Don't redefine for mingw.org's MinGW.
(ulongest_t, longest_t): Separate definitions for MinGW64.

* mps/code/testlib.c (sizelog2) [__MINGW32__]: Fix comparison.
(rnd_align): Avoid name clashes with 'min' and 'max'.

* mps/code/spw3i3.c (StackProbe) [__GNUC__]: Implementation for
MinGW.

* mps/code/protw3.c: Avoid compiler warning.

* mps/code/mpstd.h: Define MinGW (_X86_) and MinGW64 (__X86_64)
configurations.

* mps/code/mpsiw3.c (mps_SEH_filter, mps_SEH_handler): Add
prototypes.

* mps/code/mps.c [MPS_PF_W3I3GC]: Define 32-bit MinGW stuff.
[MPS_PF_W3I6GC]: Define 64-bit MinGW64 stuff.

* mps/code/lockw3.c (RTL_RUN_ONCE, PRTL_RUN_ONCE_INIT_FN)
(RTL_RUN_ONCE_INIT, INIT_ONCE_STATIC_INIT, RTL_RUN_ONCE INIT_ONCE)
(PRTL_RUN_ONCE PINIT_ONCE, PINIT_ONCE_FN, InitOnceExecuteOnce):
Define for mingw.org's MinGW.

* mps/code/comm.gmk (EVENT_TARGETS, EXTRA_TARGETS, TEST_TARGETS)
(UNBUILDABLE_TARGETS): Add $(EXEEXT) to program names.
(TESTTHR): Define correct test for MS-Windows.
Don't fail the build if the *.d dependency files don't exist.
2025-09-24 13:02:30 +03:00
Helmut Eller
a528103c18 * src/igc.c (make_arena): Change default to 16MB and 10ms pause time
If the generation hypothesis is true, then this should work better than
128MB.  It could reveal also some new bugs.  As long as we don't have
proper benchmarks, we have little reason to prefer one over the other.
2025-09-23 17:45:08 +02:00
Helmut Eller
d37f079bad Call igc--on-idle multiple times per idle period
This makes the exact value of igc--idle-delay less import because
igc--on-idle is now called after igc--idle-delay then after
igc--idle-delay * 2, then igc--idle-delay * 4, and so on.

* lisp/emacs-lisp/igc.el (igc--on-idle): Start a second timer until
igc--idle-repetitions is reached.
(igc--idle-delay): Use 1.0 as default.
(igc--idle-repetitions): New.
(igc--current-idle-time): New helper.
(igc--predict-idle-time): Use it.
2025-09-23 11:32:48 +02:00
Helmut Eller
2e76caa312 Introduce a igc--set-pause-time function
* src/igc.c (Figc__set_pause_time): New function.
* test/src/igc-tests.el (set-pause-time-test): New test
2025-09-23 11:30:37 +02:00
Helmut Eller
89628c9575 Print a message when EMACS_IGC_GENS can't be parsed
* src/igc.c (read_gens): Detect some parser errors and print a message.
(make_arena): Allocate gens on stack to avoid static variables.
2025-09-23 11:20:36 +02:00
Gerd Möllmann
574d16f674 Read GC parameters from environment
* src/igc.c (read_gens, read_pause_time, read_commit_limit): New.
(make_arena): Use them.
2025-09-23 11:17:37 +02:00
Helmut Eller
bd483c9966 Merge branch 'scratch/mps-import2' into feature/igc 2025-09-23 10:23:28 +02:00
Helmut Eller
1507199e35 Support out-of-tree builds
* mps/example/scheme/Makefile.in (VPATH): Set VPATH.
* mps/Makefile.in (COMMON_OPTS): New.  Pass SRCDIR down to sub-make.
* mps/code/comm.gmk (VPATH): Set VPATH from SRCDIR parameter
* mps/configure.ac (AC_CONFIG_COMMANDS): Copy .gmk makefiles and some
other things to the biuld directory.
2025-09-22 16:56:02 +02:00
Helmut Eller
a97f6d888f Better support for parallel make
* mps/code/comm.gmk (LIB_TARGETS, TEST_TARGETS, EVENT_TARGETS)
(TEST_SUITES, testmmqa): If VARIETY is not defined, then disable
parallism with .NOTPARALLEL.  Otherwise, avoid the recursive make with
a static pattern rule.
(clean-testansi, clean-testpollnone): New.
* mps/Makefile.in (build-via-make): Invoke submake explicit
VARIETY argument to allow more parallelism.
(test-make-build): Use clean-testansi and clean-testpollnone.
2025-09-15 08:23:25 +02:00
Helmut Eller
d15aa6aa44 Add pre-commit check for MPS
* build-aux/git-hooks/pre-commit: Don't allow mixing commits to MPS with
commits to Emacs.
2025-09-13 17:04:10 +02:00
Helmut Eller
685167848a Remove some autoconf-generated files 2025-09-13 15:39:24 +02:00
Helmut Eller
250721be25 * configure.ac: Run configure in the mps subdirectory. 2025-09-13 13:58:18 +02:00
Helmut Eller
baa2ffe03c Relax compiler flags in Makefile
We don't want to abort on every warning.

* mps/configure.ac (CFLAGS_GC): Remove -Werror.
* mps/Makefile.in (CFLAGSCOMPILERSTRICT): Add -Wno-error.
2025-09-13 13:51:28 +02:00
Helmut Eller
14fbd23eba * src/Makefile.in: Simplify TAGS generation for MPS code 2025-09-13 13:26:28 +02:00
Gerd Möllmann
10b079d8c5 * mps/code/mps.h (MPS_RM_PROT_INNER): Fix MPS issue #285. 2025-09-13 13:26:07 +02:00
Helmut Eller
cb146c7d66 * src/Makefile.in: Generate TAGS for MPS code 2025-09-13 13:25:40 +02:00
Helmut Eller
ceb1195962 Reduce include path pollution
* configure.ac (MPS_CFLAGS): No longer add -I../mps/code for all files.
* src/igc.c: Instead, add ../mps/code only here.
2025-09-13 13:25:07 +02:00
Helmut Eller
de6345ed51 * src/Makefile.in (mps.o): Use compiler generated dependencies 2025-09-13 13:24:47 +02:00
Helmut Eller
b38d8789fe * mps/code/global.c (ArenaStep): Fix calculation of available time. 2025-09-13 13:23:52 +02:00
Helmut Eller
4fa84f64e4 Adjust configure.ac and src/Makefile.in for in-tree MPS 2025-09-13 13:23:16 +02:00
Helmut Eller
026d2ff9c1 ; Merge from https://github.com/Ravenbrook/mps 2025-09-13 10:03:34 +02:00
Helmut Eller
255a1e6872 Un-rename .gitignore 2025-09-13 10:03:13 +02:00
Gerd Möllmann
f782dd29fb ; * lisp/emacs-lisp/igc.el (igc-start-idle-timer): Add autoload cookie. 2025-09-07 17:17:48 +02:00
Helmut Eller
ff16f07274 Call mps_arena_step from a Lisp idle timer
* src/igc.c (Figc__arena_step): New defun.
(syms_of_igc): Register Sigc__arena_step.
* lisp/emacs-lisp/igc.el (igc-start-idle-timer): New.
(igc--idle-timer, igc--idle-delay, igc--step-interval)
(igc--predict-idle-time, igc--on-idle): New code for opportunistic Gc.
2025-09-06 20:15:56 +02:00
Gerd Möllmann
fa71ca0e22 Merge branch 'master' into feature/igc 2025-09-04 05:18:12 +02:00
Gerd Möllmann
a4c65bd509 ; Add a comment 2025-09-04 05:17:12 +02:00
Po Lu
446c037d57 Fix crash when the same XI device appears in multiple hierarchy events
* src/xterm.c (xi_disable_devices): Move `out' label into the
outermost loop.  (bug#79343)
2025-09-04 09:10:20 +08:00
Stefan Monnier
d314971e04 lisp/eshell/em-glob.el (eshell-glob-translate-alist): Don't quote lambda 2025-09-03 16:54:39 -04:00
Eshel Yaron
60a22185b7
Support completion category inheritance
* lisp/minibuffer.el (define-completion-category): New function.
(completion-category-get): New function, implements completion
category property lookup with (multiple) inheritance.
(completion-metadata-get, completion--styles)
(completion--cycle-threshold): Use it.
(completion-category-defaults): Mention it in docstring.
Remove entry for 'project-buffer' category, and instead...
* lisp/progmodes/project.el: ...have 'project-buffer' inherit
from 'buffer'.
* test/lisp/minibuffer-tests.el
(completion-category-inheritance): New test.
* etc/NEWS: Announce support for category inheritance.
2025-09-03 21:01:43 +02:00
Jonas Bernoulli
5f70ff65a7
Update to Transient v0.10.0-8-g5efa5c6e 2025-09-03 17:11:44 +02:00
João Távora
5db70442e5 Eglot: really fix bug#79259
The previous change actually introduced a bug in a closely
related but distinct place.  We need to address the off-by-one
in the 'substring' call, not the 'add-face-text-property'.

* lisp/progmodes/eglot.el (eglot--sig-info): Fixup.
2025-09-03 08:16:15 +01:00
Juri Linkov
2b9c7f9508 Make 'isearch-mode' more idempotent (bug#79368).
* lisp/isearch.el (isearch-mode): Don't override
'isearch--saved-local-map' when 'overriding-terminal-local-map'
was already set to 'isearch-mode-map' in a previous call.
(with-isearch-suspended): Don't call the function 'isearch-mode'
when the variable 'isearch-mode' is already non-nil.
2025-09-03 09:45:34 +03:00
Stefan Monnier
f97abe6200 (macroexp--obsolete-warning): Prefer %s
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): `instead`
can be a list.
* lisp/dom.el (dom-text, dom-texts): Fix obsolescence declaration.
2025-09-02 15:10:25 -04:00
Spencer Baugh
f1a18e8411 Allow any thread to run native compilations
* lisp/emacs-lisp/comp-run.el (comp--run-async-workers): Don't
lock the native compilation process to a thread (bug#79228).
2025-09-02 18:06:37 +03:00
Eli Zaretskii
90350729be ; Improve error message in elisp-mode.el
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile--executable): Improve the error message.
2025-09-02 17:45:46 +03:00
Sean Whitton
077a2e8f3b fileloop-next-file: Convert file-error to warnings
* lisp/fileloop.el (fileloop-next-file): Catch file-error and
convert to a delayed warning (bug#79356).
2025-09-02 15:44:00 +01:00
Eli Zaretskii
a6dd36e9b1 ; Fix last change
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable): Doc fix.
2025-09-02 14:05:14 +03:00
Spencer Baugh
45c5b636ce Add 'elisp-flymake-byte-compile-executable' defcustom
The correct Emacs executable to use for
'elisp-flymake-byte-compile' is not necessarily the running
Emacs.  For example, when editing trunk with Emacs 30,
various Lisp changes will cause spurious flymake warnings.
Add 'elisp-flymake-byte-compile-executable' to allow
customizing this.
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable)
(elisp-flymake-byte-compile--executable): Add.  (Bug#79342)
(elisp-flymake-byte-compile): Invoke
'elisp-flymake-byte-compile--executable'.

* etc/NEWS: Announce the change.
2025-09-02 13:58:46 +03:00
Michael Albinus
6ad8745833 Extend tramp-test26-interactive-file-name-completion
* lisp/net/tramp.el (tramp-get-completion-methods):
Use `tramp-compat-seq-keep'.

* test/lisp/net/tramp-tests.el (completions-max-height): Declare.
(tramp-test26-interactive-file-name-completion): Extend test.
2025-09-02 12:09:17 +02:00