* test/automated/tramp-tests.el (tramp-remote-process-environment): Declare.
(tramp-test29-vc-registered): Set $BZR_HOME.
* lisp/net/tramp.el (tramp-call-process): Add traces.
* net/tramp.el (tramp-call-process): Add more traces.
* net/tramp.el (with-tramp-progress-reporter, tramp-call-process):
Add traces.
* net/tramp.el (with-tramp-progress-reporter): Add more traces.
* net/tramp.el (with-tramp-progress-reporter): Complete previous patch.
* net/tramp.el (tramp-handle-unhandled-file-name-directory): Return "/".
Minor improvement of sbrk emulation on MS-Windows.

 src/w32heap.c (malloc_after_dump, realloc_after_dump): Update the
 emulated break value only if it goes up.
 (sbrk): Add assertion that the INCREMENT argument is strictly
 zero.  Improve and correct the commentary.
src/w32heap.c (init_heap): Fix typos in comments.
src/w32heap.c (init_heap): Fix typos in comments (again).
* image.c (x_query_frame_background_color)
[HAVE_PNG || HAVE_NS || HAVE_IMAGEMAGICK || HAVE_RSVG]:
Fix --enable-gcc-warnings compilation without image libraries.
Use common memory management functions for lwlib and refactor users.
* lwlib/lwlib.h (widget_value): Do not maintain a free list any more.
(malloc_widget_value, free_widget_value): Remove prototypes.
* lwlib/lwlib.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove.
(free_widget_value_tree, copy_widget_value_tree): Adjust users.
* src/menu.h (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new prototype.
* src/menu.c (xmalloc_widget_value): Replaced by ...
(make_widget_value): ... new function.
(free_menubar_widget_value_tree, digest_single_submenu): Adjust users.
* src/gtkutil.c (malloc_widget_value, free_widget_value):
(widget_value_free_list, malloc_cpt): Remove old lwlib-compatible code.
* src/keyboard.h (enum button_type, struct _widget_value):
* src/gtkutil.h, src/nsgui.h, src/w32gui.h (malloc_widget_value):
(free_widget_value): Likewise.
* src/nsmenu.m (ns_update_menubar, ns_menu_show):
* src/w32menu.c (set_frame_menubar, w32_menu_show, w32_dialog_show):
* src/xmenu.c (set_frame_menubar, xmenu_show, x_dialog_show): Adjust users.
* src/xterm.h (XtParent) [USE_GTK]: Remove unused macro.
* net/tramp.el (with-tramp-progress-reporter): Remove traces.
* test/automated/tramp-tests.el (tramp-test29-vc-registered):
Remove instrumentation.
Avoid the type error on f10 when lookup-key returns an number.

* lisp/menu-bar.el (lookup-key-ignore-too-long): Extract from...
(popup-menu): ...here.
(menu-bar-open): Use it to avoid an error when `lookup-key'
returns a number.
* process.c (wait_reading_process_output): Omit incorrect test

of p->infd against zero.  Add easserts for infd having a plausible
value.
* xlwmenu.c (openXftFont): Do not load regular X font here.
(XlwMenuInitialize): Remove ancient #if 0 code.
(XlwMenuDestroy): Likewise.  Free regular X font here.
tildify.el: Fix end-regex building in `tildify-find-env'

The `tildify-ignored-environments-alist' allows the end-regex
to be provided not as a static string but mix of strings and
indexes of groups matched the begin-regex.  For example, the
“\verb!…!” TeX-command (where “!” is an arbitrary character)
is handled using:

    ("\\\\verb\\*?\\(.\\)" . (1))

In the same way, the following should be supported as well:

    ("open-\\(.\\)" . ("end-" 1))

However the tildify-find-env function fails at

    (concat result
            (if (stringp (setq aux (car expression)))
                 expression  ; BUG: expression is a list
               (regexp-quote (match-string aux))))

where the string part is handled incorrectly.

The most trivial fix would be to replace `expression'
in the true-part of the if-statement with `aux', but
instead, this commit optimises `tildify-find-env' by
changing it to use `mapconcat' rather than open-coded
while-loop.
tildify.el: Fix matched group indexes in end-regex building

When looking for a start of an ignore-environment, the regex is built
by concatenating regexes of all the environments configured in
`tildify-ignored-environments-alist'.  So for example, the following
list could be used to match TeX's \verb and \verb* commands:

    (("\\\\verb\\(.\\)" . (1))
     ("\\\\verb\\*\\(.\\)" . (1)))

This would result in the following regex being used to find the start
of any of the variants of the \verb command:

    \\\\verb\\(.\\)\\|\\\\verb\\*\\(.\\)

But now, if “\\\\verb\\*\\(.\\)” matches, the first capture group
won't match anything, and thus (match-string 1) will be nil, which
will cause building of the end-matching regex to fail.

Fix this by using capture groups from the time when the opening
regexes are matched individually.
tildify.el: Improve defcustom's types.

Add more tags explaining what each value means and replace
“sexp” used in `tildify-ignored-environments-alist' with
a full type declaration.