* emacs.texi: Fix ISBN.
NEWS clarification
Fix Windows build errors introduced after converting to FGET and FSET.
* w32term.c (x_frame_rehighlight, x_scroll_bar_create):
(w32_condemn_scroll_bars, w32_redeem_scroll_bar):
(w32_judge_scroll_bars): Change to use FSET.
Reported by Andy Moreton <andrewjmoreton@gmail.com>.
Separate read and write access to Lisp_Object slots of struct window.
* window.h (WGET, WSET): New macros similar to AREF and ASET.
* alloc.c, buffer.c, composite.c, dispextern.h, dispnew.c, editfns.c:
* fileio.c, font.c, fontset.c, frame.c, frame.h, fringe.c, indent.c:
* insdel.c, keyboard.c, keymap.c, lisp.h, minibuf.c, msdos.c, nsfns.m:
* nsmenu.m, nsterm.m, print.c, textprop.c, w32fns.c, w32menu.c:
* w32term.c, window.c, xdisp.c, xfaces.c, xfns.c, xmenu.c, xterm.c:
Adjust users.
Separate read and write access to Lisp_Object slots of Lisp_Process.
* process.h (PGET, PSET): New macros similar to AREF and ASET.
* gnutls.c, print.c, process.c, sysdep.c, w32.c, xdisp.c: Adjust users.
gnus-demon.el (gnus-demon-add-handler, gnus-demon-remove-handler): Remove autoload
Use FSET.

* nsmenu.m (ns_update_menubar): Use FSET.

* nsterm.m (ns_frame_rehighlight): Use FSET.
Fix Windows build errors introduced after converting to WGET and WSET.
* w32term.c (w32_set_vertical_scroll_bar): Change to use WSET.
Reported by Andy Moreton <andrewjmoreton@gmail.com>.
* keyboard.c (timer_check_2): Add break so timer_check returns next timeout.
* src/buffer.h (struct buffer): Revert `indirections' to a simple int;
that should be sufficient for everyone.
Fix usage of FRAME_MENU_BAR_ITEMS in w32menu.c.

 src/w32menu.c (set_frame_menubar, initialize_frame_menubar): Don't
 use FRAME_MENU_BAR_ITEMS as an lvalue.
Fix bug #12138 with indexing "closures".

 doc/lispref/functions.texi (Closures): Put the main index entry for
 "closures" here.
 doc/lispref/variables.texi (Lexical Binding): Disambiguate the index entry
 for "closures".
Use GCALIGNMENT where appropriate.
* alloc.c (XMALLOC_HEADER_ALIGNMENT, roundup_size):
(union aligned_Lisp_Symbol, union aligned_Lisp_Misc):
(mark_maybe_pointer, pure_alloc): Change to use GCALIGNMENT.
* lisp/progmodes/cperl-mode.el (cperl-mode): Yet another fix for
syntax-propertize-function.
* lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix handling of
re-binding a symbol that has a symbol-macro.
Remove GNU_LIBRARY_PENDING_OUTPUT_COUNT

* configure.ac (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
(PENDING_OUTPUT_COUNT): Absorb GNU_LIBRARY_PENDING_OUTPUT_COUNT.
(DISPNEW_NEEDS_STDIO_EXT): New define.

* src/dispnew.c (GNU_LIBRARY_PENDING_OUTPUT_COUNT, PENDING_OUTPUT_COUNT):
Let configure handle it.
(stdio_ext.h) [DISPNEW_NEEDS_STDIO_EXT]: Include it.

* nt/config.nt (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
(PENDING_OUTPUT_COUNT): Define it as dispnew.c used to.

* admin/CPP-DEFINES (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Remove.
Guard against potential configure bug wrt HAVE_GETWD

* configure.ac (BROKEN_GETWD) [unixware]: New define.

* src/sysdep.c: Respect BROKEN_GETWD.
Remove non-standard comment from license section of commentary
Grammar fixes
* lisp/help-fns.el (help-fns--key-bindings, help-fns--signature)
(help-fns--parent-mode, help-fns--obsolete): New funs, extracted from
describe-function-1.
(describe-function-1): Use them.  Move compiler macro after sig.
(help-fns--compiler-macro): Use function-get.  Assume we're already in
standard-output.  Adjust layout to new call order.