Merge branch 'ds/use-platform-regex-on-macos'
With a bit of header twiddling, use the native regexp library on macOS instead of the compat/ one. * ds/use-platform-regex-on-macos: grep: fix multibyte regex handling under macOS
This commit is contained in:
commit
410a0e520d
2
Makefile
2
Makefile
@ -1442,7 +1442,6 @@ ifeq ($(uname_S),Darwin)
|
||||
APPLE_COMMON_CRYPTO = YesPlease
|
||||
COMPAT_CFLAGS += -DAPPLE_COMMON_CRYPTO
|
||||
endif
|
||||
NO_REGEX = YesPlease
|
||||
PTHREAD_LIBS =
|
||||
endif
|
||||
|
||||
@ -2980,6 +2979,7 @@ GIT-BUILD-OPTIONS: FORCE
|
||||
@echo NO_PERL=\''$(subst ','\'',$(subst ','\'',$(NO_PERL)))'\' >>$@+
|
||||
@echo NO_PTHREADS=\''$(subst ','\'',$(subst ','\'',$(NO_PTHREADS)))'\' >>$@+
|
||||
@echo NO_PYTHON=\''$(subst ','\'',$(subst ','\'',$(NO_PYTHON)))'\' >>$@+
|
||||
@echo NO_REGEX=\''$(subst ','\'',$(subst ','\'',$(NO_REGEX)))'\' >>$@+
|
||||
@echo NO_UNIX_SOCKETS=\''$(subst ','\'',$(subst ','\'',$(NO_UNIX_SOCKETS)))'\' >>$@+
|
||||
@echo PAGER_ENV=\''$(subst ','\'',$(subst ','\'',$(PAGER_ENV)))'\' >>$@+
|
||||
@echo DC_SHA1=\''$(subst ','\'',$(subst ','\'',$(DC_SHA1)))'\' >>$@+
|
||||
|
@ -40,6 +40,7 @@ int main(int argc, const char **argv)
|
||||
|
||||
git_resolve_executable_dir(argv[0]);
|
||||
|
||||
setlocale(LC_CTYPE, "");
|
||||
git_setup_gettext();
|
||||
|
||||
initialize_the_repository();
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "config.h"
|
||||
|
||||
#ifndef NO_GETTEXT
|
||||
# include <locale.h>
|
||||
# include <libintl.h>
|
||||
# ifdef GIT_WINDOWS_NATIVE
|
||||
|
||||
@ -80,7 +79,6 @@ static int test_vsnprintf(const char *fmt, ...)
|
||||
|
||||
static void init_gettext_charset(const char *domain)
|
||||
{
|
||||
setlocale(LC_CTYPE, "");
|
||||
charset = locale_charset();
|
||||
bind_textdomain_codeset(domain, charset);
|
||||
|
||||
|
@ -222,6 +222,7 @@ struct strbuf;
|
||||
#endif
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#ifdef NEEDS_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
@ -18,6 +18,9 @@ test_invalid_grep_expression() {
|
||||
'
|
||||
}
|
||||
|
||||
LC_ALL=en_US.UTF-8 test-tool regex '^.$' '¿' &&
|
||||
test_set_prereq MB_REGEX
|
||||
|
||||
cat >hello.c <<EOF
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
@ -88,6 +91,10 @@ test_expect_success setup '
|
||||
echo unusual >"\"unusual\" pathname" &&
|
||||
echo unusual >"t/nested \"unusual\" pathname"
|
||||
fi &&
|
||||
if test_have_prereq MB_REGEX
|
||||
then
|
||||
echo "¿" >reverse-question-mark
|
||||
fi &&
|
||||
git add . &&
|
||||
test_tick &&
|
||||
git commit -m initial
|
||||
@ -569,6 +576,14 @@ do
|
||||
'
|
||||
done
|
||||
|
||||
test_expect_success MB_REGEX 'grep exactly one char in single-char multibyte file' '
|
||||
LC_ALL=en_US.UTF-8 git grep "^.$" reverse-question-mark
|
||||
'
|
||||
|
||||
test_expect_success MB_REGEX 'grep two chars in single-char multibyte file' '
|
||||
LC_ALL=en_US.UTF-8 test_expect_code 1 git grep ".." reverse-question-mark
|
||||
'
|
||||
|
||||
cat >expected <<EOF
|
||||
file
|
||||
EOF
|
||||
|
Loading…
Reference in New Issue
Block a user