+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>