1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-26 16:51:46 -07:00
Commit graph

187597 commits

Author SHA1 Message Date
Eli Zaretskii
d2cf8d0afb 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
3c48ba7b87 * mps/TESTING: New file. 2025-09-25 10:27:29 +03:00
Gerd Möllmann
a489dae36a * autogen.sh: Use absolute include path for autoreconf. 2025-09-25 04:39:26 +02:00
Eli Zaretskii
2dd0dad84d 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
265981c232 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
e722ec9cfe 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
c6a6db0abb * 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
69cf67d47d 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
35ad22952c 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
b14bf706ca 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
5ef7160b41 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
810e09c3f1 Merge branch 'scratch/mps-import2' into feature/igc 2025-09-23 10:23:28 +02:00
Helmut Eller
7c2bdaa548 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
7f3726d9a0 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
12521a679e 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
df5e64051e Remove some autoconf-generated files 2025-09-13 15:39:24 +02:00
Helmut Eller
ce12ad8520 * configure.ac: Run configure in the mps subdirectory. 2025-09-13 13:58:18 +02:00
Helmut Eller
aa64859978 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
fe8f23b313 * src/Makefile.in: Simplify TAGS generation for MPS code 2025-09-13 13:26:28 +02:00
Gerd Möllmann
b736f9e6a4 * mps/code/mps.h (MPS_RM_PROT_INNER): Fix MPS issue #285. 2025-09-13 13:26:07 +02:00
Helmut Eller
09a8facabb * src/Makefile.in: Generate TAGS for MPS code 2025-09-13 13:25:40 +02:00
Helmut Eller
aaadab8db1 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
ebd7226281 * src/Makefile.in (mps.o): Use compiler generated dependencies 2025-09-13 13:24:47 +02:00
Helmut Eller
771092f9e6 * mps/code/global.c (ArenaStep): Fix calculation of available time. 2025-09-13 13:23:52 +02:00
Helmut Eller
07e171254d Adjust configure.ac and src/Makefile.in for in-tree MPS 2025-09-13 13:23:16 +02:00
Helmut Eller
419e52300f ; Merge from https://github.com/Ravenbrook/mps 2025-09-13 10:03:34 +02:00
Helmut Eller
5eb8f34dbb 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
Sean Whitton
cc1a1a984a ; * etc/NEWS: Copyedit. 2025-09-02 09:23:42 +01:00
Spencer Baugh
b953dc679c Revert "Avoid duplicating strings in pcm--merge-completions"
Revert "Avoid duplicating strings in pcm--merge-completions",
commit b511c38bba.  It broke
existing behavior, now covered by tests adding in this commit.

* lisp/minibuffer.el (completion-pcm--merge-completions):
* test/lisp/minibuffer-tests.el (completion-pcm-test-anydelim):
(completion-pcm-bug4219):
2025-09-01 17:12:42 -04:00
Philip Kaludercic
d2532a4ef0
Add new library 'timeout'
* lisp/emacs-lisp/timeout.el: Add the file.
* etc/NEWS: Mention the library.

See https://mail.gnu.org/archive/html/emacs-devel/2025-07/msg00520.html.
2025-09-01 22:31:01 +02:00
Mattias Engdegård
b52ccb997d ; * lisp/emacs-lisp/bytecomp.el (featurep): mistake in last change 2025-09-01 16:50:10 +02:00
Eli Zaretskii
9c21c11277 ; Improve documentation of 'treesit-enabled-modes'
* lisp/treesit.el (treesit-enabled-modes): Doc fix.

* doc/emacs/modes.texi (Choosing Modes): Extend and improve
wording of a recently-added text.
2025-09-01 17:35:38 +03:00
Sean Whitton
838e8e4140 New project-find-matching-buffer-function for diff-mode
* lisp/vc/diff-mode.el (project-root): Declare.
(diff-find-matching-buffer): New function.
(diff-mode): Use it.
* doc/emacs/vc1-xtra.texi (Other Working Trees): Document
'C-x v w w' in diff-mode buffers.
2025-09-01 15:27:57 +01:00