+2013-06-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not use GTK 3 if it exists but cannot be compiled.
+ * xmenu.c (x_menu_wait_for_event) [!USE_GTK]:
+ * xterm.c (x_error_handler) [!USE_GTK]:
+ Do not use GTK 3.
+
+ * intervals.c (get_local_map): Actually clip POSITION (Bug#14753).
+
+2013-06-30 Eli Zaretskii <eliz@gnu.org>
+
+ * intervals.c (get_local_map): Instead of aborting, clip POSITION
+ to the valid range of values. (Bug#14753)
+
+ * xdisp.c (Fmove_point_visually): Invalidate the cursor position
+ when moving point by using the current glyph matrix. This avoids
+ the need to force redisplay when this function is called in a
+ loop.
+
+2013-06-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix minor problems found by static checking.
+ * coding.c (encode_inhibit_flag, inhibit_flag): New functions.
+ Redo the latter's body to sidestep GCC parenthesization warnings.
+ (setup_coding_system, detect_coding, detect_coding_system): Use them.
+ * coding.c (detect_coding, detect_coding_system):
+ * coding.h (struct undecided_spec):
+ Use bool for boolean.
+ * image.c (QCmax_width, QCmax_height): Now static.
+ * xdisp.c (Fmove_point_visually): Remove unused local.
+
+2013-06-29 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (Fmove_point_visually): New function.
+
+2013-06-28 Kenichi Handa <handa@gnu.org>
+
+ * coding.h (define_coding_undecided_arg_index): New enum.
+ (coding_attr_index): New members
+ coding_attr_undecided_inhibit_null_byte_detection,
+ coding_attr_undecided_inhibit_iso_escape_detection,
+ coding_attr_undecided_prefer_utf_8.
+ (undecided_spec): New struct.
+ (struct coding_system): New member `undecided' of the member
+ `spec'.
+
+ * coding.c (setup_coding_system): Handle CODING->spec.undecided.
+ (detect_coding): Likewise.
+ (detect_coding_system): Likewise.
+ (Fdefine_coding_system_internal): New coding system properties
+ :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
+ :prefer-utf-8.
+ (syms_of_coding): Adjusted for coding_arg_undecided_max.
+
+2013-06-28 Kenichi Handa <handa@gnu.org>
+
+ * coding.h (define_coding_undecided_arg_index): New enum.
+ (coding_attr_index): New members
+ coding_attr_undecided_inhibit_null_byte_detection,
+ coding_attr_undecided_inhibit_iso_escape_detection,
+ coding_attr_undecided_prefer_utf_8.
+ (undecided_spec): New struct.
+ (struct coding_system): New member `undecided' of the member
+ `spec'.
+
+ * coding.c (setup_coding_system): Handle CODING->spec.undecided.
+ (detect_coding): Likewise.
+ (detect_coding_system): Likewise.
+ (Fdefine_coding_system_internal): New coding system properties
+ :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
+ :prefer-utf-8.
+ (syms_of_coding): Adjust for coding_arg_undecided_max.
+
+2013-06-28 Paul Eggert <eggert@cs.ucla.edu>
+
+ * image.c (x_from_xcolors): Remove unused local.
+
+2013-06-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
+
+ Defer image data transfer between X client and server until actual
+ display happens.
+
+ * dispextern.h (struct image) [HAVE_X_WINDOWS]: New members `ximg'
+ and `mask_img'.
+
+ * image.c (Destroy_Image): Remove.
+ (x_clear_image_1): New arg `flags' instead of 3 bools `pixmap_p',
+ `mask_p', and `colors_p'. All uses changed.
+ (x_clear_image_1) [HAVE_X_WINDOWS]: Destroy `ximg' and `mask_img'.
+ (CLEAR_IMAGE_PIXMAP, CLEAR_IMAGE_MASK, CLEAR_IMAGE_COLORS): New
+ macros for `flags' arg to x_clear_image_1.
+ (postprocess_image, xpm_load_image, x_build_heuristic_mask)
+ (png_load_body): Use x_clear_image_1 instead of Free_Pixmap.
+ (ZPixmap, XGetImage) [HAVE_NS]: Remove.
+ (image_get_x_image_or_dc, image_unget_x_image_or_dc)
+ (image_get_x_image, image_unget_x_image): New functions or macros.
+ (image_background, image_background_transparent, x_to_xcolors)
+ (x_build_heuristic_mask): Use image_get_x_image_or_dc instead of
+ XGetImage or CreateCompatibleDC. Use image_unget_x_image_or_dc
+ instead of Destroy_Image.
+ (image_create_x_image_and_pixmap, image_put_x_image): New functions.
+ (xpm_load_image, x_from_xcolors, x_build_heuristic_mask, pbm_load)
+ (png_load_body, jpeg_load_body, tiff_load, gif_load)
+ (imagemagick_load_image, svg_load_image): Use them instead of
+ x_create_x_image_and_pixmap, and x_put_x_image followed by
+ x_destroy_x_image, respectively.
+ (xpm_load) [HAVE_XPM && !HAVE_NTGUI]: Use XpmReadFileToImage and
+ XpmCreateImageFromBuffer instead of XpmReadFileToPixmap and
+ XpmCreatePixmapFromBuffer. Create pixmaps. Fill background and
+ background_transparent fields.
+ (image_sync_to_pixmaps) [HAVE_X_WINDOWS]: New function.
+ (prepare_image_for_display, x_disable_image) [HAVE_X_WINDOWS]: Use it.
+
+2013-06-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Do not tickle glib SIGCHLD handling if Cygwin (Bug#14569).
+ This mostly consists of undoing recent changes.
+ * callproc.c (Fcall_process):
+ * process.c (create_process):
+ Do not worry about catching SIGCHLD here, undoing previous change.
+ * nsterm.m (ns_term_init): Re-catch SIGCHLD, undoing previous change.
+ * process.c, process.h (catch_child_signal):
+ No longer extern if !NS_IMPL_GNUSTEP, undoing 06-22 change.
+ * process.c (catch_child_handler): Don't worry about being called
+ lazily and do not assume caller has blocked SIGCHLD, undoing
+ previous change. Move first-time stuff back to
+ init_process_emacs, undoing 06-22 change. If CYGWIN, do not
+ tickle glib, as that causes Cygwin bootstrap to fail. Do not
+ set lib_child_handler if it's already initialized, which may
+ help avoid problems on GNUStep.
+
+2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ A more-conservative workaround for Cygwin SIGCHLD issues (Bug#14569).
+ * callproc.c (Fcall_process):
+ * process.c (create_process):
+ Make sure SIGCHLD is caught before we fork,
+ since Emacs startup no arranges to catch SIGCHLD.
+ * process.c (lib_child_handler): Initialize to null, not to
+ dummy_handler.
+ (catch_child_signal): Allow self to be called lazily.
+ Do nothing if it's already been called.
+ Assume caller has blocked SIGCHLD (all callers do now).
+ * emacs.c (main): Do not catch SIGCHLD here; defer it until
+ just before it's really needed.
+ * nsterm.m (ns_term_init): No need to re-catch SIGCHLD here,
+ since it hasn't been caught yet.
+
+2013-06-23 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.c (compute_image_size): New function to implement
+ :max-width and :max-height.
+ (imagemagick_load_image): Use it.
+
2013-06-23 Paul Eggert <eggert@cs.ucla.edu>
Try to avoid malloc SEGVs on Cygwin (Bug#14569).