* lisp/select.el (gui-get-selection-alist): New method.
(gui-get-selection): Use it. Rename from x-get-selection.
(x-get-selection): Define as obsolete alias.
(x-get-clipboard): Mark obsolete.
(gui-get-primary-selection): New function.
(x-get-selection-value): Mark obsolete.
(gui-own-selection-alist, gui-disown-selection-alist)
(gui-selection-owner-p-alist): New methods.
(gui-set-selection): Use them. Rename from x-set-selection.
(x-set-selection): Define as obsolete alias.
(gui--valid-simple-selection-p): Rename from
x-valid-simple-selection-p.
* lisp/w32-common-fns.el (gui-own-selection, gui-disown-selection)
(gui-selection-owner-p, gui-get-selection): Define for w32.
(w32-get-selection-value): Rename from x-get-selection-value.
Use the new gui-last-selected-text.
* lisp/term/x-win.el (x-get-selection-value): Remove.
(x-clipboard-yank): Declare obsolete.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for x.
* lisp/term/w32-win.el (w32-win-suspend-error): Rename from
x-win-suspend-error.
* lisp/term/pc-win.el (w16-get-selection-value): Rename from
x-get-selection-value.
(w16-selection-owner-p): Rename from x-selection-owner-p.
(gui-own-selection, gui-disown-selection, gui-get-selection)
(gui-selection-owner-p): Define for pc.
(w16--select-text): New function.
* lisp/term/ns-win.el (gui-own-selection, gui-disown-selection)
(gui-get-selection, gui-selection-owner-p): Define for ns.
* lisp/term.el (term-mouse-paste):
* lisp/mouse.el (mouse-yank-primary): Use gui-get-primary-selection.
* src/nsselect.m (ns-own-selection-internal, ns-disown-selection-internal):
Rename from the "x-" prefix.
* NEWS, MH-E-NEWS: Update for MH-E release 8.6.
* mh-e.el (Version, mh-version): Update for release 8.6.
* mh-comp.el (mh-insert-x-face): Ensure that mh-x-face-file is a
string before trying to use it (closes SF #474).
(mh-bare-components): New function to create a temporary initial
components file; replaces mh-find-components. Improve the temp folder
and file names as per a suggestion from Bill Wohler. Also address
XEmacs compatibility issues: use mm-make-temp-file instead of
make-temp-file, and only pass one argument to delete-directory.
(mh-edit-again, mh-send-sub): Use mh-bare-components instead of
mh-find-components (partially closes SF #468).
README: Bump version to 25.0.50.
configure.ac (AC_INIT): Bump version to 25.0.50.
nt/makefile.w32-in (VERSION): Bump version to 25.0.50.
nt/emacsclient.rc: Bump version to 25.0.50.
nt/emacs.rc: Bump version to 25.0.50.
nt/config.nt (VERSION): Bump version to 25.0.50.
msdos/sed2v2.inp: Bump version to 25.0.50.
etc/refcards/ru-refcard.tex: Bump version to 25.0.50.
etc/refcards/emacsver.tex: Bump version to 25.0.50.
src/msdos.c (internal_terminal_init): Bump version to 25.
doc/man/emacs.1: Bump version to 25.0.50.
doc/emacs/emacsver.texi (EMACSVER): Bump to 20.0.50.
* lisp/emacs-lisp/pcase.el (pcase--app-subst-match, pcase--app-subst-rest):
New optimization functions.
(pcase--u1): Add support for `quote' and `app'.
(pcase): Document them in the docstring.
the mode line of the calendar buffer.
* lisp/calendar/calendar.el (calendar-update-mode-line):
Do not overwrite mode-line-format if calendar-mode-line-format is nil.
(Bug#18467)
* lisp/progmodes/sql.el (sql-product-alist): Add vertica.
(sql-vertica-program, sql-vertica-options)
(sql-vertica-login-params, sql-comint-vertica, sql-vertica):
New functions and variables to support Vertica.
Inspired by code by Roman Scherer <roman@burningswell.com>.
* lisp/progmodes/sql.el (sql-default-directory): New user option.
(sql-product-interactive): Bind `default-directory' to it to
enable remote connections using Tramp.
* scroll-bar.el (horizontal-scroll-bars-available-p): New
function.
(horizontal-scroll-bar-mode): Rewrite using
horizontal-scroll-bars-available-p.
* menu-bar.el (menu-bar-showhide-scroll-bar-menu): Rewrite using
horizontal-scroll-bars-available-p.
lisp/ls-lisp.el (ls-lisp-use-string-collate)
(ls-lisp-UCA-like-collation): New defcustoms.
(ls-lisp-string-lessp): Use them to control sorting by file
names.
etc/NEWS: Mention that ls-lisp uses string-collate-lessp.
Fixes: debbugs:18051
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
src/w32proc.c (get_lcid_callback, get_lcid, w32_compare_strings):
New functions.
src/w32.h (w32_compare_strings): Add prototype.
src/w32.c <g_b_init_compare_string_w>: New global flag.
(globals_of_w32): Initialize it.
src/sysdep.c (str_collate) [WINDOWSNT]: Implementation for MS-Windows.
src/fns.c (Fstring_collate_lessp, Fstring_collate_equalp)
[WINDOWSNT]: Call str_collate on MS-Windows.
etc/NEWS: Mention that string-collate-* functions are supported on
MS-Windows as well.