summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2026-06-04Use `confirm-nonexistent-file-or-buffer' in ffapdevmainCharles A. Roelli
* test/lisp/ffap-tests.el (ffap-respects-confirm-nonexistent-file-or-buffer): New test. * lisp/ffap.el (ffap-read-file-or-url): Respect `confirm-nonexistent-file-or-buffer'.
2026-06-02Support Ansible messages in compilation-modeMichael Albinus
* etc/NEWS: Mention Ansible integration in compilation mode. * etc/compilation.txt: Add examples of Ansible error, warning and note messages. Fix typos. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add Ansible regexps for error, warning and note messages. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add new test cases. (compile-test-error-regexps): Increase expected infos.
2026-06-01Merge from origin/emacs-31Sean Whitton
2c2f1c00acc ; * lisp/vc/vc-dir.el (vc-dir-update): Add an assertion. 51f823a3afa ; * etc/NEWS: Fix annotation. 271cc5c76c0 More tests for fill-paragraph-handle-comment.erts cc9f35c54ba ; * etc/PROBLEMS: Minor fixes of last change. 2727a6f4e8d ; Document problems caused by validation of *.eln files o... f1dd84bec99 ; * lisp/play/doctor.el (doctor-death): Fix Samaritans UR... 0bfbe06090c Update to Org 9.8.5 aac5e0457ae Eglot: replace eglot-prefer-plaintext with eglot-document... ec3d662de0b Make HTML button elements tab-stoppable in eww (bug#81107) # Conflicts: # etc/NEWS
2026-05-31More tests for fill-paragraph-handle-comment.ertsJuri Linkov
* test/lisp/textmodes/fill-resources/fill-paragraph-handle-comment.erts: Add more tests for current comment lines (bug#80449).
2026-05-29Merge from origin/emacs-31Sean Whitton
c3babe4b896 Fix lax whitespace highlight during query-replace 2e70b88623e Fix fill-paragraph combining text with preceding comment ea54c33950f ; * etc/PROBLEMS: Link to bug#81124. 02897e208d0 emacsclient quote_argument is void c6181780663 ; Mark process-test-stderr-buffer as :unstable when runni... 2c1b45f5c56 ; Improve documentation of 'vc-dir-auto-hide-up-to-date' 768c8bf0045 Revert "* admin/notes/documentation: Recommend not using ... a7414f18598 native--compile-skip-on-battery-p: Try to fix ?b, ?B cond... 7cee526a8cc Save and restore original local keymap in grep-edit-mode 4d87d203cfb Fix display of inline SVG images in Rmail 4c55d04ebe3 Add treesit-ready-p check back to tree-sitter major modes... 7892ae5eaf4 Fix pathological slowness in flex completion 12eec781ed6 No longer raise error on HTTP 402 (Payment Required) (bug... 1800350b186 Avoid compilation-mode matching rust as gnu
2026-05-28Speed-up cursor motion under 'display-line-numbers-mode'Eli Zaretskii
* src/xfaces.c (Finternal_lisp_face_equal_p): Accept an additional optional argument INHERIT; if non-nil, consider two faces equal if one inherits from the other and doesn't specify any other attributes to be different from it. * src/xdisp.c (try_cursor_movement, try_window_id): Call 'Finternal_lisp_face_equal_p' with non-nil INHERIT argument, to speed up redisplay in the default case when line numbers are shown. (Bug#81133) * test/src/xfaces-tests.el (xfaces-test-face-equality): New test.
2026-05-28dbus-call-method-asynchronously supports also an ERROR-HANDLERmasterMichael Albinus
* doc/misc/dbus.texi (Asynchronous Methods): HANDLER can also be (HANDLER . ERROR-HANDLER). * etc/NEWS: Mention ERROR-HANDLER of dbus-call-method-asynchronously. * lisp/net/dbus.el (dbus-call-method-asynchronously): Adapt docstring. (dbus-check-event, dbus-handle-event): HANDLER can also be (HANDLER . ERROR-HANDLER). * src/dbusbind.c (Fdbus_message_internal): HANDLER can also be (HANDLER . ERROR-HANDLER). (Bug#80952) * test/lisp/net/dbus-tests.el (dbus--test-method-another-handler) (dbus--test-method-error-handler): New defvars. (dbus--test-method-another-handler) (dbus--test-method-error-handler): New functions. (dbus-test04-call-method-error-handler): New test. (dbus-test10-keep-fd): Extend test.
2026-05-27Fix fill-paragraph combining text with preceding commentJuri Linkov
* lisp/textmodes/fill.el (fill-paragraph): Handle the case when a non-comment line follows a comment line with non-nil 'fill-paragraph-handle-comment' (bug#80449). Skip such a comment line before filling a non-comment line. * test/lisp/textmodes/fill-tests.el (fill-test-fill-paragraph-handle-comment): Add new test. * test/lisp/textmodes/fill-resources/fill-paragraph-handle-comment.erts: New file.
2026-05-26Pacify GCC better when building the test modulePaul Eggert
* test/Makefile.in ($(test_module)): Compile mini-gmp-gnulib.c, not mini-gmp.c, so that we get its pragmas to pacify GCC.
2026-05-26Omit useless casts found by GCC 16Paul Eggert
GCC 16’s -Wuseless-cast warning can be useful. Fix the useless casts it identifies, and also fix false positives by using compound literals, which are safer anyway than casts. * src/composite.c (composition_adjust_point) (Ffind_composition_internal): * lwlib/xlwmenu.c (xlwMenuResources, xlwMenuClassRec) (resource_widget_value, XlwMenuDestroy, Select): * src/alloc.c (process_mark_stack): * src/data.c (Faref): * src/emacs-module.c (module_extract_big_integer): * src/fileio.c (Finsert_file_contents): * src/frame.h (FRAME_MESSAGE_BUF_SIZE): * src/gtkutil.c (xg_tool_item_stale_p, update_frame_tool_bar): * src/image.c (pbm_load, png_load_body, jpeg_load_body) (tiff_load, gif_load): * src/pdumper.c (ptrdiff_t_to_dump_off, dump_queue_dequeue) (field_relpos, dump_field_emacs_ptr) (dump_object_start_pseudovector, pdumper_remember_scalar_impl) (pdumper_load, syms_of_pdumper): * src/regex-emacs.c (BUF_PUSH, BUF_PUSH_2, POINTER_TO_OFFSET): * src/xdisp.c (remember_mouse_glyph, pint2str): * src/xterm.c (cvt_string_to_pixel, handle_one_xevent): Omit useless casts. Perhaps they were formerly needed, but they should not be needed now. * src/alloc.c (Fmemory_info): * src/category.c (Fdefine_category, Fmodify_category_entry): * src/data.c (Fash): * src/dispextern.h (GLYPH_CODE_P): * src/emacs.c (load_seccomp): * src/fns.c (Flocale_info, maybe_resize_hash_table): * src/indent.c (check_display_width): * src/json.c (symset_size): * src/lisp.h (XUNTAG, BOOL_VECTOR_LENGTH_MAX, obarray_size) (hash_table_index_size): * src/lread.c (make_obarray, grow_obarray, Fobarray_clear): * src/menu.c (digest_single_submenu, x_popup_menu_1): * src/term.c (init_tty): * src/widget.c (update_wm_hints): * src/xdisp.c (truncate_echo_area): * src/xfns.c (x_set_border_pixel): * src/xfont.c (xfont_match, xfont_open): * src/xmenu.c (set_frame_menubar): * test/src/emacs-module-resources/mod-test.c (emacs_module_init): Use compound literal instead of a cast that is useless in some platforms but not others. * src/dispextern.h, src/haikugui.h, src/w32gui.h: (WINDOW_HANDLE_UINTPTR): New macro. * src/frame.c (gui_report_frame_params): * src/xterm.c (x_try_cr_xlib_drawable): Use it. * src/lisp.h (XUNTAG): And tag with UINTPTR_MAX to pacify gcc warning about a constant out of range. (hash_idx_t): Make it int_least32_t, as it need not be exactly 32 bits. (PRIdHASH_IDX): New macro. * src/pdumper.c (dump_queue_dequeue): Use it. * src/profiler.c (setup_cpu_timer): Make a local EMACS_INT rather than int, to avoid need for casting later. * src/syntax.c (uninitialized_interval): Use 1u rather than 1 so the cast is always useful. A compound literal wouldn’t do here, as this macro needs to be an integer constant expression. * src/xfns.c (XICCallback, XICProc): Remove macros. (Xxic_preedit_start_callback): Use a cleaner way to specify it, avoiding the need for type macros, and for a cast if HAVE_XICCALLBACK_CALLBACK. * src/xterm.c (handle_one_xevent): 2nd arg is now XEvent * on all platforms, as there is no need to diverge, and diverging meant we needed lots of unnecessary casts.
2026-05-26Pixel-direct alignment in visual-wrap-prefix-mode (bug#81039)Andrea Alberti
`visual-wrap--content-prefix' previously returned a column count computed as (max (string-width prefix) (ceiling (string-pixel-width prefix) avg-space-width)) with two problems: * `string-width' ignores `buffer-invisibility-spec', so an invisible prefix (hidden ATX markers under `markdown-ts-hide-markup', for example) still reserved its character count on line 1 via a `min-width' display property, shifting the visible heading right. * With variable-pitch fonts, rounding the prefix width up to whole columns added visible padding whenever the natural width did not fall on an exact column boundary. Return the prefix's natural pixel width via `string-pixel-width' instead, which accounts for any display transformation applied to the prefix (invisibility, `display' replacements, text scaling, proportional fonts). Drop the `min-width' property from `visual-wrap--apply-to-line' so line 1 renders at its natural width. Switch the continuation `wrap-prefix' to a mixed-unit `:align-to' sum form: (space :align-to (+ (PIX) (EXTRA-INDENT . width))) where PIX is the prefix's pixel width and EXTRA-INDENT is `visual-wrap-extra-indent' in canonical character widths. The display engine resolves each term per the active frame and sums them, so no Lisp-level unit conversion is needed. Since `min-width' is no longer installed, the accumulation cycle that commit 81a5beb8af0 (bug#73882) worked around cannot recur. Drop the `min-width' strip from `visual-wrap--content-prefix' and the `min-width' removal from `visual-wrap--remove-properties'. Keep `min-width' in `visual-wrap--safe-display-specs' so that lines where other modes install it are not skipped. * lisp/visual-wrap.el (visual-wrap--content-prefix): Return pixel width instead of column count; drop the `min-width' strip. (visual-wrap--apply-to-line): Drop `min-width' on line 1; use mixed-unit `:align-to' sum form for the continuation wrap-prefix. (visual-wrap--adjust-prefix): Handle only string prefixes; the numeric (pixel) case is now handled inline in `--apply-to-line' via the mixed-unit `:align-to' sum form. (visual-wrap--remove-properties): Drop `min-width' removal. (visual-wrap--safe-display-specs): Add note about `min-width'. * test/lisp/visual-wrap-tests.el: Update expected `wrap-prefix' values to the new sum form. (visual-wrap-tests/invisible-prefix): New test motivated by bug#81039. (visual-wrap-tests/negative-extra-indent): New test; verify that a large negative `visual-wrap-extra-indent' produces a valid wrap-prefix (the display engine clamps the stretch to zero). * test/manual/visual-wrap-test.el: New file. Manual test suite for visual-eyeball verification of prefix alignment behavior. Reported-by: Andrea Alberti <a.alberti82@gmail.com> Co-authored-by: Stefan Monnier <monnier@iro.umontreal.ca>
2026-05-25;cperl-mode.el: Fix fontification edge casesHarald Jörg
These were reported by happy-barney on GitHub https://github.com/HaraldJoerg/cperl-mode/issues * lisp/progmodes/cperl-mode.el (cperl-init-faces): Don't mistake $method as a method declaration. Move matcher for "use require" higher to prevent "require" being fontified as keyword. * test/lisp/progmodes/cperl-mode-resources/sub-names.pl: Add a test case for $method * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-fontify-declarations): Add a test case for a module name looking like a keyword (cperl-test-fontify-sub-names): Verify that $method does not declare a method
2026-05-25; Mark process-test-stderr-buffer as :unstable when running on embaMichael Albinus
* test/src/process-tests.el (process-test-stderr-buffer): Mark as :unstable when running on emba. (Bug#80166)
2026-05-24Avoid crash in self-insert-command with non-ASCII auto-fillPip Cet
* src/cmds.c (internal_self_insert): If the autofill function changed the newline character we inserted, don't attempt to restore point. * test/src/cmds-tests.el (self-insert-nonascii-autofill): New.
2026-05-24Avoid crash in self-insert-command for peculiar argumentsPip Cet
* src/cmds.c (internal_self_insert): Don't call auto-fill-function after inserting zero newlines. * test/src/cmds-tests.el (self-insert-zero-newlines): New.
2026-05-24Fix 'do_casify_natnum' for events with all flags setPip Cet
* src/casefiddle.c (do_casify_natnum): Extend range a little, to cover character events with all modifier flags set. * test/src/casefiddle-tests.el (casefiddle-allflags): New test.
2026-05-24Fix off-by-one error in 'styled_format'Pip Cet
This would (rarely) result in composition properties being shared across the concatenation of two copies of a string. * src/editfns.c (styled_format): Include the first argument in the range. * test/src/editfns-tests.el (editfns-tests--format-composition-property): New.
2026-05-23Merge from origin/emacs-31Sean Whitton
4f13f52a3aa * build-aux/git-hooks/commit-msg: Replace Markdown-style ... dd42133315b vc-test--rename-file: Disable part of test for SCCS eb653865c3a markdown-ts-mode: Don't enable unconditionally by default # Conflicts: # etc/NEWS
2026-05-23vc-test--rename-file: Disable part of test for SCCSSean Whitton
* test/lisp/vc/vc-tests/vc-tests.el (vc-test--rename-file): Disable part of test for SCCS.
2026-05-23Merge from origin/emacs-31Eli Zaretskii
7a17f97baa7 Prettify special glyphs f13287fde0d Revert "sh-script: Mark + and * as punctuation rather tha... 70b79b3ed8d Rename `icalendar-recur' type and related functions 3d2bb233f27 ; Minor Tramp changes f6281d757d3 ; * etc/NEWS: Tell how to disable 'markdown-ts-mode'. 142b1e0d4c3 Fix Lisp injection via X-Draft-From in Gnus d6f7b2d99bd Save/restore old_buffer slot via window configurations (B... e0fbecaf658 Adapt ert-remote-temporary-file-directory settings 3de7f0ce5e5 Fix warning message in 'markdown-ts-mode--initialize' 7df8604ea63 ; Improve documentation of lazy-highlight in search and r... 2936b36164d Fix "assertion 'GTK_IS_WINDOW (window)' failed" 98348a0bdc9 [Xt] Fix child frame resizing glitch 13b29eebc16 Eglot: use standard face for completion annotations (bug#... # Conflicts: # etc/NEWS
2026-05-23Rename `icalendar-recur' type and related functionsRichard Lawrence
More context in Bug#80786 and: https://lists.gnu.org/archive/html/emacs-orgmode/2026-03/msg00286.html `icalendar-recur' as a type name for RRULE values was confusing and made the accessors for this type difficult to discover, because `icalendar-recur-' is also used as a prefix in icalendar-recur.el. This change renames the `icalendar-recur' type to `icalendar-rrule-value' and renames the accessor functions for these values appropriately. * lisp/calendar/icalendar-parser.el: Rename symbols as follows: (icalendar-recur): `icalendar-rrule-value' (icalendar-read-recur-rule-part): `icalendar-read-rrule-part' (icalendar-print-recur-rule-part): `icalendar-print-rrule-part' (icalendar-recur-rule-part): `icalendar-rrule-part' (icalendar-read-recur): `icalendar-read-rrule-value' (icalendar-print-recur): `icalendar-print-rrule-value' (icalendar--recur-value-types): `icalendar--rrule-value-types' (icalendar-recur-value-p): `icalendar-rrule-value-p' (icalendar-recur-freq): `icalendar-rrule-freq' (icalendar-recur-interval-size): `icalendar-rrule-interval-size' (icalendar-recur-until): `icalendar-rrule-until' (icalendar-recur-count): `icalendar-rrule-count' (icalendar-recur-weekstart): `icalendar-rrule-weekstart' (icalendar-recur-by*): `icalendar-rrule-by*'. (icalendar-rrule): (icalendar-index-insert): (icalendar-index-get): Update references. * lisp/calendar/icalendar-recur.el (icalendar-recur-find-interval): (icalendar-recur-nth-interval): (icalendar-recur-next-interval): (icalendar-recur-previous-interval): (icalendar-recur-refine-from-clauses): (icalendar-recur-recurrences-in-interval): (icalendar-recur-recurrences-in-window): (icalendar-recur-recurrences-to-count): (icalendar-recur-tz-observance-on): Update references. * lisp/calendar/diary-icalendar.el: Update references. * lisp/calendar/icalendar-shortdoc.el (icalendar): Update shortdoc examples. * lisp/gnus/gnus-icalendar.el: Update references. * test/lisp/calendar/diary-icalendar-tests.el: * test/lisp/calendar/icalendar-parser-tests.el: * test/lisp/calendar/icalendar-recur-tests.el: Update references in tests.
2026-05-23; Minor Tramp changesMichael Albinus
* doc/misc/tramp.texi (Frequently Asked Questions): google-drive has been disabled in GNOME 50. * lisp/net/tramp-cmds.el (tramp-enable-method): Upcase prompt. * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) (tramp-sh-handle-process-file): Improve setting of environment variables. * test/lisp/net/tramp-tests.el (tramp-methods) <mock>: Add `tramp-tmpdir'. Adapt `tramp-login-program'. (ert-remote-temporary-file-directory): Improve expansion. (tramp-test35-remote-path): Adapt test.
2026-05-21Merge from origin/emacs-31João Távora
655302cc212 Fix 'shr-outline-search' (bug#81073) 1754015c603 Improve auth-source-backend-parse 8f31ccbf823 Eglot: announce markdown support for completion docs aad170d1edf markdown-ts-mode: hide fence lines in view-mode (bug#81081) 133d1d591cb markdown-ts-mode: align default face definitions with mar... e0aeee2dc5f Fix markdown-ts-mode atx_heading face computation (bug#81... 997fc2cef77 Allow markdown-ts--run-command-in-code-block to ignore ou... 7d84e69a349 hideshow: Menu entry for 'hs-toggle-all' e90cafc2886 ; * doc/lispref/display.texi (Displaying Faces): Mention ... 520c5b7c71b ; * doc/lispref/text.texi (Special Properties): Fix last ... 8095fbef772 doc/lispref/text.texi: Add complement to commit f4a1c006569f 9436d92c5da Eglot: fix eglot--format-makrup when MARKUP just a string 9ba65aa9656 Fix missing margin face on display prop in erc-stamp
2026-05-20Detect some API violations in combine-change-calls (bug#80877)Pip Cet
Quickly verify that the number of unchanged characters before and after the region that changes are supposed to be limited to doesn't change. Suggested by Stefan Monnier. * lisp/subr.el (combine-change-calls-1): Copy BEG into a marker, and count the characters after the changed region. After the changes, ensure the character counts still match. * test/lisp/subr-tests.el (subr-test-combine-change-calls-error): New.
2026-05-18Fix missing margin face on display prop in erc-stampF. Jason Park
* lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Explicitly add face to right-hand stamp's `display' margin string. Commit d24b10ca "Introduce 'margin' face for window margin background" did away with the "fall-through" behavior in which a margin spec's string that lacks its own face property inherited whatever the associated `display' char happened to have. (Bug#80693) ;; The old language in "(elisp) Display Margins" said "if the ;; string to be displayed in the margin doesn't specify a face, its ;; face is determined using the same rules and priorities as it is ;; for strings displayed in the text area (see Displaying Faces)," ;; and that "if this results in undesirable 'leaking' of faces into ;; the margin, make sure the string has an explicit face specified ;; for it." It seems ERC and likely more than a few other packages ;; never came to heed this guidance and have erroneously depended ;; on such behavior for years if not decades. ;; ;; * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: ;; * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: ;; * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: ;; * test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld: ;; * test/lisp/erc/resources/fill/snapshots/monospace-01-start.eld: ;; * test/lisp/erc/resources/fill/snapshots/monospace-02-right.eld: ;; * test/lisp/erc/resources/fill/snapshots/monospace-03-left.eld: ;; * test/lisp/erc/resources/fill/snapshots/monospace-04-reset.eld: ;; * test/lisp/erc/resources/fill/snapshots/spacing-01-mono.eld: Update ;; snapshot.
2026-05-18Merge from origin/emacs-31Sean Whitton
28a13b01c7d vc-refresh-state: Override default-directory for backend ... 389874c533b Eglot: unbreak for treesit-less builds 10e91e096d8 Get selected item in newsticker list view 6bd73af2413 ; * test/lisp/jsonrpc-tests.el: Adjust timeouts for CI EM... eb90c528f38 ; * lisp/progmodes/eglot.el (eglot-code-action-indication... 1d7d6ffedbc ; * etc/PROBLEMS: Fix entries about display of Emoji on T... 6c1829bf4c5 Eglot: fix thinko in recent markdown-related commit (bug#... 36036e71c0c Jsonrpc: migrate more tests to Python subprocess fixtures 0977d5915d1 Eglot: add left-fringe code action indicator (bug#80326) b7825c3a271 Fix auth-source-backends-parse d89054627c4 Fix updates of embedded formulas by 'calc-embedded-update... 1832a93547b ; * src/fns.c (Fequal): Doc fix. f68e7a0a411 ; Improve documentation of commands that move by compilat...
2026-05-18; * test/lisp/jsonrpc-tests.el: Adjust timeouts for CI EMBA testingJoão Távora
2026-05-18; Improve last changeJim Porter
* test/src/process-tests.el (process-tests/broken-pipe): Use CONNECTION-TYPE. (process-tests/broken-pipe/pipe-all) (process-tests/broken-pipe/pipe-stdin): Skip via 'skip-when'. (process-tests/broken-pipe/pty) (process-tests/broken-pipe/pty-stdin): Remove these invalid tests; EPIPE from a PTY doesn't make sense.
2026-05-17Allow child processes to continue after EPIPEJim Porter
This ensures that if the child process closed its stdin and Emacs tries to write to it, the process can still do any remaining work and exit normally. In practice, this can occur with commands like "head(1)" (bug#79079). * src/fileio.c (file_for_stream): New function, extracted from... (Fset_binary_mode): ... here. (Ffile__close_stream): New function. * src/process.c (send_process): When encountering EPIPE, only close the fd for the pipe to the child process's stdin. * lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't check for process liveness anymore. * test/src/process-tests.el (process-tests/broken-pipe): New function. (process-tests/broken-pipe/pipe, process-tests/broken-pipe/pty) (process-tests/broken-pipe/pipe-stdin) (process-tests/broken-pipe/pty-stdin): New tests. * etc/NEWS: Announce this change.
2026-05-17Ensure that process-tests clean up test processesJim Porter
* test/src/process-tests.el (start-process-should-not-modify-arguments): Clean up test process. (process-test--check-pipe-process): New macro... (process-test-make-pipe-process-no-buffer): ... call it.
2026-05-17Jsonrpc: migrate more tests to Python subprocess fixturesJoão Távora
All tests now use 'jsonrpc--with-python-fixture' with a Python3 subprocess instead of the in-Emacs TCP server. Changed the "harakiri" method to be a request instead of a notification for to reduce chance of "Sentinel hasn't run" warning. The two in-Emacs-RPC-specific error tests ('errors-with--32601' and 'signals-an--32603-JSONRPC-error') are dropped with the fixture itself, as the error paths they exercise are internal to the Emacs Lisp dispatcher and have no direct Python equivalent. They will have to be re-done later on in other form. * test/lisp/jsonrpc-resources/server-emacsrpc.py: New file. * test/lisp/jsonrpc-resources/server-anxious-nested.py: Use new harakiri. * test/lisp/jsonrpc-resources/server-emacsrpc.py: Use new harakiri. * test/lisp/jsonrpc-resources/server-harakiri.py: Use new harakiri. * test/lisp/jsonrpc-resources/server-remote-during-sync-1.py: Use new harakiri. * test/lisp/jsonrpc-resources/server-remote-during-sync-2.py: Use new harakiri. * test/lisp/jsonrpc-resources/server-remote-error.py: Use new harakiri. * test/lisp/jsonrpc-resources/common.py (harakiri): New definition. * test/lisp/jsonrpc-tests.el (jsonrpc--with-python-fixture): Rework, move up. (jsonrpc-connection-ready-p): Move up. (jsonrpc--call-with-emacsrpc-fixture) (jsonrpc--with-emacsrpc-fixture) (errors-with--32601) (signals-an--32603-JSONRPC-error): Remove. (returns-3, times-out, doesnt-time-out, stretching-it-but-works) (deferred-action-toolate, deferred-action-intime) (deferred-action-complex-tests): Migrate to Python fixture. (scontrol-remote-during-sync-1, scontrol-remote-during-sync-2) (scontrol-anxious-nested, scontrol-remote-error) (shutdown-clean-after-notification): Tweak.
2026-05-16Merge from origin/emacs-31Eli Zaretskii
cf96e9cb5a5 ; Fix byte-compilation warnings in non-Tree-Sitter builds 23575adc7be ; * doc/lispref/variables.texi (Local Variables): Fix typ... 8b6fb2f6465 ; * doc/lispref/variables.texi (Local Variables): Fix 'na... d3c72b83890 ; * src/xdisp.c (display_line): Fix commentary (bug#80693). a981517b72e Fill margins with 'margin' face on truncated screen lines 8e374990357 ; * doc/lispref/os.texi (Init File): Fix markup (bug#81049). f4c326c378a ; * src/sfnt.c (sfnt_read_cmap_format_12): Assert there's... bf89ee6d078 ; * etc/PROBLEMS: Cursor not shown on Windows with system... 20500d62006 ; htmlfontify: Handle 'reset' face attribute value (bug#8... d0d657fa902 ; Minor Tramp cleanup 93ea0d7d289 ; Improve documentation of VC commands in Dired 318084829c5 Eglot: adjust reference to completion frontends in manual 2a166c2dbdb Eldoc: display documentation in visual-line-mode aba60ad0c5b Eglot: prefer markdown-ts-view-mode for markup rendering ... 689c3bd5088 Use 'read-multiple-choice' in 'markdown-ts-mode' (bug#81027) 71809ee5df5 Fix 'markdown-ts-code-span' face (bug#81026) 286833e401d Add read-only 'markdown-ts-view-mode' (bug#81023) b39c123490b Fix strikethrough in 'markdown-ts-mode' (bug#80991) 0be998d4bc0 Fix code-span in headings in 'markdown-ts-mode' (bug#80979) a00beb3a31b Make 'markdown-ts-inline-images' buffer local and test fo... a0c05029fd1 * etc/NEWS: Mention new user option tramp-propagate-emacs... 2e71d2c709f Propagate EMACSCLIENT_TRAMP to remote hosts with Tramp ff96db93f23 keyboard-tests.el: Try and fix the failure on EMBA ce3098752cf doc: Remove long obsolete references to `package-initialize` 9bc04b001ac vc-next-action: Call vc-delete-file on FILESET-ONLY-FILES 13039e3442b ; touch-up last commit: copyright and comments c2a24dcec8b ; update msys2 build helper for Emacs 31 & UCRT 3630baae720 hideshow: Support new 'margin' face for margin indicators... 20d17df3f4f Use the new 'margin' face in Flymake (bug#80693) 07f2bbc905d vc-dir-resynch-file: Pass down non-truename'd FILE
2026-05-16Merge from origin/emacs-31Eli Zaretskii
7eab6ef3cee Fix 'sgml-parse-tag-backward' to handle tags in comments 09dc864b0b8 Fix eww-submit for forms with no action (bug#80918) 0e7a24d9313 * lisp/progmodes/hideshow.el (hs--set-variable): Use 'set... f12b01582db Fix Completions buffer disappearing with tmm-menubar (bug... 519fd832111 Fix secrets.el when Emacs is a flatpak 9e4ea934f23 Fix 'prepare-user-lisp' to follow symlinks e613e38021e Update "timeout" to 2.1.6 196fd80689e [GTK3, HiDPI] Fix width/height round-trip through Configu... acc07f1a030 [GTK3] On Expose, repaint the border before the content 5323eebcffc Test read-passwd behavior (bug#80838) 01c5990dd06 Fix nested read-passwd calls (bug#80838) 027043df257 ; * lisp/gnus/message.el (message-server-alist): Doc fix ... 3b608b233ed Fix terminal emulation of "ESC [ K" sequence 6a605c65a83 Fix vertical-motion across overlay strings with embedded ... e4d529c67b6 ; Fix last change d54faa0f1bf Mark gnus-dbus.el as obsolete 9bf2a19bb21 Move gnus-dbus.el to obsolete/gnus-dbus.el 984024daf3c Gnus: Use new sleep library d7c130972e0 ; * lisp/term/pgtk-win.el (icon-map-list): Fix :type. 5579893ed7c ; Don't block/unblock input in text_extents methods 547b1ee7b6d Fix Rmail behavior wrt globalized minor modes 6ba05106f4e Fix display images in the display margins 56f27dd9f06 Eglot: fix eglot--sig-info with non-UTF-32 positionEncoding 543d8a7a9d7 [NS] Fix deprecated variable (bug#80985) # Conflicts: # etc/NEWS
2026-05-14; Minor Tramp cleanupMichael Albinus
* lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Do not expand remote file names w/o a localname. * test/lisp/net/tramp-tests.el (tramp--test-supports-environment-variables-p): New defun. (tramp-test33-environment-variables): Use it.
2026-05-13Propagate EMACSCLIENT_TRAMP to remote hosts with TrampMichael Albinus
* doc/misc/tramp.texi (Remote processes): Explain `tramp-propagate-emacsclient-tramp'. * lisp/net/tramp.el (tramp-remote-process-environment): Adapt docstring. (tramp-propagate-emacsclient-tramp): New defcustom. (tramp-handle-make-process): * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) (tramp-sh-handle-process-file): Use it. * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables): Adapt test.
2026-05-13keyboard-tests.el: Try and fix the failure on EMBAStefan Monnier
* test/src/keyboard-tests.el (keyboard-sigint-to-quit): Fix a small race condition and avoid `sit-for` returning early.
2026-05-12Preserve order of local ERC modules for activationF. Jason Park
* etc/ERC-NEWS: Add new section for ERC 5.7. * lisp/erc/erc.el (erc--update-modules): Reverse returned list. * test/lisp/erc/erc-tests.el (erc--update-modules/local): Update.
2026-05-12Improve source NUH handling in ERCF. Jason Park
* lisp/erc/erc.el (erc--user-nuh-message-types): New variable. (erc--shuffle-nuh-nickward, erc--interpret-nuh): Replace former with latter, whose behavior is easier to predict. * test/lisp/erc/erc-tests.el (erc--interpret-nuh): New test.
2026-05-12Improve isolation of some ERC test environmentsF. Jason Park
* lisp/erc/erc.el (erc--lwarn): During tests where the variable `erc--warnings-buffer-name' is non-nil, don't display the Warnings buffer, and inhibit messages for the benefit of batch runs. * test/lisp/erc/erc-tests.el (erc--modify-local-map): Protect various hooks from module-setup code. * test/lisp/erc/resources/erc-tests-common.el (erc-tests-common-equal-with-props): Act more like `equal-including-properties' in accepting arbitrary objects rather than just strings. (erc-tests-common-with-global-modules): New macro. (erc-tests-common-frozen-options): New variable. (erc-tests-common-with-frozen-options): New macro. (erc-tests-common-make-server-buf): Accept a buffer for the NAME arg. (erc-tests-common-assert-get-inserted-msg-readonly-with): Instead of shadowing, use macro to protect calling environment from effects of activating global module.
2026-05-12; Remove some forward declarations from ERC testsF. Jason Park
* lisp/erc/erc.el (erc--insert-before-markers-transplanting-hidden): Don't deliberately return anything because the return value is undefined. The only existing call site, in `erc-insert-line', invokes the function indirectly via `erc--insert-line-function' and discards the result. * test/lisp/erc/erc-scenarios-join-display-context.el: Require `erc-join'. * test/lisp/erc/erc-scenarios-log.el: Remove forward declarations and require `erc-stamp'. * test/lisp/erc/erc-scenarios-match.el: Require `erc-match'. * test/lisp/erc/erc-scenarios-misc.el (erc-scenarios-base-kill-server-track): Suppress unwanted newline in test output. * test/lisp/erc/erc-scenarios-sasl.el (erc-scenarios-sasl--plain-fail): Don't redundantly bind `erc--warnings-buffer-name' or create a buffer for it. Use literal value assigned by test fixture instead. * test/lisp/erc/erc-scenarios-services-misc.el: Require `erc-services'. * test/lisp/erc/erc-tests.el (erc-handle-irc-url): Remove redundant `save-excursion'. (erc-tests--modules): Reflow into single column for easier management of divergent WIP patch sets. This should help minimize manual surgery when applying them atop one another. * test/lisp/erc/resources/erc-scenarios-common.el: Remove unused `require's and forward declarations from top of file. (erc-scenarios-common--make-bindings): Remove the non-existent `erc-auth-source-parameters-join-function' and add `erc--warnings-buffer-name'. The latter's buffer, if created, will be killed automatically when the test body exits. (erc-scenarios-common-with-cleanup): Generate locally scoped defvars to be used in a manner similar to `dlet' for user options yet to be loaded. (erc-scenarios-common--assert-date-stamps): Don't run when `erc-stamp' isn't loaded.
2026-05-12Fix file-name-non-special implementation of get-file-bufferMichael Albinus
* lisp/files.el (file-name-non-special): Fix `get-file-buffer'. (Bug#80718) * test/lisp/files-tests.el (files-tests-file-name-non-special--temp-file-prefixes): Extend list. (w32-downcase-file-names): Declare. (files-tests-file-name-non-special-get-file-buffer): Adapt test.
2026-05-10Test read-passwd behavior (bug#80838)Pip Cet
* test/lisp/auth-source-tests.el (auth-source-test--displayed-string): (auth-source-test-read-passwd): (auth-source-test-read-passwd-revealed): (auth-source-test-read-passwd-nested): New.
2026-05-07; Revert Eric's commits from February.Sean Whitton
These will be resubmitted as patches for review. Revert "Repair another test bollixed by aggressive optimization." This reverts commit 47735e0243ba15a485e1a6f25be53f6e42dafa24. Revert "Repair ab ecal test by making a variable kexical," This reverts commit ca42055b0ca3bba1b635e314f084239f5a205534. Revert "Complete the test set for floatfns,c." This reverts commit 1b0c8d6b95f0704936e4449270a815abb8865c3d. Revert "Tesrts for the portable primitives in fileio.c." This reverts commit a339c6827c0bb1e80de1cfb9c51b4c4b764046bc. Revert "Tests for primitives in coding.c and charset.c." This reverts commit 5749b2e4f4d11dd646892e70f520700e4f0f16f5. Revert "Tests for primitives from the character.c module." This reverts commit b09f8df206aae1e4b70d8961e6693d574aea6a30. Revert "Tests for the lreaf.c amd print.c primitives." This reverts commit d7a3d442b4cdfd88447eec49339dfa5d69342de9. Revert "Tests for remaining functions iun eval.c." This reverts commit cd038e5617ff940ead880fbc9c1df95e61453246. Revert "Completing test coverage for dataa.c orimitives." This reverts commit a6e19d6179ad608688c6edcc2b1f7368c05dff69. Revert "More correctness tesrs for orinitives from fns.c." This reverts commit 40ff4512ad12fd29a5bea887fe77c3bddfa4caec. Revert "More tests for edit functions, buffers, and markers." This reverts commit 67e8f875627e38450a6c713e810dcea2106c6d9c. Revert "Added more buffer/marker/editing test coverage." This reverts commit 3dda4b85e8a66a0c5592197dcc2895d65c04bc51. Revert "Category/charset/coding + char-table tests." This reverts commit 7a93a7b3345f7ae4e8f487b562b19a4b5fed8496. Revert "More test coverage improvements." This reverts commit fc7339c46dc87d5d7051f976206bb5c4d9efdfb8. Revert "More test coverage improvements." This reverts commit 95329bf445841a763bafa4ea5e853fc1c6f6bf0a. Revert "More test coverage improvements for ERT." This reverts commit e42c579a544d3d254e55db2f6b70e55205987d36. Revert "Crrections to tedt coverrage extensuion after bootstrap build." This reverts commit 90af3295c7fa705381bf680ec8559503ea875683. Revert "Improve test coverage of builtin predicates." This reverts commit 6eb170b007a4ad63fe5666033df191f52d480739. Revert "Tests for 2 marker primitives previously not covered." This reverts commit 6d7f0acf9cc15b388f90363d012aaba3d95be6c8. Revert "Tests for 7 editor primitives previously not covered." This reverts commit bb403e70aec25677393d4f37d544487a9aebab9e.
2026-05-06Handle long environment variables in Tramp oricessesMichael Albinus
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Handle loooong environment variables. (Bug#80783) * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables): Adapt test.
2026-05-04keyboard.c: Allow SIGINT to `quit` in batch mode, instead of exitStefan Monnier
In terminal sessions, SIGINT is turned into a `quit` ELisp signal, but in batch it has traditionally killed Emacs. It can be very useful to cause a `quit` from outside the process when running in batch (e.g. for "batch" sessions that provide a REPL via stdin/out), so add a new var 'kill-emacs-on-sigint' to control that behavior. (bug#80942) * src/keyboard.c (handle_interrupt_signal): Obey `kill_emacs_on_sigint`. (init_keyboard): Use `deliver_interrupt_signal` for SIGINT also for batch sessions. (syms_of_keyboard): New variable `kill_emacs_on_sigint`. * test/src/keyboard-tests.el (keyboard-sigint-to-quit): New test. * doc/emacs/cmdargs.texi (Initial Options): Mention the effect of `kill-emacs-on-sigint` in batch mode.
2026-05-04Adaot tramp-tests.elMichael Albinus
* test/lisp/net/tramp-tests.el (ert-remote-temporary-file-directory): Ensure that it is expanded.
2026-05-04Jsonrpc: add new tests using Python subprocessesJoão Távora
Most of these tests are for the scontrol/"anxious continuation" mechanism (bug#80623) The new ERT tests use Python subprocesses via stdin/stdout pipe as JSONRPC endpoints. A shared framing library lives in jsonrpc-resources/common.py. * test/lisp/jsonrpc-tests.el (jsonrpc--test-dir): New constant. (jsonrpc--with-python-fixture): New macro. (scontrol-remote-during-sync-1) (scontrol-remote-during-sync-2) (scontrol-anxious-nested) (scontrol-remote-error) (shutdown-clean-after-notification): New tests. * test/lisp/jsonrpc-resources/common.py: New file. * test/lisp/jsonrpc-resources/server-remote-during-sync-1.py: New file. * test/lisp/jsonrpc-resources/server-remote-during-sync-2.py: New file. * test/lisp/jsonrpc-resources/server-anxious-nested.py: New file. * test/lisp/jsonrpc-resources/server-remote-error.py: New file. * test/lisp/jsonrpc-resources/server-harakiri.py: New file.
2026-05-02; Add a test for sqlite-closeChris Roberts
* test/src/sqlite-tests.el (sqlite-closed-db): Add test. (Bug#80908) Copyright-paperwork-exempt: yes
2026-04-30Only perform erc-log-insert-log-on-open setup onceF. Jason Park
* etc/ERC-NEWS: Add entry for option `erc-log-insert-log-on-open'. Mention deprecation of `erc-log-setup-logging'. * lisp/erc/erc-log.el (erc-log-insert-log-on-open): Expand type from boolean to choice of boolean, predicate, and new function item `erc-log-new-target-buffer-p'. (erc-log-mode, erc-log-enable, erc-log-disable): Replace `erc-log-setup-logging' on `erc-connect-pre-hook' with `erc-log--insert-log-on-open' at depth 80. Replace calls to `erc-log-setup-logging' with ones to `erc-log--setup'. (erc-log-new-target-buffer-p): New function. While the name could perhaps do more to indicate that it's only useful when called from `erc-open', that's the only place ERC typically sets up new target buffers. (erc-log-setup-logging): Deprecate and replace body with adapter that calls `erc-log--setup' and `erc-log--insert-log-on-open'. (erc-log--setup): New function whose body is mostly from the "nondestructive" portion of `erc-log-setup-logging'. Instead of moving the `erc-saved-last-position' marker to the old value, expect it not to have been initialized by `erc-initialize-log-marker' because `erc-connect-pre-hook' now runs after this code, which is now incorporated more judiciously into the module's "enable body". (erc-log--insert-log-on-open): New function whose body is mostly from the "destructive" portion of the previous incarnation of `erc-log-setup-logging'. Unlike the original, if option `erc-log-insert-log-on-open' is a function, call it to decide whether to insert a log file atop its buffer. Also, don't advance the marker `erc-last-saved-position' to the prompt area, where it can get stuck and prevent logs from being saved when `erc-log-insert-log-on-open' is non-nil. Thanks to Libera user Lionyx for reporting the bug, which has been around since at least ERC 5.4 and Emacs 28.1. (erc-log-disable-logging): Remove `erc-save-buffer-in-logs' from `write-file-functions' to undo its buffer-local addition in what is now `erc--log-setup'. * test/lisp/erc/erc-scenarios-log-options.el: New file. (Bug#79665)
2026-04-30Restore erc-last-saved-position from previous sessionF. Jason Park
* lisp/erc/erc-log.el (erc-log-setup-logging): Restore `erc-last-saved-position' from previous session. By default, a non-/QUIT disconnect does not write out any remaining buffer text to logs, instead leaving it until the buffer or Emacs is killed. But if a successful reconnect occurs beforehand, the uncommitted portion must be seen to somehow. Before this change, it would be lost because the function `erc-initialize-log-marker' remakes the marker at the prompt instead of recovering the previous value as now done here. Moreover, the traditional workaround of customizing `erc-log-write-after-insert' and `erc-log-write-after-send' to t should not be required to prevent gaps in any decent IRC client. * test/lisp/erc/erc-scenarios-log.el (erc-scenarios-log--reconnect): New function. (erc-scenarios-log--reconnect/auto, erc-scenarios-log--reconnect/manual): New tests. ;; * test/lisp/erc/resources/join/reconnect/foonet-again.eld: Add QUIT.