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.
* lisp/minibuffer.el (completion-at-point): Emit warning for ill-behaved
completion functions.
Simplify stack-allocated Lisp objects, and make them more portable.

The build_local_string macro was used in two ways: (1) string
literals for which scoped allocation suffices, and (2) file name
components, where it's not safe in general to assume bounded-size
ASCII data.  Simplify by defining a new macro SCOPED_STRING that
allocates a block-scope string, and by using SCOPED_STRING for (1)
and build_string for (2).  Furthermore, actually use stack
allocation only for objects known to have sufficient alignment.
This simpler implementation means Emacs can make
USE_STACK_LISP_OBJECTS the default unless GC_MARK_STACK !=
GC_MAKE_GCPROS_NOOPS.
* lisp.h (GCALIGNED): Align even if !USE_STACK_LISP_OBJECTS,
for fewer differences among implementations.
(struct Lisp_String): Now GCALIGNED.
(USE_STACK_LISP_OBJECTS): Default to true, since the
implementation no longer insists on a nonempty GCALIGNED.
But make it false if GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS.
(SCOPED_CONS_INITIALIZER): Remove, since it's no longer needed
separately.  Move definiens to scoped_cons.  The old definition
was incorrect when GCALIGNED was defined to be empty.
(union Aligned_String): New type.
(USE_STACK_CONS, USE_STACK_STRING): New constants, so that the
implementation ports to compilers that don't align strictly enough.
Don't worry about the union sizes; it's not worth bothering about.
(scoped_cons, scoped_list1, scoped_list3, scoped_list4):
Rewrite using USE_STACK_CONS.
(scoped_cons): Assume the use of union Aligned_Cons.
(lisp_string_size, make_local_string, build_local_string): Remove.
Unless otherwise specified, all callers of build_local_string
changed to use SCOPED_STRING.
(SCOPED_STRING): New macro.
* data.c (wrong_choice):
* menu.c (single_menu_item):
* process.c (Fformat_network_address):
Hoist use of SCOPED_STRING out of a scope, so that its returned
object lives long enough.
* fileio.c (Fexpand_file_name): Use build_string, not SCOPED_STRING,
as the string might be long or might not be ASCII.
Add TODO to replace cl with cl-lib.
Merge from emacs-24; up to r117522.
* TODO: Remove char/unsigned char, long long, IRIX unexelf.c.

The first two are done, and IRIX support has been dropped.
	* ses.el (ses-calculate-cell): bind row and col dynamically to
	their values with 'cl-progv'.
	(ses-dorange): bind row, col, maxrow and maxcol dynamically to
	their values with 'cl-progv', also use non-interned symbols for
	row, minrow, maxrow, mincol and maxcol.
	(maxrow maxcol): New defvar, to make the compiler happy.
Auto-commit of loaddefs files.
* frame.c (x_set_frame_parameters): Port --enable-gcc-warnings

to Ubuntu 14.04.1 x86-64.
* xterm.c (x_term_init): Allocate temps on stack, not on heap.
* lisp/ses.el (ses-setup): Don't assume modifying the iteration var of
dotimes affects the iteration.
* internals.texi (Stack-allocated Objects): Describe this feature.