···1diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
02--- a/Documentation/git-send-email.txt
3+++ b/Documentation/git-send-email.txt
4-@@ -208,8 +208,7 @@ a password is obtained using 'git-credential'.
5 specify a full pathname of a sendmail-like program instead;
6 the program must support the `-i` option. Default value can
7 be specified by the `sendemail.smtpServer` configuration
···9- `/usr/sbin`, `/usr/lib` and $PATH if such program is
10+ option; the built-in default is to search in $PATH if such program is
11 available, falling back to `localhost` otherwise.
12-13 --smtp-server-port=<port>::
14diff --git a/git-send-email.perl b/git-send-email.perl
015--- a/git-send-email.perl
16+++ b/git-send-email.perl
17-@@ -944,8 +944,7 @@ if (defined $reply_to) {
18 }
19-20 if (!defined $smtp_server) {
21- my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
22- push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
···1diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
2+index 1afe9fc858..05dd7c3a90 100644
3--- a/Documentation/git-send-email.txt
4+++ b/Documentation/git-send-email.txt
5+@@ -215,8 +215,7 @@ a password is obtained using 'git-credential'.
6 specify a full pathname of a sendmail-like program instead;
7 the program must support the `-i` option. Default value can
8 be specified by the `sendemail.smtpServer` configuration
···10- `/usr/sbin`, `/usr/lib` and $PATH if such program is
11+ option; the built-in default is to search in $PATH if such program is
12 available, falling back to `localhost` otherwise.
13+14 --smtp-server-port=<port>::
15diff --git a/git-send-email.perl b/git-send-email.perl
16+index 8eb63b5a2f..74a61d8213 100755
17--- a/git-send-email.perl
18+++ b/git-send-email.perl
19+@@ -956,8 +956,7 @@ sub expand_one_alias {
20 }
21+22 if (!defined $smtp_server) {
23- my @sendmail_paths = qw( /usr/sbin/sendmail /usr/lib/sendmail );
24- push @sendmail_paths, map {"$_/sendmail"} split /:/, $ENV{PATH};
···001--- a/git-sh-i18n.sh
2+++ b/git-sh-i18n.sh
3-@@ -15,87 +15,11 @@
4- fi
5- export TEXTDOMAINDIR
6-7--# First decide what scheme to use...
8--GIT_INTERNAL_GETTEXT_SH_SCHEME=fallthrough
9--if test -n "$GIT_GETTEXT_POISON"
10--then
11-- GIT_INTERNAL_GETTEXT_SH_SCHEME=poison
12--elif test -n "@@USE_GETTEXT_SCHEME@@"
13--then
14-- GIT_INTERNAL_GETTEXT_SH_SCHEME="@@USE_GETTEXT_SCHEME@@"
15--elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
16--then
17-- : no probing necessary
18-elif type gettext.sh >/dev/null 2>&1
19--then
20-- # GNU libintl's gettext.sh
21-- GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
22--elif test "$(gettext -h 2>&1)" = "-h"
23--then
24-- # gettext binary exists but no gettext.sh. likely to be a gettext
25-- # binary on a Solaris or something that is not GNU libintl and
26-- # lack eval_gettext.
27-- GIT_INTERNAL_GETTEXT_SH_SCHEME=gettext_without_eval_gettext
28--fi
29--export GIT_INTERNAL_GETTEXT_SH_SCHEME
30--
31--# ... and then follow that decision.
32--case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
33--gnu)
34-- # Use libintl's gettext.sh, or fall back to English if we can't.
35- . gettext.sh
36-- ;;
37--gettext_without_eval_gettext)
38-- # Solaris has a gettext(1) but no eval_gettext(1)
39-- eval_gettext () {
40-- gettext "$1" | (
41-- export PATH $(git sh-i18n--envsubst --variables "$1");
42-- git sh-i18n--envsubst "$1"
43-- )
44-- }
45--
46-- eval_ngettext () {
47-- ngettext "$1" "$2" "$3" | (
48-- export PATH $(git sh-i18n--envsubst --variables "$2");
49-- git sh-i18n--envsubst "$2"
50-- )
51-- }
52-- ;;
53--poison)
54-- # Emit garbage so that tests that incorrectly rely on translatable
55-- # strings will fail.
56-- gettext () {
57-- printf "%s" "# GETTEXT POISON #"
58-- }
59--
60-- eval_gettext () {
61-- printf "%s" "# GETTEXT POISON #"
62-- }
63--
64-- eval_ngettext () {
65-- printf "%s" "# GETTEXT POISON #"
66-- }
67-- ;;
68--*)
69-- gettext () {
70-- printf "%s" "$1"
71-- }
72--
73-- eval_gettext () {
74-- printf "%s" "$1" | (
75-- export PATH $(git sh-i18n--envsubst --variables "$1");
76-- git sh-i18n--envsubst "$1"
77-- )
78-- }
79-+# GNU gettext
80-+export GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
81-+export PATH=@gettext@/bin:$PATH
82-83-- eval_ngettext () {
84-- (test "$3" = 1 && printf "%s" "$1" || printf "%s" "$2") | (
85-- export PATH $(git sh-i18n--envsubst --variables "$2");
86-- git sh-i18n--envsubst "$2"
87-- )
88-- }
89-- ;;
90--esac
91-+. @gettext@/bin/gettext.sh
92-93- # Git-specific wrapper functions
94- gettextln () {
···1+diff --git a/git-sh-i18n.sh b/git-sh-i18n.sh
2+index e1d917fd27..e90f8e1414 100644
3--- a/git-sh-i18n.sh
4+++ b/git-sh-i18n.sh
5+@@ -26,7 +26,7 @@ then
6+ elif test -n "$GIT_INTERNAL_GETTEXT_TEST_FALLBACKS"
7+ then
8+ : no probing necessary
000000000009-elif type gettext.sh >/dev/null 2>&1
10++elif type @gettext@/bin/gettext.sh >/dev/null 2>&1
11+ then
12+ # GNU libintl's gettext.sh
13+ GIT_INTERNAL_GETTEXT_SH_SCHEME=gnu
14+@@ -43,7 +43,8 @@ export GIT_INTERNAL_GETTEXT_SH_SCHEME
15+ case "$GIT_INTERNAL_GETTEXT_SH_SCHEME" in
16+ gnu)
17+ # Use libintl's gettext.sh, or fall back to English if we can't.
0000000018- . gettext.sh
19++ . @gettext@/bin/gettext.sh
20++ export PATH=@gettext@/bin:$PATH
21+ ;;
22+ gettext_without_eval_gettext)
23+ # Solaris has a gettext(1) but no eval_gettext(1)
000000000000000000000000000000000000000000000000000000