* xfns.c (x_default_scroll_bar_color_parameter):

Use USE_LOCAL_ALLOCA only if USE_TOOLKIT_SCROLL_BARS,
to pacify --enable-gcc-warnings in non-scrollbar builds.
* progmodes/grep.el (grep-regexp-alist): Use more-accurate regexp.

Do not match file names that end in '/', as they cannot be 'grep'
hits nowadays.  This prevents confusion when 'grep -r' reports a
match in a file whose basename is ':12345:'.  Conversely, do not
require exactly the same sequence of spaces and tabs after both
colons, and allow spaces or tabs before the second colon, as per
the POSIX spec for 'grep' output.
* etc/TODO: Add a few entries, remove others, expand some
Introduce global-eldoc-mode.  Move Elisp-specific code to elisp-mode.el.
* lisp/emacs-lisp/eldoc.el (global-eldoc-mode): New minor mode.
(eldoc-schedule-timer): Obey it.
(eldoc-documentation-function): Default to nil.
(eldoc-mode): Don't enable if eldoc-documentation-function is not set.
(eldoc-documentation-function-default, eldoc-get-fnsym-args-string)
(eldoc-highlight-function-argument, eldoc-get-var-docstring)
(eldoc-last-data-store, eldoc-docstring-first-line)
(eldoc-docstring-format-sym-doc, eldoc-fnsym-in-current-sexp)
(eldoc-beginning-of-sexp, eldoc-current-symbol)
(eldoc-function-argstring): Move to elisp-mode.el.
(eldoc-symbol-function): Remove, unused.
* lisp/progmodes/elisp-mode.el: New file.  Rename all "eldoc-*" to "elisp--*".
(elisp-completion-at-point): Rename from lisp-completion-at-point.
(elisp--preceding-sexp): Rename from preceding-sexp.
* lisp/loadup.el: Load new file progmodes/elisp-mode.
* lisp/ielm.el (inferior-emacs-lisp-mode): Set eldoc-documentation-function.
* lisp/emacs-lisp/lisp.el (lisp--local-variables-1, lisp--local-variables)
(lisp--local-variables-completion-table, lisp--expect-function-p)
(lisp--form-quoted-p, lisp--company-doc-buffer)
(lisp--company-doc-string, lisp--company-location)
(lisp-completion-at-point): Move to elisp-mode.el.
* lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): New syntax-table,
extracted from emacs-lisp-mode-syntax-table.
(emacs-lisp-mode-abbrev-table, emacs-lisp-mode-syntax-table): Move to
elisp-mode.el.
(lisp-imenu-generic-expression): Add comments to document what comes
from which Lisp dialect.
(emacs-lisp-mode-map, emacs-lisp-byte-compile)
(emacs-lisp-byte-compile-and-load, emacs-lisp-mode-hook)
(emacs-lisp-mode, emacs-list-byte-code-comment-re)
(emacs-lisp-byte-code-comment)
(emacs-lisp-byte-code-syntax-propertize, emacs-lisp-byte-code-mode)
(lisp-interaction-mode-map, lisp-interaction-mode)
(eval-print-last-sexp, last-sexp-setup-props)
(last-sexp-toggle-display, prin1-char, preceding-sexp)
(eval-last-sexp-1, eval-last-sexp-print-value)
(eval-last-sexp-fake-value, eval-sexp-add-defvars, eval-last-sexp)
(eval-defun-1, eval-defun-2, eval-defun): Move to elisp-mode.el.
* src/lisp.mk (lisp): Add elisp-mode.elc.
* lisp/emacs-lisp/pcase.el (pcase--split-match, pcase--app-subst-match):
Handle the case where `match' is :pcase--succeed or :pcase--fail.
* pcase-tests.el: Add #18554 test case.
* lisp/emacs-lisp/eldoc.el (eldoc-mode): Fix thinko.

* lisp/progmodes/elisp-mode.el (elisp--eldoc-last-data): Use defvar.
* lisp/subr.el (track-mouse): New macro.
* lisp/emacs-lisp/cconv.el (cconv-convert, cconv-analyse-form):
Remove track-mouse case.
* lisp/emacs-lisp/bytecomp.el (byte-compile-track-mouse): Remove.
* src/keyboard.c (track-mouse): Rename to internal--track-mouse.
Make it into a function and change arg to be a function.
* lisp/epg-config.el (epg-gpg-program): Use the plain program names rather
than their absolute file name.
Fix implementation of HYBRID_MALLOC on Cygwin.

* src/sheap.c (bss_sbrk_buffer_end): Cast to void *.
(bss_sbrk_buffer_beg): New variable.  Use it...
* src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [CYGWIN]: ...here, to fix
  incorrect definition.
* configure.ac [CYGWIN]: Enable sound support.
Font-lock `cl-flet*', too.

* lisp/emacs-lisp/lisp-mode.el (lisp-cl-font-lock-keywords-2):
Add "flet*" to intermediate var `cl-lib-kw'.
Do not set `url-gateway-method' in `url-https'. (Bug#16543)

Currently, when `url-retrieve' is called for an https url it modifies
the variable `url-gateway-method'.  This has been changed to
explicitly pass the requested gateway method to other functions.

When `url-retrieve' is being processed then (via
`accept-process-output') another `url-retrieve' call from a pending
timer can be started.  The second call would always see the modified
`url-gateway-method' of the first one, which in general does not match
the url.

2014-09-28  Ulf Jasper  <ulf.jasper@web.de>

	* url-gw.el (url-open-stream): New optional parameter
	`gateway-method'.  If non-nil use it instead of global variable
	`url-gateway-method'.

	* url/url-http.el (url-http): New optional parameter
	`gateway-method', pass it to `url-http-find-free-connection'.
	(url-http-find-free-connection): New optional parameter
	gateway-method, pass it to `url-open-stream'.
	(url-https-create-secure-wrapper): Do not modify
	`url-gateway-method' but explicitly provide 'tls as gateway-method
	parameter to `url-https'.
* src/sheap.c (bss_sbrk_buffer_beg): Remove redundant variable.
* src/gmalloc.c [CYGWIN]: Adapt to change in sheap.c.
Keep stack-allocated Lisp objects fast rather than versatile.
* configure.ac (HAVE_STATEMENT_EXPRESSIONS): Remove.
For USE_STACK_LISP_OBJECTS, we always assume __GNUC__.
* lisp.h (union Aligned_Cons) [!GCALIGNED]: Define as such.
(SCOPED_CONS_INITIALIZER): New macro.
(scoped_cons) [USE_STACK_LISP_OBJECTS]: Use it.
(USE_LOCAL_ALLOCA): Remove.
(local_cons, local_list1, local_list2, local_list3, local_list4):
Remove.  Stack overflow checking makes them too slow.
(make_local_vector): Likewise.  Also we just don't have enough
users for it.
(enum LISP_STRING_OVERHEAD): Remove.
(local_string_init, local_vector_init): Remove prototypes.
(make_local_string, build_local_string): Redesign to target short
compile-time string constants, fall back to regular string allocation
where appropriate.
(lisp_string_size): New function.
(verify_ascii) [ENABLE_CHECKING]: Add prototype.
* alloc.c (local_string_init, local_vector_init): Remove.
(verify_ascii) [ENABLE_CHECKING]: New function.
* buffer.c, charset.c, chartab.c, data.c, editfns.c, emacs.c, fileio.c:
* fns.c, font.c, fontset.c, frame.c, keyboard.c, keymap.c, lread.c:
* menu.c, minibuf.c, process.c, textprop.c, xdisp.c, xfns.c, xfont.c:
* xselect.c, xterm.c: All related users changed.
Do not set `url-gateway-method' in `url-https'. (Bug#16543)

Currently, when `url-retrieve' is called for an https url it modifies
the variable `url-gateway-method'.  This has been changed to
explicitly pass the requested gateway method to other functions.

When `url-retrieve' is being processed then (via
`accept-process-output') another `url-retrieve' call from a pending
timer can be started.  The second call would always see the modified
`url-gateway-method' of the first one, which in general does not match
the url.

2014-09-28  Ulf Jasper  <ulf.jasper@web.de>

	* url-gw.el (url-open-stream): New optional parameter
	`gateway-method'.  If non-nil use it instead of global variable
	`url-gateway-method'.

	* url/url-http.el (url-http): New optional parameter
	`gateway-method', pass it to `url-http-find-free-connection'.
	(url-http-find-free-connection): New optional parameter
	gateway-method, pass it to `url-open-stream'.
	(url-https-create-secure-wrapper): Do not modify
	`url-gateway-method' but explicitly provide 'tls as gateway-method
	parameter to `url-https'.
mml: Signal error on invalid <#secure> tag

* mml.el (mml-parse-1): Error out if unknown mode is specified in
<#secure> tag (bug#18513).
Rename 24.5 to 25.1

Except where we expect to backport the corresponding change.
Follow-up to renaming v24.5 to 25.1.

 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/ses.el (ses--letref): Quote value before it gets re-evaluated.