summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-05-29ses doc, add comment how to compile individually the manuals.Vincent Belaïche
2026-05-29Use a shell function to delay message.Vincent Belaïche
Do not insert a message between AC_MSG_CHECKING and AC_MSG_RESULT.
2026-05-29Add a checking/result message for DOCLANGS derivation.Vincent Belaïche
2026-05-29Set DOCLANGS with autoconf depending on texinfo.tex/texindex versions.Vincent Belaïche
2026-05-29Move Texinfo related autoconf code to a new separate texinfo.m4 file.Vincent Belaïche
2026-05-29Handle the info duplicate target issue as close as possible to the conflict.Vincent Belaïche
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-29Generate manual for other languages than default.Vincent Belaïche
* 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-29Add dependance of info file on source.Vincent Belaïche
Suppress also superfluous exta .info extension of info.info.
2026-05-28lisp/visual-wrap.el (visual-wrap--content-prefix): Adjust docStefan Monnier
Suggested by Andrea Alberti <a.alberti82@gmail.com>.
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-28widget-image-find: Use 'image-load-path' (bug#81140)David Ponce
* lisp/wid-edit.el (widget-image-find): Use 'image-load-path' (bug#81140).
2026-05-28; Fix an overwide docstring line.Sean Whitton
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-28Fix the MSDOS buildPo Lu
* 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-28Fix the MSDOS buildPo Lu
* 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-28Fix the Android build againPo Lu
* exec/trace.c (ARRAYELTS, establish_seccomp_filter): Restore ARRAYELTS, since Gnulib is not available in the exec library.
2026-05-27Use compound literal in lisp_h_make_fixnum_wrapPaul Eggert
* 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-27Port MinGW GCC 9.2 image.c fix to non MS-WindowsPaul Eggert
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-27Fix lax whitespace highlight during query-replaceZhengyi Fu
* 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-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-27pgtk: Fix -Wint-conversion compilation error.Collin Funk
* src/pgtkgui.h (WINDOW_HANDLE_UINTPTR): New macro to override the default one in src/dispextern.h.
2026-05-27Unbreak MS-Windows build broken by Gnulib syncEli Zaretskii
* 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; * etc/PROBLEMS: Link to bug#81124.Sean Whitton
2026-05-26Also copy lib/mini-gmp-gnulib.c from GnulibPaul Eggert
2026-05-26ARRAYELTS → countofPaul Eggert
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-26Update from Gnulib by running admin/merge-gnulibPaul Eggert
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-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-26emacsclient quote_argument is voidPaul Eggert
* 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-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-26Gnus: Prefer passing functions to message-add-actionStefan Monnier
Building code with code is tricky. E.g. the code in gnus-draft-setup suffered from a security issue because it forgot to quote some arguments (see commit 142b1e0d4c3). * lisp/gnus/gnus-salt.el (gnus-pick-setup-message): * lisp/gnus/gnus-msg.el (gnus-inews-add-send-actions): * lisp/gnus/gnus-draft.el (gnus-draft-setup): Prefer passing functions to message-add-action over passing it ELisp expressions. * lisp/gnus/message.el (message-do-actions): Drop errors but not silently.
2026-05-26Fix self-insert-command in multibyte buffers (bug#81129)Pip Cet
* src/cmds.c (internal_self_insert): Pass PT_BYTE to FETCH_BYTE, not PT.
2026-05-25lisp/emacs-lisp/package.el (package-quickstart-refresh): Delete stale elcStefan Monnier
2026-05-25; * src/sfntfont-android.c (GET_SCANLINE_BUFFER): Fix a typo.Eli Zaretskii
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-25; * src/sfntfont-android.c (GET_SCANLINE_BUFFER): Correct commentary.Po Lu
2026-05-25Fix parsing of font metadata tables on AndroidPo Lu
* src/sfnt.c (sfnt_read_meta_table): Allocate `directory->length' bytes after the map rather than in place of it.
2026-05-25Fix the Android buildPo Lu
* src/sfnt.c (sfnt_fill_span) [NDEBUG]: Don't access `row_end' when not defined.
2026-05-25Revert "Don’t silently truncate file names in exec.c"Po Lu
This reverts commit 3461b450c5eae3ed53192aa9514e0b1ac1b1c8f2. Gnulib and intprops.h are not available from within the exec helper.
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-24; Improve documentation of 'vc-dir-auto-hide-up-to-date'Eli Zaretskii
* lisp/vc/vc-dir.el (vc-dir-auto-hide-up-to-date): Doc fix. * doc/emacs/maintaining.texi (VC Directory Buffer): Document 'vc-dir-auto-hide-up-to-date'. (Bug#81033)
2026-05-24Revert "* admin/notes/documentation: Recommend not using "it's"."Sean Whitton
2026-05-24native--compile-skip-on-battery-p: Try to fix ?b, ?B conditionsSean Whitton
* lisp/emacs-lisp/comp-run.el (native--compile-skip-on-battery-p): Don't skip charging because the battery is charging, and don't look for "discharging", at least for now (bug#80922). Thanks to David Koppelman <koppel@ece.lsu.edu> for the report.
2026-05-24Save and restore original local keymap in grep-edit-modeZhengyi Fu
* lisp/progmodes/grep.el (grep-edit-original-mode-map): New variable. (grep-change-to-grep-edit-mode): Save the current local map before switching to grep-edit-mode-map. (grep-edit-save-changes): Restore the saved local map instead of assuming grep-mode-map (bug#81090). Copyright-paperwork-exempt: yes
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-24Fix display of inline SVG images in RmailEli Zaretskii
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Support Content-type of "svg+xml" if SVG images are supported,
2026-05-23Fold calls to fix_position into treesit_check_position (bug#80830)Yuan Fu
* src/treesit.c (treesit_check_position): Return the validated value. (Ftreesit_node_first_child_for_pos): (Ftreesit_node_descendant_for_range): (Ftreesit_query_capture): (Ftreesit__linecol_at): Fold calls to fix_position into treesit_check_position in treesit.c.