{"id":2233044,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2233044/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/patch/20260505151142.1453614-2-avinal.xlvii@gmail.com/","project":{"id":41,"url":"http://patchwork.ozlabs.org/api/1.2/projects/41/?format=json","name":"GNU C Library","link_name":"glibc","list_id":"libc-alpha.sourceware.org","list_email":"libc-alpha@sourceware.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260505151142.1453614-2-avinal.xlvii@gmail.com>","list_archive_url":null,"date":"2026-05-05T15:11:40","name":"[1/3] intl: Remove IN_LIBGLOCALE dead code","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"08b247abfc44e483d7e3e4edda5e70935687321e","submitter":{"id":88549,"url":"http://patchwork.ozlabs.org/api/1.2/people/88549/?format=json","name":"Avinal Kumar","email":"avinal.xlvii@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/glibc/patch/20260505151142.1453614-2-avinal.xlvii@gmail.com/mbox/","series":[{"id":502854,"url":"http://patchwork.ozlabs.org/api/1.2/series/502854/?format=json","web_url":"http://patchwork.ozlabs.org/project/glibc/list/?series=502854","date":"2026-05-05T15:11:39","name":"intl: Remove dead code, sync with GNU gettext","version":1,"mbox":"http://patchwork.ozlabs.org/series/502854/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2233044/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2233044/checks/","tags":{},"related":[],"headers":{"Return-Path":"<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>","X-Original-To":["incoming@patchwork.ozlabs.org","libc-alpha@sourceware.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","libc-alpha@sourceware.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=MaVse6rj;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)","sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=MaVse6rj","sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","sourceware.org; spf=pass smtp.mailfrom=gmail.com","server2.sourceware.org;\n arc=none smtp.remote-ip=2607:f8b0:4864:20::62b"],"Received":["from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g929Q38vrz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 01:14:18 +1000 (AEST)","from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 96F1A4B9DB65\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 15:14:16 +0000 (GMT)","from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com\n [IPv6:2607:f8b0:4864:20::62b])\n by sourceware.org (Postfix) with ESMTPS id 1D7064BA23D9\n for <libc-alpha@sourceware.org>; Tue,  5 May 2026 15:12:10 +0000 (GMT)","by mail-pl1-x62b.google.com with SMTP id\n d9443c01a7336-2b4583f0a1aso33014785ad.3\n for <libc-alpha@sourceware.org>; Tue, 05 May 2026 08:12:10 -0700 (PDT)","from fedoraemon.neon-universe.ts.net\n ([2406:7400:11d:a9dc:9a14:72eb:1a60:868a])\n by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b9cae4a127sm193695355ad.67.2026.05.05.08.12.06\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 08:12:07 -0700 (PDT)"],"DKIM-Filter":["OpenDKIM Filter v2.11.0 sourceware.org 96F1A4B9DB65","OpenDKIM Filter v2.11.0 sourceware.org 1D7064BA23D9"],"DMARC-Filter":"OpenDMARC Filter v1.4.2 sourceware.org 1D7064BA23D9","ARC-Filter":"OpenARC Filter v1.0.0 sourceware.org 1D7064BA23D9","ARC-Seal":"i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1777993930; cv=none;\n b=uBkF5RVRvfsnuM3S7dV1meGSOAQx0WJKCGOPmvtI1KpmW5xLx6HGXjFCFEox5K85YAMHXmPh8KJWPcilO4YizoU5TRiVyWCPUw9Fz1OWyLZ55XDN/hKeT/WuVm1+2Wnx1JJc8//zyXBqKtgOZrlVf6FgvSDVjj51mZqQuwe+5SA=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1777993930; c=relaxed/simple;\n bh=bjZ7SXPsWvk7XyeFKQTJcgcxz3yjOV+Kn1v/kfe8NVg=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=F7zPhtBBTWYCjHP+D4beaoi693tEZk9Ql9omDLJ69DCrQUx351N3m2dgpd5arLeoPUtz8TxXClNz4H5/D9d2OCEkTxhYFU55F9aAq3dHQOk74nMaznFfBg4iX1ItG3QMTsOkZiJBEIkjo/e6GOE9M5bGYbL4a3XsRwMZGkrHkQ0=","ARC-Authentication-Results":"i=1; server2.sourceware.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1777993929; x=1778598729; darn=sourceware.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=m65Z/Q2PweBUSnPv5L0apNAzgNLHxvk82aCRjKCDcis=;\n b=MaVse6rjDtwJu6OiuWY1SG/b5A6PcuVhZDNxQVfUiRDykMUaOONQEify6kTSVsma7r\n 8KsgJYwHnnb5A5rX8LUZmHoUKNb7RC+RHuDFpu6HcYEagmG3DXyRFOf3aNxno11OJugp\n cr1xyFxp+IugRth0Ftfu1V3ujSN2InUlnAvcPO8JHGX7YxqjYzD5p/QJYBeenncqOyFI\n 2QloFuBG3gtlFsYTHI3FnU6Sm87au2DERjy3D55j2i/l7/+bL0wZ/CJtpFlgjzzokZym\n gALpOX8WX73tjXgOgPmMbMMJK0jkqGwZ8/gcbwaFTF9SSN1Ph0N/ZfsqP/ksja/BIrL2\n 1icw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777993929; x=1778598729;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=m65Z/Q2PweBUSnPv5L0apNAzgNLHxvk82aCRjKCDcis=;\n b=cDX2ELowbB3jvIHEvK+GHadbRjMwS3a6g8+lGwhYZYwqUsBfrcs2PhG4e9lHbs6Gn7\n h+Px1jj7RMbrjomdpvjlK+5gqdSIm49VdtPmTumsISo7fQlLNu9Ulxp8XutFjYo10msQ\n QNSZz7K2+hl6S3Qj1hnHJLZRsQ00tTfpFXz52m1A3RU/q63KPo3NL7yxRaSCAPZuV+wi\n xPIfIjlyh95WLfdgW8ElqR/rw3OCd7F4EXZy5MkByZE/ooFg50qjFzPMUDcRcSCq3Ng5\n gL04XGnx4vAwb5ElWsxl8vYLXAfL5tAxxl+bof6wSTCGWEDzElAsgESmfTXhKBMS1b/D\n cvXQ==","X-Gm-Message-State":"AOJu0YwJu1OwmqOEwV62MIy2lfc/r99nKM+E6iRKS4EWAMiAQWFNBLtl\n FeP3R0qGOqqHiBtcGSiLcgXYL+aBf0DeR8tQKvHWksUkQVCFURGSsS0/Y38yGA==","X-Gm-Gg":"AeBDieuuCy6WugR+HfyQc4NjkKAjE0KZd2qdAsOqUXhe/n4pj49o1cOujXQcpvlBiSV\n WuHuM1jWJXD4bk5i+9J2ghjfizV+VmmJePkh3eEnbBr8i0vVvln0jZaI4o1RMVfGPSAlW2n5Zfh\n KW4z0YLrHFVaskST7BVkGhRHSziT1xA7P2lin5YG9wqOEHkSTWZQ3PYejQKUGpUWLi4Fo0y0u0Z\n NiGxoiOZt2b7hfuDf0DWLug5+JcrRBvGKTtJSl1rfHhdbsLieOYJT2+HU+LorzAXbff0YJke6JL\n o6iuDzrp2ZjLY/UwBx5XApIhGkd+eJ7Luqq6T/x2nW1Tq7F387xYWEpsJPUk34ucmkPNpQKt+Hx\n oOUD1uTw4BrFY/YNkrCKfDROb/Tmj3iiMNe8POZZWLcBWQAIa4qTMad1vRSploWdHQrOaQzM1nd\n pHsNYVq+VtL98b5WU7RXhOCfWCd3S5zXod4gAneb02ddLH4Ou4k1J6IrlyXt5LOR9td4Bwwl9dk\n SkM","X-Received":"by 2002:a17:903:1984:b0:2b4:689a:e411 with SMTP id\n d9443c01a7336-2b9f2808d2fmr130748915ad.22.1777993928326;\n Tue, 05 May 2026 08:12:08 -0700 (PDT)","From":"Avinal Kumar <avinal.xlvii@gmail.com>","To":"libc-alpha@sourceware.org","Cc":"Avinal Kumar <avinal.xlvii@gmail.com>","Subject":"[PATCH 1/3] intl: Remove IN_LIBGLOCALE dead code","Date":"Tue,  5 May 2026 20:41:40 +0530","Message-ID":"<20260505151142.1453614-2-avinal.xlvii@gmail.com>","X-Mailer":"git-send-email 2.54.0","In-Reply-To":"<20260505151142.1453614-1-avinal.xlvii@gmail.com>","References":"<20260505151142.1453614-1-avinal.xlvii@gmail.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libc-alpha@sourceware.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Libc-alpha mailing list <libc-alpha.sourceware.org>","List-Unsubscribe":"<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>","List-Archive":"<https://sourceware.org/pipermail/libc-alpha/>","List-Post":"<mailto:libc-alpha@sourceware.org>","List-Help":"<mailto:libc-alpha-request@sourceware.org?subject=help>","List-Subscribe":"<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>","Errors-To":"libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"},"content":"Remove all IN_LIBGLOCALE conditional blocks from intl/.  libglocale\nwas a proposed API from 2005 that was never completed or shipped.\nThe macro is never defined in glibc or in current GNU gettext, making\nevery #ifdef IN_LIBGLOCALE block dead code.\n\nGNU gettext removed these in commits starting from 2023.  Removing\nthem from glibc reduces noise and eases future syncs with gettext.\n\nImported from GNU gettext commit d6a6801c1.\nOriginal author: Bruno Haible <bruno@clisp.org>\n\nSigned-off-by: Avinal Kumar <avinal.xlvii@gmail.com>\n---\n intl/dcigettext.c  | 116 +++++----------------------------------------\n intl/gettextP.h    |  21 --------\n intl/loadmsgcat.c  |   5 --\n intl/localealias.c |   9 +---\n intl/plural-exp.h  |   2 +-\n 5 files changed, 15 insertions(+), 138 deletions(-)","diff":"diff --git a/intl/dcigettext.c b/intl/dcigettext.c\nindex 9ebc54eeec..17bb8af444 100644\n--- a/intl/dcigettext.c\n+++ b/intl/dcigettext.c\n@@ -95,9 +95,6 @@ extern int errno;\n #ifdef _LIBC\n # include <libintl.h>\n #else\n-# ifdef IN_LIBGLOCALE\n-#  include <libintl.h>\n-# endif\n # include \"libgnuintl.h\"\n #endif\n #include \"hash-string.h\"\n@@ -228,7 +225,7 @@ static void *mempcpy (void *dest, const void *src, size_t n);\n #endif\n \n /* Whether to support different locales in different threads.  */\n-#if defined _LIBC || HAVE_USELOCALE || defined IN_LIBGLOCALE\n+#if defined _LIBC || HAVE_USELOCALE\n # define HAVE_PER_THREAD_LOCALE\n #endif\n \n@@ -247,11 +244,6 @@ struct known_translation_t\n   const char *localename;\n #endif\n \n-#ifdef IN_LIBGLOCALE\n-  /* The character encoding.  */\n-  const char *encoding;\n-#endif\n-\n   /* State of the catalog counter at the point the string was found.  */\n   int counter;\n \n@@ -299,10 +291,6 @@ transcmp (const void *p1, const void *p2)\n \t  if (result == 0)\n #endif\n \t    {\n-#ifdef IN_LIBGLOCALE\n-\t      result = strcmp (s1->encoding, s2->encoding);\n-\t      if (result == 0)\n-#endif\n \t\t/* We compare the category last (though this is the cheapest\n \t\t   operation) since it is hopefully always the same (namely\n \t\t   LC_MESSAGES).  */\n@@ -318,11 +306,9 @@ transcmp (const void *p1, const void *p2)\n    textdomain(3).  The default value for this is \"messages\".  */\n const char _nl_default_default_domain[] attribute_hidden = \"messages\";\n \n-#ifndef IN_LIBGLOCALE\n /* Value used as the default domain for gettext(3).  */\n const char *_nl_current_default_domain attribute_hidden\n      = _nl_default_default_domain;\n-#endif\n \n /* Contains the default location of the message catalogs.  */\n #if defined __EMX__\n@@ -338,25 +324,17 @@ libc_hidden_data_def (_nl_default_dirname)\n # endif\n #endif\n \n-#ifndef IN_LIBGLOCALE\n /* List with bindings of specific domains created by bindtextdomain()\n    calls.  */\n struct binding *_nl_domain_bindings;\n-#endif\n \n /* Prototypes for local functions.  */\n static char *plural_lookup (struct loaded_l10nfile *domain,\n \t\t\t    unsigned long int n,\n \t\t\t    const char *translation, size_t translation_len);\n \n-#ifdef IN_LIBGLOCALE\n-static const char *guess_category_value (int category,\n-\t\t\t\t\t const char *categoryname,\n-\t\t\t\t\t const char *localename);\n-#else\n static const char *guess_category_value (int category,\n \t\t\t\t\t const char *categoryname);\n-#endif\n \n #ifdef _LIBC\n # include \"../locale/localeinfo.h\"\n@@ -364,7 +342,7 @@ static const char *guess_category_value (int category,\n #else\n static const char *category_to_name (int category);\n #endif\n-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE\n+#if (defined _LIBC || HAVE_ICONV)\n static const char *get_output_charset (struct binding *domainbinding);\n #endif\n \n@@ -443,18 +421,9 @@ static int enable_secure;\n /* Look up MSGID in the DOMAINNAME message catalog for the current\n    CATEGORY locale and, if PLURAL is nonzero, search over string\n    depending on the plural form determined by N.  */\n-#ifdef IN_LIBGLOCALE\n-char *\n-gl_dcigettext (const char *domainname,\n-\t       const char *msgid1, const char *msgid2,\n-\t       int plural, unsigned long int n,\n-\t       int category,\n-\t       const char *localename, const char *encoding)\n-#else\n char *\n DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n \t    int plural, unsigned long int n, int category)\n-#endif\n {\n   struct loaded_l10nfile *domain;\n   struct binding *binding;\n@@ -469,7 +438,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n   int saved_errno;\n   struct known_translation_t search;\n   struct known_translation_t **foundp = NULL;\n-#if defined HAVE_PER_THREAD_LOCALE && !defined IN_LIBGLOCALE\n+#if defined HAVE_PER_THREAD_LOCALE\n   const char *localename;\n #endif\n   size_t domainname_len;\n@@ -516,21 +485,16 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n   search.domainname = domainname;\n   search.category = category;\n #ifdef HAVE_PER_THREAD_LOCALE\n-# ifndef IN_LIBGLOCALE\n-#  ifdef _LIBC\n+# ifdef _LIBC\n   localename = __current_locale_name (category);\n-#  else\n+# else\n   categoryname = category_to_name (category);\n-#   define CATEGORYNAME_INITIALIZED\n+#  define CATEGORYNAME_INITIALIZED\n   localename = _nl_locale_name_thread_unsafe (category, categoryname);\n   if (localename == NULL)\n     localename = \"\";\n-#  endif\n # endif\n   search.localename = localename;\n-# ifdef IN_LIBGLOCALE\n-  search.encoding = encoding;\n-# endif\n \n   /* Since tfind/tsearch manage a balanced tree, concurrent tfind and\n      tsearch calls can be fatal.  */\n@@ -562,12 +526,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n   DETERMINE_SECURE;\n \n   /* First find matching binding.  */\n-#ifdef IN_LIBGLOCALE\n-  /* We can use a trivial binding, since _nl_find_msg will ignore it anyway,\n-     and _nl_load_domain and _nl_find_domain just pass it through.  */\n-  binding = NULL;\n-  dirname = bindtextdomain (domainname, NULL);\n-#else\n   for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)\n     {\n       int compare = strcmp (domainname, binding->domainname);\n@@ -587,7 +545,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n   else\n     {\n       dirname = binding->dirname;\n-#endif\n       if (!IS_ABSOLUTE_PATH (dirname))\n \t{\n \t  /* We have a relative path.  Make it absolute now.  */\n@@ -603,20 +560,13 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n \t    goto return_untranslated;\n \t  dirname = xdirname;\n \t}\n-#ifndef IN_LIBGLOCALE\n     }\n-#endif\n \n   /* Now determine the symbolic name of CATEGORY and its value.  */\n #ifndef CATEGORYNAME_INITIALIZED\n   categoryname = category_to_name (category);\n #endif\n-#ifdef IN_LIBGLOCALE\n-  categoryvalue = guess_category_value (category, categoryname, localename);\n-#else\n   categoryvalue = guess_category_value (category, categoryname);\n-#endif\n-\n   domainname_len = strlen (domainname);\n   xdomainname = (char *) malloc (strlen (categoryname)\n \t\t\t\t + domainname_len + 5);\n@@ -675,11 +625,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n \n       if (domain != NULL)\n \t{\n-#if defined IN_LIBGLOCALE\n-\t  retval = _nl_find_msg (domain, binding, encoding, msgid1, &retlen);\n-#else\n \t  retval = _nl_find_msg (domain, binding, msgid1, 1, &retlen);\n-#endif\n \n \t  if (retval == NULL)\n \t    {\n@@ -687,13 +633,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n \n \t      for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)\n \t\t{\n-#if defined IN_LIBGLOCALE\n-\t\t  retval = _nl_find_msg (domain->successor[cnt], binding,\n-\t\t\t\t\t encoding, msgid1, &retlen);\n-#else\n \t\t  retval = _nl_find_msg (domain->successor[cnt], binding,\n \t\t\t\t\t msgid1, 1, &retlen);\n-#endif\n \n \t\t  /* Resource problems are not fatal, instead we return no\n \t\t     translation.  */\n@@ -754,9 +695,6 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n \t\t      newp->category = category;\n #ifdef HAVE_PER_THREAD_LOCALE\n \t\t      newp->localename = new_localename;\n-#endif\n-#ifdef IN_LIBGLOCALE\n-\t\t      newp->encoding = encoding;\n #endif\n \t\t      newp->counter = _nl_msg_cat_cntr;\n \t\t      newp->domain = domain;\n@@ -837,17 +775,10 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,\n    in case of a memory allocation failure during conversion (only if\n    ENCODING != NULL resp. CONVERT == true).  */\n char *\n-#ifdef IN_LIBGLOCALE\n-_nl_find_msg (struct loaded_l10nfile *domain_file,\n-\t      struct binding *domainbinding, const char *encoding,\n-\t      const char *msgid,\n-\t      size_t *lengthp)\n-#else\n _nl_find_msg (struct loaded_l10nfile *domain_file,\n \t      struct binding *domainbinding,\n \t      const char *msgid, int convert,\n \t      size_t *lengthp)\n-#endif\n {\n   struct loaded_domain *domain;\n   nls_uint32 nstrings;\n@@ -953,16 +884,10 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,\n     }\n \n #if defined _LIBC || HAVE_ICONV\n-# ifdef IN_LIBGLOCALE\n-  if (encoding != NULL)\n-# else\n   if (convert)\n-# endif\n     {\n       /* We are supposed to do a conversion.  */\n-# ifndef IN_LIBGLOCALE\n       const char *encoding = get_output_charset (domainbinding);\n-# endif\n       size_t nconversions;\n       struct converted_domain *convd;\n       size_t i;\n@@ -1056,12 +981,7 @@ _nl_find_msg (struct loaded_l10nfile *domain_file,\n \t\t reallocate domain->conversions because we pass\n \t\t encoding = NULL or convert = 0, respectively.  */\n \t      nullentry =\n-# ifdef IN_LIBGLOCALE\n-\t\t_nl_find_msg (domain_file, domainbinding, NULL, \"\",\n-\t\t\t      &nullentrylen);\n-# else\n \t\t_nl_find_msg (domain_file, domainbinding, \"\", 0, &nullentrylen);\n-# endif\n \n \t      /* Resource problems are fatal.  If we continue onwards we will\n \t         only attempt to calloc a new conv_tab and fail later.  */\n@@ -1470,21 +1390,13 @@ category_to_name (int category)\n /* Guess value of current locale from value of the environment variables\n    or system-dependent defaults.  */\n static const char *\n-#ifdef IN_LIBGLOCALE\n-guess_category_value (int category, const char *categoryname,\n-\t\t      const char *locale)\n-\n-#else\n guess_category_value (int category, const char *categoryname)\n-#endif\n {\n   const char *language;\n-#ifndef IN_LIBGLOCALE\n   const char *locale;\n-# ifndef _LIBC\n+#ifndef _LIBC\n   const char *language_default;\n   int locale_defaulted;\n-# endif\n #endif\n \n   /* We use the settings in the following order:\n@@ -1501,18 +1413,17 @@ guess_category_value (int category, const char *categoryname)\n        - If the system provides both a list of languages and a default locale,\n          the former is used.  */\n \n-#ifndef IN_LIBGLOCALE\n   /* Fetch the locale name, through the POSIX method of looking to `LC_ALL',\n      `LC_xxx', and `LANG'.  On some systems this can be done by the\n      `setlocale' function itself.  */\n-# ifdef _LIBC\n+#ifdef _LIBC\n   locale = __current_locale_name (category);\n-# else\n+#else\n   locale_defaulted = 0;\n-#  if HAVE_USELOCALE\n+# if HAVE_USELOCALE\n   locale = _nl_locale_name_thread_unsafe (category, categoryname);\n   if (locale == NULL)\n-#  endif\n+# endif\n     {\n       locale = _nl_locale_name_posix (category, categoryname);\n       if (locale == NULL)\n@@ -1521,7 +1432,6 @@ guess_category_value (int category, const char *categoryname)\n \t  locale_defaulted = 1;\n \t}\n     }\n-# endif\n #endif\n \n   /* Ignore LANGUAGE and its system-dependent analogon if the locale is set\n@@ -1547,7 +1457,7 @@ guess_category_value (int category, const char *categoryname)\n   language = getenv (\"LANGUAGE\");\n   if (language != NULL && language[0] != '\\0')\n     return language;\n-#if !defined IN_LIBGLOCALE && !defined _LIBC\n+#ifndef _LIBC\n   /* The next priority value is the locale name, if not defaulted.  */\n   if (locale_defaulted)\n     {\n@@ -1561,7 +1471,7 @@ guess_category_value (int category, const char *categoryname)\n   return locale;\n }\n \n-#if (defined _LIBC || HAVE_ICONV) && !defined IN_LIBGLOCALE\n+#if (defined _LIBC || HAVE_ICONV)\n /* Returns the output charset.  */\n static const char *\n get_output_charset (struct binding *domainbinding)\ndiff --git a/intl/gettextP.h b/intl/gettextP.h\nindex 9de46847ef..bc007e40e2 100644\n--- a/intl/gettextP.h\n+++ b/intl/gettextP.h\n@@ -70,18 +70,10 @@ extern void _nl_unload_domain (struct loaded_domain *__domain)\n # undef _INTL_REDIRECT_MACROS\n # define _INTL_REDIRECT_MACROS\n # include \"libgnuintl.h\"\n-# ifdef IN_LIBGLOCALE\n-extern char *gl_dcigettext (const char *__domainname,\n-\t\t\t    const char *__msgid1, const char *__msgid2,\n-\t\t\t    int __plural, unsigned long int __n,\n-\t\t\t    int __category,\n-\t\t\t    const char *__localename, const char *__encoding);\n-# else\n extern char *libintl_dcigettext (const char *__domainname,\n \t\t\t\t const char *__msgid1, const char *__msgid2,\n \t\t\t\t int __plural, unsigned long int __n,\n \t\t\t\t int __category);\n-# endif\n #endif\n \n #include \"loadinfo.h\"\n@@ -216,12 +208,7 @@ struct binding\n /* A counter which is incremented each time some previous translations\n    become invalid.\n    This variable is part of the external ABI of the GNU libintl.  */\n-#ifdef IN_LIBGLOCALE\n-# include <glocale/config.h>\n-extern LIBGLOCALE_DLL_EXPORTED int _nl_msg_cat_cntr;\n-#else\n extern LIBINTL_DLL_EXPORTED int _nl_msg_cat_cntr;\n-#endif\n \n #ifndef _LIBC\n extern const char *_nl_language_preferences_default (void);\n@@ -258,18 +245,10 @@ void _nl_load_domain (struct loaded_l10nfile *__domain,\n \t\t      struct binding *__domainbinding)\n      attribute_hidden;\n \n-#ifdef IN_LIBGLOCALE\n-char *_nl_find_msg (struct loaded_l10nfile *domain_file,\n-\t\t    struct binding *domainbinding, const char *encoding,\n-\t\t    const char *msgid,\n-\t\t    size_t *lengthp)\n-     attribute_hidden;\n-#else\n char *_nl_find_msg (struct loaded_l10nfile *domain_file,\n \t\t    struct binding *domainbinding, const char *msgid,\n \t\t    int convert, size_t *lengthp)\n      attribute_hidden;\n-#endif\n \n /* The internal variables in the standalone libintl.a must have different\n    names than the internal variables in GNU libc, otherwise programs\ndiff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c\nindex f0afa37363..2bb339f3b9 100644\n--- a/intl/loadmsgcat.c\n+++ b/intl/loadmsgcat.c\n@@ -1256,12 +1256,7 @@ _nl_load_domain (struct loaded_l10nfile *domain_file,\n #endif\n \n   /* Get the header entry and look for a plural specification.  */\n-#ifdef IN_LIBGLOCALE\n-  nullentry =\n-    _nl_find_msg (domain_file, domainbinding, NULL, \"\", &nullentrylen);\n-#else\n   nullentry = _nl_find_msg (domain_file, domainbinding, \"\", 0, &nullentrylen);\n-#endif\n   if (__builtin_expect (nullentry == (char *) -1, 0))\n     {\n #ifdef _LIBC\ndiff --git a/intl/localealias.c b/intl/localealias.c\nindex 5ab48d317d..fbb26d9efd 100644\n--- a/intl/localealias.c\n+++ b/intl/localealias.c\n@@ -294,14 +294,7 @@ read_alias_file (const char *fname, int fname_len)\n \t      else if (cp[0] != '\\0')\n \t\t*cp++ = '\\0';\n \n-#ifdef IN_LIBGLOCALE\n-\t      /* glibc's locale.alias contains entries for ja_JP and ko_KR\n-\t\t that make it impossible to use a Japanese or Korean UTF-8\n-\t\t locale under the name \"ja_JP\" or \"ko_KR\".  Ignore these\n-\t\t entries.  */\n-\t      if (strchr (alias, '_') == NULL)\n-#endif\n-\t\t{\n+\t      {\n \t\t  size_t alias_len;\n \t\t  size_t value_len;\n \ndiff --git a/intl/plural-exp.h b/intl/plural-exp.h\nindex f0d3a611e1..e5fea8949a 100644\n--- a/intl/plural-exp.h\n+++ b/intl/plural-exp.h\n@@ -109,7 +109,7 @@ extern void EXTRACT_PLURAL_EXPRESSION (const char *nullentry,\n \t\t\t\t       unsigned long int *npluralsp)\n      attribute_hidden;\n \n-#if !defined (_LIBC) && !defined (IN_LIBINTL) && !defined (IN_LIBGLOCALE)\n+#if !defined (_LIBC) && !defined (IN_LIBINTL)\n extern unsigned long int plural_eval (const struct expression *pexp,\n \t\t\t\t      unsigned long int n);\n #endif\n","prefixes":["1/3"]}