Improve window dividers code.
[bpt/emacs.git] / src / ChangeLog
index 2ef0336..ec003cd 100644 (file)
@@ -1,3 +1,217 @@
+2014-02-03  Martin Rudalics  <rudalics@gmx.at>
+
+       * dispextern.h (face_id): Add WINDOW_DIVIDER_FIRST_PIXEL_FACE_ID
+       and WINDOW_DIVIDER_LAST_PIXEL_FACE_ID.
+       * w32term.c (w32_draw_window_divider): Handle first and last
+       pixels specially.
+       * w32term.h (w32_fill_area_abs): New function.
+       * xdisp.c (x_draw_right_divider): Don't draw over bottom
+       divider.
+       * xfaces.c (realize_basic_faces): Handle new face ids.
+       * xfns.c (Fx_create_frame): Call x_default_parameter for right
+       and bottom divider width.
+       * xterm.c (x_draw_window_divider): Handle first and last pixels
+       specially.
+
+2014-02-03  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * print.c (Fexternal_debugging_output): Add cast to pacify
+       --enable-gcc-warnings.
+       * eval.c (call_debugger): Grow specpdl if the debugger was
+       entered due to specpdl overflow (Bug#16603) and allow more
+       specpdl space for the debugger itself.
+
+2014-02-02  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32fns.c (Fx_create_frame): Process frame alpha earlier.
+       (Bug#16619)
+
+2014-02-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (Ffile_system_info): Use WINAPI in the function
+       pointers that get the address of GetDiskFreeSpaceEx.  (Bug#16615)
+
+       * print.c (Fexternal_debugging_output): If the argument character
+       is non-ASCII, encode it with the current locale's encoding before
+       writing the result to the terminal.  (Bug#16448)
+
+       * w32fns.c (Fw32_shell_execute): Don't call file-exists-p for
+       DOCUMENT that is a "remote" file name, i.e. a file-handler exists
+       for it.  (Bug#16558)
+
+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.
 
 2013-12-08  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * nsterm.m (updateFrameSize:): Fix GNUStep toolbar not updating.
+       * nsterm.m (updateFrameSize:): Fix GNUstep toolbar not updating.
 
-       * emacs.c (main): Call fixup_locale a second time for GNUStep.
+       * emacs.c (main): Call fixup_locale a second time for GNUstep.
 
 2013-12-08  Martin Rudalics  <rudalics@gmx.at>
 
 
        * nsterm.m (x_set_window_size): Remove fprintf.
        (init): Define always.  Set applicationDidFinishLaunchingCalled
-       for GNUStep.
+       for GNUstep.
        (applicationDidFinishLaunching:):
        Set applicationDidFinishLaunchingCalled.
        (applicationDidBecomeActive:): Call applicationDidFinishLaunching if
 
        * nsterm.m (Qcocoa, Qgnustep): New variables.
        (syms_of_nsterm): Defsym Qcocoa, Qgnustep.  Fprovide appropriate one.
-       (ns_get_color): Make selection color work for GNUStep also.
+       (ns_get_color): Make selection color work for GNUstep also.
 
 2013-10-18  Eli Zaretskii  <eliz@gnu.org>
 
 2013-09-15  Jan Djärv  <jan.h.d@swipnet.se>
 
        * nsfns.m (Fx_create_frame): Fix font driver registration for
-       GNUStep.
+       GNUstep.
 
        * font.c (syms_of_font): Check MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
        for syms_of_macfont.
        init_process_emacs, undoing 06-22 change.  If CYGWIN, do not
        tickle glib, as that causes Cygwin bootstrap to fail.  Do not
        set lib_child_handler if it's already initialized, which may
-       help avoid problems on GNUStep.
+       help avoid problems on GNUstep.
 
 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        NS_IMPL_COCOA.
        (x_set_cursor_type): Remove declaration.
        (ns_update_begin): Only use r and bp if NS_IMPL_COCOA.
-       (ns_update_end, ns_focus, ns_unfocus): Remove GNUStep specific code.
+       (ns_update_end, ns_focus, ns_unfocus): Remove GNUstep specific code.
        (x_set_window_size): Remove 3 pixels from toolbar if NS_IMPL_GNUSTEP.
        (ns_get_color): Use F suffix on float.
        (ns_color_to_lisp, ns_query_color): Use EmacsCGFloat.
        (changeFont:): size is CGFloat.
        (keyDown:): Check for Delete when NS_IMPL_GNUSTEP.
        Disable warning about permanent text.
-       (characterIndexForPoint:): Adjust return type depending on GNUStep
+       (characterIndexForPoint:): Adjust return type depending on GNUstep
        version.
        (mouseDown:): delta is CGFloat.
        (updateFrameSize): Remove unised variable f.
        (mouseDragged:): Remove unised variable edge.
        (EmacsDocument): Implement for NS_IMPL_GNUSTEP.
 
-       * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUStep when the size
+       * nsterm.h (EmacsCGFloat): Typedef for OSX and GNUstep when the size
        of CGFloat differs.
        (EmacsApp): New variable nextappdefined.  Declare sendFromMainThread
        when NS_IMPL_GNUSTEP.
        (x_activate_menubar): Surround with ifdef NS_IMPL_COCOA
        (fillWithWidgetValue:): Add cast to SEL for setAction.
        (addSubmenuWithTitle:forFrame:): Add cast to SEL for action.
-       (update_frame_tool_bar): Update code for GNUStep.
+       (update_frame_tool_bar): Update code for GNUstep.
        (clearAll): New method.
        (addDisplayItemWithImage:idx:tag:helpText:enabled:): Handle new tag
        argument.  Call insertItemWithItemIdentifier when NS_IMPL_GNUSTEP.
        (Fns_read_file_name): Keep track if panel is for save.
        Use ns_filename_from_panel/ns_directory_from_panel.
        (Fns_list_services): delegate only used for COCOA.
-       (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUStep.
-       Just return the input if GNUStep.
+       (Fns_convert_utf8_nfd_to_nfc): Remove warning for GNUstep.
+       Just return the input if GNUstep.
        (x_screen_planes): Remove.
        (Fxw_color_values): Use EmacsCGFloat
        (Fns_display_monitor_attributes_list): Only get screen number for