+2004-02-25 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (check_it): Check string/string_pos consistency.
+ (init_iterator): Initialize string-related fields properly.
+
+2004-02-11 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (produce_image_glyph): Force negative descents to zero.
+
+2004-02-10 Miles Bader <miles@gnu.org>
+
+ * xfns.c (lookup_image): Remove xassert(!interrupt_input_blocked);
+ BLOCK_INPUT can be nested, so it doesn't make much sense.
+
2004-02-24 Michael Mauger <mmaug@yahoo.com>
* w32fns.c (slurp_file, xbm_scan, xbm_load_image)
xassert (STRINGP (it->string));
xassert (IT_STRING_CHARPOS (*it) >= 0);
}
- else if (it->method == next_element_from_buffer)
+ else
{
- /* Check that character and byte positions agree. */
- xassert (IT_CHARPOS (*it) == BYTE_TO_CHAR (IT_BYTEPOS (*it)));
+ xassert (IT_STRING_CHARPOS (*it) < 0);
+ if (it->method == next_element_from_buffer)
+ {
+ /* Check that character and byte positions agree. */
+ xassert (IT_CHARPOS (*it) == BYTE_TO_CHAR (IT_BYTEPOS (*it)));
+ }
}
if (it->dpvec)
it->current.overlay_string_index = -1;
it->current.dpvec_index = -1;
it->base_face_id = base_face_id;
+ it->string = Qnil;
+ IT_STRING_CHARPOS (*it) = IT_STRING_BYTEPOS (*it) = -1;
/* The window in which we iterate over current_buffer: */
XSETWINDOW (it->window, w);
it->descent = it->phys_descent = img->height + 2 * img->vmargin - it->ascent;
it->pixel_width = img->width + 2 * img->hmargin;
+ /* It's quite possible for images to have an ascent greater than
+ their height, so don't get confused in that case. */
+ if (it->descent < 0)
+ it->descent = 0;
+
/* If this glyph is alone on the last line, adjust it.ascent to minimum row ascent. */
face_ascent = face->font ? FONT_BASE (face->font) : FRAME_BASELINE_OFFSET (it->f);
if (face_ascent > it->ascent)
/* Functions for the X window system.
- Copyright (C) 1989, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 01, 02, 03
+ Copyright (C) 1989, 92, 93, 94, 95, 96, 97, 98, 99, 2000,01,02,03,04
Free Software Foundation.
This file is part of GNU Emacs.
}
UNBLOCK_INPUT;
- xassert (!interrupt_input_blocked);
}
/* We're using IMG, so set its timestamp to `now'. */