perl: use mock i18n functions under NO_GETTEXT=Y
Change the logic of the i18n functions I added in 5e9637c629
(i18n:
add infrastructure for translating Git with gettext, 2011-11-18) to
use pass-through functions when NO_GETTEXT is defined.
This speeds up the compilation time of commands that use this library
when NO_GETTEXT=Y is in effect. Loading it and POSIX.pm is around 20ms
on my machine, whereas it takes 2ms to just instantiate perl itself.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
368a50d9ee
commit
256c2dc42c
@ -16,9 +16,19 @@ BEGIN {
|
||||
our @EXPORT = qw(__ __n N__);
|
||||
our @EXPORT_OK = @EXPORT;
|
||||
|
||||
# See Git::LoadCPAN's NO_PERL_CPAN_FALLBACKS_STR for a description of
|
||||
# this "'@@' [...] '@@'" pattern.
|
||||
use constant NO_GETTEXT_STR => '@@' . 'NO_GETTEXT' . '@@';
|
||||
use constant NO_GETTEXT => (
|
||||
q[@@NO_GETTEXT@@] ne ''
|
||||
and
|
||||
q[@@NO_GETTEXT@@] ne NO_GETTEXT_STR
|
||||
);
|
||||
|
||||
sub __bootstrap_locale_messages {
|
||||
our $TEXTDOMAIN = 'git';
|
||||
our $TEXTDOMAINDIR ||= $ENV{GIT_TEXTDOMAINDIR} || '@@LOCALEDIR@@';
|
||||
die "NO_GETTEXT=" . NO_GETTEXT_STR if NO_GETTEXT;
|
||||
|
||||
require POSIX;
|
||||
POSIX->import(qw(setlocale));
|
||||
|
Reference in New Issue
Block a user