Commit graph

1630 commits

Author SHA1 Message Date
Po Lu
7ffbf45886 Merge from savannah/emacs-31
916572f6e0 Fix the Android build
3801c09ae2 Don't resurrect invisible child frames when rebuilding pa...
e4350c538f Improve progress-reporter state to remove hard coded leng...
30df8657fb (tex-main-file): Add forgotten safety predicate (bug#81099)
35a82765bf Fix bug in latexenc when AUCTeX is loaded
e9d1367a32 paren.el: Fix part of bug#81035
fd1b5cd890 ; * test/lisp/files-tests.el (w32-downcase-file-names): D...
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last ch...
eb1de3f585 ; Avoid rebuilding Emacs Lisp Intro when building release...
f26f2a832c ; Avoid byte-compilation warning in mouse.el
cf325876fa Adapt Tramp version
84556123eb ; * admin/make-tarball.txt: Update.
8f5b786cac Check buffer-local value in tramp-local-environment-varia...
2026-06-06 11:39:01 +08:00
Po Lu
916572f6e0 Fix the Android build
* configure.ac: Don't test for libgccjit.h if a preceding test
have already concluded that native compilation is unavailable.
2026-06-06 11:38:04 +08:00
Sean Whitton
5e160e2784 Merge from origin/emacs-31
b8133a416d ; Update exported ChangeLog files and etc/AUTHORS
5e3e1a5bb2 ; Tweak some package short descriptions.
bbe805e4b1 message.el: Fix part of bug#81035
621239ae6a Fix prompt in remote shell
6df1d33b6c Fmake_xwidget: Use about:blank workaround only when needed
f3b17c4969 Allow brew/macports libgccjit for default native compilation
7226082f46 vc-dir-refresh: Respect non-essential wrt saving buffers
438af2764d ; * doc/lispref/text.texi (Mode-Specific Indent): Fix mar...
6b39919408 ; Fix typo in prog-indentation-context documentation (bug...
95ac082d5b Merge branch 'emacs-31' of git.savannah.gnu.org:/srv/git/...
3d9d9be3a1 CC Mode: Fontify a cast type preceding a brace initializa...
fe1c02d849 Fix Tramp distrobox integration
108710992d ; * doc/misc/ert.texi (erts files): Improve example (bug#...
0989625d36 markdown-ts-mode: fix first-item indent (bug#81118)
07e02917ee [GTK3] Re-fix the stored values for width and height
776ee085ff Eglot: mentions markdown-ts-view-mode less (bug#81150)
2d915236dc vc--subject-to-file-name: Fix over-greedy regex (bug#81017)
05f89d711d Fix more missing faces on ERC margin strings
3229d6f0e3 Eglot: Simplify markdown rendering support (bug#81150)
8855e88d74 ; Improve doc strings of brows-url commands
933d35ef10 ; * lisp/net/browse-url.el (browse-url-firefox-program): ...
2026-06-05 11:19:07 +01:00
Sean Whitton
4f4af26dd2 Bump Emacs version to 31.0.90
* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 31.0.90.
2026-06-05 10:42:43 +01:00
JD Smith
f3b17c4969 Allow brew/macports libgccjit for default native compilation
* configure.ac: Move flag setup for libgccjit installed by
Homebrew or macports earlier, so default native compilation can
proceed (bug#81171).
2026-06-04 10:52:47 +01: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
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
Eli Zaretskii
730d3884dc ; Fix the build broken by a typo in configure.ac
* configure.ac (module_env_snippet_32): Fix typo.
2026-05-08 09:51:13 +03:00
Sean Whitton
0d287aa276 Bump master Emacs version to 32.0.50
* README:
* configure.ac:
* etc/refcards/ru-refcard.tex:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 32.0.50.
* etc/NEWS: Empty for Emacs 32.
* lisp/cus-edit.el (customize-changed-options-previous-release):
Set last version to 31.1.
* src/emacs-module.in.h (struct emacs_env_32): Add.
* src/module-env-31.h: Remove header comment.
* src/module-env-32.h: New file.
2026-05-07 17:46:43 +01:00
Sean Whitton
311f1fe2ba Cut the emacs-31 release branch
* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 31.0.60.
* lisp/cus-edit.el (customize-changed-options-previous-release):
Set last version to 30.2.
2026-05-07 17:38:20 +01:00
Paul Eggert
0179e3e062 Work around GCC bug 125116
* configure.ac: When configured with --enable-gcc-warnings,
use the -Wno-analyzer-allocation-size option if available.
This works around a false positive bug in
GCC 16.0.1 20260321 (Red Hat 16.0.1-0) x86-64; see
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125116>.
2026-05-01 18:39:56 -07:00
Randy Taylor
edc19c3536 Always compile w32image.c on MinGW (Bug#80924)
This enables features unrelated to native image APIs, such as
'w32-export-frame' and 'yank-media', which need to call GDI+
functions.
* configure.ac (HAVE_W32) [!CYGWIN]: Always include w32image.o in
W32_OBJ.
* etc/NEWS: Drop 'yank-media' '--without-native-image-api' caveat.
* src/emacs.c (main):
* src/w32select.c (convert_dibv5_to_png):
* src/w32term.c (w32_draw_image_foreground): Replace
HAVE_NATIVE_IMAGE_API with WINDOWSNT.
* src/w32.c (term_ntproc): Remove redundant HAVE_NATIVE_IMAGE_API guard.
* src/w32fns.c (Fw32_export_frame) [!WINDOWSNT]: Return nil on Cygwin.
2026-04-30 18:52:22 +03:00
Dirk-Jan C. Binnema
4e855f90d1 xwidgets: re-enable with newer webkit2gtk
By disabling hw-acceleration we can re-enable xwidgets with newer
webkit2gtk versions (Bug#80728).
Newer versions were disallowed (Bug#66068) since they abort when a
webkit view is created; however, they work fine as long as we disable
hw-acceleration, since the off-screen windows that xwidgets uses do not
support that.
* configure.ac: Remove upper-bound for webkit2gtk version check.
* src/xwidget.c (Fmake_xwidget): Turn off hardware-acceleration.

Copyright-paperwork-exempt: yes
2026-04-12 14:22:26 +03:00
Basil L. Contovounesios
7077633e67 Rename emacs-module.h.in -> emacs-module.in.h
* src/emacs-module.h.in: Rename...
* src/emacs-module.in.h: ...to this, for consistency with all other
lib/*.in.h files (bug#80428).
* Makefile.in (CONFIG_STATUS_FILES_IN):
* admin/release-branch.txt:
* src/emacs-module.c: All uses updated.
* admin/authors.el (authors-renamed-files-alist): Register rename.
* configure.ac: Specify non-default AC_CONFIG_FILES input file.
2026-03-14 15:08:15 +01:00
Yuan Fu
25149aec99
Change back tree-sitter version requirement (bug#80108)
Now we use treesit_traverse_sibling_helper when it exists, and
use the old code otherwise. So we still support older
tree-sitter versions.

* configure.ac (LIBSYSTEMD_CFLAGS): Add back old config checking
for the malloc function. Add another check for
ts_tree_cursor_goto_previous_sibling.
* src/treesit.c: (treesit_traverse_sibling_helper): Add back the
old code that doesn't require
ts_tree_cursor_goto_previous_sibling.
2026-02-17 17:55:18 -08:00
Paul Eggert
f84fb38a82 Fix SELinux config without -lselinux
Without this fix, a 64-bit build on Ubuntu 25.10 x86-64 failed
when the libselinux1-dev:i386 package (providing <selinux/selinux.h>)
was installed but the libselinux1-dev package (providing
/usr/lib/x86_64-linux-gnu/libselinux.so) was not.
The first symptom was when compiling emacsclient:
‘/usr/bin/ld: ../lib/libgnu.a(file-has-acl.o): in function
`get_aclinfo': .../lib/file-has-acl.c:247:(.text+0x4d8): undefined
reference to `getfilecon'’.
* configure.ac: Default with_selinux to maybe, not to yes.
Defer our SELinux configuration to after Gnulib’s, so that
we handle any SELinux problems that Gnulib discovers.
2026-02-15 12:18:30 -08:00
Yuan Fu
69dc5d3f0e
Fix tree-sitter traversal slowness (bug#80108)
* configure.ac (LIBSYSTEMD_CFLAGS): Increase minimal required
tree-sitter version to 0.20.10.
* src/treesit.c (treesit_traverse_sibling_helper): When
traversing forward, use the new function
ts_tree_cursor_goto_previous_sibling.
2026-01-28 01:08:52 -08:00
Basil L. Contovounesios
2092516a74 Clarify libwebp configuration checks
* configure.ac [HAVE_WEBP]: Explicitly check for both libwebpdemux
and libwebp (where the former depends on the latter), since we use
both (bug#57420, bug#61988, bug#66221).  Check for WebPDecodeRGBA as
a representative of libwebp and libwebpdecoder now that we no longer
use WebPGetInfo elsewhere.  Prepend WEBP_LIBS to LIBS as per
AC_CHECK_LIB.  Clarify commentary.
2026-01-24 19:37:30 +01:00
Paul Eggert
c0afab671c Omit -Wzero-as-null-pointer-constant
* configure.ac: If --enable-gcc-warnings, don’t use
-Wzero-as-null-pointer-constant, which is enabled by default with
bleeding-edge Gnulib (as there seems to be movement in this
direction in C2y).  Although -Wzero-as-null-pointer-constant is
useful, Emacs isn’t clean for it yet.
2026-01-19 12:49:15 -08:00
Yavor Doganov
bc5fb19d16 NS: Fix startup with HAVE_NATIVE_COMP && !NS_SELF_CONTAINED
* src/pdumper.c (pdumper_set_emacs_execdir): Add workaround for
!NS_SELF_CONTAINED so that launching Emacs from the app bundle
works flawlessly when built with native compilation.
* configure.ac: Define BINDIR.  (Bug#80094)
2026-01-17 16:56:50 +02:00
Yavor Doganov
98f56a156e NS: Use Cocoa implementation of EmacsBell -init if named image is declared
* configure.ac: Check for 'NSImageNameCaution' declaration when
building on GNUstep.
* src/nsterm.m ([EmacsBell init]): Use fallback implementation on
GNUstep only if 'NSImageNameCaution' is not declared.  (Bug#80107)
2026-01-10 14:30:43 +02:00
Sean Whitton
c31f6adc31 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Paul Eggert
1880cd0aa5 Use GCC warning -Wunused-const-variable=2
* configure.ac: Stop suppresssing -Wunused-const-variable=2 when
configured --with-gcc-warnings.  Suppressing no longer seems to be
needed with current GCC and src/lisp.h.
2025-12-13 21:33:01 -08:00
Paul Eggert
b9b0c7ed51 Work even if aclocal is invoked by hand
Problem reported by Ulrich Müller (bug#79974).
* configure.ac (gl_ALIGNASOF): Arrange for it to be defined
even if aclocal is invoked other than via admin/merge-gnulib.
Also, change comments from # to dnl as they don’t make
much sense in the shell script.
2025-12-09 18:04:29 -08:00
Paul Eggert
88bf047d39 Garbage-collect Gnulib sources
Remove Gnulib sources no longer needed or used.
admin/merge-gnulib is typically not smart enough to do that.
* configure.ac: Do not call gl_EEMALLOC, as it is no longer
supplied or needed.
* lib/explicit_bzero.c, lib/malloc/scratch_buffer_dupfree.c:
* lib/xalloc-oversized.h, m4/eealloc.m4, m4/explicit_bzero.m4:
* m4/st_dm_mode.m4, m4/year2038.m4:
Remove.
2025-12-09 13:27:27 -08:00
Paul Eggert
4990849514 Move Gnulib configuration back to where it was
* configure.ac: Move the gl_INIT call back to where it was,
as Mattias Engdegård reported the following problem:
  checking whether pthread_sigmask is a macro... no
  ./configure: line 32767: test: =: unary operator expected
because moving gl_INIT up made the check for pthread_sigmask’s
availability appear later than Gnulib’s check whether it’s a macro.
Instead of moving gl_INIT up, call gl_ALIGNASOF earlier,
as that’s the only part of gl_INIT that is needed earlier.
2025-12-08 18:19:41 -08:00
Paul Eggert
0d43f2a562 Align config.h better to src/lisp.h
This is mostly a cleanup patch to fix growing discrepancies
between src/lisp.h and configure.ac in terms of how they deduce
how EMACS_INT aligns.  The patch includes a static check that the
two methods now agree.  It also speeds up ‘configure’ a bit.
* configure.ac (ALIGNOF_INT, ALIGNOF_LONG, ALIGNOF_LONG_LONG):
Remove; no longer used.
(ALIGNOF_EMACS_INT): New macro.
(system_malloc): Set to 'no' more consistently with what’s
in src/lisp.h.
* src/lisp.h (ALIGNOF_EMACS_INT): Do not define here, as config.h
defines it now.  Check that config.h’s definition equals the
actual alignof (EMACS_INT).
(USE_USB_TAG): Set more consistently with what’s in configure.ac.
(alignas): Don’t second-guess Gnulib.
2025-12-07 15:45:20 -08:00
Paul Eggert
a8b9364949 Move Gnulib configuration up in configure.ac
This is so that later patches can fix some near-duplication errors
in the malloc configuration.
* configure.ac: Move Gnulib configuration earlier.
2025-12-07 15:45:19 -08:00
Paul Eggert
2203fac659 Remove some obsolete C89, C99, Automake cruft
These have not been needed for some time in configure.ac.
* configure.ac (_AC_PROG_CC_C89): Don’t bother redefining to empty.
(gl_PROG_CC_C99, AC_PROG_CC_C_O): Remove; no longer needed.
2025-12-07 15:45:19 -08:00
Alexander Adolf
3e81d0573a ; xwidgets: pacify macOS compiler warnings
* configure.ac: When the WebKit header files are not available
in the hard-coded location, query for the location of the
currently active SDK, and resort to the header files there.
(Bug#79847)
2025-12-06 12:15:46 +02:00
Paul Eggert
1b2b433fc0 Port to GNU/Linux HPPA malloc
On this platform, you cannot reliably malloc objects containing
values of type pthread_mutex_t or pthread_cond_t, since malloc
guarantees only 8-byte alignment but these two types require
16-byte alignment.  See GCC bug 115750
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115750> reported by
Sam James and Emacs bug 79936 <https://bugs.gnu.org/79936>
reported by John Paul Adrian Glaubitz.
* configure.ac (ALIGNOF_MAX_ALIGN_T, ALIGNOF_PTHREAD_COND_T)
(ALIGNOF_PTHREAD_MUTEX_T) [HAVE_PTHREAD]: New C macros.
* src/systhread.c (sys_mutex_init, sys_mutex_lock)
(sys_mutex_unlock, sys_cond_init, sys_cond_wait)
(sys_cond_signal, sys_cond_broadcast, sys_cond_destroy):
Use SYTHREAD_ALIGN_PTR to convert sys_mutex_t and sys_cond_t to
pthread_mutex_t and pthread_cond_t, since runtime conversion is
needed on GNU/Linux HPPA.
* src/systhread.h (SYSTHREAD_ALIGN_ROOM, SYSTHREAD_ALIGN_PTR):
New macros, which affect the generated code only on
unusual platforms like GNU/Linux HPPA.
(sys_mutex_t, sys_cond_t) [HAVE_PTHREAD]: Use them.
2025-12-02 17:46:56 -08:00
Paul Eggert
85f2bf2bc7 Port better to GNUstep with Nix gcc
Problem reported by David Caldwell (bug#79879).
* configure.ac: When configuring for GNUstep and the
Objective C compiler does not support even C99 features,
use the first flag of -std=gnu23, -std=gnu17, -std=gnu11, -std=gnu99
that works, instead of insisting on -std=c99 which (a) is too
strict and (b) can override another -std= option in an
undesirable way.
2025-11-27 23:40:14 -08:00
Po Lu
32fc382e9e Disable C23 for Android builds
* configure.ac (ac_cv_prog_cc_c23): Define to no when
configuring for Android.
2025-11-21 10:01:10 +08:00
Po Lu
aba7974607 * configure.ac Remove patch for bugs in nproc that have been remediated. 2025-11-07 09:36:08 +08:00
Po Lu
e54fd7c012 Fix compilation on Android SDK 20 and earlier
* configure.ac (gl_PREREQ_NPROC): Disable ac_cv_header_mntent_h
if on Android and setmntent is not declared.
2025-11-05 11:10:11 +08:00
Po Lu
240355949e Fix the Android port
* configure.ac (gl_cv_onwards_func_tzalloc): Don't disable on
Android SDK 35.

* src/conf_post.h (tzalloc): Don't override Gnulib-selected
identifier on Android SDK 35.
2025-11-05 10:32:52 +08:00
Robert Pluim
dc5ae70cb4 Fix macOS build with SDK version 26
* configure.ac: Use gl_CHECK_FUNCS_ANDROID_MACOS to check for
'posix_spawn_file_actions_addchdir', since it checks which
version of macOS is being used for the build, rather than what
is available in the SDK.  (Bug#79489)
2025-09-29 15:53:36 +02:00
Po Lu
752894ef54 ; * configure.ac: Document why AC_CONFIG_SUBDIRS is not suitable for `exec'. 2025-09-29 09:48:04 +08:00
Paul Eggert
3415fa15e4 ; Update comment re GCC bugs 117423 and 119085. 2025-09-17 14:26:30 -07:00
Paul Eggert
33adf9ea4e Update comments re GCC bugs 117423 and 119085 2025-08-20 15:37:00 -07:00
Paul Eggert
0eaf5c045f GCC union bugs to be fixed in GCC 15.2
Thanks to Martin Jambor for the GCC fixes; see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117423#c27
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119085#c12
Also, thanks to Sam James for letting me know.
* configure.ac (emacs_cv_gcc_union_bugs_CFLAGS):
Rename from emacs_cv_gcc_bug_119085_CFLAGS.  All uses changed.
Assume the GCC union bugs will be fixed in GCC 15.2.
2025-07-30 18:41:26 -07:00
Paul Eggert
69af0d4c85 GCC bug 119085 fixed in GCC 16
* configure.ac (emacs_cv_gcc_bug_119085_CFLAGS):
Assume the bug is fixed starting in GCC 16.
2025-07-23 13:05:56 -07:00
Paul Eggert
07ee5ebeca GCC bug 117423 has a fix
Document the change in dependency.  As we still need to work
around GCC bug 119085, there is no functional change in ‘configure’.
* configure.ac (emacs_cv_gcc_bug_119085_CFLAGS):
Rename from emacs_cv_gcc_bug_117423_CFLAGS.  All uses changed.
2025-07-18 11:50:13 -07:00
Paul Eggert
f3d3a5803e Work around GCC bug 121030
* configure.ac: Disable -Wanalyzer-use-of-uninitialized-value.
2025-07-13 15:26:46 -07:00
Po Lu
82af5c10c5 * configure.ac: Detect Android API 36. 2025-06-11 10:35:28 +08:00
Collin Funk
1b03a348f7 Pacify Clang's -Wformat-signedness.
* configure.ac: Enable -Wno-format-signedness if Clang is being used.
2025-06-02 00:23:45 -07:00
Paul Eggert
9dfc605654 Work around GCC bug 117423
Problem reported by Oliver Reiter and Pip Cet (Emacs bug#78473).
It looks like GCC tree-sra is trouble in general with how Emacs
uses unions, so disable tree-sra until the GCC bug is fixed.
* configure.ac (C_SWITCH_MACHINE): Also work around GCC bug 117423.
2025-05-21 10:10:57 -07:00
Po Lu
fa05cfd445 Fix compilation on Android 35 and on Termux
* configure.ac (gl_cv_onwards_func_tzalloc): Define to "future
OS version" on Android API 35 and later.
Detect posix_spawn* by means of gl_CHECK_FUNCS_ANDROID.

* src/conf_post.h (tzalloc, tzfree): Define to non-conflicting
names on Android 35 and later.
2025-05-06 22:29:46 +08:00
Paul Eggert
589f596c96 Use -Wtrailing-whitespace when warning
* configure.ac: When enabling GCC warnings, enable GCC 15’s new
-Wtrailing-whitespace option if available, as that’s the Emacs style.
2025-04-19 19:31:27 -07:00
Paul Eggert
3169aeb421 ; Fix typo in comment. 2025-04-12 12:30:58 -07:00