Initial incomplete version of tty menus.  tty_menu_activate not done yet.
Second commit; does not compile yet.

Finalized saving of current_matrix and restoring into desired_matrix.
Added margin areas, when non-empty, to save/restore.
Replaced ScreenRetreive and ScreenUpdate with the new functions based on
saving and restoring glyph matrices.
Started work on reading input via read_char while inside menu display.
Merge from trunk after a lot of time.
Made HAVE_MENUS the default; comment fix in term.c.
Fixed C compilation problems.
Removed unnecessary tests for GUI sessions and created menu faces.
* lisp/abbrev.el (abbrev--check-chars): Fix thinko.
Fix bug #15375 with inaccurate docs of display margin width values.

 doc/lispref/display.texi (Display Margins): State the units of measuring
 margin width.

 src/buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>:
 Doc fix.
Fix src/ChangeLog entry of last commit.
Auto-commit of loaddefs files.
Fix last change in lispref/display.texi.
Minor fixes for last change in lispref/display.texi.
* erc.el (erc-update-mode-line-buffer): Handle absent topic.
* doc/misc/eshell.texi: Markup fixes.
* eshell/esh-var.el (eshell-variable-aliases-list): Fix doc typo.
* lisp/eshell/esh-cmd.el (eshell--local-vars): New variable. 
(eshell-rewrite-for-command): Add for loop vars to eshell--local-vars.

* lisp/eshell/esh-var.el (eshell-get-variable): Respect eshell--local-vars.

* test/automated/eshell.el (eshell-test/for-name-shadow-loop):
New test.
(eshell-test/for-loop, eshell-test/for-name-loop): Doc fix.
* eshell/em-unix.el (eshell/rm): Make -f ignore missing files. 
Does not work until bug=15379 gets fixed.
* xterm.h (FRAME_X_SCREEN_NUMBER): Add comment.
(BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use FRAME_X_SCREEN_NUMBER.
* frame.h (FRAME_SMALLEST_CHAR_WIDTH, FRAME_SMALLEST_FONT_HEIGHT):
Define once here...
* nsterm.h, w32term.h, xterm.h: ...and not here.
* xterm.h (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET) [USE_X_TOOLKIT]:
Define as such.
* w32term.h (SCROLL_BAR_X_WIDGET, SET_SCROLL_BAR_X_WIDGET):
Remove unused Xisms.