* vc/log-view.el: Header fix.
* vc/log-view.el: Doc fix.
* maintaining.texi (Branches): Add motivations for branching.
Refine docs of VC.

* maintaining.texi (VC Mode Line): Fix typo.
(VC Directory Commands): Mention `vc-dir-hide-up-to-date' with
prefix argument.
Modify `log-view-mode-map'.

* vc/log-view.el (log-view-mode-map): Copy keymap from
  `special-mode-map'.
* eshell/em-term.el (cl-lib): Require `cl-lib'.
Fix minor problems found by static checking.

* data.c (pure_write_error):
Use xsignal2, not Fsignal, as Fsignal might return.
* eval.c (set_backtrace_debug_on_exit): Now static.
(backtrace_p, backtrace_top, backtrace_next, record_in_backtrace):
No longer inline.  EXTERN_INLINE is needed only for functions
defined in .h files.  Reindent function header as per GNU style.
(backtrace_p, backtrace_top, backtrace_next):
Mark EXTERNALLY_VISIBLE so they don't get optimized away by the
compiler or linker.  Add extern decls to pacify gcc -Wall.
* frame.c, frame.h (Qgeometry, Qworkarea, Qmm_size, Qframes, Qsource):
Now static.
* frame.c (free_monitors): Define only on platforms that need it.
* nsterm.m (ns_term_init):
* process.c (catch_child_signal):
Don't worry about whether SIGCHLD is defined, as SIGCHLD is
defined on all porting targets these days.
* process.c, process.h (catch_child_signal):
Make it extern only if NS_IMPL_GNUSTEP is defined.
Add HAVE_GLIB check instead of checking individual libraries that use GLib.

* configure.ac (HAVE_GLIB): Add GLib check.  Set XGSELOBJ if GLib is
used.  Remove xgselect.o from XOBJ.

* src/Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.

* src/process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.

* src/xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
* configure.ac (HAVE_GFILENOTIFY): Do not change $LIBS.
(GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): Substitute.

* nt/config.nt: Add HAVE_GFILENOTIFY, HAVE_W32NOTIFY and USE_FILE_NOTIFY.

* src/Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables.
(ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS).
(LIBES): Add $(GFILENOTIFY_LIBS).

* src/w32inevt.c (handle_file_notifications): Add dummy implementation
for !HAVE_W32NOTIFY.

* src/w32term.c: Wrap code with HAVE_W32NOTIFY.
Fix crashes in a text-mode session on Windows.

 src/w32console.c (initialize_w32_display): Return the dimensions of
 the console window via 2 additional arguments, not via the current
 frame.  This avoids crashes due to overrunning the bounds of
 frame's decode_mode_spec_buffer, which is not resized following
 the change of the frame dimensions from the initial 10x10.
 src/w32term.h (w32_initialize_display_info): Adjust prototype.
 src/term.c (init_tty): Take dimensions of the frame from the values
 returned by initialize_w32_display.
* configure.ac (HAVE_GFILENOTIFY): Check for gio >= 2.24.
Merge from mainline.
Some fix for VC.
gnus-art.el: Don't assume Date header begins with "Date"
gnus.texi (Article Date): Fix description of gnus-article-update-date-headers
Auto-commit of generated files.
        Remove faulty optimisation from indentation calculation.
        * progmodes/cc-engine.el (c-guess-basic-syntax): Don't calculate
        search limit based on 2000 characters back from indent-point.
Fix bug #14540 with inaccurate doc string of pos-visible-in-window-p.

 src/window.c (Fpos_visible_in_window_p): Doc fix.
* progmodes/compile.el (compile-goto-error): Add optional arg NOMSG.
(compilation-auto-jump): Suppress the "Mark set" message to give
way to exit message.
* eshell/esh-mode.el (eshell-mode): Fix key bindings.