Merge from emacs-24; up to r108145
ChangeLog date fix
Fix list duplication error in define_image_type.

* image.c (define_image_type): Avoid adding duplicate types to
image_types.  Suggested by Jörg Walter.
Backport fix for Bug#12463 from trunk.

* image.c (define_image_type): Avoid adding duplicate types to
image_types.  Suggested by Jörg Walter.
* trouble.texi (Crashing): Document addr2line.
composite.c (composition_reseat_it): Handle the case that a grapheme cluster is not covered by a single font (Bug#12352).
merge trunk
composite.c (composition_reseat_it): Handle the case that a grapheme cluster is not covered by a single font (Bug#12352).
Fix auto-save and locking for indirect buffers.

* lisp/simple.el (undo): Handle indirect buffers.

* buffer.c (Fset_buffer_modified_p): Handle indirect buffers.
* frames.texi (Pop-Up Menus): Minor clarification for x-popup-menu.
* emacs.c (shut_down_emacs): Don't assume stderr is buffered,

or that fprintf is async-signal-safe.  POSIX doesn't require
either assumption.
Do not truncate strsignal output.
* rst.el: Revamp section title faces.
(rst-official-version)
(rst-package-emacs-version-alist): Sync with official version
V1.4.0.
(rst-faces-defaults, rst-set-level-default)
(rst-level-face-max, rst-level-face-base-color)
(rst-level-face-base-light, rst-level-face-format-light)
(rst-level-face-step-light, rst-define-level-faces): Obsolete.
(rst-adornment-faces-alist): Match new setup.
(rst-level-1, rst-level-2, rst-level-3, rst-level-4)
(rst-level-5, rst-level-6): New faces.
Merge from gnulib.
Auto-commit of generated files.
* Makefile.in (bootstrap): Simplify build procedure.

Suggested by Wolfgang Jenker in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00456.html>.
Fix bug #10159 with crashes in auto-complete package.

 src/xdisp.c (next_overlay_string): Initialize it->end_charpos for
 the new overlay string.  Otherwise, the call to composition_compute_stop_pos
 in compute_stop_pos uses a wrong it->end_charpos value, and crashes because
 it runs off the end of the overlay string.
src/dispextern.h: Fix commentary for struct it's string_nchars member.
Make Temp Buffer Resize Mode less intrusive (Bug#1806).

* window.c (Fsplit_window_internal): Handle only Qt value of
Vwindow_combination_limit separately.
(Qtemp_buffer_resize): New symbol.
(Vwindow_combination_limit): New default value.  Rewrite
doc-string.
* cus-start.el (window-combination-limit): Add new optional
values.
* window.el (temp-buffer-window-show)
(window--try-to-split-window): Obey new values of
window-combination-limit.
(split-window): Test window-combination-limit for t instead of
non-nil.
(display-buffer-at-bottom): New buffer display action function.
* help.el (temp-buffer-resize-regexps): New option.
(temp-buffer-resize-mode): Rewrite doc-string.
(resize-temp-buffer-window): Obey temp-buffer-resize-regexps.
Don't resize reused window.  Suggested by Glen Morris.
Fix bugs #12447 and #12326 with infloop causes by idle timers, update docs.

 src/keyboard.c (timer_check_2): Move calculation of 'timers' and
 'idle_timers' from here ...
 (timer_check): ... to here.  Use Fcopy_sequence to copy the timer
 lists, to avoid infloops when the timer does something stupid,
 like reinvoke itself with the same or smaller time-out.

 lisp/emacs-lisp/timer.el (run-with-idle-timer)
 (timer-activate-when-idle): Warn against reinvoking an idle timer
 from within its own timer action.

 doc/lispref/os.texi (Idle Timers): Warn against reinvoking an idle timer
 from within its own timer action.