Commit graph

182409 commits

Author SHA1 Message Date
Vincent Belaïche
3d01d53c1e Make doc/ build fail on DOCLANG=dummy
* doc/misc/Makefile.in (DOCLANG): Call 'error' when asked to
  produce manuals for a language we don't know about.
2026-05-31 14:22:34 +02:00
Vincent Belaïche
1f662e2ab7 ; * m4/texinfo.m4 (gl_SET_MAKEINFO): Fix introductory comment. 2026-05-31 14:22:33 +02:00
Vincent Belaïche
c44f7ada0c Avoid using the LANG environment variable
Amend commit 75153f7b76 " Fix clash with locale variable" by Andreas Schwab.
Use DOCLANG instead of INFO_LANG for renaming, as documentation does not
produce only info output, and DOCLANG is iterating over DOCLANGS.

* Makefile.in: Rename 'LANG' to 'DOCLANG' to avoid clash with well-known
  environment variable.

* doc/misc/Makefile.in: Adjusted accordingly, rename 'INFO_LANG' to 'DOCLANG'
  where Andreas had already renamed 'LANG'.

* doc/translations/fr/misc/ses-fr.texi: rename 'INFO_LANG' to 'DOCLANG' in
  explanatory comment.
2026-05-31 14:20:14 +02:00
Andreas Schwab
75153f7b76 Fix clash with locale variable
LANG is a locale variable, use INFO_LANG instead.

* doc/misc/Makefile.in (INFO_LANG): Renamed from LANG, all uses
changed.
* doc/translations/fr/misc/ses-fr.texi: Use INFO_LANG instead of
LANG.
2026-05-31 11:08:51 +02:00
Eli Zaretskii
64f4ce7b2d Allow optionally disabling the use of TABs for TTY cursor movement
* src/term.c (syms_of_term) <tty-cursor-movement-use-TAB>: New var.
<tty-cursor-movement-use-TAB-BS>: Doc fix.
* src/cm.c (calccost): Use it to disable use of TABs for cursor
motion on text terminals.

* etc/NEWS: Announce the new variable.
2026-05-31 11:36:15 +03:00
Eli Zaretskii
3a0bce8f02 ; Fix a recent change
* doc/misc/Makefile.in (DOCMISC_W32_TARGET): Define.
2026-05-31 08:47:02 +03:00
Eli Zaretskii
c4803e57c8 ; * doc/translations/fr/info_common.mk: Fix typos. 2026-05-31 08:41:59 +03:00
Eli Zaretskii
085eeb1bdd Fix rules in doc/misc/Makefile.in
* doc/misc/Makefile.in (INFO_TARGETS): Always build efaq-w32.info.
(info_template): Remove unnecessary extra prerequisite for
$$(buildinfodir)/$(1)$$(lang_suffix).info, which repeats an
existing pattern rule and causes ccmode.info be constantly
regenerated.
2026-05-31 08:28:25 +03:00
Eli Zaretskii
d70c646894 Merge from origin/emacs-31
72d890c43e ; Update the documentation of 'debug'
69fd4b87f4 Don't make buffer read-only when reverting if 'view-mode'...
2955b51e80 ; * etc/NEWS: Document the change in mode-line faces.

# Conflicts:
#	etc/NEWS
2026-05-30 07:43:08 -04:00
Eli Zaretskii
72d890c43e ; Update the documentation of 'debug' 2026-05-30 13:41:22 +03:00
Eli Zaretskii
69fd4b87f4 Don't make buffer read-only when reverting if 'view-mode' was disabled
* lisp/view.el (view--disable): Reset 'read-only-mode--state'.
(Bug#81149)
2026-05-30 13:17:00 +03:00
Eli Zaretskii
2955b51e80 ; * etc/NEWS: Document the change in mode-line faces. 2026-05-30 11:13:08 +03:00
Stefan Monnier
a2379402fc (reftex-isearch-minor-mode): A few more simplifications
* lisp/textmodes/reftex-global.el (reftex-isearch-minor-mode):
Simplify docstring.  Remove redundant `setq`s and mode line update.
2026-05-29 17:36:06 -04:00
Luniya DW
36c6908616 Refactor reftex-isearch-minor-mode to use define-minor-mode
See L88 in etc/TODO.

* lisp/textmodes/reftex-global.el (reftex-isearch-minor-mode):
Use `define-minor-mode`.
* lisp/textmodes/reftex.el (reftex-isearch-minor-mode):
Remove redundant variable definition.
2026-05-29 17:29:52 -04:00
Andreas Schwab
31ee325352 Fix build outside source directory 2026-05-29 15:58:19 +02:00
Andreas Schwab
5c36f6c228 Fix overquoting in gl_SET_MAKEINFO 2026-05-29 15:42:38 +02:00
Sean Whitton
ee1092aaac Merge from origin/emacs-31
2487984685 * lisp/shell.el (shell): Fix typo: use process-live-p (bu...
545bbc6ebe widget-image-find: Use 'image-load-path' (bug#81140)
69286be27d ; Fix an overwide docstring line.
2026-05-29 11:01:26 +01:00
Sean Whitton
00771a87c3 ; Merge from origin/emacs-31
The following commit was skipped:

d8933b9f07 Fix the MSDOS build
2026-05-29 11:01:26 +01:00
Sean Whitton
c7167f2a1e Merge from origin/emacs-31
c3babe4b89 Fix lax whitespace highlight during query-replace
2e70b88623 Fix fill-paragraph combining text with preceding comment
ea54c33950 ; * etc/PROBLEMS: Link to bug#81124.
02897e208d emacsclient quote_argument is void
c618178066 ; Mark process-test-stderr-buffer as :unstable when runni...
2c1b45f5c5 ; Improve documentation of 'vc-dir-auto-hide-up-to-date'
768c8bf004 Revert "* admin/notes/documentation: Recommend not using ...
a7414f1859 native--compile-skip-on-battery-p: Try to fix ?b, ?B cond...
7cee526a8c Save and restore original local keymap in grep-edit-mode
4d87d203cf Fix display of inline SVG images in Rmail
4c55d04ebe Add treesit-ready-p check back to tree-sitter major modes...
7892ae5eaf Fix pathological slowness in flex completion
12eec781ed No longer raise error on HTTP 402 (Payment Required) (bug...
1800350b18 Avoid compilation-mode matching rust as gnu
2026-05-29 11:01:25 +01:00
Augusto Stoffel
2487984685 * lisp/shell.el (shell): Fix typo: use process-live-p (bug#81145). 2026-05-29 10:57:39 +01:00
Vincent Belaïche
4870bc06fa ses doc, add comment how to compile individually the manuals. 2026-05-29 09:27:51 +02:00
Vincent Belaïche
02c806cb47 Use a shell function to delay message.
Do not insert a message between AC_MSG_CHECKING and AC_MSG_RESULT.
2026-05-29 09:27:51 +02:00
Vincent Belaïche
5eaacff65b Add a checking/result message for DOCLANGS derivation. 2026-05-29 09:27:50 +02:00
Vincent Belaïche
e3b2d6f862 Set DOCLANGS with autoconf depending on texinfo.tex/texindex versions. 2026-05-29 09:27:47 +02:00
Vincent Belaïche
2455b32dd3 Move Texinfo related autoconf code to a new separate texinfo.m4 file. 2026-05-29 09:25:18 +02:00
Vincent Belaïche
ca346be53c Handle the info duplicate target issue as close as possible to the conflict.
The problems are:
- filtering out the info from info making templates misses some dependencies.
- naming PHONY target info.info is misleading, as there is also an info.info
  in the info build directory
2026-05-29 09:25:17 +02:00
Vincent Belaïche
0275b41d1c Generate manual for other languages than default.
* doc/translations/fr/info_common.mk:
* doc/translations/default/info_common.mk: New file.

* doc/misc/Makefile.in: Get INFO_COMMON from language respective
info_common.mk helper script.
(INFO_TARGETS): Make it depend from info_common.mk settings.
(ORG_SETUP, ORG_SRC): Make it point at language specific sub-directory.
(texi_sources, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS)
(PS_TARGETS, echo-info, info_template,efaq%$(lang_suffix).dvi)
(efaq%$(lang_suffix).pdf, efaq%$(lang_suffix).texi)
(efaq%$(lang_suffix).html): Make it use language specific suffix.
(${buildinfodir}/%$(lang_suffix).info, %$(lang_suffix).dvi)
(%$(lang_suffix).pdf, %$(lang_suffix).html, %$(lang_suffix).ps):
Make it use language specific suffix/subdirectory.

* Makefile.in (DOCLANGS): New variable, list of languages.
(install-info, uninstall): List targets into 'info_misc' for all languages.
(TAGS tags): Make tags for all languages.
($(DOCS)): Create target for all languages.
(texi_misc_fr, texi_misc_default): Set macro for all languages.
(srcdir_doc_info_dir_inputs): Macro concatenate texi_misc_lll for
all language lll.
2026-05-29 09:25:15 +02:00
Vincent Belaïche
3621ef5c42 Add dependance of info file on source.
Suppress also superfluous exta .info extension of info.info.
2026-05-29 09:25:14 +02:00
Stefan Monnier
0a5e69eaef lisp/visual-wrap.el (visual-wrap--content-prefix): Adjust doc
Suggested by Andrea Alberti <a.alberti82@gmail.com>.
2026-05-28 17:36:19 -04:00
Eli Zaretskii
7ee3314398 Speed-up cursor motion under 'display-line-numbers-mode'
* 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-28 18:36:11 +03:00
David Ponce
545bbc6ebe widget-image-find: Use 'image-load-path' (bug#81140)
* lisp/wid-edit.el (widget-image-find): Use 'image-load-path' (bug#81140).
2026-05-28 12:29:54 +01:00
Sean Whitton
69286be27d ; Fix an overwide docstring line. 2026-05-28 10:19:02 +01:00
Michael Albinus
833553dd9a dbus-call-method-asynchronously supports also an ERROR-HANDLER
* 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-28 10:03:05 +02:00
Po Lu
d8933b9f07 Fix the MSDOS build
* msdos/sedlibmk.inp (GL_GNULIB_MEMEQ, GL_GNULIB_STREQ)
(GL_GNULIB_STRNUL): New substitutions, replacing that of
GL_GNULIB_STRINGEQ.

* src/term.c (init_tty) [MSDOS]: Assign appropriate value to
tty->TN_max_colors.

Do not merge to master.
2026-05-28 13:07:32 +08:00
Po Lu
de926d281a Fix the MSDOS build
* msdos/sedlibmk.inp (GL_GNULIB_STDC_[^ =] &c.): Rename from
GL_STDC_... and define to 1 before other variables prefixed
GL_GNULIB_ are defined to 0.
(NEXT_AS_FIRST_DIRECTIVE_STDBIT_H)
(NEXT_AS_FIRST_DIRECTIVE_STDCOUNTOF_H, STDCOUNTOF_H): Define.
(GL_HAVE_STDBIT_H_CONDITION): Replace
GL_GENERATE_STDBIT_H_CONDITION.
(CXX_HAVE_STDCOUNTOF_H, GL_GNULIB_STREQ, GL_GNULIB_MEMEQ)
(GL_GNULIB_STRNUL, GL_GENERATE_STDCOUNTOF_H_CONDITION):
Substitute "1".

* src/conf_post.h (_REGEX_AVOID_UCHAR_H) [MSDOS]: Define to 1.

* src/term.c (init_tty) [MSDOS]: Set TN_max_colors to 16,
which was deleted inadvertently with recent MS Windows
modifications.

* config.bat: Rename stdcountof.in.h appropriately.
2026-05-28 12:59:55 +08:00
Po Lu
330b4e2a94 Fix the Android build again
* exec/trace.c (ARRAYELTS, establish_seccomp_filter): Restore
ARRAYELTS, since Gnulib is not available in the exec library.
2026-05-28 11:31:16 +08:00
Paul Eggert
6728239f32 Use compound literal in lisp_h_make_fixnum_wrap
* src/lisp.h (lisp_h_make_fixnum_wrap) [USE_LSB_TAG]: Use compound
literal, not cast.  This pacifies -Wuseless-cast when building on
Fedora 44 x86-64 with ‘./configure --enable-gcc-warnings
CFLAGS='-O2 -DDEFINE_KEY_OPS_AS_MACROS'’.
2026-05-27 14:01:40 -07:00
Paul Eggert
54b6ea14a9 Port MinGW GCC 9.2 image.c fix to non MS-Windows
Avoid useless casts on GCC 14+ platforms on non MS-Windows, by
using a cast only if HAVE_NTGUI.  That cast should not provoke
-Wuseless-cast regardless of how MS-Windows defines HDC, since it
casts to an Emacs-defined type.  This change lets the code compile
again on Fedora 44 with --enable-gcc-warnings.
* src/dispextern.h (PIX_CONTAINER_TO_CONTEXT): New macro.
It defaults to the identity macro.
(Emacs_Pix_Context): Default to Emacs_Pix_Container.
* src/image.c (pbm_load, png_load_body, jpeg_load_body)
(tiff_load, gif_load, svg_load_image): Use the new macro
instead of a cast.
2026-05-27 08:37:39 -07:00
Zhengyi Fu
c3babe4b89 Fix lax whitespace highlight during query-replace
* lisp/replace.el (query-replace-read-args): Add :lax-whitespace to
minibuffer-lazy-highlight-setup, so lazy highlight during
query-replace respects replace-lax-whitespace and
replace-regexp-lax-whitespace (bug#81131).

Copyright-paperwork-exempt: yes
2026-05-27 18:37:04 +03:00
Juri Linkov
2e70b88623 Fix fill-paragraph combining text with preceding comment
* 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-27 18:32:40 +03:00
Collin Funk
967d8182cf pgtk: Fix -Wint-conversion compilation error.
* src/pgtkgui.h (WINDOW_HANDLE_UINTPTR): New macro to override the
default one in src/dispextern.h.
2026-05-27 07:59:54 -07:00
Eli Zaretskii
689448a041 Unbreak MS-Windows build broken by Gnulib sync
* src/conf_post.h: Add leading underscores to 'gl_consolesafe_*'
functions, to follow Gnulib's renaming.
* src/image.c (pbm_load, png_load_body, jpeg_load_body)
(tiff_load): Revert previous change that removed "useless" casts,
as removing them triggers warnings from MinGW GCC 9.2.
2026-05-27 16:30:23 +03:00
Sean Whitton
ea54c33950 ; * etc/PROBLEMS: Link to bug#81124. 2026-05-27 13:16:12 +01:00
Paul Eggert
b174382a2d Also copy lib/mini-gmp-gnulib.c from Gnulib 2026-05-26 22:21:08 -07:00
Paul Eggert
225876e979 ARRAYELTS → countof
C2y will standardize countof as the macro that Emacs uses the name
ARRAYELTS for.  Switch to the standard name, which is supported
by GCC 16+, by Clang 21, and by the Gnulib stdcountof-h module already
in use for compilers that do not support countof.
Also, use countof in a few places where we missed using ARRAYELTS.
* admin/coccinelle/arrayelts.cocci: Suggest countof, not ARRAYELTS.
* admin/merge-gnulib (GNULIB_MODULES): Add stdcountof-h,
as it is now a direct rather than an indirect dependency.
* exec/trace.c, src/lisp.h, src/sfnt.c: Include <stdcountof.h>.
(ARRAYELTS): Remove.  All uses replaced by countof.
* lib-src/ebrowse.c, lib-src/etags.c, lib-src/make-docfile.c:
* lib-src/seccomp-filter.c, lwlib/lwlib-Xaw.c:
Prefer <stdcountof.h> and countof to doing things by hand.
2026-05-26 21:57:20 -07:00
Paul Eggert
834ff524f9 Update from Gnulib by running admin/merge-gnulib
In addition to the automatic changes, also do the following,
needed due to recent Gnulib changes.
* admin/merge-gnulib (AVOIDED_MODULES): Add btoc32,
c32_apply_type_test, c32_get_type_test, c32isalnum, c32rtomb,
c32tolower, c32toupper, localeinfo, mbrtoc32-regular.
Remove btowc, iswctype, mbrtowc, wcrtomb, wctype, wctype-h.
Also remove iswblank, iswdigit, iswxdigit, locale-h, raise,
stdarg-h, some of which perhaps could have been removed earlier.
* configure.ac (_REGEX_AVOID_UCHAR_H): New macro.
2026-05-26 21:57:20 -07:00
Paul Eggert
6fb6a4f76d Pacify GCC better when building the test module
* 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-26 21:57:19 -07:00
Paul Eggert
5d8bb14d3b Omit useless casts found by GCC 16
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-26 21:57:19 -07:00
Paul Eggert
02897e208d emacsclient quote_argument is void
* lib-src/emacsclient.c (quote_argument):
Don’t use ‘return E;’ in a function returning void.
Problem found by Oracle Developer Studio 12.6.
2026-05-26 19:36:00 -07:00
Andrea Alberti
ca5e9976b1 Pixel-direct alignment in visual-wrap-prefix-mode (bug#81039)
`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 81a5beb8af (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-26 16:56:32 -04:00