precompose-utf8: do not call checks for non-ascii "utf8"

As suggested by Linus, this function is not checking UTF-8-ness of the
string; it only is seeing if it is pure US-ASCII.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Merge branch 'jc/test-prereq' into next

Teaches the test framework to probe rarely used prerequistes lazily,
and make use of it for detecting SYMLINKS, CASE_INSENSITIVE_FS and
NKD/NKC MacOS x gotcha.

* jc/test-prereq:
  fixup! t3910: use the UTF8_NFD_TO_NFC test prereq
  t3910: use the UTF8_NFD_TO_NFC test prereq
  test-lib: provide UTF8 behaviour as a prerequisite
  t0050: use the SYMLINKS test prereq
  t0050: use the CASE_INSENSITIVE_FS test prereq
  test-lib: provide case insensitivity as a prerequisite
  test: allow prerequisite to be evaluated lazily
  test: rename $satisfied to $satisfied_prereq
Merge branch 'pg/maint-apply-remove-unused-variable' into next

Remove an unused field.

* pg/maint-apply-remove-unused-variable:
  apply: delete unused deflate_origlen from patch struct
Merge branch 'mk/test-seq' into next

Add a compatibility/utility function to the test framework.

* mk/test-seq:
  tests: Introduce test_seq
Merge branch 'nd/index-errno' into next

Assignments to errno before calling system functions that used to
matter in the old code were left behind after the code structure
changed sufficiently to make them useless.

* nd/index-errno:
  read_index_from: remove bogus errno assignments
Merge branch 'tr/maint-send-email-2047' into next

"git send-email" did not unquote encoded words that appear on the
header correctly, and lost "_" from strings.

* tr/maint-send-email-2047:
  send-email: improve RFC2047 quote parsing
Merge branch 'mm/die-with-dashdash-help' into next

Reword error messages.

* mm/die-with-dashdash-help:
  setup: clarify error messages for file/revisions ambiguity
Merge branch 'tr/merge-recursive-flush' into next

Remove unnecessary code.

* tr/merge-recursive-flush:
  merge-recursive: eliminate flush_buffer() in favor of write_in_full()
Merge branch 'tr/void-diff-setup-done' into next

Remove unnecessary code.

* tr/void-diff-setup-done:
  diff_setup_done(): return void
Merge branch 'js/gitweb-path-info-unquote' into next

Stripping of PATH_INFO in gitweb did not take url style quoting into
account, failing to notice directories with funny characters e.g. SP
in their paths.

* js/gitweb-path-info-unquote:
  gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
Merge branch 'jc/tag-doc' into next

Our documentation used to assume having files in .git/refs/*
directories was the only to have branches and tags, but that is not
true for quite some time.

* jc/tag-doc:
  Documentation: do not mention .git/refs/* directories
Merge branch 'jk/check-docs-update' into next

Simplify "make check-docs" implementation and update its coverage.

* jk/check-docs-update:
  check-docs: get documented command list from Makefile
  check-docs: drop git-help special-case
  check-docs: list git-gui as a command
  check-docs: factor out command-list
  command-list: mention git-credential-* helpers
  command-list: add git-sh-i18n
  check-docs: update non-command documentation list
  check-docs: mention gitweb specially
Merge branch 'hv/coding-guidelines' into next

In earlier days, "imitate the style in the neibouring code" was
sufficient to keep the coherent style, but over time some parts of
the codebase have drifted enough to make it ineffective.

* hv/coding-guidelines:
  Documentation/CodingGuidelines: spell out more shell guidelines
Merge branch 'jc/maint-rev-list-topo-doc' into next

It was unclear what "--topo-order" was really about in the
documentation. It is not just about "children before parent", but
also about "don't mix lineages".

* jc/maint-rev-list-topo-doc:
  rev-list docs: clarify --topo-order description
Merge branch 'jc/maint-abbrev-option-cli' into next

We did not document that many commands take unique prefix
abbreviations of long options (e.g. "--option" may be the only flag
that the command accepts that begin with "--opt", in which case you
can give "--opt") anywhere easy to find for new people.

* jc/maint-abbrev-option-cli:
  gitcli: describe abbreviation of long options
Merge branch 'mv/pull-r-for-rebase' into next

A minor documentation update.

* mv/pull-r-for-rebase:
  man: git pull -r is a short for --rebase
Merge branch 'jc/doc-git-updates' into next

* jc/doc-git-updates:
  Documentation: update the introductory section
Merge branch 'mm/push-default-switch-warning' into next

In the next major release, we will finally switch "git push [$there]"
that does not say what to push from the traditional "matching" to
the updated "simple" semantics, that pushes the current branch to
the branch with the same name only when the current branch is set to
integrate with that remote branch (all other cases will error out).

* mm/push-default-switch-warning:
  push: start warning upcoming default change for push.default
Merge branch 'jk/maint-null-in-trees' into next

We do not want a link to 0{40} object stored anywhere in our objects.

* jk/maint-null-in-trees:
  fsck: detect null sha1 in tree entries
  do not write null sha1s to on-disk index
  diff: do not use null sha1 as a sentinel value
Merge branch 'jc/maint-t7406-rev-parse-max-count-huh' into next

Test clean-up, with no behaviour change.

* jc/maint-t7406-rev-parse-max-count-huh:
  t7406: fix misleading "rev-parse --max-count=1 HEAD"