From d45c5992d344fd6a7a00d3700f0b363cb145910e Mon Sep 17 00:00:00 2001
From: Chris Allegretta <chrisa@asty.org>
Date: Fri, 25 Oct 2002 01:41:31 +0000
Subject: [PATCH] Ken's ngettext fix

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1306 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog    | 3 ++-
 configure.ac | 6 +++++-
 nano.h       | 3 +++
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5d57311d..0f2adb2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,7 +9,8 @@ CVS code -
 	- Disable VSTOP keystroke.  Stops people accidentally locking up
 	  nano (suggested by David Benbennick).
 	- Pluralize messages with ngettext() where needed. (David
-	  Benbennick)
+	  Benbennick)  Tweaked to compile on systems lacking ngettext()
+	  by DLR (problem found by Ken Tyler).
 	- Update nano.1 and nano.1.html to show that nano now does an
 	  emergency save on receiving SIGHUP or SIGTERM. (DLR)
 	- Don't include "nowrap" in the long options if
diff --git a/configure.ac b/configure.ac
index 5ae554b4..64d2a1aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -217,7 +217,11 @@ AC_MSG_WARN([*** Can not use slang when cross-compiling])),
     esac], [AC_MSG_RESULT(no)])
 
 dnl Checks for functions
-AC_CHECK_FUNCS(snprintf vsnprintf)
+AC_CHECK_FUNCS(ngettext snprintf vsnprintf)
+if test "x$ac_cv_func_ngettext" = "xno"
+then
+	AC_DEFINE(NO_NGETTEXT, 1, [Defined if ngettext() is unavailable])
+fi
 if test "x$ac_cv_func_snprintf" = "xno" -o "xac_cv_func_vsnprintf" = "xno"
 then
 	AM_PATH_GLIB(1.2.4,,
diff --git a/nano.h b/nano.h
index cae56d0b..bceb2a8d 100644
--- a/nano.h
+++ b/nano.h
@@ -51,6 +51,9 @@
 #    include <libintl.h>
 #  endif
 #  define _(string) gettext(string)
+#  ifdef NO_NGETTEXT
+#    define ngettext(singular, plural, number) gettext(number == 1 ? singular : plural)
+#  endif
 #else
 #  define _(string) (string)
 #  define ngettext(singular, plural, number) number == 1 ? singular : plural
-- 
GitLab