+2015-01-05 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (move_it_to, try_cursor_movement): Don't use the window
+ end information if the window_end_valid flag is unset.
+ (try_window_id): If the call to display_line invalidated the
+ window end information, give up the try_window_id optimization.
+ (Bug#19511)
+
+2015-01-04 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (Fx_server_version, Fx_server_vendor): Doc fix.
+
+ * xfns.c (Fx_server_version, Fx_server_vendor): Doc fix.
+
+ * emacs.c (syms_of_emacs) <system-configuration>: Doc fix.
+ (Bug#19502)
+
+2015-01-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xfaces.c
+ * dispextern.h: Adjust to signature changes.
+ * font.c (font_at, font_range):
+ * fontset.c (Finternal_char_font):
+ * fringe.c (draw_fringe_bitmap_1):
+ * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
+ (get_next_display_element, highlight_trailing_whitespace)
+ (display_string, calc_line_height_property)
+ (note_mode_line_or_margin_highlight, note_mouse_highlight):
+ * xfaces.c (tty_suppress_bold_inverse_default_colors_p)
+ (menu_face_changed_default, recompute_basic_faces)
+ (Fbitmap_spec_p, parse_rgb_list, tty_lookup_color)
+ (tty_defined_color, defined_color, face_color_gray_p)
+ (face_color_supported_p, load_color2, load_face_colors)
+ (Fx_list_fonts, LFACEP, push_named_merge_point)
+ (resolve_face_name, lface_from_face_name_no_resolve)
+ (lface_from_face_name, get_lface_attributes_no_remap)
+ (get_lface_attributes, lface_fully_specified_p)
+ (set_lface_from_font, merge_face_vectors, merge_named_face)
+ (merge_face_ref, Finternal_make_lisp_face)
+ (Finternal_lisp_face_p, Finternal_copy_lisp_face)
+ (Finternal_set_lisp_face_attribute)
+ (update_face_from_frame_parameter, set_font_frame_param)
+ (face_boolean_x_resource_value)
+ (Finternal_set_lisp_face_attribute_from_resource)
+ (x_update_menu_appearance, Finternal_get_lisp_face_attribute)
+ (Finternal_merge_in_global_face, Fface_font, face_attr_equal_p)
+ (lface_equal_p, Finternal_lisp_face_equal_p)
+ (Finternal_lisp_face_empty_p, lface_same_font_attributes_p)
+ (Fcolor_distance, lookup_named_face, lookup_basic_face)
+ (lookup_derived_face, Fface_attributes_as_vector)
+ (x_supports_face_attributes_p, tty_supports_face_attributes_p)
+ (Fdisplay_supports_face_attributes_p, realize_basic_faces)
+ (realize_default_face, realize_named_face)
+ (realize_non_ascii_face, realize_x_face, map_tty_color)
+ (realize_tty_face, compute_char_face, face_at_buffer_position)
+ (face_for_overlay_string, face_at_string_position):
+ Use bool for boolean.
+ * xfaces.c (set_lface_from_font):
+ Return void, since callers never use the result.
+
+2015-01-26 Andreas Schwab <schwab@linux-m68k.org>
+
+ * image.c (lookup_pixel_color): Reorder conditions that are
+ written backwards.
+ (x_to_xcolors): Likewise.
+ (x_detect_edges): Likewise.
+ (png_load_body): Likewise.
+ (gif_close): Likewise.
+ (gif_load): Likewise.
+
+2015-01-25 Eli Zaretskii <eliz@gnu.org>
+
+ Use bool for boolean in w32term.c
+ * w32term.c (x_update_window_begin, x_update_window_end)
+ (x_update_end, x_after_update_window_line)
+ (x_set_glyph_string_gc, x_draw_glyph_string_background)
+ (x_draw_glyph_string_foreground)
+ (x_draw_composite_glyph_string_foreground)
+ (x_draw_glyphless_glyph_string_foreground)
+ (x_draw_image_glyph_string, x_draw_glyph_string)
+ (x_draw_stretch_glyph_string, note_mouse_movement)
+ (w32_mouse_position, x_scroll_bar_report_motion)
+ (x_horizontal_scroll_bar_report_motion, w32_read_socket)
+ (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
+ (w32_draw_window_cursor, x_new_font, x_set_offset)
+ (x_set_window_size, x_make_frame_invisible, x_iconify_frame): Use
+ bool where appropriate.
+
+ Use bool for boolean in w32fns.c
+ * w32fns.c (w32_defined_color, x_decode_color)
+ (Fxw_color_defined_p, Fxw_color_values, x_set_icon_type)
+ (x_set_menu_bar_lines, x_change_tool_bar_height)
+ (x_set_internal_border_width, x_explicitly_set_name)
+ (x_implicitly_set_name, Fx_create_frame, w32_window)
+ (x_create_tip_frame, Fx_show_tip): Use bool where appropriate.
+
+2015-01-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xfns.c
+ * xfaces.c (x_update_menu_appearance):
+ * xfns.c (x_real_positions, x_defined_color, x_decode_color)
+ (xg_set_icon, xg_set_icon_from_xpm_data, x_set_cursor_color)
+ (x_set_icon_type, x_set_icon_name, x_set_menu_bar_lines)
+ (x_change_tool_bar_height, x_set_internal_border_width)
+ (x_encode_text, x_set_name_internal, x_explicitly_set_name)
+ (x_implicitly_set_name, x_default_scroll_bar_color_parameter)
+ (hack_wm_protocols, xic_create_fontsetname, xic_free_xfontset)
+ (x_window, x_icon, Fx_wm_set_size_hint, Fx_create_frame)
+ (Fxw_color_defined_p, Fxw_color_values, x_create_tip_frame)
+ (Fx_show_tip, clean_up_file_dialog, Fx_file_dialog)
+ (clean_up_dialog, syms_of_xfns):
+ * xterm.h (xg_set_icon, xg_set_icon_from_xpm_data)
+ (xic_create_fontsetname):
+ Use bool for boolean.
+ * xfns.c: Include bitmaps/gray.xbm unconditionally.
+
+ Count MANY function args more reliably
+ * alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1):
+ * buffer.c (Fbuffer_list, Fkill_buffer):
+ * callint.c (read_file_name, Fcall_interactively):
+ * charset.c (Fset_charset_priority, syms_of_charset):
+ * chartab.c (uniprop_encode_value_numeric):
+ * coding.c (syms_of_coding):
+ * composite.c (syms_of_composite):
+ * data.c (wrong_range):
+ * dbusbind.c (syms_of_dbusbind):
+ * dired.c (file_attributes):
+ * editfns.c (Fdecode_time, update_buffer_properties, format2):
+ * eval.c (run_hook_with_args_2, apply1, call1, call2, call3)
+ (call4, call5, call6, call7):
+ * fileio.c (Finsert_file_contents, choose_write_coding_system)
+ (Fcar_less_than_car, build_annotations, auto_save_error):
+ * filelock.c (get_boot_time):
+ * fns.c (internal_equal, nconc2, Fyes_or_no_p, Fwidget_apply):
+ (maybe_resize_hash_table, secure_hash):
+ * font.c (font_style_to_value, font_open_by_name, Flist_fonts):
+ * fontset.c (fontset_add, Fset_fontset_font):
+ * ftfont.c (ftfont_lookup_cache):
+ * gtkutil.c (xg_get_font):
+ * insdel.c (signal_before_change, signal_after_change):
+ * keymap.c (append_key):
+ * lread.c (load_warn_old_style_backquotes, Fload, init_lread):
+ * minibuf.c (Fread_buffer):
+ * print.c (print_preprocess):
+ * process.c (Fformat_network_address, Fmake_network_process)
+ (server_accept_connection):
+ * sound.c (Fplay_sound_internal):
+ * term.c (Fsuspend_tty, Fresume_tty):
+ * window.c (window_list):
+ * xdisp.c (run_redisplay_end_trigger_hook, add_to_log)
+ (message_with_string):
+ * xfaces.c (Fx_list_fonts):
+ * xfont.c (syms_of_xfont):
+ * xselect.c (x_handle_selection_request)
+ (x_handle_selection_clear, x_clear_frame_selections)
+ (x_clipboard_manager_error_1):
+ Prefer CALLMANY and CALLN to counting args by hand.
+ * doc.c (reread_doc_file): Remove unused code.
+ * fns.c (concat2, concat3): Redo to avoid need for local-var vector.
+ (cmpfn_user_defined, hashfn_user_defined, Fmaphash):
+ Prefer call1 and call2 to Ffuncall.
+ * keyboard.c (safe_run_hook_funcall, safe_run_hooks):
+ Use struct literal rather than a local var, for simplicity.
+ * keymap.c (where_is_internal): Use NULL rather than a pointer
+ to unused args.
+ * lisp.h (CALLMANY, CALLN): New macros.
+ * sound.c (Fplay_sound_internal): Coalesce duplicate code.
+ Fixes: bug#19634
+
+ Use gnustep-config if available
+ * emacs.c [NS_IMPL_GNUSTEP]: Don't include <GNUstepBase/GSConfig.h>.
+ It doesn't appear to be needed, and the inclusion breaks on
+ Ubuntu 14.10 when 'configure' uses 'gnustep-config'.
+
+2015-01-22 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (init_iterator): Restore a comment lost in transition.
+
+2015-01-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xfont.c, xftfont.c, xgselect.c
+ * xfont.c (xfont_driver, xfont_chars_supported)
+ (xfont_text_extents):
+ * xftfont.c (xftfont_get_colors, xftfont_open)
+ (xftfont_prepare_face, xftfont_done_face)
+ (xftfont_cached_font_ok):
+ * xgselect.c (xg_select):
+ Use bool for boolean.
+
+ Don't downcase system diagnostics' first letters
+ * fileio.c (report_file_errno): Don't downcase, and simplify.
+ Fixes: bug#19642
+
+ Isolate NIL_IS_ZERO-assuming code better
+ Suggested by Stefan Monnier in:
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00588.html
+ * alloc.c (allocate_pseudovector):
+ Use memclear, not memsetnil, to remove a 'verify'.
+ * callint.c (Fcall_interactively):
+ * dispnew.c (realloc_glyph_pool):
+ * xdisp.c (init_iterator):
+ Use memclear, not memset, to remove a 'verify'.
+ * lisp.h (memclear): Rename from memsetnil, and take a byte
+ count rather than a word count. All callers changed.
+
+2015-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Undo port to hypothetical nonzero Qnil case
+ This mostly undoes the previous change in this area. See:
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00570.html
+ * alloc.c (allocate_pseudovector):
+ * callint.c (Fcall_interactively):
+ * dispnew.c (realloc_glyph_pool):
+ * fringe.c (init_fringe):
+ * lisp.h (memsetnil):
+ * xdisp.c (init_iterator):
+ Simplify by assuming that Qnil is zero, but verify the assumption.
+ * lisp.h (NIL_IS_ZERO): Revert back to this symbol, removing
+ NIL_IS_NONZERO. All uses changed.
+
+2015-01-20 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (EV_TRAILER2): Set Vinhibit_quit to Qt (Bug#19531).
+
+2015-01-20 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Prefer xlispstrdup to avoid dumb calls to strlen.
+ * nsfont.m (ns_get_family):
+ * nsterm.m (ns_term_init):
+ * w32fns.c (w32_window):
+ * xfns.c (x_window, Fx_select_font): Use xlispstrdup.
+
+2015-01-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Correct an old fix for GTK font selection
+ * gtkutil.c (xg_get_font): Fix off-by-2 typo.
+ Fixes: bug#3228
+
+ Fix minor bugs with printing null bytes
+ * minibuf.c (read_minibuf_noninteractive):
+ * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]:
+ Work even if the Lisp string contains a null byte.
+
+ Port to hypothetical case where Qnil is nonzero
+ * alloc.c (allocate_pseudovector):
+ * callint.c (Fcall_interactively):
+ * coding.c (syms_of_coding):
+ * dispnew.c (realloc_glyph_pool):
+ * fringe.c (init_fringe):
+ * lisp.h (memsetnil):
+ * xdisp.c (init_iterator):
+ Port to the currently-hypothetical case where Qnil is nonzero.
+ * dispnew.c (adjust_glyph_matrix): Remove unnecessary verification,
+ as there are no Lisp_Object values in the data here.
+ * lisp.h (NIL_IS_NONZERO): New symbol, replacing NIL_IS_ZERO.
+ All uses changed. Define only if not already defined, so that one
+ can debug with -DNIL_IS_NONZERO.
+ * xdisp.c (init_iterator): Remove unnecessary initializations to 0.
+
+2015-01-19 Eli Zaretskii <eliz@gnu.org>
+
+ * dispnew.c (adjust_glyph_matrix, realloc_glyph_pool): Verify that
+ Qnil is represented as zero, before using that to initialize parts
+ of the glyph structure.
+
+ * xdisp.c (init_iterator): Verify that Qnil is represented as
+ zero, before using that to initialize parts of the iterator
+ structure.
+
+2015-01-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer memset to repeatedly assigning Qnil
+ * alloc.c (allocate_pseudovector): Catch more bogus values.
+ * alloc.c (allocate_pseudovector):
+ * callint.c (Fcall_interactively):
+ * coding.c (syms_of_coding):
+ * fringe.c (init_fringe):
+ Verify that Qnil == 0.
+ * callint.c (Fcall_interactively):
+ * eval.c (Fapply, Ffuncall):
+ * fns.c (mapcar1, larger_vector):
+ * font.c (font_expand_wildcards):
+ * fringe.c (init_fringe):
+ Prefer memset to assigning zeros by hand.
+ * callint.c (Fcall_interactively):
+ Remove duplicate assignment of Qnil to args[i].
+ * coding.c (syms_of_coding):
+ Prefer LISP_INITIALLY_ZERO to assigning zeros by hand.
+ * fileio.c (Ffile_selinux_context):
+ Rewrite to avoid need for Lisp_Object array.
+ * lisp.h (XLI_BUILTIN_LISPSYM): New macro.
+ (DEFINE_LISP_SYMBOL_END): Use it.
+ (NIL_IS_ZERO): New constant.
+ (memsetnil): New function.
+
+2015-01-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Tune pseudovector allocation assuming Qnil == 0.
+ * alloc.c (allocate_pseudovector): Use memset for both
+ Lisp_Objects and regular slots. Add zerolen arg.
+ * lisp.h (allocate_pseudovector): Adjust prototype.
+ (ALLOCATE_PSEUDOVECTOR): Adjust user.
+ (ALLOCATE_ZEROED_PSEUDOVECTOR): New macro.
+ (allocate_hash_table, allocate_window, allocate_frame)
+ (allocate_process, allocate_terminal): Remove prototypes.
+ * fns.c (allocate_hash_table): Now static here.
+ * frame.c (allocate_frame):
+ * process.c (allocate_process):
+ * terminal.c (allocate_terminal):
+ * window.c (allocate_window): Now static here.
+ Use ALLOCATE_ZEROED_PSEUDOVECTOR. Add comment.
+
+ * lisp.h (XTERMINAL): Add eassert.
+ * process.c (make_lisp_proc): Now static here.
+
+ Prefer INLINE functions in font.h to match style used in lisp.h.
+ * font.h (FONTP, FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P)
+ (CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY, CHECK_FONT_OBJECT)
+ (XFONT_SPEC, XFONT_ENTITY, XFONT_OBJECT, CHECK_FONT_GET_OBJECT):
+ Now functions.
+ * font.c (Ffont_otf_alternates, Fquery_font, Ffont_get_glyphs):
+ * ftfont.c (ftfont_shape):
+ * macfont.m (macfont_shape):
+ * w32uniscribe.c (uniscribe_shape):
+ * xftfont.c (xftfont_shape): Adjust CHECK_FONT_GET_OBJECT users.
+
+2015-01-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Give up on -Wsuggest-attribute=const
+ * decompress.c (Fzlib_available_p):
+ * gnutls.c (Fgnutls_available_p):
+ * gtkutil.h (xg_uses_old_file_dialog):
+ * xdisp.c (Ftool_bar_height):
+ * xmenu.c (popup_activated):
+ No longer const, since it's not const on at lest some
+ configurations, and we shouldn't lie to the compiler.
+
+2015-01-15 Eli Zaretskii <eliz@gnu.org>
+
+ * fileio.c: Include binary-io.h.
+ (Fset_binary_mode): New function.
+ (syms_of_fileio): Defsubr it.
+ (syms_of_fileio) <Qstdin, Qstdout, Qstderr>: DEFSYM them.
+
+2015-01-15 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * gnutls.c (init_gnutls_functions): Import gnutls_x509_crt_check_issuer.
+ (Fgnutls_peer_status): Use it to set the :self-signed flag.
+ Rename the previous :self-signed to :unknown-ca. (Bug#19404)
+ (Fgnutls_peer_status_warning_describe): Explain :unknown-ca flag.
+
+2015-01-14 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (w32_wnd_proc): Ignore MENUITEMINFO's dwItemData data
+ when FLAGS indicate the item is not highlighted. (Bug#19596)
+
+2015-01-14 Martin Rudalics <rudalics@gmx.at>
+
+ * xmenu.c (update_frame_menubar): Remove garbaged code.
+
+2015-01-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ remove_slash_colon need not be inline
+ * process.c, process.h (remove_slash_colon): No longer inline.
+ This saves text bytes without hurting runtime performance.
+
+2015-01-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid extra multibyteness check in ENCODE_FILE users.
+ * callproc.c (encode_current_directory, Fcall_process, call_process):
+ * dired.c (directory_files_internal, file_name_completion):
+ Do not check for STRING_MULTIBYTE because encode_file_name
+ is a no-op for unibyte strings.
+
+ * process.h (remove_slash_colon): New function.
+ * callproc.c (encode_current_directory, call_process):
+ * process.c (Fstart_process): Use it.
+
+ Consistently handle time zone specification.
+ * editfns.c (decode_time_zone): New function, refactored out from ...
+ (Fencode_time): ... adjusted user.
+ (Fset_time_zone_rule): Use decode_time_zone.
+
+ * editfns.c (make_buffer_string_both): If requested range intersects
+ the gap, don't move the latter but copy in two regions, thus avoiding
+ unnecessary relocation of buffer data.
+
+2015-01-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool for boolean in xmenu.c, xml.c
+ * xmenu.c (x_menu_set_in_use, popup_get_selection)
+ (Fx_menu_bar_open_internal, popup_widget_loop)
+ (x_activate_menubar, xg_crazy_callback_abort)
+ (update_frame_menubar, set_frame_menubar)
+ (initialize_frame_menubar, free_frame_menubar)
+ (create_and_show_popup_menu, x_menu_show)
+ (create_and_show_dialog, x_dialog_show):
+ * xml.c (libxml2_loaded_p, init_libxml2_functions, parse_region)
+ (Flibxml_parse_html_region, Flibxml_parse_xml_region):
+ * xrdb.c (main) [TESTRM]:
+ * xsettings.c (init_gsettings):
+ * xterm.c (XFillRectangle, xg_scroll_callback)
+ (xg_end_scroll_callback):
+ * xterm.h (x_menu_set_in_use) [USE_GTK || USE_MOTIF]:
+ Use bool for boolean.
+ * xmenu.c (TRUE): Remove; no longer used.
+ (show_help_event): Remove long-unused code.
+ (set_frame_menubar): Remove "#if 1" and corresponding "#endif" lines.
+
+2015-01-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ Don't say Fnext_read_file_uses_dialog_p is const
+ It's const only if a windowing system is not used; don't say it's
+ const otherwise. See:
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00310.html
+ * fileio.c (next_read_file_uses_dialog_p): Remove.
+ Move guts back to ...
+ (Fnext_read_file_uses_dialog_p): ... here.
+ Don't declare as const, as make-docfile.c now has a special case
+ for this function. This is an ugly hack, but it's better than
+ lying to the compiler.
+
+ Remove now-unnecessary forward XTYPE decl
+ * lisp.h (XTYPE): Remove forward declaration. The recent merge
+ from emacs-24 fixed the problem in a better way, by moving XPNTR's
+ definition to after XTYPE's.
+
+2015-01-13 Eli Zaretskii <eliz@gnu.org>
+
+ Fix problems with 32-bit wide-int build exposed by MinGW.
+ * lisp.h (XPNTR): Move definition to after XTYPE, to avoid
+ compilation error in an unoptimized build when !USE_LSB_TAG.
+
+ * w32heap.c (DUMPED_HEAP_SIZE): For 32-bit wide-int build, use the
+ same larger value as for the 64-bit build.
+
+ * w32term.h (SCROLL_BAR_PACK): Cast the result to UINT_PTR to
+ avoid compiler warnings.
+
+ * w32proc.c (Fw32_get_codepage_charset, Fw32_set_keyboard_layout):
+ Avoid compiler warnings about cast from integer to pointer of
+ different size.
+
+ * w32menu.c (menubar_selection_callback, w32_menu_show): Cast to
+ UINT_PTR instead of EMACS_INT, to avoid compiler warnings about
+ casting from integer to pointer of different size.
+ (add_menu_item): Pass the help-echo string as a pointer to
+ Lisp_String, not as a Lisp_Object.
+ (w32_menu_display_help): Use make_lisp_ptr to reconstruct a Lisp
+ string object from its C pointer.
+
+ * w32fns.c (w32_msg_pump) <WM_EMACS_UNREGISTER_HOT_KEY>: Use
+ make_lisp_ptr instead of XIL, to reconstruct a Lisp_Cons from its
+ C pointer.
+ <WM_EMACS_TOGGLE_LOCK_KEY>: msg.lparam is now a C integer.
+ (Fx_create_frame): Type-cast the result of XFASTINT to avoild
+ compiler warnings about size differences.
+ (Fw32_unregister_hot_key): Pass the tail of w32_grabbed_keys as a
+ pointer to a Lisp_Cons struct, not as a disguised EMACS_INT.
+ (Fw32_toggle_lock_key): Pass the new state of the key as a C
+ integer; use -1 for nil. Doc fix.
+
+ * .gdbinit (xgetsym): New subroutine.
+ (xsymname, xsymbol): Use it.
+ (xprintsym): No need to call xgetptr.
+
+2015-01-13 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (adjust_frame_size): Make sure new numbers of
+ lines/columns get installed after font size change (Bug#19575).
+
+2015-01-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Add DEFUN attributes.
+ * callint.c (Finteractive):
+ * character.c (Fcharacterp, Fmax_char):
+ * data.c (Feq, Fnull, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp)
+ (Fstringp, Fchar_or_string_p, Fintegerp, Fnatnump, Fnumberp)
+ (Ffloatp, Fbyteorder):
+ * decompress.c (Fzlib_available_p):
+ * fns.c (Fidentity):
+ * frame.c (Fframe_windows_min_size):
+ * gnutls.c (Fgnutls_error_p, Fgnutls_available_p):
+ * window.c (Fwindow__sanitize_window_sizes):
+ * xdisp.c (Ftool_bar_height):
+ * xfaces.c (Fface_attribute_relative_p): Add const attribute.
+ * emacs.c (Fkill_emacs):
+ * eval.c (Fthrow):
+ * keyboard.c (Ftop_level, Fexit_recursive_edit)
+ (Fabor_recursive_edit): Add noreturn attribute.
+
+ * search.c (fast_string_match_internal): New function,
+ consolidated from...
+ (fast_string_match, fast_string_match_ignore_case): ...functions
+ which are...
+ * lisp.h (fast_string_match, fast_string_match_ignore_case):
+ inlined from here now.
+ (fast_string_match_internal): Add prototype.
+ * dired.c (file_name_completion): Use fast_string_match_internal.
+
+ * fileio.c (next_read_file_uses_dialog_p): New workaround ...
+ (Fnext_read_file_uses_dialog_p): ... called from here to avoid
+ ATTRIBUTE_CONST dependency from #ifdefs. For details, see
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00289.html.
+
+2015-01-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to 32-bit MingGW --with-wide-int
+ Problem reported by Eli Zaretskii in:
+ http://lists.gnu.org/archive/html/emacs-devel/2015-01/msg00265.html
+ * lisp.h (struct Lisp_Sub_Char_Table): Check that offset matches
+ what we think it is, rather than checking only its alignment (and
+ doing so incorrectly on MinGW).
+
+2015-01-12 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * fileio.c (Ffile_name_as_directory, Fdirectory_file_name):
+ Remove dead NILP check.
+ * image.c (Flookup_image): Use regular format for docstring.
+ * keyboard.c (apply_modifiers_uncached): Use stpcpy.
+
+2015-01-12 Martin Rudalics <rudalics@gmx.at>
+
+ * dispnew.c (change_frame_size_1): Pass Qchange_frame_size to
+ adjust_frame_size.
+ * frame.c (frame_default_tool_bar_height): New variable.
+ (adjust_frame_size): Possibly add requested adjustment to
+ Vframe_adjust_size_history.
+ (make_frame): Initialize tool_bar_redisplayed_once slot.
+ (Fset_frame_height, Fset_frame_width, Fset_frame_size): Clarify
+ doc-string. Call adjust_frame_size unconditionally (the frame's
+ text size may remain unaltered but the pixel size may change).
+ (x_figure_window_size): If frame_default_tool_bar_height was
+ set, use it instead of calculating the tool bar height from
+ DEFAULT_TOOL_BAR_IMAGE_HEIGHT. Don't set
+ Vframe_initial_frame_tool_bar_height.
+ (Qchange_frame_size, Qxg_frame_set_char_size)
+ (Qset_window_configuration, Qx_create_frame_1)
+ (Qx_create_frame_2): New symbols.
+ (Vframe_initial_frame_tool_bar_height): Remove.
+ (Vframe_adjust_size_history): New history variable for debugging
+ frame size adjustments.
+ * frame.h (struct frame): New boolean slot
+ tool_bar_redisplayed_once.
+ (frame_default_tool_bar_height): Extern.
+ * gtkutil.c (xg_frame_set_char_size): Pass Qxg_frame_set_char_size
+ to adjust_frame_size.
+ * nsfns.m (Fx_create_frame): Pass Pass Qx_create_frame_1 and
+ Qx_create_frame_2 to adjust_frame_size.
+ * w32fns.c (x_change_tool_bar_height): Call adjust_frame_size with
+ inhibit 1 when we have not redisplayed the tool bar yet.
+ (Fx_create_frame): Pass Pass Qx_create_frame_1 and
+ Qx_create_frame_2 to adjust_frame_size.
+ * w32menu.c (set_frame_menubar): Simplify adjust_frame_size
+ call.
+ * window.c (Fset_window_configuration): Pass
+ Qset_window_configuration to adjust_frame_size.
+ * xdisp.c (redisplay_tool_bar): Assign new height to
+ frame_default_tool_bar_height.
+ (redisplay_internal): If we haven't redisplayed this frame's
+ tool bar, call redisplay_tool_bar early so we can adjust the
+ frame size accordingly.
+ * xfns.c (x_change_tool_bar_height): Call adjust_frame_size with
+ inhibit 1 when we have not redisplayed the tool bar yet.
+ (Fx_create_frame): Pass Pass Qx_create_frame_1 and
+ Qx_create_frame_2 to adjust_frame_size.
+
+2015-01-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Have 'make' output better GEN names
+ * Makefile.in (gl-stamp, globals.h): Simplify by putting the new
+ contents of globals.h into gl-stamp. This lets us use AM_V_GEN
+ more naturally so that 'make' can output more-accurate names.
+
+2015-01-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * buffer.c (init_buffer_once): Initialize buffer_local_flags before
+ calling reset_buffer_local_variables, and make sure we initialize
+ it completely.
+
+2015-01-11 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * coding.c (Fcoding_system_plist): Use common style for docstring.
+
+2015-01-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to MSB hosts without optimization
+ E.g., when configuring --with-wide-int CFLAGS='-O0' on x86,
+ the inline function XTYPE needs to be declared before being used.
+ * lisp.h (XTYPE): New forward declaration.
+
+2015-01-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to 32-bit --with-wide-int
+ Prefer symbol indexes to struct Lisp_Symbol * casted and then
+ widened, as the latter had trouble with GCC on Fedora 21 when
+ configured --with-wide-int and when used in static initializers.
+ * alloc.c (garbage_collect_1, which_symbols):
+ * lread.c (init_obarray):
+ Prefer builtin_lisp_symbol when it can be used.
+ * dispextern.h (struct image_type.type):
+ * font.c (font_property_table.key):
+ * frame.c (struct frame_parm_table.sym):
+ * keyboard.c (scroll_bar_parts, struct event_head):
+ * xdisp.c (struct props.name):
+ Use the index of a builtin symbol rather than its address.
+ All uses changed.
+ * lisp.h (TAG_SYMPTR, XSYMBOL_INIT): Remove, replacing with ...
+ (TAG_SYMOFFSET, SYMBOL_INDEX): ... new macros that deal with
+ symbol indexes rather than pointers, and which work better on MSB
+ hosts because they shift right before tagging. All uses changed.
+ (DEFINE_LISP_SYMBOL_BEGIN, DEFINE_LISP_SYMBOL_END):
+ No longer noops on wide-int hosts, since they work now.
+ (builtin_lisp_symbol): New function.
+
+ Port to HAVE_FREETYPE && !HAVE_XFT
+ * dispextern.h (struct face.extra) [HAVE_FREETYPE && !HAVE_XFT]:
+ * font.h (syms_of_xftfont) [HAVE_FREETYPE && !HAVE_XFT]:
+ Declare in this case too.
+
+2015-01-10 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (Fw32_register_hot_key): Use XINT instead of XLI.
+
+ * w32notify.c (Fw32notify_add_watch, w32_get_watch_object): Use
+ make_pointer_integer instead of XIL.
+ (Fw32notify_rm_watch): Use XINTPTR instead of XLI.
+
+ * w32inevt.c (handle_file_notifications): Use make_pointer_integer
+ instead of XIL. Put a list of the descriptor, action, and file
+ name in event->arg, instead of spreading them between event->code
+ and event->arg.
+
+ * w32term.c (queue_notifications): Use make_pointer_integer
+ instead of XIL. Put a list of the descriptor, action, and file
+ name in event->arg, instead of spreading them between event->code
+ and event->arg.
+
+ * keyboard.c (kbd_buffer_get_event) [HAVE_W32NOTIFY]: Adjust Lisp
+ event creation to changes in w32term.c and w32inevt.c above.
+
+2015-01-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port Qnil==0 changes to 32-bit --with-wide-int
+ * lisp.h (lisp_h_XSYMBOL, XSYMBOL): Assume USE_LSB_TAG in the
+ macro-implemented version. For the non-USE_LSB_TAG case, supply
+ a new inline function that is the inverse of the new TAG_SYMPTR.
+ (lisp_h_XUNTAGBASE, XUNTAGBASE): Remove. All uses removed.
+ (TAG_SYMPTR) [!USE_LSB_TAG]: If the pointer subtraction yields a
+ negative number, don't allow sign bits to bleed into the encoded
+ value. Shift in zero bits instead.
+
+ Refactor pointer-to-integer conversion
+ * gfilenotify.c (monitor_to_lisp, lisp_to_monitor):
+ Rename and move to lisp.h. All uses changed.
+ * lisp.h (XINTPTR, make_pointer_integer): New inline functions,
+ which are renamed from gfilenotify.c's lisp_to_monitor and
+ monitor_to_lisp, and with more-generic void * signatures.
+
2015-01-08 Eli Zaretskii <eliz@gnu.org>
+ * dispnew.c (buffer_posn_from_coords): Fix the value of the column
+ returned for right-to-left screen lines. (Before the change on
+ 2014-12-30, the incorrectly-computed X pixel coordinate concealed
+ this bug.)
+
* .gdbinit (xsymname): New subroutine.
(xprintsym, initial-tbreak): Use it to access the name of a symbol
in a way that doesn't cause GDB to barf when it tries to