| Age | Commit message (Collapse) | Author |
|
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
|
|
* 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.
|
|
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.
|
|
* test/src/process-tests.el (process-test-stderr-buffer): Mark as
:unstable when running on emba. (Bug#80166)
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* test/src/keyboard-tests.el (keyboard-sigint-to-quit): Fix a small
race condition and avoid `sit-for` returning early.
|
|
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.
|
|
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.
|
|
* test/src/sqlite-tests.el (sqlite-closed-db): Add test.
(Bug#80908)
Copyright-paperwork-exempt: yes
|
|
|
|
* test/src/keyboard-tests.el
(keyboard-tests--rks-fake-posn)
(keyboard-tests--rks-observe)
(keyboard-tests--rks-execute)
(keyboard-tests--rks-with-function-key-bindings)
(keyboard-tests--rks-with-event-kinds)
(keyboard-tests--rks-call-with-live-window-maps): Test helpers.
(keyboard-tests-rks-prefix-then-key)
(keyboard-tests-rks-unbound-returns-sequence)
(keyboard-tests-rks-bound-sequence-ends-read)
(keyboard-tests-rks-decode-fires-without-binding)
(keyboard-tests-rks-input-decode-map)
(keyboard-tests-rks-function-key-map)
(keyboard-tests-rks-function-key-map-on-undefined)
(keyboard-tests-rks-key-translation-before-function-key)
(keyboard-tests-rks-function-key-skipped-when-bound)
(keyboard-tests-rks-input-decode-after-function-key)
(keyboard-tests-rks-key-translation-overrides-bound-sequence)
(keyboard-tests-rks-upcase-fallback)
(keyboard-tests-rks-no-upcase-fallback)
(keyboard-tests-rks-dont-downcase-last)
(keyboard-tests-rks-shifted-function-key-fallback)
(keyboard-tests-rks-switch-frame-delayed)
(keyboard-tests-rks-unbound-down-mouse-dropped)
(keyboard-tests-rks-mode-line-fake-prefix)
(keyboard-tests-rks-mode-line-fake-prefix-continued)
(keyboard-tests-rks-clicked-buffer-switch)
(keyboard-tests-rks-help-char): Tests covering for read_key_sequence.
|
|
If a host parser has some ranges, and an embedded parser also
has some ranges, the final range used by the embedded parser
should be an intersection of the two. This patch adds this
logic.
* lisp/treesit.el (treesit--range-verbose): New variable.
(treesit--intersect-ranges):
(treesit--set-embed-ranges): New function.
(treesit--update-ranges-non-local):
(treesit--update-ranges-local): Use the new functions.
* test/src/treesit-tests.el:
(treesit-intersect-ranges): New test.
|
|
* src/lisp.h (handlertype) <CATCHER_ALL_DEBUGGABLE>: New enumeration
value.
* src/emacs-module.c (MODULE_HANDLE_NONLOCAL_EXIT):
* src/eval.c (Fthrow, signal_or_quit): Use it.
* test/src/emacs-module-tests.el
(mod-test-non-local-exit-funcall-debug-on-error): New test.
Bug#80714
Copyright-paperwork-exempt: yes.
|
|
* lisp/treesit.el (treesit--range-start):
(treesit--range-end):
(treesit--flatten-ranges): New helpers.
(treesit-query-range):
(treesit-query-range-by-language): Don't flatten the ranges
returned by each range-fn.
(treesit--update-ranges-non-local):
(treesit--update-ranges-local): Handle the case where the range
is a complicated ((START . END)...).
* test/src/treesit-tests.el (treesit-range-helper): New test.
|
|
* src/treesit.c (treesit_check_positive_integer): Remove.
(treesit_check_position):
(Ftreesit_node_first_child_for_pos):
(Ftreesit_node_descendant_for_range):
(Ftreesit_query_capture):
(Ftreesit__linecol_at): Use fix_position.
* test/src/treesit-tests.el:
(treesit-query-marker-position): Test.
|
|
* test/src/treesit-tests.el (treesit-query-node-only-and-grouped):
Remove unused variables.
|
|
Before the fix, if user uses the NODE-ONLY option, we don't keep
the capture names in the results, then predicates won't work
because they can't reference capture names.
* src/treesit.c (query_capture_remove_capture_name): New
function.
(Ftreesit_query_capture): Use the new function to remove capture
names AFTER running the predicate.
* test/src/treesit-tests.el:
(treesit-query-node-only-and-grouped): New test.
|
|
This introduces the predicate frame-initial-p, which uses
struct frame.output_method or struct terminal.type to detect
initial_terminal without relying on its name (bug#80629).
For some prior discussion, see:
https://lists.gnu.org/r/emacs-devel/2019-12/msg00480.html
https://lists.gnu.org/r/emacs-devel/2020-01/msg00120.html
* doc/lispref/frames.texi (Frames): Document frame-initial-p.
(Finding All Frames): Fix grammar.
* etc/NEWS (Lisp Changes in Emacs 31.1): Announce frame-initial-p.
* lisp/desktop.el (desktop--check-dont-save):
* lisp/emacs-lisp/debug.el (debug):
* lisp/frameset.el (frameset-restore):
* lisp/menu-bar.el (menu-bar-update-buffers):
* lisp/xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal):
Use frame-initial-p instead of checking the "initial_terminal" name.
* lisp/emacs-lisp/byte-opt.el: Mark frame-initial-p as error-free.
* src/pgtkterm.c (pgtk_focus_changed): Use IS_DAEMON in place of
Fdaemonp, thus also accepting a named daemon session.
* src/terminal.c (decode_tty_terminal): Clarify commentary.
(Fframe_initial_p): New function.
(syms_of_terminal): Expose it.
(init_initial_terminal): Update commentary now that
menu-bar-update-buffers uses frame-initial-p (bug#53740).
* test/lisp/xt-mouse-tests.el (with-xterm-mouse-mode): Simulate the
lack of an initial terminal by overriding frame-initial-p now
that turn-on-xterm-mouse-tracking-on-terminal uses it.
* test/src/terminal-tests.el: New file.
|
|
|
|
|
|
* lisp/emacs-lisp/comp.el (comp--func-unique-in-cu-p): Check
only the callee name instead of requiring global uniqueness.
* test/src/comp-resources/comp-test-direct-call.el: New file.
* test/src/comp-resources/comp-test-direct-call-dup.el: New file.
* test/src/comp-tests.el (comp-tests-has-direct-call-p)
(comp-tests-direct-call-with-lambdas)
(comp-tests-direct-call-with-duplicate-names): New tests.
|
|
* lisp/emacs-lisp/comp.el (comp--add-cond-cstrs): Skip
negated equality assumptions only for relational non-immediate
operands. Keep immediate false-branch constraints.
* test/src/comp-resources/comp-test-funcs.el
(comp-test-80327-hash, comp-test-80327-f): Add reproducer.
* test/src/comp-tests.el (comp-tests-bug-80327): Add regression
test.
|
|
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--run-maybe-unsupported-function): Remove dummy branch in
`condition-case`.
* test/lisp/arc-mode-tests.el (define-arc-mode-test-on-type):
Use `error-slot-value`.
* test/src/process-tests.el (process-tests--ignore-EMFILE):
* test/src/filelock-tests.el (filelock-tests-unlock-spoiled)
(filelock-tests-kill-buffer-spoiled):
* test/lisp/vc/vc-git-tests.el (vc-git-test--run):
* test/lisp/proced-tests.el (proced--assert-process-valid-cpu-refinement):
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env)
(edebug-tests-post-command):
* test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
* test/infra/android/test-controller.el (ats-connect):
|
|
* test/src/thread-tests.el (threads-join-error):
* test/src/emacs-module-resources/mod-test.c (Fmod_test_signal):
* src/print.c (print_bind_overrides):
* lisp/url/url-future.el (url-future-finish, url-future-errored)
(url-future-call, url-future-cancel): Make sure signal's data is a list.
* test/src/emacs-module-tests.el (mod-test-non-local-exit-signal-test):
Adjust accordingly.
|
|
This reverts commit feac53141577161c32a7a6dfe75399a5ae98a7c1.
This patch has deactivated 253 test cases without a sufficient reasoning.
Instead it speaks about a shotgun in its commite message.
The patch is reverted because
- It hasn't been discussed on emacs-devel. It should have, because it is
a serious change in our infrastructure (new official tag :nobatch). Any
documentation of this change, for example in test/README, is missing.
- The proper way to deactivate such tests would have been
(skip-when noninteractive)
Even better to skip for the respective reasons.
- There is no fault report. There is no information about how these tests
have failed. Since it hasn't been a problem so far for us, nobody will
work on a fix forever.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There were a bunch of tests that were breaking make check and should
never be run in batch mode, because they do things like assuming there
is a controlling tty or assuming we can access network services when
we can't (e/g. in a CI/CD environment). I have shotgunned this
problem by tagging all the failing tests with :nobatch and then
changing the default and expensive selectors so make check won't barf
all over its shoes.
As many of these :nobatch should be individually removed as possible, after
upgrading the test harness to mock the environmental stuff they need.
Investigate these failures with "make check-nobatch".
|
|
Bignum corner-case tests in data-tests.el.
More buffer-primitive tests in editfns-test.el
Some condition-case tesrs in eval-tests.el.
And another marker-primitive test in marker-tests.el.
|
|
In marker-tests.el, editfbs-tests.el, and data-tests.el.
|
|
* test/src/emacs-module-resources/mod-test.c [WINDOWSNT]: Undef
fprintf to prevent link error.
|