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.
* configure.ac (emacs_broken_SIGIO): No longer set on gnu-kfreebsd.
Auto-commit of generated files.
Auto-commit of generated files.
Fix bug #15155 with ignoring face remapping for strings from prefix properties.

 src/xdisp.c (handle_face_prop): If the default face was remapped use
 the remapped face for strings from prefix properties.
* lisp/calc/calc-keypd.el (calc-keypad-execute): `x-flush-mouse-queue' doesn't
exist any more.
(calc-keypad-redraw): Remove unused var `pad'.
(calc-keypad-press): Remove unused var `menu'.
* lisp/textmodes/fill.el (fill-match-adaptive-prefix): Don't throw away
text-properties.
* lisp/emacs-lisp/package.el (package-buffer-info): Fix message typo.
* files.el (create-file-buffer): Handle a file whose basename is all spaces.
* lisp/files.el (interpreter-mode-alist): Use tcl-mode for expect scripts.
* lisp/files.el (create-file-buffer): Rework previous change.
Don't let very long directory names overrun the stack.

Fix some related minor problems involving "//", vfork.
* callproc.c (encode_current_directory): New function.
(call_process): Don't append "/"; not needed.
* fileio.c (file_name_as_directory_slop): New constant.
(file_name_as_directory): Allow SRC to be longer than SRCLEN;
this can save the caller having to alloca.
(Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
Use SAFE_ALLOCA, not alloca.
(directory_file_name, Fexpand_file_name): Leave leading "//"
alone, since it can be special even on POSIX platforms.
* callproc.c (call_process):
* process.c (Fformat_network_address):
* sysdep.c (sys_subshell):
Use encode_current_directory rather than rolling our own.
(create_process): No need to encode directory; caller does that now.
* process.h (encode_current_directory): New decl.
* sysdep.c (sys_subshell): Work even if vfork trashes saved_handlers.
Rework to avoid 'goto xyzzy;'.
* lisp/files.el (auto-mode-alist): Use sh-mode for .bash_history.
System-dependent integer overflow fixes.

* process.c (Fset_process_window_size): Signal an error if
the window size is outside the range supported by the lower level.
* sysdep.c (set_window_size): Return negative on error,
nonnegative on success, rather than -1, 0, 1 on not in system,
failure, success.  This is simpler.  Caller changed.
(serial_configure): Remove unnecessary initialization of local.
(procfs_get_total_memory) [GNU_LINUX]: Don't assume system memory
size fits in unsigned long; this isn't true on some 32-bit hosts.
Avoid buffer overrun if some future version of /proc/meminfo has a
variable name longer than 20 bytes.
(system_process_attributes) [__FreeBSD__]:
Don't assume hw.availpages fits in 'int'.
* gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
or fullscreen.
Fix bug #15176 with setting directory times on MS-Windows.

 src/w32.c (fdutimens): Call 'utime', which is implemented on w32.c
 to handle directories, rather than '_utime' which doesn't.
Fix bug #15175 with cursor on boxed characters from display tables.

 src/xdisp.c (get_next_display_element): Don't apply to characters
 from a display vector the logic of setting it->end_of_box_run_p
 suitable for characters from a buffer.
Add commentary for the last commit.
Handle "/"s more accurately in test for virtual semicolons (AWK Mode).

* progmodes/cc-awk.el (c-awk-one-line-possibly-open-string-re)
(c-awk-regexp-one-line-possibly-open-char-list-re)
(c-awk-one-line-possibly-open-regexp-re)
(c-awk-one-line-non-syn-ws*-re): Remove.
(c-awk-possibly-open-string-re, c-awk-non-/-syn-ws*-re)
(c-awk-space*-/-re, c-awk-space*-regexp-/-re)
(c-awk-space*-unclosed-regexp-/-re): New constants.
(c-awk-at-vsemi-p): Reformulate better to recognize "/"s which
aren't regexp delimiters.

* progmodes/cc-engine.el (c-crosses-statement-barrier-p): Add in
handling for a rare situation in AWK Mode involving unterminated
strings/regexps.