Backport trunk r112134 em-prompt fix

* lisp/eshell/em-prompt.el (eshell-emit-prompt):
Make sure we can't insert into the prompt either.
* doc/man/emacs.1: Add some more command-line options.
* src/w32fns.c (w32_fullscreen_rect): New function to compute the
window rectangle for the given fullscreen mode.
(w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING
no longer tunes the window size.  This keeps the window's edges
flush with the screen and allows the taskbar to hide itself in
fullboth.
* src/w32term.c (w32fullscreen_hook): fullboth now shows without
window decorations and uses the entire screen.
Auto-commit of generated files.
Small fixes to revno 112328

* lisp/ChangeLog: Fix Changelog Entry.

* progmodes/python.el (python-imenu-create-flat-index): Remove
  leftover `message' call and give credit to old
  imenu--flatten-index-alist.
* lisp/progmodes/gud.el (gud-perldb-marker-filter): Understand position info
for subroutines defined in an eval.
* lisp/progmodes/sh-script.el (sh-imenu-generic-expression): Handle
function names with a single character.
* automated/imenu-tests.el: New file.
Added bug number (Bug#14112) to my last ChangeLog entries.
Better full-screen frame support on MS-Windows.

 src/w32fns.c (w32_fullscreen_rect): New function to compute the
 window rectangle for the given fullscreen mode.
 (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no
 longer tunes the window size.  This keeps the window's edges flush
 with the screen and allows the taskbar to hide itself in fullboth.
 src/w32term.c (w32fullscreen_hook): 'fullboth' now shows without
 window decorations and uses the entire screen.
 src/w32term.h  (w32_fullscreen_rect) Add prototype.
 (struct w32_output): Replace normal_width, normal_height,
 normal_top, and normal_left members with a single normal_placement
 struct.
 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP):
 Remove macros.
 (FRAME_NORMAL_PLACEMENT): New macro.
Use add/remove-function to manipulate process-filters.
* lisp/emacs-lisp/nadvice.el (advice--where-alist): Add :override.
(remove-function): Autoload.

* lisp/comint.el (comint-redirect-original-filter-function): Remove.
(comint-redirect-cleanup, comint-redirect-send-command-to-process):
* lisp/vc/vc-cvs.el (vc-cvs-annotate-process-filter,vc-cvs-annotate-command):
* lisp/progmodes/octave-inf.el (inferior-octave-send-list-and-digest):
* lisp/progmodes/prolog.el (prolog-consult-compile):
* lisp/progmodes/gdb-mi.el (gdb, gdb--check-interpreter):
Use add/remove-function instead.
* lisp/progmodes/gud.el (gud-tooltip-original-filter): Remove.
(gud-tooltip-process-output, gud-tooltip-tips):
Use add/remove-function instead.
* lisp/progmodes/xscheme.el (xscheme-previous-process-state): Remove.
(scheme-interaction-mode, exit-scheme-interaction-mode):
Use add/remove-function instead.

* lisp/vc/vc-dispatcher.el: Use lexical-binding.
(vc--process-sentinel): Rename from vc-process-sentinel.
Change last arg to be the code to run.  Don't use vc-previous-sentinel
and vc-sentinel-commands any more.
(vc-exec-after): Allow code to be a function.  Use add/remove-function.
(compilation-error-regexp-alist, view-old-buffer-read-only): Declare.
lisp/faces.el (read-face-name): Bug fix, return just one face if arg multiple is nil
Merge from emacs-24; up to r111343
No longer include timestamp in header of .elc files

This removes needless differences between files compiled at different
times or by different people, or from sources in different locations.
Ref: http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00187.html

* lisp/emacs-lisp/bytecomp.el (byte-compile-insert-header):
No longer include timestamp etc information.

* etc/NEWS: Mention this.
vc.el doc fixes

* lisp/vc/vc.el (vc-print-log-setup-buttons, vc-print-log-internal):
Add doc strings.
(vc-print-log): Clarify interactive prompt.
startup.el (normal-no-mouse-startup-screen): Bug fix, the default key binding for C-h C-o'.  (Bug#13970)
comint.el: (comint-dynamic-complete-functions, comint-mode-map): `comint-dynamic-complete' is obsolete since 24.1, replaced by `completion-at-point'. (Bug#13774)
searching.texi (Regexp Backslash): Doc fix for backslash constructs in regular expressions.
* doc/lispref/internals.texi (Writing Emacs Primitives): Remove unnecessary references to the sources. (Bug#13800)
* doc/lispref/internals.texi (Writing Emacs Primitives): Remove unnecessary references to the sources. (Bug#13800)