X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fredisplay-output.c;h=f61e238510a4d65bee9ded5e7a0886bf4390539d;hb=7809a0afe735c5f3e27be40be2978c16d6ff3a1d;hp=b19d74fcf8f8675c1a93b89910b926a60f6b08aa;hpb=ac7d0619aad74b1d57c4748ebb3ab29d9c32e3d8;p=chise%2Fxemacs-chise.git.1 diff --git a/src/redisplay-output.c b/src/redisplay-output.c index b19d74f..f61e238 100644 --- a/src/redisplay-output.c +++ b/src/redisplay-output.c @@ -221,7 +221,7 @@ compare_runes (struct window *w, struct rune *crb, struct rune *drb) else if (crb->type != drb->type) return 0; else if (crb->type == RUNE_CHAR && - (crb->object.chr.ch != drb->object.chr.ch)) + !CHARC_EQ (crb->object.cglyph, drb->object.cglyph)) return 0; else if (crb->type == RUNE_HLINE && (crb->object.hline.thickness != drb->object.hline.thickness || @@ -334,7 +334,7 @@ get_next_display_block (layout_bounds bounds, display_block_dynarr *dba, else if (start_pos <= bounds.right_out) *next_start = bounds.right_out; else - abort (); + ABORT (); } for (block = 0; block < Dynarr_length (dba); block++) @@ -377,7 +377,7 @@ get_cursor_size_and_location (struct window *w, struct display_block *db, int defheight, defwidth; if (Dynarr_length (db->runes) <= cursor_location) - abort (); + ABORT (); XSETWINDOW (window, w); @@ -1317,7 +1317,7 @@ redisplay_output_layout (Lisp_Object domain, { Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); Lisp_Object rest, window = DOMAIN_WINDOW (domain); - Emchar_dynarr *buf = Dynarr_new (Emchar); + Charc_dynarr *buf; struct window *w = XWINDOW (window); struct device *d = DOMAIN_XDEVICE (domain); int layout_height, layout_width; @@ -1334,6 +1334,8 @@ redisplay_output_layout (Lisp_Object domain, if (!redisplay_normalize_glyph_area (db, dga)) return; + buf = Dynarr_new (Charc); + /* Highly dodgy optimization. We want to only output the whole layout if we really have to. */ if (!IMAGE_INSTANCE_OPTIMIZE_OUTPUT (p) @@ -1457,7 +1459,7 @@ redisplay_output_layout (Lisp_Object domain, struct display_line dl; /* this is fake */ Lisp_Object string = IMAGE_INSTANCE_TEXT_STRING (childii); - unsigned char charsets[NUM_LEADING_BYTES]; + Charset_ID charsets[NUM_LEADING_BYTES]; struct face_cachel *cachel = WINDOW_FACE_CACHEL (w, findex); find_charsets_in_bufbyte_string (charsets, @@ -1465,8 +1467,9 @@ redisplay_output_layout (Lisp_Object domain, XSTRING_LENGTH (string)); ensure_face_cachel_complete (cachel, window, charsets); - convert_bufbyte_string_into_emchar_dynarr - (XSTRING_DATA (string), XSTRING_LENGTH (string), buf); + convert_bufbyte_string_into_charc_dynarr + (XSTRING_DATA (string), XSTRING_LENGTH (string), + buf); redisplay_normalize_display_box (&cdb, &cdga); /* Offsets are now +ve again so be careful @@ -1520,7 +1523,7 @@ redisplay_output_layout (Lisp_Object domain, case IMAGE_POINTER: default: - abort (); + ABORT (); } } IMAGE_INSTANCE_OPTIMIZE_OUTPUT (childii) = 0; @@ -1632,7 +1635,7 @@ redisplay_clear_region (Lisp_Object locale, face_index findex, int x, int y, f = XFRAME (locale); } else - abort (); + ABORT (); d = XDEVICE (f->device);