NEWS fix
display-buffer-in-previous-window existed before 24.4, but was not
in display-buffer-fallback-action
Fix mouse-dragging mode lines on text-mode terminals.

 lisp/mouse.el (mouse-drag-line): On text-mode frames, count the mode
 line and header line as 1 pixel.  This fixes the 1-"pixel" (row)
 discrepancy between window-pixel-edges and mouse events, and
 avoids moving mode line up when the mouse click is on the modeline
 and no drag is attempted.
Fix the row number mistakenly reported by pos_visible_p in rare cases.

 src/xdisp.c (pos_visible_p): Properly save and restore the iterator
 state around the call to line_bottom, since it can move the
 iterator to another screen line.  This fixes off-by-one errors in
 the reported row in some rare cases.
* nsterm.m (updateFrameSize:, initFrameFromEmacs:)
(toggleFullScreen:): Take frame_resize_pixelwise into account when
setting resize increments.
* calendar/diary-lib.el (diary-list-entries): Restore 24.3 display behavior.
src/xdisp.c (pos_visible_p): Don't assign a boolean value to an int var.
* lisp/desktop.el (desktop-create-buffer): Check that buffers are still live
before burying them.
In Fresize_mini_window_internal set w->total_lines from w->pixel_height (Bug#18422).

* window.c (Fresize_mini_window_internal): Set w->total_lines
from w->pixel_height (Bug#18422).
* etc/NEWS: Mention timer error reporting.
Ref: http://debbugs.gnu.org/18444#8
Fix fit-window-to-buffer doc-string.
Resurrect sound support on MS-Windows that was lost in transition.

 configure.ac (HAVE_SOUND): Check for mmsystem.h header that
 defines the sound stuff on MS-Windows.  (Bug#18463)
Fix expansion and encoding of sound file names on MS-Windows.

 src/sound.c (Fplay_sound_internal): Encode the sound file name in
 the ANSI codepage.  Expand it against data-directory, as per docs,
 not against the current directory.  No need to make a local copy
 of the file name; pass the encoded file name directly to
 do_play_sound.  (Bug#18463)
 src/w32.c (ansi_encode_filename): If w32_get_short_filename returns
 NULL, and the file name is not encodable in ANSI codepage, return
 the string with "?" replacement characters, which will fail the
 caller.  This avoids returning a random value in that case.
Fix bug #18420 with deadlocks communicating with subprocess on MS-Windows.

 src/w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of
 pipes.
 (sys_write): When a write to a non-blocking pipe returns ENOSPC,
 set errno to EAGAIN instead, to allow the caller to retry the
 write after some waiting.  Fixes deadlocks when Emacs exchanges a
 lot of data through the pipe.
* register.el (insert-register): Change default interactive insertion mode.
* lisp/image.el (image-multi-frame-p): Fix thinko
do not force a delay if none was specified.
Merge from emacs-24; up to r117499
Update documentation for `insert-register'

* doc/emacs/regs.texi (Text Registers): Update end-user documentation
to reflect `insert-register' interface change.

* doc/lispref/text.texi (Registers): Make `insert-register' documentation
reflect interface change.
Update documentation for `insert-register'

  * doc/emacs/regs.texi (Text Registers): Update end-user documentation
  to reflect `insert-register' interface change.
  
  * doc/lispref/text.texi (Registers): Make `insert-register' documentation
  reflect interface change.
Tweak sort docstring

* fns.c (Fsort): Tweak sort docstring.
If USE_LOCAL_ALLOCATORS, allocate some Lisp objects on stack.
* lisp.h (local_cons, local_list1, local_list2, local_list3)
[USE_LOCAL_ALLOCATORS]: New macros.
[!USE_LOCAL_ALLOCATORS]: Fall back to regular functions.
(build_local_string): Avoid argument name expansion clash with
make_local_string.
* alloc.c (toplevel)
[USE_LOCAL_ALLOCATORS && GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS]:
Preprocessor guard to avoid impossible configuration.
* charset.c (Ffind_charset_region, Ffind_charset_string):
Use make_local_vector.
* lread.c (read1, substitute_object_recurse): Use scoped_cons.
* textprop.c (Fput_text_property, Fadd_face_text_property):
Use scoped_list2.
(copy_text_properties): Use local_cons and local_list3.
* chartab.c (uniprop_table):
* data.c (wrong_choice, wrong_range):
* doc.c (get_doc_string):
* editfns.c (format2):
* fileio.c (Fexpand_file_name, auto_save_error):
* fns.c (Fyes_or_no_p):
* font.c (font_parse_xlfd, font_parse_family_registry, font_add_log):
* fontset.c (Fset_fontset_font):
* keyboard.c (echo_add_key, echo_dash, parse_menu_item)
(read_char_minibuf_menu_prompt):
* keymap.c (silly_event_symbol_error, describe_vector):
* menu.c (single_menu_item):
* minibuf.c (Fread_buffer):
* process.c (status_message, Fformat_network_address)
(server_accept_connection): Use make_local_string and
build_local_string.  Prefer compound literals where appropriate.