* emacs.c (main): Call fixup_locale a second time for GNUStep.
[bpt/emacs.git] / src / ChangeLog
index 454413c..5711b35 100644 (file)
@@ -1,3 +1,229 @@
+2013-12-08  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * emacs.c (main): Call fixup_locale a second time for GNUStep.
+
+2013-12-08  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (x_set_font): Mark frame as garbaged (Bug#16028).
+
+2013-12-08  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use libcrypto's checksum implementations if available, for speed.
+       * Makefile.in (LIB_CRYPTO): New macro.
+       (LIBES): Use it.
+
+       * frame.h (SET_FRAME_VISIBLE): Now an inline function.
+       The macro didn't conform to C99 due to type mismatch,
+       which caused compilation failure with Sun C 5.12,
+       and it was confusing anyway.  Include window.h to declare
+       redisplay_other_windows.
+
+2013-12-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (set_window_buffer): Update mode line (bug#16084).
+
+2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems found by static checking.
+       * keyboard.c (poll_for_input_1, input_polling_used):
+       Define only if HAVE_NTGUI.
+       * xmenu.c (popup_activate_callback): Omit unnecessary
+       check against USE_X_TOOLKIT, which must be defined here anyway.
+       * xterm.c, xterm.h (x_dispatch_event) [! (USE_X_TOOLKIT || USE_MOTIF)]:
+       Now static.
+
+2013-12-07  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32term.c (w32_read_socket): Fix int/Lisp_Object type mixup.
+
+2013-12-07  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (tb_size_cb): Call xg_height_or_width_changed.
+
+       * nsterm.m (x_set_window_size): Remove fprintf.
+       (init): Define always.  Set applicationDidFinishLaunchingCalled
+       for GNUStep.
+       (applicationDidFinishLaunching:):
+       Set applicationDidFinishLaunchingCalled.
+       (applicationDidBecomeActive:): Call applicationDidFinishLaunching if
+       not called.
+
+       * nsterm.h (EmacsApp): Add applicationDidFinishLaunchingCalled.
+
+       Pixel resize changes for NS (Bug#16049).
+       * nsterm.m (x_set_window_size): Change parameters rows/cols to
+       height/width.  row/cols are locals.
+       Pass pixelwise to check_frame_size.  Don't set FRAME_PIXEL_WIDTH/HEIGHT.
+       (updateFrameSize:): Remove gsextra.  Adjust for pixelwise resize.
+       (windowWillResize): Remove gsextra.  Calculate extra as in
+       updateFrameSize.
+       (x_new_font): Don't change frame size if fullscreen.
+       Change size pixelwise.
+
+       * nsfns.m (Fx_create_frame): Call change_frame_size twice as per
+       comment in xfns.c.  Change to pixelwise call.
+
+2013-12-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * buffer.c (Fset_buffer_multibyte): Invalidate buffer caches.
+       (Bug#16070)
+
+2013-12-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xterm.c (input_signal_count): Remove.
+       (x_dispatch_event): Define unconditionally.
+       (x_make_frame_visible): Process X events until the frame
+       is really visible (Bug#16027).
+       * xterm.h (x_dispatch_event): Declare unconditionally.
+
+2013-12-05  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (ns_frame_parm_handlers): Add right/bottom_divider_width.
+
+       * nsterm.m (x_set_window_size): Handle pixelwise.
+
+2013-12-05  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32term.c (x_new_font):
+       * xterm.c (x_new_font): Calculate new frame size from new font
+       size (Bug#16028).
+
+2013-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp.h (FOR_EACH_TAIL): New macro.
+       * fns.c (Fdelq): Use it to avoid inf-loops; remove QUIT.
+
+       * window.c (select_window): Call second wset_redisplay before we change
+       selected_window (bug#16034).
+
+2013-12-04  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bidi.c (LRM_CHAR, RLM_CHAR): Remove; no longer used.
+
+2013-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32xfns.c: Include window.h, to avoid a compiler warning.
+
+2013-12-04  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * window.c (window_scroll): Mark window for redisplay (bug#16034).
+       (scroll_command, Fscroll_other_window): Don't cause redisplay now that
+       window_scroll takes care of it.
+       (Fset_window_point, Fdelete_other_windows_internal)
+       (set_window_buffer, Fwindow_resize_apply, resize_frame_windows)
+       (Fsplit_window_internal, Fdelete_window_internal)
+       (Fresize_mini_window_internal, Fset_window_configuration)
+       (apply_window_adjustment): Use fset_redisplay and wset_redisplay to
+       cause redisplay instead of forcing a complete redisplay.
+       * xdisp.c (wset_redisplay): Don't set windows_or_buffers_changed if
+       we're only affecting the selected_window.
+
+2013-12-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_get_type, bidi_get_category): Handle the isolate
+       directional control characters.  Update type and category
+       determination according to the UBA from Unicode v6.3.
+       (bidi_category_t): New category EXPLICIT_FORMATTING.
+
+       * dispextern.h (bidi_type_t): Update to include new bidirectional
+       properties introduced with Unicode v6.3.  (Bug#16043)
+
+2013-12-04  Martin Rudalics  <rudalics@gmx.at>
+
+       * xterm.c (XTflash): Fix coordinate of bottom area to flash
+       (Bug#16044).
+
+2013-12-04  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * font.c (font_list_entities): Remove dummy assignment.
+       * font.h (struct font) [HAVE_WINDOW_SYSTEM]: Group members which are
+       used on graphic displays only.  Remove unused 'font_encoder' member.
+       (struct font_bitmap): Remove unused 'extra' member.
+       * nsfont.m (nsfont_open):
+       * w32font.c (w32font_open_internal):
+       * ftfont.c (ftfont_get_bitmap): Adjust users.
+
+2013-12-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Use bool for boolean.
+       * tparam.c (tparam1):
+       * undo.c (record_point, record_property_change):
+       Use bool for boolean, for local vars that are always true or false.
+
+       Minor integer overflow fixes (Bug#16033).
+       * window.c (Fset_window_new_pixel): Don't let new_pixel go negative.
+       This improves on the previous fix to this function.
+       (window_resize_check): When summing up pixel counts, don't rely on
+       undefined behavior if the sum overflows.
+
+2013-12-03  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fset_window_new_pixel): Don't choke at negative
+       argument value (Bug#16033).
+
+       * xfns.c (Fx_create_frame): Add another call to change_frame_size
+       to avoid crash in window_box_height.
+
+       * gtkutil.h: Fix external declaration of xg_frame_set_char_size.
+       * gtkutil.c (xg_frame_set_char_size, style_changed_cb): Fix size
+       calculation.
+       * xterm.c (x_set_window_size): Fix size calculation (Bug#16013).
+
+2013-12-03  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Minor integer overflow fixes.
+       * window.c (Fset_window_new_pixel, grow_mini_window):
+       * xdisp.c (Fwindow_text_pixel_size):
+       Avoid undefined behavior on signed integer overflow.
+       * xfns.c (x_set_mouse_color):
+       Check that drag shape fits in 'unsigned', since that's what X wants.
+
+2013-12-02  Eli Zaretskii  <eliz@gnu.org>
+
+       Improve reporting of fatal exception on MS-Windows.
+       * w32fns.c (my_exception_handler): New function.
+       (globals_of_w32fns): Set it up as the unhandled exception
+       handler.  Initialize exception code and address to zeros.
+       (emacs_abort): If the exception code and address are available,
+       print them at the beginning of the backtrace.  Fix the format of
+       printing addresses (was producing 0x0x12345678 on XP).
+       (Bug#15994)
+
+2013-12-02  Helmut Eller  <eller.helmut@gmail.com>
+
+       * eval.c (Fbacktrace__locals): New function.
+       (syms_of_eval): Defsubr it.
+
+2013-12-02  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * font.h (FONT_WIDTH, FONT_HEIGHT, FONT_BASE, FONT_DESCENT):
+       Define here to unify between...
+       * nsterm.h, w32term.h, xterm.h: ...port-specific headers.
+       * w32term.h (CHECK_W32_FRAME): Remove unused macro.
+
+2013-12-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * xterm.h (struct scroll_bar): Remove member `fringe_extended_p'.
+
+       * xterm.c (x_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-01  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix minor problems found by static checking.
+       * dispextern.h, xdisp.c (x_draw_bottom_divider): Now static.
+       * frame.c (set_frame_param) [!HAVE_NTGUI]: Remove.
+       * xdisp.c (Ftool_bar_height) [USE_GTK || HAVE_NS]: Now const function.
+
+2013-12-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * image.c (imagemagick_compute_animated_image): Don't crash if we
+       have an animation with different-sized images (bug#15313).
+
 2013-11-30  Martin Rudalics  <rudalics@gmx.at>
 
        Remove some unused items introduced during pixelwise change.
        ON_RIGHT_DIVIDER and ON_BOTTOM_DIVIDER.
        (struct glyph_matrix): Replace window_left_col and
        window_top_line by window_pixel_left and window_pixel_top.
-       (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): Minor
-       rewrite.
+       (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P):
+       Minor rewrite.
        (enum face_id): Add WINDOW_DIVIDER_FACE_ID.
        (draw_window_divider, move_it_to, x_draw_right_divider)
        (x_draw_bottom_divider, change_frame_size): Add or fix
        (init_display): Adjusts calls of change_frame_size.
        (change_frame_size, change_frame_size_1): Handle pixelwise
        changes.
-       * frame.c (Qright_divider_width, Qbottom_divider_width): New
-       Lisp objects.
+       * frame.c (Qright_divider_width, Qbottom_divider_width):
+       New Lisp objects.
        (set_menu_bar_lines_1, set_menu_bar_lines, make_frame)
        (make_terminal_frame, Fmake_terminal_frame, Fframe_parameters)
        (x_set_internal_border_width, x_set_vertical_scroll_bars)
        (Fframe_text_width, Fframe_text_height, Fscroll_bar_width)
        (Ffringe_width, Fborder_width, Fright_divider_width)
        (Fbottom_divider_width): New functions, defsubr them.
-       (Fset_frame_height, Fset_frame_width, Fset_frame_size): New
-       argument pixelwise.
+       (Fset_frame_height, Fset_frame_width, Fset_frame_size):
+       New argument pixelwise.
        (struct frame_parm_table): New members Qright_divider_width and
        Qbottom_divider_width.
        (x_set_frame_parameters): Handle parameters for pixelwise sizes.
        (x_report_frame_params): Handle Qright_divider_width and
        Qbottom_divider_width.
-       (x_set_right_divider_width, x_set_bottom_divider_width): New
-       functions.
+       (x_set_right_divider_width, x_set_bottom_divider_width):
+       New functions.
        (frame_resize_pixelwise): New option.
        * frame.h (struct frame): Add tool_bar_height, menu_bar_height,
        new_pixelwise, right_divider_width and bottom_divider_width;
        FRAME_TEXT_WIDTH respectively.
        (FRAME_MENU_BAR_HEIGHT, FRAME_TOOL_BAR_HEIGHT)
        (FRAME_RIGHT_DIVIDER_WIDTH, FRAME_BOTTOM_DIVIDER_WIDTH)
-       (FRAME_TEXT_TO_PIXEL_WIDTH, FRAME_PIXEL_TO_TEXT_WIDTH): New
-       macros.
+       (FRAME_TEXT_TO_PIXEL_WIDTH, FRAME_PIXEL_TO_TEXT_WIDTH):
+       New macros.
        (FRAME_TOP_MARGIN_HEIGHT, FRAME_LEFT_SCROLL_BAR_AREA_WIDTH)
        (FRAME_RIGHT_SCROLL_BAR_AREA_WIDTH, FRAME_SCROLL_BAR_AREA_WIDTH)
        (SET_FRAME_COLS, SET_FRAME_WIDTH, SET_FRAME_HEIGHT)
        * fringe.c (draw_fringe_bitmap_1): Handle right divder.
        * gtkutil.c (xg_frame_resized, xg_frame_set_char_size)
        (x_wm_set_size_hint): Handle frame pixel sizes.
-       * indent.c (compute_motion, Fcompute_motion): Call
-       window_body_width instead of window_body_cols.
+       * indent.c (compute_motion, Fcompute_motion):
+       Call window_body_width instead of window_body_cols.
        * keyboard.c (Qright_divider, Qbottom_divider): New symbols.
        (make_lispy_position): Handle right and bottom dividers.
        (Fsuspend_emacs): Pixelize call of change_frame_size.
        * lisp.h: Extern set_frame_param.
        * nsfns.m (x_set_tool_bar_lines): Pixelize call of
        x_set_window_size.
-       (Fx_create_frame): Add entry for vertical_drag_cursor.  Pixelize
-       call of change_frame_size.
+       (Fx_create_frame): Add entry for vertical_drag_cursor.
+       Pixelize call of change_frame_size.
        * nsterm.h (struct ns_output): Add vertical_drag_cursor.
        * nsterm.m (ns_update_window_end): Optionally draw right
        divider.
-       (x_set_window_size): Add argument pixelwise.  Call
-       check_frame_size and change_frame_size with pixelwise zero.
+       (x_set_window_size): Add argument pixelwise.
+       Call check_frame_size and change_frame_size with pixelwise zero.
        (ns_draw_window_divider): New function.
        (ns_redisplay_interface): Add ns_draw_window_divider.
        (updateFrameSize:): Call change_frame_size with pixelwise zero.
        * w32fns.c (x_set_mouse_color): Handle vertical drag cursor.
        (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
        (w32_createwindow): Use scroll bar area width.
-       (w32_wnd_proc): Handle bottom divider width.  For
-       WM_WINDOWPOSCHANGING return zero if we resize pixelwise.
-       (Fx_create_frame): Default divider width parameters.  Caclulate
-       sizes pixelwise.  Add vertical drag cursor support.
-       (x_create_tip_frame): Default divider widths to zero.  Pixelize
-       call to change_frame_size.
+       (w32_wnd_proc): Handle bottom divider width.
+       For WM_WINDOWPOSCHANGING return zero if we resize pixelwise.
+       (Fx_create_frame): Default divider width parameters.
+       Caclulate sizes pixelwise.  Add vertical drag cursor support.
+       (x_create_tip_frame): Default divider widths to zero.
+       Pixelize call to change_frame_size.
        (Fx_show_tip): Add handling of divider widths.  Pixelize window
        position and sizes.
        (Fw32_frame_rect): New function.
        (x_update_window_end): Handle right divider.
        (w32_draw_fringe_bitmap, x_scroll_run)
        (w32_set_vertical_scroll_bar): Pixelize scrollbar widths.
-       (w32_read_socket): Handle SIZE_MAXIMIZED separately.  Calculate
-       new frame sizes pixelwise.
+       (w32_read_socket): Handle SIZE_MAXIMIZED separately.
+       Calculate new frame sizes pixelwise.
        (x_new_font): Pixelize call to x_set_window_size.
        (x_check_fullscreen): Pixelize call to change_frame_size.
        (x_set_window_size_1, x_set_window_size): New argument
        (Fset_window_new_pixel, window_resize_apply_total)
        (Fwindow_resize_apply_total): New functions.
        (window_body_height, window_body_width): Rename from
-       window_body_lines.  New argument PIXELWISE.  Calculate
-       pixelwise.
+       window_body_lines.  New argument PIXELWISE.
+       Calculate pixelwise.
        (Fwindow_body_height, Fwindow_body_width): New argument
        PIXELWISE.
        (coordinates_in_window, window_relative_x_coord): Use window's
        pixel width instead of total width.
        (replace_window, recombine_windows): Initialize pixel values.
        (resize_root_window, resize_frame_windows, grow_mini_window)
-       (shrink_mini_window): New argument PIXELWISE.  Calculate
-       pixelwise.
+       (shrink_mini_window): New argument PIXELWISE.
+       Calculate pixelwise.
        (Fdelete_other_windows_internal, adjust_window_margins)
        (window_resize_check, window_resize_apply)
        (Fdelete_window_internal, Fresize_mini_window_internal)
        slots in save_window_data and saved_window.
        (Fset_window_scroll_bars): Fix doc-string.
        (window_resize_pixelwise): New variable.
-       (coordinates_in_window, Fcoordinates_in_window_p): Handle
-       dividers.
+       (coordinates_in_window, Fcoordinates_in_window_p):
+       Handle dividers.
        (make_parent_window): Adjust sequence_number.
-       (Fwindow_right_divider_width, Fwindow_bottom_divider_width): New
-       functions.
+       (Fwindow_right_divider_width, Fwindow_bottom_divider_width):
+       New functions.
        * window.h (struct window): New members new_pixel, pixel_left,
        pixel_top, pixel_width, pixel_height.  Restore sequence_number.
        (wset_new_pixel): New function.
        encountered.
        (Fwindow_text_pixel_size): New function.
        (resize_mini_window, update_tool_bar): Calculate pixelwise.
-       (tool_bar_lines_needed): Rename to tool_bar_height.  Calculate
-       pixelwise.
-       (Ftool_bar_lines_needed): Rename to Ftool_bar_height.  Calculate
-       pixelwise.
+       (tool_bar_lines_needed): Rename to tool_bar_height.
+       Calculate pixelwise.
+       (Ftool_bar_lines_needed): Rename to Ftool_bar_height.
+       Calculate pixelwise.
        (redisplay_tool_bar): Calculate pixelwise.
        (redisplay_window): Calculate pixelwise.  Handle dividers.
        (draw_glyphs, x_clear_end_of_line, note_mouse_highlight)
        (x_set_menu_bar_lines, x_set_tool_bar_lines): Calculate pixelwise.
        (x_set_scroll_bar_default_width): Default actual width to 16.
        (Fx_create_frame): Set sizes pixelwise.
-       (x_create_tip_frame): Default divider widths to zero.  Pixelize
-       call of change_frame_size.
+       (x_create_tip_frame): Default divider widths to zero.
+       Pixelize call of change_frame_size.
        (Fx_show_tip): Handle divider widths.  Initial pixel position
        and sizes.
        (frame_parm_handler x_frame_parm_handlers): Add divider widths.