`:ascent ASCENT'
-ASCENT must be a number in the range 0..100, and specifies the percentage
-of the image's height to use for its ascent. Default is 50.
+ASCENT must be a number in the range 0..100, or the symbol `center'.
+If it is a number, it specifies the percentage of the image's height
+to use for its ascent.
+
+If not specified, ASCENT defaults to the value 50 which means that the
+image will be centered with the base line of the row it appears in.
+
+If ASCENT is `center' the image is vertically centered with text drawn
+in the same face as the image. The point the image is aligned with is
+the middle of the height of the face's font. That point is usually
+different from the font's base line.
`:margin MARGIN'
2000-05-02 Gerd Moellmann <gerd@gnu.org>
+ * xterm.h (struct face): Add forward declaration.
+ (struct image): Ditto.
+ (image_ascent): Add prototype.
+
+ * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
+ (x_draw_image_relief, x_draw_image_foreground_1): Call function
+ image_ascent instead of using IMAGE_ASCENT.
+
+ * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
+ (IMAGE_ASCENT): Removed.
+
+ * xfns.c (Qcenter): New variable.
+ (enum image_value_type): Add IMAGE_ASCENT_VALUE.
+ (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
+ (image_ascent): New function.
+ (lookup_image): Recognize `:ascent center'.
+ (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
+ (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
+ (xbm_load): Don't set image's ascent here.
+ (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
+ (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
+ check ascent values here.
+ (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
+ (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
+ (syms_of_xfns): Initialize Qcenter.
+
* eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
to the limits, increase the limits.