annotate lib-src/gettext.h @ 66046:f56e7dee3fe4

(fancy-splash-default-action): Discard mouse click in the spash screen window, as it has no sensible meaning in the next window to be selected. Fixes error reported by Jan D.
author Kim F. Storm <storm@cua.dk>
date Wed, 12 Oct 2005 11:22:57 +0000
parents 6358e3c6075c
children 3661e9b3c48f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
64639
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
1 /* Convenience header for conditional use of GNU <libintl.h>.
64769
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64642
diff changeset
2 Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002, 2004,
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64642
diff changeset
3 2005 Free Software Foundation, Inc.
64639
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
4
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
5 This program is free software; you can redistribute it and/or modify
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
6 it under the terms of the GNU General Public License as published by
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
7 the Free Software Foundation; either version 2, or (at your option)
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
8 any later version.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
9
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
10 This program is distributed in the hope that it will be useful,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
13 GNU General Public License for more details.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
14
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
15 You should have received a copy of the GNU General Public License along
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
16 with this program; if not, write to the Free Software Foundation,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
18
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
19 #ifndef _LIBGETTEXT_H
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
20 #define _LIBGETTEXT_H 1
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
21
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
22 /* NLS can be disabled through the configure --disable-nls option. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
23 #if ENABLE_NLS
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
24
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
25 /* Get declarations of GNU message catalog functions. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
26 # include <libintl.h>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
27
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
28 #else
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
29
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
30 /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
31 chokes if dcgettext is defined as a macro. So include it now, to make
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
32 later inclusions of <locale.h> a NOP. We don't include <libintl.h>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
33 as well because people using "gettext.h" will not include <libintl.h>,
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
34 and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
35 is OK. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
36 #if defined(__sun)
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
37 # include <locale.h>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
38 #endif
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
39
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
40 /* Many header files from the libstdc++ coming with g++ 3.3 or newer include
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
41 <libintl.h>, which chokes if dcgettext is defined as a macro. So include
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
42 it now, to make later inclusions of <libintl.h> a NOP. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
43 #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
44 # include <cstdlib>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
45 # if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
46 # include <libintl.h>
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
47 # endif
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
48 #endif
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
49
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
50 /* Disabled NLS.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
51 The casts to 'const char *' serve the purpose of producing warnings
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
52 for invalid uses of the value returned from these functions.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
53 On pre-ANSI systems without 'const', the config.h file is supposed to
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
54 contain "#define const". */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
55 # define gettext(Msgid) ((const char *) (Msgid))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
56 # define dgettext(Domainname, Msgid) ((const char *) (Msgid))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
57 # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
58 # define ngettext(Msgid1, Msgid2, N) \
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
59 ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
60 # define dngettext(Domainname, Msgid1, Msgid2, N) \
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
61 ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
62 # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
63 ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
64 # define textdomain(Domainname) ((const char *) (Domainname))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
65 # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
66 # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset))
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
67
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
68 #endif
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
69
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
70 /* A pseudo function call that serves as a marker for the automated
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
71 extraction of messages, but does not call gettext(). The run-time
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
72 translation is done at a different place in the code.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
73 The argument, String, should be a literal string. Concatenated strings
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
74 and other string expressions won't work.
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
75 The macro's expansion is not parenthesized, so that it is suitable as
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
76 initializer for static 'char[]' or 'const char[]' variables. */
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
77 #define gettext_noop(String) String
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
78
385af3e03206 Merge gnulib getopt implementation into Emacs.
Paul Eggert <eggert@twinsun.com>
parents:
diff changeset
79 #endif /* _LIBGETTEXT_H */
64642
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
80
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
81 /* arch-tag: 3d01bb8e-82e3-4674-9812-de4c4224f7d1
6baf27bdd63b Add arch tagline
Miles Bader <miles@gnu.org>
parents: 64639
diff changeset
82 (do not change this comment) */