Provisional fix for bug #16479 with client connecting while in a TTY menu.
[bpt/emacs.git] / src / ChangeLog
index e21ccc2..d36e60a 100644 (file)
@@ -1,3 +1,572 @@
+2014-01-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * menu.c (Fx_popup_menu): When invoking tty_menu_show, temporarily
+       switch to single keyboard.  Prevents daemon crashes when a new
+       client connects while we show a TTY menu in an existing client.
+       (Bug#16479)
+
+2014-01-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix MinGW64 porting problem with _setjmp.
+       Reported by Eli Zaretskii in:
+       http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01297.html
+       * image.c (FAST_SETJMP, FAST_LONGJMP): New macros, replacing
+       the old _setjmp and _longjmp.  All uses changed.
+
+2014-01-13  Daniel Colascione  <dancol@dancol.org>
+
+       * textprop.c (Fremove_list_of_text_properties): Correctly
+       handle reaching the end of the interval tree. (Bug#15344)
+
+2014-01-13  Martin Rudalics  <rudalics@gmx.at>
+
+       * xdisp.c (resize_mini_window): Round height to a multiple of
+       frame's line height.  Fix bug in calculation of window start
+       position (Bug#16424).
+
+2014-01-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * macfont.m: Include termchar.h.
+       (CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
+       (CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
+       (CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from
+       *_WITH_GC_* to take face and f as parameters.
+       (macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
+       Use *_WITH_FACE_*, and pass face as parameter (Bug#16425).
+
+2014-01-13  Daniel Colascione  <dancol@dancol.org>
+
+       Fix menu item updating in the presence of the Unity global menu
+       GTK+ module.
+
+       * gtkutil.h (xg_have_tear_offs): Add frame parameter
+       * gtkutil.c (xg_have_tear_offs): Count the global menu as a
+       tear-off.
+       (xg_update_menubar,xg_update_menu_item): Call g_object_notify when
+       updating menus; explain why.
+       (xg_update_frame_menubar): Remove the 23px hack: I can't repro the
+       problem it's supposed to solve and it interferes with detecting
+       the presence of a global menu.
+       * xmenu.c (set_frame_menubar): Call xg_have_tear_offs with new
+       parameter.
+
+2014-01-11  K. Handa  <handa@gnu.org>
+
+       * composite.c (composition_update_it): Fix indexing of
+       LGSTRING_CHAR (Bug#15984).
+
+2014-01-11  Fabrice Popineau  <fabrice.popineau@gmail.com>
+
+       * unexw32.c (_start) [__MINGW64__]: Define to __start.
+
+2014-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_window_id): Don't use this function's optimizations
+       if overlays in the buffer displayed by the window have changed
+       since last redisplay.  (Bug#16347)
+       (message_dolog): Fix indentation.
+
+2014-01-11  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (frame_resize_pixelwise): Fix doc-string.
+
+2014-01-10  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix handling of internal borders (Bug#16348).
+       * dispnew.c (adjust_frame_glyphs_for_window_redisplay): Remove
+       internal border width from pixel width of windows.
+       (change_frame_size_1): Don't return early when frame's pixel
+       size changes - we still have to record the new sizes in the
+       frame structure.
+       * w32fns.c (x_set_tool_bar_lines): Clear internal border width
+       also when toolbar gets larger.
+       * window.c (check_frame_size): Include internal_border_width in
+       check.
+       * xdisp.c (Ftool_bar_height): Fix doc-string typo.
+       * xfns.c (x_set_menu_bar_lines, x_set_tool_bar_lines): In
+       non-toolkit/non-GTK version clear internal border.
+       * xterm.c (x_clear_under_internal_border): New function for
+       non-toolkit/non-GTK version.
+       (x_after_update_window_line): In non-toolkit/non-GTK version
+       don't do that.
+       (handle_one_xevent, x_set_window_size): Call
+       x_clear_under_internal_border in non-toolkit/non-GTK version.
+       * xterm.h (x_clear_under_internal_border): Extern it.
+
+2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372).
+       * image.c (gif_load): libgif5 deinterlaces for us, so don't do
+       it again.
+
+2014-01-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Don't skip window redisplay if the
+       last value of point is not equal to buffer's point.  (Bug#16129)
+
+2014-01-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Spelling fixes.
+       * nsterm.h (updateCollectionBehavior): Rename from
+       updateCollectionBehaviour.  All uses changed.
+
+       Port to GNU/Linux with recent grsecurity/PaX patches (Bug#16343).
+       * Makefile.in (SETFATTR): New macro.
+       (temacs$(EXEEXT)): Use it.
+
+2014-01-04  Martin Rudalics  <rudalics@gmx.at>
+
+       Fix maximization behavior on Windows (Bug#16300).
+       * w32fns.c (w32_fullscreen_rect): Don't handle
+       FULLSCREEN_MAXIMIZED and FULLSCREEN_NONE specially.
+       * w32term.c (w32fullscreen_hook): Use SetWindowPlacement instead
+       of SetWindowPos.  Restore last placement also when leaving
+       FULLSCREEN_HEIGHT and FULLSCREEN_WIDTH.  Call ShowWindow in all
+       but the FULLSCREEN_BOTH case.
+
+2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to C89.
+       * data.c (arithcompare_driver):
+       * fileio.c (Fcar_less_than_car):
+       * fns.c (internal_equal):
+       * frame.c (delete_frame):
+       * lisp.h (enum More_Lisp_Bits):
+       * lread.c (read1):
+       Avoid C99 constructs that don't work in C89.
+       * data.c (ULL_MAX, count_trailing_zeros_ll): New macros,
+       to port to C89, which doesn't have 'long long'.
+       (count_trailing_zero_bits): Use them.
+
+2014-01-03  Chong Yidong  <cyd@gnu.org>
+
+       * doc.c (Fdocumentation): Remove dynamic-docstring-function.
+
+2014-01-02  Martin Rudalics  <rudalics@gmx.at>
+
+       Further adjust frame/window scrollbar width calculations.
+       * window.c (apply_window_adjustment): Set
+       windows_or_buffers_changed.
+       (Fwindow_scroll_bars): Return actual scrollbar width.
+       * xfns.c (x_set_scroll_bar_default_width): Rename wid to unit.
+       For non-toolkit builds again use 14 as minimum width and set
+       FRAME_CONFIG_SCROLL_BAR_WIDTH accordingly.
+       * xterm.c (XTset_vertical_scroll_bar): Take width from
+       WINDOW_SCROLL_BAR_AREA_WIDTH.
+       (x_new_font): Rename wid to unit.  Base calculation of new
+       scrollbar width on toolkit used and make it analogous to that of
+       x_set_scroll_bar_default_width.
+       * w32fns.c (x_set_scroll_bar_default_width): Rename wid to unit.
+       (Fx_create_frame): Call x_set_scroll_bar_default_width instead
+       of GetSystemMetrics.
+       * w32term.c (w32_set_vertical_scroll_bar): Take width from
+       WINDOW_SCROLL_BAR_AREA_WIDTH.
+       (x_new_font): Make it correspond to changes in xterm.c.
+
+2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (EMACS_INT): Configure based on INTPTR_MAX, not LONG_MAX.
+       This is a cleaner way to fix the MinGW-w64 porting problem.
+       Check for INTPTR_MAX misconfiguration.
+
+2014-01-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (newline_cache_on_off, find_newline): In indirect
+       buffers, use the newline cache of the base buffer.
+
+       * insdel.c (invalidate_buffer_caches): If BUF is an indirect
+       buffer, invalidate the caches of its base buffer.  (Bug#16265)
+
+       * indent.c (width_run_cache_on_off, compute_motion): In indirect
+       buffers, use the width-run cache of the base buffer.
+
+       * xdisp.c (redisplay_window): When the window displays an indirect
+       buffer, and the character widths in the display table have
+       changed, invalidate the width-run cache of the corresponding base
+       buffer.
+
+       * fileio.c (Finsert_file_contents): When invalidating the newline
+       cache, consider the case of inserting into indirect buffer.
+
+       * bidi.c (bidi_paragraph_cache_on_off, bidi_find_paragraph_start):
+       In indirect buffers, use the paragraph cache of the base buffer.
+
+2013-12-31  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (grow_mini_window): Fix last change.
+
+2013-12-31  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (windowDidResignKey:): Set mouse_moved to 0 (Bug#8421).
+
+2013-12-31  Fabrice Popineau  <fabrice.popineau@supelec.fr>
+
+       * w32term.c (w32_initialize): Use LCID and LOWORD.
+
+       * w32proc.c (create_child): Use pid_t for 5th argument.
+       (IsValidLocale): Don't provide prototype for MinGW64.
+       (Fw32_get_valid_keyboard_layouts, Fw32_get_keyboard_layout)
+       (Fw32_set_keyboard_layout): Use HKL and HIWORD/LOWORD.
+
+       * w32heap.c (allocate_heap) [_WIN64]: Use "ull", not "i64", which
+       MinGW64 doesn't support.
+
+       * lisp.h (EMACS_INT) [_WIN64]: Define for the MinGW64 build.
+
+       * w32.c (set_named_security_info): New function.
+       (acl_set_file): Fall back on set_named_security_info if
+       set_file_security fails.
+       (g_b_init_set_named_security_info_w)
+       (g_b_init_set_named_security_info_a): New static variables.
+       (globals_of_w32): Initialize them to zero.
+       (set_named_security_info): Set them to non-zero if the
+       corresponding API is available.
+       (SetNamedSecurityInfoW_Proc, SetNamedSecurityInfoA_Proc): New
+       function typedefs.
+
+2013-12-31  Martin Rudalics  <rudalics@gmx.at>
+
+       Some more fixes following pixelwise resize changes including one
+       for Bug#16306.
+       * gtkutil.c (x_wm_set_size_hint): Have size hints respect value
+       of frame_resize_pixelwise.
+       * widget.c (pixel_to_text_size): New function.
+       (update_wm_hints): Have size hints respect value of
+       frame_resize_pixelwise.
+       (EmacsFrameResize): Alway process resize requests pixelwise.
+       * window.c (grow_mini_window): Make sure mini window is at least
+       one line tall.
+       * xdisp.c (display_menu_bar): Make sure menubar extends till
+       right end of frame.
+       * xfns.c (x_set_menu_bar_lines): Resize frame windows pixelwise.
+       (x_set_tool_bar_lines): Calculate pixelwise.
+       * xterm.c (x_wm_set_size_hint): Have size hints respect value of
+       frame_resize_pixelwise.
+
+2013-12-30  Juanma Barranquero  <lekktu@gmail.com>
+
+       * fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows
+       variables not used there.
+
+2013-12-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (sys_umask): New function.  (Bug#16299)
+
+2013-12-30  Martin Rudalics  <rudalics@gmx.at>
+
+       * dispnew.c (change_frame_size_1): Take old width of root window
+       from that window's pixel width.  (Bug#16284)
+
+2013-12-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Plain copy-file no longer chmods an existing destination (Bug#16133).
+       * fileio.c (realmask): Now a static var, not a local.
+       (barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST.
+       Remove arg STATPTR.  All uses changed.
+       (Fcopy_file): Do not alter permissions of existing destinations,
+       unless PRESERVE-PERMISSIONS (renamed from
+       PRESERVE-EXTENDED-ATTRIBUTES) is non-nil.
+       Avoid race when testing for existing destinations and for
+       when input and output files are the same.
+       If changing the group fails, adjust both default and
+       preserved permissions so that access is not granted to the
+       wrong group.
+       (Fset_default_file_modes, init_fileio): Update realmask.
+       (Fdefault_file_modes): Use realmask instead of calling umask.
+
+2013-12-28  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix pipe bug with OS X emacs --daemon (Bug#16262).
+       * emacs.c (main) [DAEMON_MUST_EXEC]: Clear the close-on-exec
+       flags on the daemon pipe ends before execing.
+
+2013-12-28  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (Fx_create_frame): Error out if called from a TTY
+       session.  (Bug#14739)
+
+2013-12-27  Jarek Czekalski  <jarekczek@poczta.onet.pl>
+
+       * callproc.c (Vexec_path): Document that exec-directory is in it.
+
+2013-12-27  Steve Purcell  <steve@sanityinc.com>  (tiny change)
+
+       * nsterm.m (syms_of_nsterm): Enable ns-use-srgb-colorspace by
+       default.
+
+2013-12-27  Chong Yidong  <cyd@gnu.org>
+
+       * data.c (Fsymbol_function): Doc fix.
+
+2013-12-26  Martin Rudalics  <rudalics@gmx.at>
+
+       Some more tinkering with Bug#16051.
+       * window.c (resize_frame_windows): Don't let the size of the
+       root window drop below the frame's default character size.
+       Never ever delete any subwindows - let the window manager do the
+       clipping.
+
+       * w32fns.c (x_set_tool_bar_lines): Rewrite calculation of number
+       of toolbar lines needed when they exceed the height of the root
+       window.
+       (unwind_create_frame_1): New function.
+       (Fx_create_frame): Generally inhibit calling the window
+       configuration change hook here.  Remove extra call to
+       change_frame_size - it's not needed when we don't run the
+       configuration change hook.
+
+2013-12-26  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix core dumps with gcc -fsanitize=address and GNU/Linux.
+       On my Fedora 19 platform the core dumps were so big that
+       my desktop became nearly catatonic.
+       * alloc.c (no_sanitize_memcpy) [MAX_SAVE_STACK > 0]: New function.
+       (Fgarbage_collect) [MAX_SAVE_STACK > 0]: Use it.
+       (USE_ALIGNED_MALLOC): Do not define if addresses are sanitized.
+       (mark_memory): Use ATTRIBUTE_NO_SANITIZE_ADDRESS rather than
+       a clang-only syntax.
+       * conf_post.h (__has_feature): New macro, if not already defined.
+       (ADDRESS_SANITIZER, ADDRESS_SANITIZER_WORKAROUND)
+       (ATTRIBUTE_NO_SANITIZE_ADDRESS): New macros.
+
+2013-12-25  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (Fw32_shell_execute): Make DOCUMENT absolute only if it
+       is a file name.  (Bug#16252)
+
+2013-12-25  Chong Yidong  <cyd@gnu.org>
+
+       * keyboard.c (Voverriding_terminal_local_map):
+       (Voverriding_local_map): Doc fix.
+
+       * keymap.c (Vemulation_mode_map_alists): Doc fix.
+
+2013-12-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (Fw32_shell_execute): Ensure DOCUMENT is an absolute
+       file name when it is submitted to ShellExecute.  Simplify code.
+       Don't test DOCUMENT for being a string, as that is enforced by
+       CHECK_STRING.  Doc fix.
+
+2013-12-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (tool_bar_height): Use WINDOW_PIXEL_WIDTH to set up the
+       iterator X limits, not FRAME_TOTAL_COLS, for consistency with what
+       redisplay_tool_bar does.  Improve and fix commentary.
+       (hscroll_window_tree): Don't assume w->cursor.vpos is within the
+       limits of the glyph matrices.  (Bug#16051)
+       (redisplay_tool_bar): Modify the tool-bar-lines frame parameter
+       only when the new size is different from the old one, and the new
+       size can be achieved given the frame height.
+
+2013-12-23  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * conf_post.h: Use unsigned it for bool_bf if GNUSTEP (Bug#16210).
+
+2013-12-23  Glenn Morris  <rgm@gnu.org>
+
+       * lread.c (Fload): Mention load-prefer-newer in doc.
+
+2013-12-22  Martin Rudalics  <rudalics@gmx.at>
+
+       Handle Bug#16207 by being more restrictive when running hooks.
+       * window.c (unwind_change_frame): New function.
+       (Fset_window_configuration): Don't run configuration change hook
+       while the frame configuration is unsafe.  Call select_window
+       twice.
+
+2013-12-22  Xue Fuqiao  <xfq.free@gmail.com>
+
+       * lread.c (syms_of_lread) <load_prefer_newer>: Doc fix.
+
+2013-12-21  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.h: Declare EmacsColor category.
+
+       * nsterm.m (NSColor): Implement EmacsColor category.
+       (ns_get_color): Use colorUsingDefaultColorSpace.
+       (ns_get_color, ns_term_init): Use colorForEmacsRed.
+
+       * nsfns.m (Fxw_color_values): Use colorUsingDefaultColorSpace.
+
+2013-12-21  Eli Zaretskii  <eliz@gnu.org>
+
+       * image.c (fn_png_longjmp) [WINDOWSNT]: Mark the function as
+       having the PNG_NORETURN attribute, to avoid compiler warning in
+       my_png_error.
+
+2013-12-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * w32term.h (struct scroll_bar): Remove member `fringe_extended_p'.
+
+       * w32term.c (w32_draw_fringe_bitmap, x_scroll_run): Remove code for
+       fringe background extension.
+       (x_scroll_bar_create): Remove variables `sb_left' and `sb_width',
+       because they are now always the same as `left' and `width',
+       respectively.  Remove code for the case that `width' and
+       `sb_width' are different.
+
+2013-12-20  Martin Rudalics  <rudalics@gmx.at>
+
+       Remove scroll_bar_actual_width from frames.
+       * frame.h (struct frame): Remove scroll_bar_actual_width slot.
+       * frame.c (Fscroll_bar_width): Return scroll bar area width.
+       (x_figure_window_size):
+       * nsterm.m (x_set_window_size):
+       * widget.c (set_frame_size):
+       * w32term.c (x_set_window_size):
+       * xterm.c (x_set_window_size, x_set_window_size_1): Don't set
+       scroll_bar_actual_width.
+
+       Convert scroll_bar members to integers on Windows.
+       * w32term.h (struct scroll_bar): Convert top, left, width,
+       height, start, end and dragging to integers.
+       * w32fns.c (w32_createscrollbar): Remove XINT conversions for
+       scroll_bar members.
+       * w32term.c (w32_set_scroll_bar_thumb)
+       (w32_scroll_bar_handle_click): Remove XINT conversions for
+       scroll_bar members.  Treat bar->dragging as integer.
+       (x_scroll_bar_create): Call ALLOCATE_PSEUDOVECTOR with "top" as
+       first element.  Remove XINT conversions for scroll_bar members.
+       (w32_set_vertical_scroll_bar, x_scroll_bar_report_motion):
+       Remove XINT conversions for scroll_bar members.
+
+       Fix assignment for new window total sizes.
+       * window.c (Fwindow_resize_apply_total): Assign values for
+       minibuffer window.
+
+2013-12-20  Chong Yidong  <cyd@gnu.org>
+
+       * textprop.c (Fadd_face_text_property): Doc fix.  Rename `appendp'
+       argument to `append'.
+
+2013-12-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (extend_face_to_end_of_line): Use default face, not the
+       current text face, for extending the face of the display margins.
+       (Bug#16192)
+
+       * casefiddle.c (Fupcase_word, Fdowncase_word, Fcapitalize_word):
+       Doc fix.  (Bug#16190)
+
+2013-12-19  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.h (KEY_NS_DRAG_FILE, KEY_NS_DRAG_COLOR, KEY_NS_DRAG_TEXT):
+       Remove.
+
+       * nsterm.m (Qfile, Qurl): New.
+       (EV_MODIFIERS2): New macro.
+       (EV_MODIFIERS): Use EV_MODIFIERS2.
+       (ns_term_init): Remove font and color from DND, does not work on
+       newer OSX, and other ports don't have them.
+       (performDragOperation:): Handle modifiers used during drag.
+       Use DRAG_N_DROP_EVENT instead of NS specific events (Bug#8051).
+       Remove global Lisp variables used to communicate with ns-win.el.
+       Remove font and color handling.
+       (syms_of_nsterm): Defsym Qfile and Qurl.
+
+2013-12-19  Anders Lindgren  <andlind@gmail.com>
+
+       * nsterm.m (NSTRACE_SIZE, NSTRACE_RECT): New macros.
+       (ns_constrain_all_frames, x_set_offset): Remove assignment to
+       dont_constrain.
+       (updateFrameSize:, windowWillResize:toSize:): Add trace.
+       (constrainFrameRect): Remove special case nr_screens == 1.
+       Don't constrain size to size of view.
+
+       * nsterm.h (ns_output): Remove dont_constrain.
+
+2013-12-19  Anders Lindgren  <andlind@gmail.com>
+
+       * nsterm.m (mouseDown:): Generate HORIZ_WHEEL_EVENT.
+
+2013-12-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Minor fixes for recent openp changes.
+       * lisp.h (GCPRO7): New macro.
+       * lread.c (openp): Use bool for boolean; all callers changed.
+       Protect save_string from GC.  Don't assume that file descriptors
+       are nonzero.  Redo save_mtime comparison to avoid bogus GCC
+       warning about uninitialized variable.
+
+2013-12-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (emacs_abort): Use intptr_t as argument of
+       INT_BUFSIZE_BOUND, to avoid compiler warnings.
+
+2013-12-18  Glenn Morris  <rgm@gnu.org>
+
+       * lread.c (Fload): Pass load_prefer_newer to openp.
+       Don't bother checking mtime if openp already did it.
+       (openp): Add `newer' argument, to check all suffixes
+       and find the newest file.
+       (syms_of_lread) <load_prefer_newer>: New option.  (Bug#2061)
+       * callproc.c (call_process):
+       * charset.c (load_charset_map_from_file):
+       * emacs.c (init_cmdargs):
+       * image.c (x_create_bitmap_from_file, x_find_image_file):
+       * lisp.h (openp):
+       * lread.c (Flocate_file_internal):
+       * process.c (Fformat_network_address):
+       * sound.c (Fplay_sound_internal):
+       * w32.c (check_windows_init_file):
+       * w32proc.c (sys_spawnve): Update for new arg spec of openp.
+
+       * emacs.c (standard_args) [HAVE_NS]: Remove -disable-font-backend.
+
+2013-12-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (getloadavg): Don't index samples[] array with negative
+       indices.  Recover from wall-clock time being set backwards.
+
+       * w32term.c (w32_initialize): Declare the argument of
+       set_user_model as const.
+
+       * w32menu.c <MessageBoxW_Proc>: Fix argument declarations.
+       (w32_menu_show): Constify some arguments passed to MessageBox.
+
+       * w32uniscribe.c (uniscribe_font_driver): Use LISP_INITIALLY_ZERO
+       to initialize Lisp objects.
+
+       * w32font.c (w32font_driver): Use LISP_INITIALLY_ZERO to
+       initialize Lisp objects.
+
+       * frame.c (x_set_frame_parameters) [HAVE_X_WINDOWS]: Declare and
+       use variables used only on X under that condition.
+
+       * fileio.c (Fcopy_file) [!WINDOWSNT]: Don't declare on Windows
+       variables not used there.
+
+2013-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix problems with CANNOT_DUMP and EMACSLOADPATH.
+       * lread.c (init_lread): If CANNOT_DUMP, we can't be dumping.
+
+2013-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (Fmove_point_visually): Fix subtle bugs in the fallback
+       code, revealed in presence of R2L characters, character
+       compositions, and display vectors.  A better fix for Bug#16148.
+       (extend_face_to_end_of_line): Don't reference tool_bar_window in
+       GTK and NS builds, they don't have this member of struct frame.
+
+       * dispextern.h (struct composition_it): Correct a comment for the
+       'width' member.
+
+2013-12-16  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * font.h (valid_font_driver) [!ENABLE_CHECKING]: Define a dummy.
+       This prevents a compilation error on C compilers that do not
+       default functions to return 'int' if not declared.  Also, add
+       INLINE_HEADER_BEGIN and INLINE_HEADER_END to this include file,
+       since it now uses inline functions.
+
+2013-12-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (extend_face_to_end_of_line): Don't fill background of
+       display margins on mode line, header line, and in the frame's
+       tool-bar window.  (Bug#16165)
+
 2013-12-16  Andreas Schwab  <schwab@suse.de>
 
        * gnutls.c (Fgnutls_boot): Properly check Flistp return value.
        * conf_post.h: Include <stdbool.h>.
        (bool_bf): New type.
        * dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY):
-       * interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
+       * intervals.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE)
        Surround statement macro with proper 'do { ... } while (false)' brackets.
        * dispextern.h (IF_DEBUG): Properly parenthesize and convert to void.
        Args must now be expressions; all callers changed.
 
        Avoid undefined behavior with huge regexp interval counts.
        * regex.c (GET_INTERVAL_COUNT): Rename from 'GET_UNSIGNED_NUMBER',
-       since it's now specialized to interval counts.  All uses changed.
+       since it's now specialized to interval counts.  All uses changed.
        Do not assume wrapraound on signed integer overflow.
        (regex_compile): Simplify based on the above changes.
 
        use MAX_UTF8_PATH for size of file-name strings.
        (emacs_readlinkat): Build an explicitly unibyte string for file
        names.
-       (syms_of_fileio) <file-name-coding-system>
-       default-file-name-coding-system>: Mention MS-Windows peculiarities.
+       (syms_of_fileio) <file-name-coding-system>:
+       <default-file-name-coding-system>: Mention MS-Windows peculiarities.
 
        * emacs.c (init_cmdargs) [WINDOWSNT]: Convert argv[0] to UTF-8.
        (main) [WINDOWSNT]: Convert the argv[] elements that are files or
        change_frame_size should already have done it.
        (x_new_font): Assign new tool- and menu-bar heights.
        (x_set_window_size_1): Account for tool- and menu-bar heights
-       (Bug#16013). Don't set pixel sizes since change_frame_size
+       (Bug#16013).  Don't set pixel sizes since change_frame_size
        should already have done it.
 
 2013-12-11  Paul Eggert  <eggert@cs.ucla.edu>
 
 2013-11-20  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * nsterm.m (init, run, stop:): Enable again. stop calls super stop
+       * nsterm.m (init, run, stop:): Enable again.  stop calls super stop
        to handle dialogs.
 
        * nsterm.m (init, run, stop:): Comment out for now, does not work
 2013-10-17  Barry O'Reilly  <gundaetiapo@gmail.com>
 
        Don't run timers in input-pending-p.  Its new check-timers param
-       provides the prior behavior. (Bug#15045).
-       * src/keyboard.c (Finput_pending_p): Accept optional check-timers
-       param.
+       provides the prior behavior.  (Bug#15045).
+       * keyboard.c (Finput_pending_p): Accept optional check-timers param.
 
 2013-10-17  Paul Eggert  <eggert@cs.ucla.edu>
 
        (Qbool_vector_p): Declare.
        (CHECK_BOOL_VECTOR, ROUNDUP, BITS_PER_SIZE_T): New macros.
        (swap16, swap32, swap64): New inline functions.
-       * macfont.c (macfont_shape): Change lint_assume to assume.
+       * macfont.m (macfont_shape): Change lint_assume to assume.
        * ralloc.c: Rename ROUNDUP to PAGE_ROUNDUP throughout.
        * xsettings.c (parse_settings): Use new swap16 and
        swap32 from lisp.h instead of file-specific macros.
        * process.h, process.c (PROCESS_INLINE):
        * syntax.h, syntax.c (SYNTAX_INLINE):
        * systime.h, sysdep.c (SYSTIME_INLINE):
-       * termhooks.h, terminal.h (TERMHOOKS_INLINE):
+       * termhooks.h, terminal.c (TERMHOOKS_INLINE):
        * window.h, window.c (WINDOW_INLINE):
        Remove.  All uses replaced with INLINE.
 
        (x_handle_dnd_message):
        * xsettings.c (xft_settings_event):
        Use 'const XEvent * const' where appropriate.
-       * xterm.h, gtkutil.h, xsettngs.h: Adjust related prototypes.
+       * xterm.h, gtkutil.h, xsettings.h: Adjust related prototypes.
 
 2013-09-16  Dmitry Antipov  <dmantipov@yandex.ru>
 
        (nsfont_open): Set font driver type.
        Set font->ascent and font->descent.  Figure out font instead of
        ns_tmp_font, and flags instead of ns_tmp_flags.
-       Fix indentation. Remove call to ns_draw_text_decoration,
+       Fix indentation.  Remove call to ns_draw_text_decoration,
        moved to nsterm.
 
        * nsfns.m: Include macfont.h.
        (Fx_create_frame): Register macfont driver, make a better default font.
        (Fns_popup_font_panel): Get font from macfont driver, if used.
 
-       * macfont.m, macfont.h, maccuvs.h: New files.
+       * macfont.m, macfont.h, macuvs.h: New files.
 
        * font.h: Declare syms_of_macfont.
 
        * nsterm.m (last_window): New variable.
        (EV_TRAILER2): New macro.
        (EV_TRAILER): Call EV_TRAILER2.
-       (mouseMoved:):  Add support for mouse-autoselect-window
+       (mouseMoved:): Add support for mouse-autoselect-window
        on nextstep (Bug#6888).
 
 2013-08-28  Andreas Schwab  <schwab@suse.de>
        (handle_one_xevent, syms_of_xterm): Adjust users.
        (x_flush): Call XFlush once per each X display, not frame.
        This is better because this code always unconditionally skips
-       non-X frames in Vframe_list and issues the only XFlush if we
+       non-X frames in Vframe_list and issues the only XFlush if we
        have more than one X frame on the same X display.
        (any_help_event_p, x_draw_glyph_string_background, x_display_ok):
        Use bool for booleans.
        New unwind-protect flavors to better type-check C callbacks.
        This also lessens the need to write wrappers for callbacks,
        and the need for make_save_pointer.
-       * alloca.c (free_save_value):
+       * alloc.c (free_save_value):
        * atimer.c (run_all_atimers):
        Now extern.
        * alloc.c (safe_alloca_unwind):
        * menu.c (cleanup_popup_menu) [HAVE_NS]:
        * minibuf.c (choose_minibuf_frame_1):
        * process.c (make_serial_process_unwind):
-       * xdisp.h (pop_message_unwind):
+       * xdisp.c (pop_message_unwind):
        * xselect.c (queue_selection_requests_unwind):
        Remove no-longer-needed wrapper.  All uses replaced by the wrappee.
-       * alloca.c (record_xmalloc):
+       * alloc.c (record_xmalloc):
        Prefer record_unwind_protect_ptr to record_unwind_protect with
        make_save_pointer.
-       * alloca.c (Fgarbage_collect):
+       * alloc.c (Fgarbage_collect):
        Prefer record_unwind_protect_void to passing a dummy.
        * buffer.c (restore_buffer):
        * window.c (restore_window_configuration):
        Use emacs_open more consistently when opening files.
        This handles EINTR more consistently now, and makes it easier
        to introduce other uniform changes to file descriptor handling.
-       * src/systdio.h: New file.
-       * src/buffer.c (mmap_init):
+       * sysstdio.h: New file.
+       * buffer.c (mmap_init):
        * cygw32.c (chdir_to_default_directory):
        * dispnew.c (Fopen_termscript):
        * emacs.c (Fdaemon_initialized):
 
        * keyboard.c: Apply keyboard decoding only to events that come directly
        from the tty, not from unread-command-events (bug#14368).
-       (read_event_from_main_queue): New function, extracted from read_char).
+       (read_event_from_main_queue): New function, extracted from read_char.
        (read_decoded_char): Remove.
        (read_decoded_event_from_main_queue): New function to replace it.
        (read_char): Use it.
 
 2013-04-14  Eli Zaretskii  <eliz@gnu.org>
 
-       * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>
+       * buffer.c (syms_of_buffer) <left-margin-width, right-margin-width>:
        <left-fringe-width, right-fringe-width, fringes-outside-margins>:
        Mention in the doc string that setting these variables takes
        effect only after a call to set-window-buffer.  (Bug#14200)
 2013-03-28  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * window.h (struct window): Replace hchild, vchild and buffer slots
-       with the only contents slot.  This is possible because each valid
+       with a single slot 'contents'.  This is possible because each valid
        window may have either the child window (in vertical or horizontal
        combination) or buffer to display (for the leaf window).  Using that,
-       a lof of operations to traverse and/or change window hierarchies may
+       a lot of operations to traverse and/or change window hierarchies may
        be simplified.  New member horizontal is used to distinguish between
        horizontal and vertical combinations of internal windows.
        (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
@@ -8568,7 +9136,7 @@ See ChangeLog.12 for earlier changes.
 ;; coding: utf-8
 ;; End:
 
-  Copyright (C) 2011-2013 Free Software Foundation, Inc.
+  Copyright (C) 2011-2014 Free Software Foundation, Inc.
 
   This file is part of GNU Emacs.