From a51642ba5fad891239552fe7e746fa160e3f88ea Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 23 Dec 2024 14:03:06 -0800 Subject: [PATCH 1/2] Let Gnulib deal with MB_CUR_MAX Recent Gnulib should work around the Android NDK 16 MB_CUR_MAX bug, so Emacs no longer needs to worry about it. * configure.ac (gl_STDLIB_H): Remove, to stop overriding Gnulib. * configure.ac (__ctype_get_mb_cur_max) (emacs_cv_broken_mb_cur_max, REPLACEMENT_MB_CUR_MAX): * src/conf_post.h (MB_CUR_MAX): Remove, as Gnulib does this now. --- configure.ac | 33 --------------------------------- src/conf_post.h | 10 ---------- 2 files changed, 43 deletions(-) diff --git a/configure.ac b/configure.ac index 18cbb42b0ef..bfef9cd294d 100644 --- a/configure.ac +++ b/configure.ac @@ -1615,10 +1615,6 @@ AC_DEFUN AC_DEFUN([gt_TYPE_WINT_T], [GNULIBHEADERS_OVERRIDE_WINT_T=0 AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T])]) -# Emacs does not need precise checks for the Solaris 10 MB_CUR_MAX bug. -AC_DEFUN_ONCE([gl_STDLIB_H], - [AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - gl_NEXT_HEADERS([stdlib.h])]) # Emacs does not need to check for off64_t. AC_DEFUN([gl_TYPE_OFF64_T], [HAVE_OFF64_T=1 @@ -7646,35 +7642,6 @@ AC_DEFUN AC_SUBST([WINDOW_SYSTEM_OBJ]) -# Some systems have MB_CUR_MAX defined to a call to -# __ctype_get_mb_cur_max, but do not have __ctype_get_mb_cur_max in -# libc. Check for that situation and define MB_CUR_MAX to something -# sane. - -AC_CHECK_FUNC([__ctype_get_mb_cur_max]) - -AC_CACHE_CHECK([whether MB_CUR_MAX is defined to function that won't link], - [emacs_cv_broken_mb_cur_max], - [AC_EGREP_CPP(__ctype_get_mb_cur_max, [ -#include -#ifndef MB_CUR_MAX -#define MB_CUR_MAX -1 -#endif -static int foo = MB_CUR_MAX; -], [AS_IF([test "$ac_cv_func___ctype_get_mb_cur_max" = "yes"], - [emacs_cv_broken_mb_cur_max=no], - [emacs_cv_broken_mb_cur_max=yes])], - [emacs_cv_broken_mb_cur_max=no])]) - -AS_IF([test "$emacs_cv_broken_mb_cur_max" = "yes"], - # Define this to 4, which is right for Android. - [AS_CASE([$opsys], [android], - [AC_DEFINE([REPLACEMENT_MB_CUR_MAX], [4], - [Define to MB_CUR_MAX if stdlib.h is broken.])], - [AC_MSG_ERROR([MB_CUR_MAX does not work on your system. -Please modify configure.ac to set an appropriate value, then -send your change to bug-gnu-emacs@gnu.org])])]) - AH_TOP([/* GNU Emacs site configuration template file. Copyright (C) 1988-2024 Free Software Foundation, Inc. diff --git a/src/conf_post.h b/src/conf_post.h index 9d3f5711bef..6aa2c901cc7 100644 --- a/src/conf_post.h +++ b/src/conf_post.h @@ -462,16 +462,6 @@ #define VFORK() vfork () # define UNINIT /* empty */ #endif -/* MB_CUR_MAX is often broken on systems which copy-paste LLVM - headers, so replace its definition with a working one if - necessary. */ - -#ifdef REPLACEMENT_MB_CUR_MAX -#include -#undef MB_CUR_MAX -#define MB_CUR_MAX REPLACEMENT_MB_CUR_MAX -#endif /* REPLACEMENT_MB_CUR_MAX */ - /* Emacs does not need glibc strftime behavior for AM and PM indicators. */ #define REQUIRE_GNUISH_STRFTIME_AM_PM false -- 2.45.2