1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00
Commit graph

175891 commits

Author SHA1 Message Date
Yuan Fu
05ab13ebc7
Add keyword :reversed to treesit-font-lock-rules
This keyword will be useful for implementing
string-interpolation feature.

* doc/lispref/modes.texi (Parser-based Font Lock): Document the
new keyword.
* lisp/treesit.el (treesit-font-lock-settings): Document.
(treesit-font-lock-setting-reversed): New function.
(treesit-font-lock-rules): Add new keyword.
(treesit-font-lock-recompute-features): Handle new keyword.
2024-12-20 00:53:00 -08:00
Eli Zaretskii
926a9c864a Fix the MS-Windows build broken by recent changes
* src/w32font.c (memq_no_quit):
* src/w32uniscribe.c (memq_no_quit): Remove; use the function from
fns.c instead.  All callers changed.
2024-12-20 09:38:50 +02:00
Gerd Möllmann
82c3fcd17e Allow xt-mouse-tests to run
This is basically a workaround for running a test in batch mode
which should have a tty frame available but doesn't.

* src/frame.c (check_tty): Relax check if noninteractive.
* lisp/xt-mouse.el (xterm-mouse-event): Don't use frame-at if
noninteractive.
2024-12-20 07:03:59 +01:00
Gerd Möllmann
42ab0f162c Fix tty root frame collection in redisplay_internal
* src/fns.c (memq_no_quit): New function.
* src/lisp.h: Declare it.
* src/xdisp.c (redisplay_internal): Use memq_no_quit instead of
assq_no_quit.
2024-12-20 06:13:13 +01:00
Po Lu
3cb86eb038 Enable adjusting frame sizes on MS-DOS
* src/dispnew.c (change_frame_size): Do not propagate changes to
child frames to root frames and vice versa.

* src/frame.c (adjust_frame_size): Do not change video modes
in resizing a child frame.
2024-12-20 11:22:22 +08:00
Po Lu
cc5afea98e Enable TTY child frames on MS-DOS
* src/conf_post.h (ENOTSUP): Define to ENOSYS as msdos.h once
did.
(IFTODT): Copy definition from Gnulib.

* src/dispnew.c (is_tty_frame): Also test FRAME_MSDOS_P.

* src/frame.c (tty_child_pos_param, tty_child_size_param):
Export functions.

* src/msdos.c (mouse_get_xy, mouse_moveto, mouse_pressed):
Offset mouse positions by those of the selected frame.
(it_face_override): New function.
(IT_set_face): New argument F.  Load FACE_ID from its face
cache.
(IT_write_glyphs): Track the frames on which glyphs were
generated and apply faces from their individual face caches.
(IT_write_glyphs_with_face): New function.
(tty_draw_row_with_mouse_face): Reimplement in line with tty.c
and eliminate an obsolete optimization.
(IT_clear_end_of_line, IT_clear_screen): Load faces from the
cache of the provided frame.
(IT_set_frame_parameters): Adjust frame geometry and garbage
frames after geometry parameters change as a child frame.
(BUILD_CHAR_GLYPH): Accept new parameter F.
(IT_menu_display): Offset cursor positions by those of the
selected frame.

* src/msdos.h (ENOTSUP): Move to conf_post.h for Gnulib.

* src/xdisp.c (redisplay_internal): Redisplay MSDOS frames
unconditionally as with terminal frames.
2024-12-20 11:12:22 +08:00
Po Lu
e166803f8c Fix the Android port
* src/dispnew.c (terminal_cursor_magic)
(combine_updates_for_frame): Disable unused code on Android.

* src/frame.c (tty_child_frame_rect): Define out on Android.
2024-12-20 08:39:29 +08:00
Stefan Kangas
f0d7a395ea Prefer defvar-keymap in hangul.el
* lisp/leim/quail/hangul.el (hangul-im-keymap): Convert to
defvar-keymap.
2024-12-20 00:01:24 +01:00
Robert Pluim
c19dd8e9d6 Add more documentation for TTY child frames
* doc/lispref/frames.texi (Child Frames): Document that TTY
child frames are now supported.
* etc/NEWS: Document another limitation of TTY child frames.
2024-12-19 16:17:16 +01:00
Robert Pluim
d8e8e1d5ed Fix network test failure when using VPN client
When using certain VPN clients, the interface info returned by
'getifaddrs' does not have the address family filled in for the
ifa_netmask component (this is allowed by the standard, since
the value is not specified).  The resulting address info causes
network tests suite failures.  Fix by copying the address family
from the returned interface address.

* src/process.c (network_interface_list): Copy the interface address
sa_family to the netmask address.
(Fnetwork_lookup_address_info): Fix test for non-IP addresses to
properly account for IPv6.

* test/src/process-tests.el (process-tests-check-bug-74907): New
test, checks that 'network-interface-list' output is as
expected.

(Bug#74907)
2024-12-19 15:45:00 +01:00
Eli Zaretskii
64dbb01993 ; Fix last change. 2024-12-19 16:36:30 +02:00
Eli Zaretskii
35cf008864 ; * etc/NEWS: Fix recently-added entries. 2024-12-19 16:35:35 +02:00
Eli Zaretskii
709a90d65c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2024-12-19 16:30:08 +02:00
Gerd Möllmann
b156a69eec NEWS entry for the removal of `redisplay-dont-pause' 2024-12-19 13:42:23 +01:00
Gerd Möllmann
a8c83b496b NEWS entry for tty child frames 2024-12-19 13:37:12 +01:00
Gerd Möllmann
5ed6cd53f7 ; Fix a call to update_window for !HAVE_EXT_MENU_BAR
* src/dispnew.c (update_menu_bar): Remove superfluous argument.
2024-12-19 13:14:42 +01:00
Eli Zaretskii
4f9ed518e7 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2024-12-19 13:22:50 +02:00
Gerd Möllmann
a61b968ccf Remove remaining references to redisplay-dont-pause
* src/pgtkfns.c (Fpgtk_print_frames_dialog): Remove reference to
Qredisplay_dont_pause.
* src/pgtkterm.c (pgtk_cr_export_frames): Remove reference to
Qredisplay_dont_pause.
* src/xfns.c (Fx_print_frames_dialog): Remove reference to
Qredisplay_dont_pause.
* src/xterm.c (x_cr_export_frames): Remove reference to
Qredisplay_dont_pause.
2024-12-19 12:15:38 +01:00
Eli Zaretskii
a4f176ea6e ; Fix compilation warnings in term.c
* src/term.c (Ftty_frame_geometry, Ftty_frame_edges)
(Ftty_frame_list_z_order, Ftty_frame_restack)
(Ftty_display_pixel_width, Ftty_display_pixel_height): Doc fixes.
(Ftty_frame_restack): Make it "noreturn".
2024-12-19 12:55:39 +02:00
Michael Albinus
71ad445d58 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2024-12-19 11:47:28 +01:00
Gerd Möllmann
76c64dcc80 Remove an unused parameter of combine_updates
* src/dispnew.c (combine_updates): Remove unused parameter inhibit_scrolling.
* src/xdisp.c (redisplay_internal): Adjust caller.
* src/dispextern.h: Change function prototype.
2024-12-19 11:05:21 +01:00
Gerd Möllmann
f92520d009 Don't pause display for pending input
* src/dispnew.c: Remove display_completed, redisplay_dont_pause,
redisplay-dont-pause was declared obsolete in Emacs 24.  Remove anything
checking pending input, change function signatures accordingly, and so
on.

* src/keyboard.c (read_char): Don't use redisplay_dont_pause.
* src/minibuf.c (read_minibuf): Use new function signatures.
* src/xdisp.c: Don't check display_completed. Use new API.

* lisp/subr.el (redisplay-dont-pause): Remove declaration.
2024-12-19 11:04:04 +01:00
Michael Albinus
1647086d6a Fix display of obsolete variables in *Help*
* doc/lispref/variables.texi (Variable Aliases):
Mention `substitute-command-keys' in `make-obsolete-variable'.

* lisp/font-lock.el: Revert last change.

* lisp/help-fns.el (help-fns--var-obsolete):
Apply `substitute-command-keys'.

* lisp/emacs-lisp/byte-run.el (make-obsolete-variable):
Adapt docstring.
2024-12-19 10:40:52 +01:00
Gerd Möllmann
8aef5d224a Merge branch 'scratch/tty-child-frames'
Add support for child frames on tty

The redisplay part is complete.  The frame-handling part supports
use-cases like Posframe, Corfu, and child frames acting like tooltips.
Other use-cases of child frames are not currently supported.  In
particular, trying to create minibuffer-only child frames on ttys will
signal an error.

* src/xfaces.c (free_frame_faces): Change formatting slightly.

* src/xdisp.c (redisplay_trace, move_tracxe): Print to stderr because
stdout screws up terminal display.
(init_iterator): Remove a #ifdef HAVE_WINDOW_SYSTEM.
(clear_garbaged_frames): Return a bool telling if we cleared matrix.
(echo_area_display): Use combine_updates on tty frames.
(redisplay_internal): Changes for redisplay of tty child windows.
(deep_copy_glyph_row): Take a frame parameter.
(display_tty_menu_item): Changes because of function signature changes.

* src/w32term.c (w32_read_socket): Don't use FRAME_OBSCRURED_P,
which has been removed.

* src/w32inevt.c (do_mouse_event): Workaround for mouse events on
child frafmes.

* src/w32console.c (w32con_write_glyphs, w32con_update_end):
Use glyphs' frame for faces.

* src/treesit.c (treesit_load_language): Pacify a warning.

* src/w32console.c (w32con_clear_end_of_line): Set glyph's frame.

* src/terminal.c (cursor_to, raw_cursor_to): Handle case that
frame is a child frame.

* src/termhooks.h: Declare formerly static functions.

* src/term.c (tty_hide_cursor, tty_show_cursor): Make externally
visible.
(tty_write_glyphs): Determine faces based on a glyph's frame.
(tty_write_glyphs_with_face): Take a struct face argument instead
of a face id.  Callers changed.
(tty_insert_glyphs): Use faces, not face ids.
(append_glyph, append_composite_glyph, append_glyphless_glyph):
Set glyph's frame.
(turn_on_face, turn_off_face): Take face argument instead of face
id.  Callers adapted.
(Fresume_tty): Act on root frame.
(tty_draw_row_with_mouse_face): Handle child frames.
(restore_desired_matrix): Make sure glyphs' is live.
(set_tty_hooks): Set terminal's frame_raise_lower_hook.
(tty_frame_geometry, Ftty_frame_geometry, Ftty_frame_edges)
(Ftty_frame_list_z_order, Ftty_frame_restack)
(tty_display_dimension, Ftty_display_pixel_width)
(Ftty_display_pixel_height): New functions.
(syms_of_term): Defsubr new Lisp functions.

* src/minibuf.c (read_minibuf): Use combine_updates for tty
frames.

* src/frame.h (struct frame): Always define parent_frame.  Change
'visible' to be a boolean.  Always define 'undecorated' and
'no_accept_focus'.  Add 'z_order'.
(FRAME_OBSCURED_P): Removed.
(FRAME_PARENT_FRAME): Make it a function.
(SET_FRAME_VISIBLE): Take a bool parameter, not an int.
(FRAME_INTERNAL_BORDER_WIDTH): Don't special-base HAVE_WINDOW_SYSTEM.

* src/frame.c (decode_tty_frame): New function.
(set_menu_bar_lines): Set menu bar lines and height to 0 for tty
child frames.  Compute min height differently.
(adjust_frame_size): Set FrameCols/Rows only for root tty frames.
Mark tty root frame garbaged if child frame is adjusted.  Run some
code even if not HAVE_WINDOW_SYSTEM.
(make_frame): Run some code even if not HAVE_WINDOW_SYSTEM.
(make_terminal_frame): Implement child frame creation.
(tty_child_pos_param, tty_child_size_param)
(tty_child_frame_rect): New functions.
(Fmake_terminal_frame): Parts rewritten for child frames.
(do_switch_frame): Add child frame support.
(Fframe_ancestor_p): Define if not HAVE_WINDOW_SYSTEM.
(Fmake_frame_visible, Fmake_frame_invisible)
(Fframe_visible_p, Fraise_frame):
Handle tty frames differently.
(store_frame_param): Signal error if trying to re-parent a tty
child frame.
(Fframe_parameters): Report some additional tty frame parameters.
(Fmodify_frame_parameters): Handle tty child frames.
(Fset_frame_position): Ditto.
(frame_parms): Define index for additional frame parameters.
(handle_frame_param): New function.
(gui_set_frame_parameters_1): Use handle_frame_param.

* src/disptab.h (DISP_TABLE_EXTRA_SLOTS): Change to 12.
(enum box): New enumeration.

* src/dispnew.c (check_rows): New function, #if 0.
(frame_matrix_frame): Variable removed.
(line_hash_code): Take glyph's frame into account.
(build_frame_matrix_from_leaf_window): Do not copy glyphs from
rows that aren't enabled.
(fill_up_glyph_row_with_spaces): Add frame parameter, uses
changed.
(fill_up_glyph_row_area_with_spaces): Add frame parameter.  Set
glyph's frame to it.
(fill_up_frame_row_with_spaces): Ditto.
(set_frame_matrix_frame): Function removed.
(make_current): Change signature.  Callers changed.
(mirrored_line_dance): Take a frame argument, not a matrix.
(redraw_frame): Don't clear_frame a child frame.
(struct rect): New.
(rect_intersect, frame_pos_abs, frame_rect_abs, root_frame)
(max_child_z_order, is_frame_ancestor, frames_with_root)
(frames_with_parent, frame_z_order_cmp, Fframe__z_order_lessp)
(frames_in_reverse_z_order, tty_raise_lower_frame, is_tty_frame)
(is_tty_child_frame, is_tty_root_frame, first_enabled_row)
(make_matrix_current, prepare_desired_root_row)
(make_glyph_space, neutralize_wide_char, produce_box_glyphs)
(produce_box_sides, produce_box_line, copy_child_glyphs)
(update_window_frame, update_initial_frame, flush_terminal)
(abs_cursor_pos, is_in_matrix, is_cursor_obscured)
(terminal_cursor_magic, combine_updates_for_frame)
(combine_updates): New functions.
(update_frame): Rewritten.
(Fdisplay__update_for_mouse_movement): Take a MOUSE_FRAME param.
(syms_of_display): New symbol frame--z-order--lessp, tty-non-selected-cursor.
New subr Sframe__z_order_lessp.  Provide tty-child-frames.

* src/dispextern.h (struct glyph): Add member 'frame'.
(CHAR_GLYPH_SPACE_P): Add FRAME parameter.  All uses changed.
(GLYPH_EQUAL_P): Compare glyphs' frame.
(SET_CHAR_GLYPH): Add parameter FRAME.
(SET_CHAR_GLYPH_FROM_GLYPH): Ditto.

* src/chartab.c (Fmake_char_table): Allow more than 10 display
table slots.

* lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): Use new
terminal parameter xterm-mouse-frame.
(xterm-mouse-position-function): Ditto.
(xterm-mouse-event): Determine frame under mouse and compute
frame-relative coordinates.  Set terminal parameter
xterm-mouse-frame.

* lisp/tty-tip.el: New file implementing tooltip for ttys.

* lisp/paren.el (show-paren-function): Don't check if
display-graphics-p when using child frames.

* lisp/frame.el (frame-at): New function.
(tty-frame-geometry, tty-frame-edges, tty-frame-restack)
(tty-display-pixel-height, tty-frame-list-z-order)
(tty-display-pixel-width): Declare C function.
(frame-geometry): Use tty-frame-geometry.
(frame-edges): Use tty-frame-edges.
(frame-list-z-order): Use tty-frame-list-z-order.
(frame-restack): Use tty-frame-restack.
(display-pixel-height): Use tty-display-pixel-height.
(display-pixel-width): Use tty-display-pixel-width.

* lisp/disp-table.el (display-table): Increase size to 12.
(box-horizontal, box-vertical, box-down-right, box-down-left)
(box-up-right, box-up-left): New display table slot names for
box-drawing characters.
(display-table-slot, set-display-table-slot): Extend doc string.
(describe-display-table): Display new display table slots.
(standard-display-unicode-special-glyphs): New function setting
up Unicode characters for display table entries.

* .gitignore: Don't ignore patch files, they are useful to see in
Magit status buffer when applying patches (git am).
2024-12-19 10:14:16 +01:00
Juri Linkov
ea865c98cf Add treesit thing 'sexp-list' to some ts-modes (bug#73404)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--thing-settings):
* lisp/progmodes/js.el (js-ts-mode):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
* lisp/textmodes/html-ts-mode.el (html-ts-mode):
Add 'sexp-list' to treesit-thing-settings.
* lisp/progmodes/js.el (js--treesit-sexp-list-nodes): New variable.
2024-12-19 09:33:22 +02:00
Juri Linkov
d930d7f865 New treesit thing 'sexp-list' (bug#73404)
* lisp/treesit.el (treesit-forward-list): New command.
(treesit-forward-sexp): Check the thing 'text' only when
'treesit-sexp-type-regexp' is nil.
(treesit-forward-sexp-list): New function.
(treesit-navigate-thing): Don't try moving to parent
when thing is 'sexp-list'.
(treesit-major-mode-setup): Set 'forward-sexp-function' to
'treesit-forward-sexp-list' when the 'sexp-list' thing is defined.
2024-12-19 09:27:28 +02:00
Stefan Kangas
3281f8615a Increase goto-address-fontify-maximum-size
The new value is ~4 times larger, and should be more than fine on any
reasonably modern machine.  Alternatively, the default could be set to
t, as requested here:
https://lists.gnu.org/r/bug-gnu-emacs/2003-05/msg00114.html

* lisp/net/goto-addr.el (goto-address-fontify-maximum-size): Increase
default value from 30000 to 128 KiB.
2024-12-19 05:06:11 +01:00
Stefan Kangas
ba0c49ed66 Prefer defvar-keymap in goto-addr.el
* lisp/net/goto-addr.el (goto-address-highlight-keymap): Convert to
defvar-keymap.
2024-12-19 04:50:32 +01:00
Stefan Kangas
e3d1bab98d Prefer defvar-keymap in filecache.el
* lisp/filecache.el (file-cache-completions-keymap): Convert to
defvar-keymap.
2024-12-19 04:45:21 +01:00
Stefan Kangas
4415102b57 Delete support for the Conkeror web browser
The last release of Conkeror was in 2017.  The project has been actively
recommending people not to use it since 2019 due to security concerns,
and it was removed from Debian in the same year.  Emacs's browse-url
support for Conkeror has been obsolete since in Emacs 28.1.

* lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer):
(browse-url-conkeror-program, browse-url-conkeror-arguments): Delete
variables.
(browse-url-conkeror): Delete function.
2024-12-19 04:29:25 +01:00
Stefan Kangas
cd7e462ea3 ; Fix more obsoletion warnings
* lisp/progmodes/cc-awk.el (awk-font-lock-keywords):
* lisp/progmodes/cc-fonts.el (c-basic-matchers-before):
* lisp/progmodes/csharp-mode.el (c-basic-matchers-before): Use faces
instead of variables to silence an obsoletion warning.  (Bug#71469)
2024-12-19 01:40:12 +01:00
Eli Zaretskii
807b617252 Avoid MinGW compilation warning in lib/
* nt/mingw-cfg.site (ac_cv_func_malloc_0_nonnull)
(gl_cv_malloc_ptrdiff, gl_cv_func_malloc_posix):
* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_malloc-gnu): Set to avoid
compiling lib/malloc.c, which is not needed and causes a
compilation warning.
2024-12-18 21:16:07 +02:00
Michael Albinus
4af978d650 ; * etc/NEWS: Fix typos. Remove also text left over from NEWS.30. 2024-12-18 11:53:52 +01:00
Michael Albinus
a20f4c7ce1 Fix string used in recent obsolete variables spec
* lisp/font-lock.el (font-lock-comment-face)
(font-lock-comment-delimiter-face, font-lock-string-face)
(font-lock-doc-face, font-lock-doc-markup-face)
(font-lock-keyword-face, font-lock-builtin-face)
(font-lock-function-name-face, font-lock-variable-name-face)
(font-lock-type-face, font-lock-constant-face)
(font-lock-warning-face, font-lock-negation-char-face)
(font-lock-preprocessor-face): Don't quote the apostrophe in the
CURRENT-NAME argument of `make-obsolete-variable', it isn't
expanded by `substitute-command-keys'.
2024-12-18 11:53:27 +01:00
Jim Porter
43fcda0c8e ; * etc/NEWS (Eshell): Fix example for restoring old history search. 2024-12-17 21:24:00 -08:00
Stefan Kangas
14a3dd6a30 New user option browse-url-transform-alist
* lisp/net/browse-url.el (browse-url-transform-alist): New user option.
(browse-url): Transform URL before loading if above new option is set.
2024-12-18 04:14:28 +01:00
Stefan Kangas
3d3c109460 Make font-lock face variables obsolete
Using these variables as "another mechanism for changing face
appearance" never really worked, since mode authors were free to use the
face instead of the variable (i.e. quoting the symbol).  This means that
when users customized the variables, it would change its appearance only
in some cases, which is a rather surprising interface.

Indeed, it turns out that some modes have not always been consistent,
and mixed using the variable and the face, increasing the confusion even
further.  Thus, the only thing users could rely on to always work was to
leave the variables at their default value, and to customize the face.

We now recommend customizing the face, and are obsoleting these
variables.  This will lead to some minor code-churn, but it is believed
that it will be ultimately worth it.  To fix existing Lisp code, you
should typically only need to quote the symbol, as this commit shows.

It might be the case that we will have to keep the obsolete variables,
that have been with us since Emacs 19, around for a longer time-period
than normal, to allow package authors to adapt.

* lisp/font-lock.el (font-lock-comment-face)
(font-lock-comment-delimiter-face, font-lock-string-face)
(font-lock-doc-face, font-lock-doc-markup-face, font-lock-keyword-face)
(font-lock-builtin-face, font-lock-function-name-face)
(font-lock-variable-name-face, font-lock-type-face)
(font-lock-constant-face, font-lock-warning-face)
(font-lock-negation-char-face, font-lock-preprocessor-face): Make face
variables obsolete in favor of customizing the faces directly
instead.  (Bug#71469)

* doc/lispref/modes.texi (Faces for Font Lock): Don't document above
obsolete variables.

* lisp/cedet/data-debug.el (data-debug-insert-hash-table)
(data-debug-insert-widget-properties, data-debug-insert-string)
(data-debug-insert-number):
* lisp/emacs-lisp/lisp-mode.el (elisp--font-lock-backslash)
(lisp-font-lock-syntactic-face-function):
* lisp/emacs-lisp/package.el (describe-package-1):
* lisp/generic-x.el (rc-generic-mode, rul-generic-mode):
* lisp/org/org-table.el (org-table-edit-formulas):
* lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes)
(c-maybe-font-lock-wrong-style-comments, c-font-lock-declarators)
(c-font-lock-c++-lambda-captures, c-font-lock-c++-modules):
* lisp/progmodes/cperl-mode.el (cperl-find-sub-attrs)
(cperl-look-at-leading-count, cperl-process-here-doc)
(cperl-find-pods-heres):
* lisp/progmodes/gdb-mi.el (gdb-init-1, gdb-update, gdb-running)
(gdb-starting, gdb-stopped, gdb-internals)
(gdb-breakpoints--add-breakpoint-row, gdb-locals-handler-custom)
(gdb-registers-handler-custom, gdb-get-source-file):
* lisp/progmodes/js.el (js--font-lock-keywords-1)
(js--font-lock-keywords-2, js-font-lock-syntactic-face-function):
* lisp/progmodes/lua-ts-mode.el (lua-ts--comment-font-lock):
* lisp/progmodes/meta-mode.el (meta-indent-in-string-p):
* lisp/progmodes/prolog.el (prolog-font-lock-keywords):
* lisp/progmodes/python.el (python-font-lock-syntactic-face-function):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--comment-font-lock):
* lisp/progmodes/sh-script.el (sh-font-lock-syntactic-face-function):
* lisp/textmodes/tex-mode.el (doctex-font-lock-syntactic-face-function):
* test/lisp/faces-tests.el (faces--test-color-at-point):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-test-extra-delimiters)
(cperl-test-bug-47112, cperl-test-bug-65834, cperl-test-bug-66145)
(cperl-test-bug-66161, cperl-test-bug-69604):
* test/lisp/progmodes/python-tests.el
(python-ts-mode-compound-keywords-face)
(python-ts-mode-named-assignment-face-1)
(python-ts-mode-assignment-face-2, python-ts-mode-nested-types-face-1)
(python-ts-mode-union-types-face-1, python-ts-mode-union-types-face-2)
(python-ts-mode-types-face-1, python-ts-mode-types-face-2)
(python-ts-mode-types-face-3, python-ts-mode-isinstance-type-face-1)
(python-ts-mode-isinstance-type-face-2)
(python-ts-mode-isinstance-type-face-3)
(python-ts-mode-superclass-type-face, python-ts-mode-class-patterns-face)
(python-ts-mode-dotted-decorator-face-1)
(python-ts-mode-dotted-decorator-face-2)
(python-ts-mode-builtin-call-face)
(python-ts-mode-interpolation-nested-string)
(python-ts-mode-level-fontification-wo-interpolation)
(python-ts-mode-disabled-string-interpolation)
(python-ts-mode-interpolation-doc-string):
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-heredoc-font-lock, ruby-heredoc-highlights-interpolations)
(ruby-exit!-font-lock, ruby-regexp-interpolation-is-highlighted)
(ruby-recognize-symbols-starting-with-at-character)
(ruby-hash-character-not-interpolation)
(ruby-interpolation-suppresses-quotes-inside)
(ruby-interpolation-suppresses-one-double-quote)
(ruby-interpolation-inside-percent-literal)
(ruby-interpolation-inside-percent-literal-with-paren)
(ruby-interpolation-inside-another-interpolation)
(ruby-interpolation-inside-double-quoted-percent-literals)
(ruby-no-interpolation-in-single-quoted-literals):
Don't use above obsolete variables.
* lisp/progmodes/cc-fonts.el (font-lock-constant-face): Don't
declare now-unused variable.
2024-12-18 03:48:35 +01:00
Po Lu
03249f7815 Fix the DJGPP build
* msdos/sedlibmk.inp (LIB_SELINUX, USE_SELINUX_SELINUX_H):
Define to 0.

* src/conf_post.h (_GL_DIT_NOTDIR, ENOTSUP) [MSDOS]: Define to
appropriate values.
2024-12-18 09:39:45 +08:00
Paul Eggert
b1e5f6d6ef Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (AVOIDED_MODULES): Avoid gnulib-i18n.
* lib/stdlib.c, m4/selinux-selinux-h.m4:
New files, taken from Gnulib.
2024-12-17 14:13:54 -08:00
Stefan Monnier
22806c65f4 * lisp/mail/sendmail.el (mail-citation-prefix-regexp): Fix bug#24081 2024-12-17 17:07:45 -05:00
Vincenzo Pupillo
7873642074
Fix treesit-font-lock-level in python-ts-mode
Now that 'treesit-font-lock-level' can be a number or a list, it
should be handled using 'treesit--compute-font-lock-level'.

* lisp/progmodes/python.el (python--treesit-fontify-string):
Apply 'treesit--compute-font-lock-level' to
'treesit-font-lock-level'.
2024-12-17 13:37:32 -08:00
Juri Linkov
69facd33a8 Rename the property 'repeat-continue-only' to 'repeat-continue'
* doc/lispref/keymaps.texi (Creating Keymaps):
* lisp/keymap.el (defvar-keymap):
* lisp/repeat.el (repeat-get-map, describe-repeat-maps):
* test/lisp/repeat-tests.el (repeat-tests-another-repeat-map)
(repeat-tests-repeat-map): Replace 'repeat-continue-only'
with 'repeat-continue' (bug#74140).
2024-12-17 20:58:09 +02:00
Juri Linkov
f025c9df48 Display commands with repeat-continue-only in describe-repeat-maps
* lisp/repeat.el (describe-repeat-maps): Display commands with the
property 'repeat-continue-only' used to continue the currently
active repeat-map (bug#74140).  Also use 'cl--map-keymap-recursively'
instead of 'map-keymap' to find more deep keybindings.
2024-12-17 20:51:03 +02:00
Juri Linkov
9232c985ef Improve support of property repeat-continue-only in repeat-mode (bug#74140)
* lisp/repeat.el (repeat-get-map): Add optional arg 'rep-map'.
Move the check for 'repeat-continue-only' from 'repeat-pre-hook'.
Improve its logic to check if the current map 'repeat-in-progress'
exists in the list from the 'repeat-continue-only' property.
(repeat-post-hook): Set 'repeat-in-progress' to the symbol
from the property 'repeat-map'.

* test/lisp/repeat-tests.el (repeat-tests-another-repeat-map):
Add new keymap to test multiple parallel repeat-maps.
(repeat-tests-continue-another): New test that uses commands
from 'repeat-tests-another-repeat-map' shared with
'repeat-tests-repeat-map'.
2024-12-17 20:45:42 +02:00
Eli Zaretskii
39a438d693 ; * lisp/frame.el (clone-frame): Doc fix (bug#74750). 2024-12-17 13:59:08 +02:00
Pip Cet
b8a7e2ef71 ; * etc/NEWS: Fix typo. 2024-12-17 09:11:49 +00:00
Juri Linkov
cda77d9544 * lisp/minibuffer.el: Mention `eager-display' in more docstrings.
(completion-category-defaults, completion-category-overrides):
Add `eager-display' to the docstring.
2024-12-17 09:52:38 +02:00
Juri Linkov
2f4a7f5ec3 ; * etc/NEWS: Mention 'eager-display' for 'completion-category-overrides'. 2024-12-17 09:47:42 +02:00
Stefan Kangas
97ae8f684d Don't use obsolete lisp-complete-symbol in ses.el
* lisp/ses.el (ses-mode-edit-map): Replace obsolete function
lisp-complete-symbol with completion-at-point.
2024-12-17 01:40:59 +01:00
Stefan Kangas
5a8adaeac8 unintern: Drop support for obsolete calling convention
* lisp/subr.el (unintern):
* src/lread.c (Funintern): Drop support for old calling convention,
obsolete since 23.3.
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-escape): Don't use obsolete calling convention.
2024-12-17 00:59:51 +01:00