+2014-01-30 Andreas Schwab <schwab@linux-m68k.org>
+
+ * process.c (create_process): Reset SIGPROF handler in the child.
+ * callproc.c (call_process): Likewise.
+
+2014-01-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xmenu.c (create_and_show_popup_menu): Port comment to C89.
+
+2014-01-29 Eli Zaretskii <eliz@gnu.org>
+
+ * .gdbinit (xprintstr, xprintbytestr): Don't use repetition count
+ of zero to print strings, GDB doesn't like it.
+
+ * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE, not
+ STRING_CHAR_AND_LENGTH, so that if the string is relocated by GC,
+ we still use correct addresses. (Bug#16576)
+
+2014-01-27 K. Handa <handa@gnu.org>
+
+ Fix bug#16286 by a different method from 2014-01-26T00:32:30Z!eggert@cs.ucla.edu,
+ to preserve the code detection behavior of 24.3.
+ * coding.h (struct coding_system): New member detected_utf8_bytes.
+ * coding.c (detect_coding_utf_8): Set coding->detected_utf8_bytes.
+ (decode_coding_gap): Use short cut for UTF-8 file reading only
+ when coding->detected_utf8_bytes equals to coding->src_bytes.
+ * fileio.c (Finsert_file_contents): Cancel the previous change.
+
+2014-01-29 Martin Rudalics <rudalics@gmx.at>
+
+ * w32fns.c (x_set_tool_bar_lines): Don't clear area on frames
+ that are not visible.
+
+2014-01-29 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xmenu.c (create_and_show_popup_menu): Handle case when no key
+ is grabbed (Bug#16565).
+
+2014-01-28 Martin Rudalics <rudalics@gmx.at>
+
+ * xdisp.c (last_max_ascent): Re-remove after erroneously
+ reintroducing it on 2013-11-30 and abolishing Dmitry's removal
+ from 2013-03-29.
+ (move_it_to): Re-remove reference to last_max_ascent.
+ (Fwindow_text_pixel_size): Add iterator's max_ascent and
+ max_descent here instead of calling line_bottom_y. Fix
+ doc-string.
+
+2014-01-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * terminal.c (initial_free_frame_resources): New function.
+ (init_initial_terminal): Install new hook to free face cache
+ on initial frame and avoid memory leak. For details, see
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01974.html>.
+ * xfaces.c (free_frame_faces): Adjust comment.
+
+2014-01-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * data.c (Fstring_to_number): Document results if unparsable
+ (Bug#16551).
+
+2014-01-26 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_focus_changed): Check for non-X terminal-frame (Bug#16540)
+
+2014-01-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ When decoding, prefer ptrdiff_t to int for buffer positions etc.
+ * coding.c (detect_coding_utf_8, emacs_mule_char)
+ (detect_coding_iso_2022, encode_coding_iso_2022, check_ascii)
+ (check_utf_8, decode_coding):
+ * coding.h (struct coding_system.errors):
+ Use ptrdiff_t, not int, for integer values derived from buffer and
+ string positions.
+
+ Fix crash with insert-file-contents and misdecoded text (Bug#16286).
+ * fileio.c (Finsert_file_contents): Set CODING_MODE_LAST_BLOCK
+ before invoking decode_coding_gap, since there's just one block.
+
+2014-01-25 Martin Rudalics <rudalics@gmx.at>
+
+ Fix handling of face attributes in Fx_create_frame (Bug#16529).
+ * w32fns.c (Fx_create_frame): Don't inhibit running Lisp code
+ too early. Again run change_frame_size before assigning menu-
+ and tool-bar-lines.
+
+2014-01-25 Fabrice Popineau <fabrice.popineau@gmail.com>
+
+ * w32term.c (w32_read_socket): When the WM_DISPLAYCHANGE message
+ arrives, call x_check_fullscreen, in case the new display has a
+ different resolution. (Bug#16517)
+
+2014-01-25 Eli Zaretskii <eliz@gnu.org>
+
+ * term.c (read_menu_input): If the selected frame changes, exit
+ the menu.
+ (tty_menu_show): If the selected frame changes while we displayed
+ a menu, throw to top level. (Bug#16479)
+
+2014-01-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (Fsignal): Fix `debug' handling to match 2013-10-03 change.
+
+2014-01-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix bool-vector-count-population bug on MinGW64 (Bug#16535).
+ * data.c (count_one_bits_word): Fix bug (negated comparison)
+ when BITS_PER_ULL < BITS_PER_BITS_WORD.
+
+2014-01-24 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xdisp.c (reseat_1, Fcurrent_bidi_paragraph_direction): Avoid
+ undefined behavior by initializing display property bit of a
+ string processed by the bidirectional iterator. For details, see
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01920.html>.
+
+2014-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ Minor cleanup of previous change.
+ * image.c (imagemagick_error, Fimagemagick_types):
+ Omit some recently-introduced and unnecessary casts and assignments.
+
+2014-01-23 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix two memory leaks discovered with Valgrind.
+ * ftfont.c (ftfont_list) [HAVE_LIBOTF]: Call OTF_close.
+ * image.c (Fimagemagick_types): Call MagickRelinquishMemory.
+
+2014-01-22 Martin Rudalics <rudalics@gmx.at>
+
+ Fixes in window size functions around Bug#16430 and Bug#16470.
+ * window.c (Fwindow_pixel_width, Fwindow_pixel_height)
+ (Fwindow_mode_line_height, Fwindow_header_line_height)
+ (Fwindow_right_divider_width, Fwindow_bottom_divider_width):
+ Minor doc-string adjustments.
+ (Fwindow_total_height, Fwindow_total_width): New argument ROUND.
+ Rewrite doc-strings.
+ (window_body_height, window_body_width): Do not count partially
+ visible lines/columns when PIXELWISE is nil (Bug#16470).
+ (Qfloor, Qceiling): New symbols.
+
+2014-01-21 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (unwind_create_frame): Avoid crashing inside assertion
+ when the image cache is not yet allocated. (Bug#16509)
+
+2014-01-21 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * buffer.c (Fkill_buffer): When killing an indirect buffer,
+ re-attach intervals to its base buffer (Bug#16502).
+ * intervals.c (set_interval_object): Move from here...
+ * intervals.h (set_interval_object): ... to here. Fix comments.
+
+2014-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Avoid undefined behavior by initializing buffer redisplay bit.
+ Problem reported by Dmitry Antipov in
+ <http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg01756.html>.
+ * buffer.c (Fget_buffer_create): Initialize redisplay bit.
+
+ Revert some of the CANNOT_DUMP fix (Bug#16494).
+ * lread.c (init_lread): Fix typo: NILP, not !NILP.
+
+2014-01-19 Eli Zaretskii <eliz@gnu.org>
+
+ * w32font.c (w32_load_unicows_or_gdi32, get_outline_metrics_w)
+ (get_text_metrics_w, get_glyph_outline_w, get_char_width_32_w)
+ [!WINDOWSNT]: These functions are no longer compiled on Cygwin;
+ they are replaced by macros that expand into direct calls to the
+ corresponding functions from GDI32.DLL.
+ (globals_of_w32font) [WINDOWSNT]: Don't initialize g_b_* static
+ variables in the Cygwin build, they are unused.
+
+2014-01-19 K. Handa <handa@gnu.org>
+
+ * composite.c (composition_update_it): Fix previous change.
+
+2014-01-18 Eli Zaretskii <eliz@gnu.org>
+
+ Fix file name handling on MS-Windows 9X.
+ * w32.c (maybe_load_unicows_dll): New function.
+
+ * emacs.c (main) [WINDOWSNT]: Call maybe_load_unicows_dll early
+ on, to make sure we can convert file names to and from UTF-8 on
+ Windows 9X. This fixes a failure to start up because Emacs cannot
+ find term/w32-win.el. Reported by oslsachem <oslsachem@gmail.com>.
+
+ * w32font.c [WINDOWSNT]: Include w32.h.
+ (w32_load_unicows_or_gdi32): Call maybe_load_unicows_dll, instead
+ of implementing the same stuff.
+ Remove now unused g_b_init_is_windows_9x.
+
+ * w32.h (maybe_load_unicows_dll): Add prototype.
+
+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.
+