]> code.delx.au - gnu-emacs/blobdiff - src/ChangeLog
Merge from emacs-24; up to 117689
[gnu-emacs] / src / ChangeLog
index 07e4a148ba23cd62b9dc57168232ccc89e2db376..82a9b24876c572a19cf9a97e6684fef2099b7f13 100644 (file)
@@ -1,3 +1,684 @@
+2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (run): Only use non-system event loop if OSX version is
+       exactly 10.9 (Bug#18993).
+       (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
+       needed (Bug#18757).
+
+2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       * callproc.c (encode_current_directory): Support handling of file
+       names prepended by "/:".  (Bug#18891)
+
+2014-11-08  Alan Mackenzie  <acm@muc.de>
+
+       * syntax.c (back_comment): Fix off-by-one error (bug#18022).
+
+2014-11-08  Dima Kogan  <dima@secretsauce.net>
+
+       * xgselect.c (xg_select): Use g_main_context_acquire (bug#18861).
+
+2014-11-08  Michael Albinus  <michael.albinus@gmx.de>
+
+       * dired.c (Ffile_attributes): Return Qnil, if Fexpand_file_name
+       raises an error.  (Bug#18891)
+
+2014-11-08  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (adjust_frame_size): Call x_set_window_size only if
+       f->can_x_set_window_size is set.
+       (make_frame): Initialize f->can_x_set_window_size and
+       f->can_run_window_configuration_change_hook.
+       (Fcan_run_window_configuration_change_hook): New function.
+       * frame.h (frame): Split `official' into `can_x_set_window_size'
+       and `can_run_window_configuration_change_hook'.
+       * nsfns.m (Fx_create_frame): Set f->can_x_set_window_size.
+       * w32fns.c (Fx_create_frame, x_create_tip_frame): Set
+       f->can_x_set_window_size.
+       * window.c (run_window_configuration_change_hook): Return
+       immediately if either f->can_x_set_window_size or
+       f->can_run_window_configuration_change_hook are false.
+       (Fset_window_configuration): Instead of f->official set
+       f->can_x_set_window_size.
+       * xfns.c (Fx_create_frame, x_create_tip_frame): Set
+       f->can_x_set_window_size.
+
+2014-11-08  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.m (EmacsScroller.dealloc): Reinstate, removed at merge
+       cleanup from 2014-11-01 (Bug#18972).
+
+2014-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * keyboard.c: Call gui-set-selection instead of x-set-selection.
+       * xdisp.c (window-scroll-functions): Improve docstring.
+
+2014-11-07  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Uniquify the 'size' symbol.
+       * frame.c (Qsize):
+       * w32notify.c (Qsize): Remove.
+       * lisp.h (Qsize): New decl.
+       * lread.c (Qsize): Now extern.
+       * w32notify.c (syms_of_w32notify): No need to defsym.
+
+2014-11-07  Martin Rudalics  <rudalics@gmx.at>
+
+       * dispnew.c (change_frame_size_1): Fix call of
+       adjust_frame_size.
+       * frame.c (Qsize, Qframe_position, Qframe_outer_size)
+       (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
+       (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
+       (Qtool_bar_size): New constants.
+       (frame_inhibit_resize, adjust_frame_size): New argument to
+       handle case where frame_inhibit_implied_resize is a list.
+       (Fmake_terminal_frame, Fset_frame_height, Fset_frame_width)
+       (Fset_frame_size, x_set_left_fringe, x_set_right_fringe)
+       (x_set_right_divider_width, x_set_bottom_divider_width)
+       (x_set_vertical_scroll_bars, x_set_horizontal_scroll_bars)
+       (x_set_scroll_bar_width, x_set_scroll_bar_height):
+       Update callers.
+       (frame-inhibit-implied-resize): Rewrite doc-string.
+       * frame.h (frame_inhibit_resize, adjust_frame_size):
+       Fix external declarations.
+       (Qframe_position, Qframe_outer_size)
+       (Qframe_inner_size, Qexternal_border_size, Qtitle_height)
+       (Qmenu_bar_external, Qmenu_bar_size, Qtool_bar_external)
+       (Qtool_bar_size): Extern them.
+       * gtkutil.c (FRAME_TOTAL_PIXEL_HEIGHT, FRAME_TOTAL_PIXEL_WIDTH)
+       (xg_height_or_width_changed): Remove.
+       (xg_frame_set_char_size): Adjust adjust_frame_size calls.
+       (menubar_map_cb, xg_update_frame_menubar, free_frame_menubar)
+       (tb_size_cb, update_frame_tool_bar, free_frame_tool_bar)
+       (xg_change_toolbar_position): Call adjust_frame_size directly.
+       * nsfns.m (x_set_internal_border_width, Fx_create_frame):
+       Fix calls of adjust_frame_size.
+       * w32fns.c (x_set_internal_border_width, x_set_menu_bar_lines)
+       (Fx_create_frame, x_create_tip_frame): Adjust adjust_frame_size calls.
+       (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
+       frame can get resized when tool-bar-lines parameter changes from
+       or to zero.
+       (Fw32_frame_menu_bar_size): Return fourth value.
+       (Fw32_frame_rect): Block input around system calls
+       (Fx_frame_geometry): New function.
+       * w32menu.c (set_frame_menubar): Adjust adjust_frame_size call.
+       * w32term.c (x_new_font): Adjust adjust_frame_size call.
+       * widget.c (EmacsFrameSetCharSize): Adjust frame_inhibit_resize call.
+       * window.c (Fset_window_configuration): Adjust adjust_frame_size call.
+       * xfns.c (x_set_menu_bar_lines, x_set_internal_border_width)
+       (Fx_create_frame): Adjust adjust_frame_size calls.
+       (x_set_tool_bar_lines, x_change_tool_bar_height): Make sure that
+       frame can get resized when tool-bar-lines parameter changes from
+       or to zero.
+       (Fx_frame_geometry): New function.
+       * xmenu.c (update_frame_menubar): On Lucid call
+       adjust_frame_size with one pixel less height to avoid that
+       repeatedly adding/removing the menu bar grows the frame.
+       (free_frame_menubar): On Motif arrange to optionally preserve
+       the old frame height when removing the menu bar.
+       * xterm.c (x_new_font): Adjust adjust_frame_size call.
+
+2014-11-03  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (Fdump_glyph_matrix, Fdump_frame_glyph_matrix): Doc fix.
+       (Fdump_frame_glyph_matrix): Don't segfault if invoked on a GUI
+       frame; instead, print an error message.
+
+2014-11-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsfns.m (ns_set_doc_edited): Check for FRAME_NS (Bug#18925).
+
+2014-11-02  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsimage.m (allocInitFromFile:): Initialize bmRep.
+       (dealloc): Release bmRep.
+
+       * nsterm.h (EmacsImage): Remove imageListNext, refCount, reference,
+       imageListSetNext, imageListNext.
+
+       * nsimage.m (ImageList, imageListNext, imageListSetNext:)
+       (reference): Remove.
+       (allocInitFromFile:): Remove searching ImageList and calling
+       reference (Bug#18918).
+       (dealloc): Remove handling if ImageList.
+
+2014-11-02  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * process.c (catch_child_signal): Fix incorrect assertion.
+
+2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * macfont.m (macfont_draw):
+       * nsterm.m (ns_mouse_position, judge): Clean up merge conflict.
+
+       * macfont.m (macfont_glyph_extents): Turn off synthetic bold
+       if force_integral_p (i.e. no antialias).
+       (macfont_draw): Check ns_antialias_text, also turn off synthetic
+       bold if no antialias (Bug#18876).
+
+       * emacs.c (main): Don't chdir to $HOME on Cocoa if --chdir
+       was given (Bug#18846).
+
+       * nsterm.h (ns_set_doc_edited): Declare taking no args.
+
+       * nsfns.m (ns_set_doc_edited): Do all logic (check frames) here
+       instead of in xdisp.c, function now takes void. (Bug#18884).
+
+       * xdisp.c (prepare_menu_bars): Remove HAVE_NS code.
+       (redisplay_internal): Call ns_set_doc_edited if HAVE_NS (Bug#18884).
+
+       * nsterm.h (EmacsScroller): Replace Lisp_Object win with
+       struct window* (Bug#18889).
+       Remove getMouseMotionPart.
+       (ns_output): Make icon_top/left int.
+
+       * nsfns.m (x_icon): icon_top/left is int.
+
+       * nsterm.m (ns_mouse_position): Remove unused code.
+       (initFrame:window:, dealloc): Use window instead of win.
+       (getMouseMotionPart:window:x:y:): Remove, unused.
+       (sendScrollEventAtLoc:fromEvent:): Make Lisp_Object win from window.
+
+2014-11-01  Eli Zaretskii  <eliz@gnu.org>
+
+       * keyboard.c (readable_events): When FLAGS include
+       READABLE_EVENTS_FILTER_EVENTS, ignore BUFFER_SWITCH_EVENT events.
+       This avoids returning non-nil from input-pending-p when only such
+       events are in the queue.  (Bug#18856)
+
+2014-11-01  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsselect.m (QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME)
+       (NXPrimaryPboard, NXSecondaryPboard): Declare static.
+       (Qforeign_selection): Remove.
+       (ns_get_local_selection): Identation fix.
+       (syms_of_nsselect): Remove Qforeign_selection, ns-lost-selection-hooks
+
+       * nsselect.m (ns_get_local_selection): Remove calling of
+       functions in Vselection_converter_alist (Bug#18911).
+       (syms_of_nsselect): Remove Vselection_converter_alist.
+
+(2014-10-31  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * font.c (copy_font_spec): Redesign to avoid Fcopy_alist
+       and unnecessary initialization.  Adjust comments.
+
+2014-10-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_cache_reset_to): Invalidate bidi_cache_last_idx by
+       setting it to -1.
+       (bidi_find_bracket_pairs): Pass to bidi_cache_reset_to a relative
+       index, not an absolute one, as that's what the function expects.
+
+2014-10-30  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xfaces.c (Finternal_set_lisp_face_attribute): Don't try to realize
+       font on an initial frame when running as a daemon (Bug#18869).
+
+       * fontset.c (toplevel): Adjust comment to match 2014-06-19 change.
+
+2014-10-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * fileio.c (Fexpand_file_name): Use make_unibyte_string, not
+       build_string, when importing a home directory.  (Bug#18873)
+
+       * dispnew.c (buffer_posn_from_coords):
+       Use WINDOW_WANTS_HEADER_LINE_P, not WINDOW_WANTS_MODELINE_P, to
+       account for the header-line height.  (Bug#18839)
+
+2014-10-28  Ulf Jasper  <ulf.jasper@web.de>
+
+       * xml.c (parse_region): Do not forget the first document child.
+
+2014-10-25  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsselect.m: pasteboard_changecount is new.
+       (ns_store_pb_change_count, ns_get_pb_change_count)
+       (ns_get_our_change_count_for): New functions.
+       (ns_string_to_pasteboard_internal): Correct comment.
+       type => gtype in eassert, Call ns_store_pb_change_count.
+       (Fns_own_selection_internal): Remove data, use value (Bug#18799).
+       (Fns_disown_selection_internal, Fns_selection_owner_p):
+       Replace Vselection_alist check, with change count check.
+       (Fns_get_selection): Initialize val to Qnil.  Only get local
+       selection if change counts match (Bug#18799).
+       (nxatoms_of_nsselect): Initialize pasteboard_changecount.
+
+2014-10-25  Noam Postavsky  <npostavs@users.sourceforget.net>
+
+       * src/w32proc.c (create_child): If calling a quoted batch file,
+       pass NULL for exe.  (Bug#18745)
+
+2014-10-24  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_resolve_explicit, bidi_find_bracket_pairs)
+       (bidi_resolve_brackets): Use end of string position rather than ZV
+       when iterating over a string.  (Bug#18815)
+
+2014-10-24  Martin Rudalics  <rudalics@gmx.at>
+
+       * keyboard.c (make_lispy_position): Return coordinates also when
+       on scroll bars, fringes, margins or not in a window.
+       * xdisp.c (show_mouse_face): Don't change cursor face during
+       mouse tracking.
+
+2014-10-23  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size)
+       (frame_resize_pixelwise, frame_inhibit_implied_resize):
+       Fix doc-strings (Bug#18789).
+
+2014-10-23  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * Makefile.in (ACLOCAL_INPUTS): Omit unnecessary use of 'wildcard'.
+
+2014-10-22  Eli Zaretskii  <eliz@gnu.org>
+
+       Optimize redisplay of simple bracketed text.
+       * bidi.c (bidi_cache_reset_to): New function.
+       (bidi_cache_reset): Call it.
+       (bidi_init_it, bidi_line_init): Initialize the bracket_pairing_pos
+       member to -1.
+       (bidi_resolve_explicit): Reset bracket_pairing_pos and
+       bracket_enclosed_type only if bracket_pairing_pos's value is not
+       ZV.
+       (MAX_BPA_STACK): Make sure the value is signed.
+       (PUSH_BPA_STACK): If the BPA stack overflows, don't bail out, but
+       stop pushing values onto the stack.
+       (bidi_find_bracket_pairs): If the bracketed text is only on the
+       base embedding level, remove all the states cached by this
+       function from the cache, and return zero, so that the brackets in
+       this segment of text are processed as normal neutrals.
+       (bidi_resolve_brackets): Detect the brackets that are to be
+       processed as neutrals, and don't call bidi_find_bracket_pairs on
+       them.  (Bug#18778)
+
+2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * w32select.c (Fw32_selection_exists_p): Rename from
+       Fx_selection_exists_p.
+       (syms_of_w32select): Adjust accordingly.
+
+       * w16select.c (Fw16_selection_exists_p): Rename from
+       Fx_selection_exists_p.
+       (syms_of_win16select): Adjust accordingly.
+
+       * nsselect.m (ns_get_local_selection): Signal error rather than `quit'.
+       (Fns_own_selection_internal): Tighten scoping.
+       (Fns_selection_exists_p): Rename from Fx_selection_exists_p.
+       (Fns_get_selection): Rename from Fx_get_selection_internal.
+       (Fns_get_selection_internal, Fns_store_selection_internal):
+       Remove functions.
+       (syms_of_nsselect): Adjust accordingly.
+
+2014-10-21  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32fns.c (Fw32_frame_menu_bar_size): New function.
+       * w32term.c (x_set_window_size): Account for wrapped menu bar
+       lines when setting up frame height (Bug#15174 and Bug#18720).
+       (w32_add_wrapped_menu_bar_lines): New variable.
+
+2014-10-21  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * xdisp.c (redisplay_window): Re-run pre-redisplay-function after we
+       move point.
+
+2014-10-20  Glenn Morris  <rgm@gnu.org>
+
+       * Merge in all changes up to 24.4 release.
+
+2014-10-19  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * gtkutil.c (xg_update_menubar, xg_update_menu_item): Only call
+       g_object_notify for label if Gtk+ >= 2.16 (Bug#16522).
+
+       * xterm.h (x_output): Remove net_wm_state_hidden_seen.
+
+       * xterm.c (handle_one_xevent): Check return value from
+       x_handle_net_wm_state, remove net_wm_state_hidden_seen (Bug#18722).
+       (get_current_wm_state): Remove net_wm_state_hidden_seen setting.
+
+       * gtkutil.c (create_dialog): Don't use gtk_dialog_get_action_area on
+       Gt+ >= 3.12, or gtk_misc_set_alignment on Gtk+ >= 3.14 (Bug#18674).
+       (make_widget_for_menu_item): Don't use gtk_misc_set_alignment on
+       Gtk+ >= 3.14 (Bug#18674).
+       (update_frame_tool_bar): Don't use  gtk_misc_set_padding on
+       Gtk+ >= 3.14 (Bug#18674).
+
+2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * gtkutil.c: Remove no-longer-used code.
+       (xg_update_menubar): Remove unused local and unnecessary call to
+       gtk_menu_item_get_submenu.
+       (XG_TOOL_BAR_PROXY_BUTTON, xg_tool_bar_proxy_callback)
+       (xg_get_tool_bar_widgets, xg_tool_bar_proxy_help_callback)
+       (TOOLBAR_TOP_WIDGET): Remove; no longer used.
+
+2014-10-18  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xfns.c (syms_of_xfns): Remove x-gtk-whole-detached-tool-bar.
+
+       * xterm.h (handlebox_widget): Remove.
+
+       * xmenu.c (set_frame_menubar): Remove GTK block that calls
+       xg_have_tear_offs.
+
+       * gtkutil.h (xg_have_tear_offs): Remove declaration.
+
+       * gtkutil.c (XG_TEXT_CANCEL, XG_TEXT_OPEN, XG_TEXT_OK): New defines
+       to handle Gtk versions.
+       (xg_get_file_with_chooser): Use them.
+       (xg_have_tear_offs, tearoff_remove, tearoff_activate):
+       Remove (create_menus): Remove teroff argument and code.
+       Remove call to gtk_menu_set_title.
+       (xg_update_menubar, xg_update_submenu): Remove tearoff code.
+       Adjust args to create_menus.
+       (xg_tool_bar_menu_proxy, xg_tool_bar_detach_callback)
+       (xg_tool_bar_attach_callback, TOOLBAR_TOP_WIDGET): Remove.
+       (xg_pack_tool_bar): Replace TOOLBAR_TOP_WIDGET, remove detach code.
+       (xg_make_tool_item): Remove detach code.
+       (xg_update_tool_bar_sizes): Replace TOOLBAR_TOP_WIDGET.
+       (find_icon_from_name): New function.
+       (update_frame_tool_bar): Remove GtkStockItem code, move to
+       find_icon_from_name.  Let stock be a list of icon names to try.
+       Only use gtk_image_new_from_stock on Gtk+ < 3.10.
+       Replace TOOLBAR_TOP_WIDGET.
+       (free_frame_tool_bar, xg_change_toolbar_position ):
+       Replace TOOLBAR_TOP_WIDGET.
+       (xg_initialize): Remove tearoff code.
+
+2014-10-18  Eli Zaretskii  <eliz@gnu.org>
+
+       * xterm.c (x_draw_bar_cursor, x_draw_hollow_cursor): Subtract 1
+       pixel from the window's cursor glyph width, since X renders hollow
+       blocks 1 pixel wider than the 'width' parameter.
+
+       * xdisp.c (get_phys_cursor_geometry): Don't subtract 1 pixel from
+       glyph->pixel_width; this is now done in xterm.c.
+
+       Fix reordering of bracket characters in isolates.
+       * bidi.c (bidi_cache_find): Rename the argument NEUTRALS_OK to
+       RESOLVED_ONLY; when non-zero, return from the cache only fully
+       resolved states.  All callers changed.
+       (CANONICAL_EQU): New macro.
+       (PUSH_BPA_STACK): Use it to push onto the BPA stack the canonical
+       equivalent of the paired closing bracket character.
+       (bidi_find_bracket_pairs): Set the bracket_pairing_pos member to
+       the default non-negative value, to be checked later in
+       bidi_resolve_brackets.  Use CANONICAL_EQU to test candidate
+       characters against those pushed onto the BPA stack.
+       (bidi_record_type_for_neutral): New function.
+       (bidi_resolve_brackets): Record next_for_neutral and
+       prev_for_neutral when embedding level gets pushed.  Force
+       resolution of bracket pairs when entering a level run that was not
+       yet BPA-resolved.
+       (bidi_resolve_neutral): Add assertions before calling
+       bidi_resolve_neutral_1.
+       (bidi_level_of_next_char): Remove the code that attempted to
+       resolve unresolved neutrals; that is now done by
+       bidi_resolve_neutral.
+
+       * w32select.c (owner_callback): Mark with ALIGN_STACK attribute.
+
+2014-10-17  Eli Zaretskii  <eliz@gnu.org>
+
+       * xterm.c (x_draw_hollow_cursor): Fix display of hollow cursor on
+       1-pixel R2L characters.
+       Reported by Dmitry Antipov <dmantipov@yandex.ru>, see
+       http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00518.html.
+
+2014-10-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * bidi.c (bidi_find_bracket_pairs): Avoid a loop that does nothing
+       useful.
+
+2014-10-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * bidi.c (bidi_find_bracket_pairs): Initialize local var.
+       This pacifies GCC 4.9.1 with --enable-gcc-warnings.
+       It's not clear to me whether the initialization is needed,
+       but it can't hurt so I played it safe.
+
+2014-10-15  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * lisp.mk (lisp): Add emacs-lisp/eldoc.elc.
+
+2014-10-15  Eli Zaretskii  <eliz@gnu.org>
+
+       Update the bidirectional reordering engine for Unicode 6.3 and 7.0.
+       * bidi.c (bidi_ignore_explicit_marks_for_paragraph_level):
+       Remove variable.
+       (bidi_get_type): Return the isolate initiators and terminator types.
+       (bidi_isolate_fmt_char, bidi_paired_bracket_type)
+       (bidi_fetch_char_skip_isolates, find_first_strong_char)
+       (bidi_find_bracket_pairs, bidi_resolve_brackets): New functions.
+       (bidi_set_sos_type): Rename from bidi_set_sor_type and updated
+       for the new features.
+       (bidi_push_embedding_level, bidi_pop_embedding_level): Update to
+       push and pop correctly for isolates.
+       (bidi_remember_char): Modify to accept an additional argument
+       and record the bidi type according to its value.
+       (bidi_cache_iterator_state): Accept an additional argument to only
+       update an existing state.  Handle the new members of struct bidi_it.
+       (bidi_cache_find): Arguments changed: no longer accepts a level,
+       instead accepts a flag telling it whether it is okay to return
+       unresolved neutrals.
+       (bidi_initialize): Initiate and staticpro the bracket-type uniprop
+       table.  Initialize new isolate-related members.
+       (bidi_paragraph_init): Some code factored out into
+       find_first_strong_char.
+       (bidi_resolve_explicit_1): Function deleted, its code incorporated
+       into bidi_resolve_explicit.
+       (bidi_resolve_explicit): Support the isolate initiators and
+       terminator.  Fix handling of embeddings and overrides according to
+       new UBA requirements.  Record information about previously seen
+       characters here (moved from bidi_level_of_next_char).
+       (bidi_resolve_weak): Adapt to changes in struct members.
+       (FLAG_EMBEDDING_INSIDE, FLAG_OPPOSITE_INSIDE, MAX_BPA_STACK)
+       (STORE_BRACKET_CHARPOS, PUSH_BPA_STACK): New macros.
+       (bidi_resolve_neutral): Call bidi_resolve_brackets to handle the
+       paired bracket resolution.  Handle isolate initiators and
+       terminator.
+       (bidi_type_of_next_char): Remove unneeded code for BN limit.
+       (bidi_level_of_next_char): Move the code that records information
+       about previous characters to bidi_resolve_explicit.  Fix logic of
+       resolving neutrals and make sure their cache entries are updated.
+       Remove now unneeded special handling of PDF level.
+
+       * dispextern.h (struct glyph): Enlarge the width of resolved_level.
+       (BIDI_MAXDEPTH): New macro, renamed from BIDI_MAXLEVEL and
+       enlarged per Unicode 6.3.
+       (enum bidi_bracket_type_t): New data type.
+       (struct bidi_saved_info): Leave only 2 type members out of 4.
+       Remove bytepos.
+       (struct bidi_stack): Add members necessary to support isolating
+       sequences.
+       (struct bidi_it): Add new members necessary to support isolating
+       sequences and bracket pair resolution.
+
+       * xdisp.c (Fbidi_resolved_levels): New function.
+       (syms_of_xdisp): Defsubr it.
+       (append_glyph, append_composite_glyph, produce_image_glyph)
+       (append_stretch_glyph, append_glyphless_glyph): Convert aborts to
+       assertions.
+       (syms_of_xdisp) <inhibit-bidi-mirroring>: New variable.
+
+       * term.c (append_glyph, append_composite_glyph)
+       (append_glyphless_glyph): Convert aborts to assertions.
+
+       * .gdbinit (pgx): Display the character codepoint, resolved level,
+       and bidi type also for glyphless glyphs.
+
+2014-10-15  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Avoid unwanted point motion in Fline_beginning_position.
+       * lisp.h (scan_newline_from_point): Add prototype.
+       * search.c (scan_newline_from_point): New function, refactored from...
+       * cmds.c (Fforward_line): ...adjusted user.
+       * editfns.c (Fline_beginning_position): Use scan_newline_from_point
+       and simplify the former since the latter doesn't move point.
+
+2014-10-14  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Cleanup terminal handling code.
+       * dispextern.h (get_named_tty): Remove prototype but...
+       * termhooks.h (get_named_terminal): ...resurrect it under
+       more meaningful name.
+       (get_terminal): Likewise, but with...
+       (decode_live_terminal): ...this name.
+       (decode_tty_terminal): Add prototype.
+       * term.c (get_tty_terminal): Remove.
+       (get_named_tty): Remove.
+       (Ftty_display_color_p, Ftty_display_color_cells, Ftty_type)
+       (Fcontrolling_tty_p, Fsuspend_tty, Fresume_tty):
+       Use decode_tty_terminal.
+       (Ftty_no_underline, Ftty_top_frame): Use decode_live_terminal.
+       * terminal.c (get_terminal): Refactor to...
+       (decode_terminal, decode_live_terminal): ...new functions.
+       (decode_tty_terminal): Replacement for get_tty_terminal.
+       (get_named_terminal): Likewise for get_named_tty.
+       * coding.c (Fset_terminal_coding_system_internal)
+       (Fterminal_coding_system, Fset_keyboard_coding_system_internal):
+       (Fkeyboard_coding_system):
+       * composite.c (Fcomposition_get_gstring):
+       * dispnew.c (Fsend_string_to_terminal):
+       * frame.c (Fmake_terminal_frame):
+       * nsfns.m (check_ns_display_info):
+       * w32fns.c, xfns.c (check_x_display_info):
+       * xselect.c (frame_for_x_selection): Use decode_live_terminal.
+       * keyboard.c (handle_interrupt_signal, handle_interrupt)
+       (Fset_quit_char): Use get_named_terminal.
+       (Fset_output_flow_control, Fset_input_meta_mode):
+       Use decode_tty_terminal.
+
+2014-10-13  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32term.h (ALIGN_STACK): Use _WIN64, not _W64, to distinguish
+       between 32-bit and 64-bit MinGW builds.  (Bug#18699)
+
+2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix port to Debian GNU/kFreeBSD 7 (wheezy) (Bug#18666).
+       * process.c (accept4) [!HAVE_ACCEPT4]: New macro.
+
+2014-10-12  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * frame.c (Fmouse_pixel_position): Call Vmouse_position_function
+       (bug#18638).
+
+2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * editfns.c (dump_tz_string): No longer const.
+       It might be modified.
+
+       * nsmenu.m (clear): Assume OS X 10.6 or later.
+
+2014-10-12  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * unexmacosx.c: Remove include ppc/reloc.h.
+       (unrelocate, copy_dysymtab): Remove PPC code.
+       (rebase_reloc_address): Remove, only used for PPC:
+
+       * nsterm.m: Always include macfont.h on COCOA.
+       (ns_update_auto_hide_menu_bar, ns_draw_fringe_bitmap)
+       (ns_dumpglyphs_image, ns_check_menu_open)
+       (applicationDidFinishLaunching)
+       (antialiasThresholdDidChange:)
+       (keyDown:, toggleFullScreen:, setPosition:portion:whole:):
+       Remove checks for OSX <= 10.5/10.6.
+       (changeFont:): Use macfont on COCOA, nsfont on GNUSTEP.
+       (syms_of_nsterm): Call syms_of_macfont on COCOA, syms_of_nsfont on
+       GNUSTEP.
+
+       * nsterm.h (MAC_OS_X_VERSION_10_4, MAC_OS_X_VERSION_10_5): Remove.
+       (NS_HAVE_NSINTEGER): Remove block.
+       Remove >= OSX 10.6 tests.
+
+       * nsmenu.m (NSMenuDidBeginTrackingNotification): Remove.
+       (x_activate_menubar, trackingNotification:): Remove check for
+       OSX >= 10.5.
+       (menuNeedsUpdate:): Remove check for OSX < 10.5.
+
+       * nsimage.m (allocInitFromFile:): Remove code for OSX < 10.6.
+
+       * nsfns.m: Always include macfont.h on COCOA.
+       (ns_filename_from_panel, ns_directory_from_panel)
+       (Fx_create_frame, Fns_popup_font_panel, ns_run_file_dialog)
+       (Fns_read_file_name, Fns_list_services): Remove code for OSX < 10.6
+
+       * macfont.m: Remove >= 1050 check.
+       (macfont_create_family_with_symbol)
+       (macfont_get_glyph_for_character)
+       (mac_font_get_glyphs_for_variants)
+       (mac_ctfont_create_available_families, syms_of_macfont):
+       Remove code for OSX < 10.6.
+       (mac_font_family_group, mac_font_family_compare): Remove, only used
+       for OSX < 10.6.
+
+       * macfont.h (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_FORMAT_BITMAP)
+       (mac_font_copy_non_synthetic_table): Remove versions for OSX < 10.6
+
+       * Makefile.in: Replace nsfont.o macfont.o with ns_fontfile in
+       comment.
+
+2014-10-12  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix putenv race conditions with undefined behavior (Bug#8705).
+       Do all putenv calls before Emacs creates any threads.
+       Use a safer way to modify the TZ environment variable in the
+       presence of multiple threads.  For further thread-safety,
+       prefer localtime_r and gmtime_r to localtime and gmtime,
+       and prefer struct tm's tm_gmtoff (if available) to calling
+       both localtime_r and gmtime_r.
+       * dbusbind.c (Fdbus__init_bus): Move xputenv call from here ...
+       (init_dbusbind): ... to this new function.
+       * emacs.c (main) [HAVE_DBUS]: Call it before creating threads.
+       * xterm.c (x_term_init): Move xputenv call from here ...
+       (init_xterm): ... to this new function.
+       * emacs.c (main) [USE_GTK]: Call it before creating threads.
+       * editfns.c (HAVE_TM_GMTOFF): Default to false.
+       (dump_tz_string): New constant.
+       (init_editfns): Use it.  This centralizes the dump_tz stuff.
+       Call set_time_zone_rule here, so that its xputenv is done
+       before Emacs goes multithreaded.
+       (mktime_z) [!HAVE_TZALLOC]: New function, which is typically
+       thread-safe enough for Emacs.
+       (format_time_string, Fdecode_time, Fcurrent_time_string)
+       (Fcurrent_time_zone):
+       Prefer localtime_r and gmtime_r, which are more thread-safe, to
+       localtime and gmtime.  Remove now-unnecessary calls to block_input.
+       (tm_gmtoff): New static function.
+       (Fdecode_time, Fcurrent_time_zone): Use it.
+       (Fencode_time): Use mktime_z, for better thread-safety.
+       (set_time_zone_rule): Now static.  Rewrite to be mostly thread-safe,
+       i.e., not quite thread-safe but good enough for Emacs typical usage.
+       Do not reclaim storage that is in the environment; let it leak.
+       Always call tzset, since localtime_r does not.
+       * emacs.c (dump_tz, Fdump_emacs) [HAVE_TZSET]: Remove dump_tz stuff.
+       This is now done in init_editfns.
+       * systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]:
+       New macros and declarations, for platforms lacking tzalloc & friends.
+
+2014-10-09  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * lisp.h (USE_STACK_STRING): Now true only if USE_STACK CONS.
+       On x86 platforms this works around GCC bug 63495
+       <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63495>,
+       and more generally should fix a portability problem in Emacs.
+       Problem reported by Stefan Monnier in:
+       http://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00261.html
+
+2014-10-08  Leo Liu  <sdl.web@gmail.com>
+
+       Enhance terpri to allow conditionally output a newline.  (Bug#18652)
+       * keymap.c (describe_vector_princ):
+       * keyboard.c (Fcommand_error_default_function): Adapt to change to
+       Fterpri.
+
+       * print.c (printchar_stdout_last): Declare.
+       (printchar): Record the last char written to stdout.
+       (Fterpri): Add optional argument ENSURE.
+
 2014-10-08  Eli Zaretskii  <eliz@gnu.org>
 
        * w32inevt.c (maybe_generate_resize_event): Pass non-zero as the
        of the right one.
        (produce_special_glyphs): Fix bogus assignments.
 
-2014-09-22  Eli Zaretskii  <eliz@gnu.org>
-
-       * w32.c (fcntl): Support O_NONBLOCK fcntl on the write side of pipes.
-
 2014-09-22  Eli Zaretskii  <eliz@gnu.org>
 
        * fileio.c (Fexpand_file_name) [DOS_NT]: Make sure newdirlim is
 
        * Makefile.in (EMACS_HEAPSIZE): Remove, no longer used.  (Bug#18416)
 
-2014-09-04  Jan D  <jhd@f20.localdomain>
+2014-09-04  Jan D  <jan.h.d@swipnet.se>
 
        * xterm.c (x_term_init): Don't call x_session_initialize if running
        as a daemon (Bug#18375).
        (imagemagick_get_animation_cache): Fix a double-free error.
        (imagemagick_load_image): Remove the ping_wand code, which only
        apparently saved time on invalid animated images, and slowed down
-       everything else.  Optimise for the common case.
+       everything else.  Optimize for the common case.
 
 2013-08-16  Xue Fuqiao  <xfq.free@gmail.com>