(signal_before_change, signal_after_change):
Use it to reset (after|before)-change-functions to nil in case of error.
Bind inhibit-modification-hooks to t.
Don't bind (after|before)-change-functions to nil while they run.
(search_image_cache, uncache_image, image-refresh): New functions.
Check for fg and bg colors.
(lookup_image): Use search_image_cache. Cache fg and bg colors.
(pbm_load): Another check for invalid image data.
(png_load): Ignore default background field.
* image.c: Sync to trunk version.
(search_image_cache, uncache_image, image-refresh): New functions.
Check for fg and bg colors.
(lookup_image): Use search_image_cache. Cache fg and bg colors.
(pbm_load): Another check for invalid image data.
(png_load): Ignore default background field.
after_insert_file_functions on entire buffer when REPLACE is
non-nil and inhibit modification_hooks and point_motion_hooks.
For consistency, run after_insert_file_functions iff something
got inserted. Move signal_after_change and update_compositions
after code running after_insert_file_functions. Make sure that
undo_list doesn't record intermediate steps of the decoding
process.
[USE_PTHREAD] (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS)
(UNLOCK_ALIGNED_BLOCKS): Conditionalize with it.
(malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
(malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
New functions.
[USE_PTHREAD] (LOCK, UNLOCK, LOCK_ALIGNED_BLOCKS)
(UNLOCK_ALIGNED_BLOCKS): Conditionalize with it.
(malloc_atfork_handler_prepare, malloc_atfork_handler_parent)
(malloc_atfork_handler_child, malloc_enable_thread) [USE_PTHREAD]:
New functions.
(Selection): New typedef. Use instead of ScrapRef.
(mac_get_selection_from_symbol): Rename from get_scrap_from_symbol.
(mac_valid_selection_target_p): Rename from valid_scrap_target_type_p.
(mac_clear_selection): Rename from clear_scrap.
(get_flavor_type_from_symbol): New argument SEL and subsume function of
scrap_has_target_type. All uses changed.
(mac_get_selection_ownership_info, mac_valid_selection_value_p)
(mac_selection_has_target_p): New functions.
(mac_put_selection_value): Rename from put_scrap_string.
(mac_get_selection_value): Rename from get_scrap_string.
(mac_get_selection_target_list): Rename from get_scrap_target_type_list.
(put_scrap_private_timestamp, scrap_has_target_type)
(get_scrap_private_timestamp): Remove functions.
(SCRAP_FLAVOR_TYPE_EMACS_TIMESTAMP): Remove define.
(x_own_selection, x_get_local_selection):
Use mac_valid_selection_value_p.
(x_own_selection): Don't use put_scrap_private_timestamp.
Record OWNERSHIP-INFO into Vselection_alist instead.
(x_get_local_selection): Don't check type if request is local.
(Fx_selection_owner_p): Don't use get_scrap_private_timestamp.
Detect ownership change with OWNERSHIP-INFO in Vselection_alist instead.
New variable.
[TARGET_API_MAC_CARBON] (mac_handle_dialog_event): Set it if dialog
event loop should be quit.
[TARGET_API_MAC_CARBON] (create_and_show_dialog) [!MAC_OSX]:
Quit dialog event loop if quit_dialog_event_loop is set.
(window_min_size_1, size_window, Fdisplay_buffer)
(Fsplit_window, adjust_window_trailing_edge): Use it to avoid
windows without mode- or header-lines when window-min-height is
too small.
(size_window): Reset nodelete_p after testing it, following an
earlier note by Kim F. Storm.
(display_buffer): Do not set split_height_threshold to twice the
value of window_min_height to avoid changing the value of a
customizable variable. Rather explicitly check whether the
height of the window that shall be splitted is at least as large
as split_height_threshold.
(Fwindow_full_width_p): New defun.
(syms_of_window): Defsubr it.
(Fdisplay_buffer): Use NILP.
(Fset_window_scroll_bars): Likewise.