Adjust display-buffer-at-bottom.

* window.el (display-buffer-at-bottom): Prefer bottom-left
window to other bottom windows.  Reuse a bottom window if it
shows the buffer already.  Suggested by Juri Linkov
<juri@jurta.org> in discussion of (Bug#18181).
* doc/lispref/lists.texi (Functions that Rearrange Lists): Remove
description of sort ...
* doc/lispref/sequences.texi (Sequence Functions): ... and generalize
it for sequences.  Add an example.
* src/fns.c (Fsort): Use more natural Qsequencep error.
* test/automated/fns-tests.el (fns-tests-sort): Minor style rewrite.
* NEWS: Mention that `sort' can handle vectors.
Fix find_first_strong_char and implement Unicode 8.0 isolate corrections.

find_first_strong_char accepts 1 additional argument, which says to stop
at the PDI that matches the FSI where we started; callers changed.
Implemented suggested Unicode 8.0 corrections for type of RLI/LRI/PDI.
Fix last change to support Darwin/OSX (Bug#18354).
* sysdep.c (sort_vector_compare) [DARWIN_OS || __FreeBSD__]:
Conditionally define to match system's qsort_r signature.
(sort_vector) [DARWIN_OS || __FreeBSD__]: Likewise in call to qsort_r.
Fix ChangeLog entry.
Add optional arguments LOCALE and IGNORE-CASE to collation functions.

* fns.c (Fstring_collate_lessp, Fstring_collate_equalp):
Add optional arguments LOCALE and IGNORE-CASE.

* lisp.h (str_collate): Adapt argument list.

* sysdep.c (LC_CTYPE, LC_CTYPE_MASK, towlower_l):
Define substitutes for platforms that lack them.
(str_collate): Add arguments locale and ignore_case.
* authors.el (authors): Use LOCALE argument of `string-collate-lessp'.
src/sysdep.c (str_collate) [WINDOWSNT]: Fix a typo in 2014-08-29T17:57:36Z!michael.albinus@gmx.de.
Revert a change inadvertently committed in last commit.
Implement case-insensitive and Unicode-compliant collation on MS-Windows.

 src/fns.c (Fstring_collate_lessp, Fstring_collate_equalp): Doc fix.
 src/w32proc.c (w32_compare_strings): Accept additional argument
 IGNORE_CASE.  Set up the flags for CompareStringW to ignore case
 if requested.  If w32-collate-ignore-punctuation is non-nil, add
 NORM_IGNORESYMBOLS to the flags.
 (LINGUISTIC_IGNORECASE): Define if not already defined.
 (syms_of_ntproc) <Vw32_collate_ignore_punctuation>: New variable.
 src/sysdep.c (str_collate) [WINDOWSNT]: Adapt to the interface
 change.
 src/w32.h: Adjust prototype of w32_compare_strings.

 etc/NEWS: Mention w32-collate-ignore-punctuation.

Fixes: debbugs:18051
* sysdep.c (str_collate): Do not look at errno after towlower_l.

errno's value is not specified after towlower_l.  Instead, assume
that towlower_l returns its argument on failure, which is portable
in practice.
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use mode function
name instead of variable name in hook docstring.  (Bug#18349)
* sysdep.c (str_collate) [__STDC_ISO_10646__]: Move up setting errno.
* lisp/startup.el (fancy-splash-frame): Extend the fix for Bug#16014 to the Cygwin-w32 build.  (Bug#18347)
* NEWS: Mention (:append FUN) to minibuffer-with-setup-hook.
Improve error checking and error messages in string-collation functions.

 src/sysdep.c (str_collate) [__STDC_ISO_10646__]: Improve the
 wording of the error messages.
 (str_collate) [WINDOWSNT]: Signal an error if w32_compare_strings
 sets errno.
 src/w32proc.c (get_lcid_callback): Accept locale specifications
 without the country part, as in "enu" vs "enu_USA".
 (w32_compare_strings): Signal an error if a locale was specified,
 but couldn't be translated into a valid LCID.
Minor ChangeLog fixes.
admin/authors.el (authors): Fix last change so it works for MS-Windows as well.
Minor ChangeLog fix.