Mercurial > hg > xemacs-beta
diff src/extents.c @ 5125:b5df3737028a ben-lisp-object
merge
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Wed, 24 Feb 2010 01:58:04 -0600 |
parents | 623d57b7fbe8 16112448d484 |
children | 2a462149bd6a |
line wrap: on
line diff
--- a/src/extents.c Wed Jan 20 07:05:57 2010 -0600 +++ b/src/extents.c Wed Feb 24 01:58:04 2010 -0600 @@ -771,7 +771,7 @@ free_gap_array (Gap_Array *ga) { gap_array_delete_all_markers (ga); - xfree (ga, Gap_Array *); + xfree (ga); } #endif /* not NEW_GC */ @@ -994,7 +994,7 @@ { free_gap_array (el->start); free_gap_array (el->end); - xfree (el, Extent_List *); + xfree (el); } #endif /* not NEW_GC */ @@ -1799,7 +1799,7 @@ free_soe (struct stack_of_extents *soe) { free_extent_list (soe->extents); - xfree (soe, struct stack_of_extents *); + xfree (soe); } #endif /* not NEW_GC */ @@ -2913,7 +2913,7 @@ Dynarr_free (ef->extents); Dynarr_free (ef->begin_glyphs); Dynarr_free (ef->end_glyphs); - xfree (ef, struct extent_fragment *); + xfree (ef); } static int @@ -2955,7 +2955,7 @@ /* But some loser programs mess up and may create a large number of extents overlapping the same spot. This will result in catastrophic behavior if we use the bubble sort above. */ - qsort (Dynarr_atp (extarr, 0), Dynarr_length (extarr), + qsort (Dynarr_begin (extarr), Dynarr_length (extarr), sizeof (EXTENT), extent_priority_sort_function); } @@ -3098,13 +3098,15 @@ if (extent_start (e) == mempos && !NILP (extent_begin_glyph (e))) { Lisp_Object glyph = extent_begin_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->begin_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->begin_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; } @@ -3117,13 +3119,15 @@ if (extent_end (e) == mempos && !NILP (extent_end_glyph (e))) { Lisp_Object glyph = extent_end_glyph (e); - if (seen_glyph) { - struct glyph_block gb; - - gb.glyph = glyph; - gb.extent = wrap_extent (e); - Dynarr_add (ef->end_glyphs, gb); - } + if (seen_glyph) + { + struct glyph_block gb; + + xzero (gb); + gb.glyph = glyph; + gb.extent = wrap_extent (e); + Dynarr_add (ef->end_glyphs, gb); + } else if (EQ (glyph, last_glyph)) seen_glyph = 1; } @@ -3252,7 +3256,7 @@ EXTENT ext = XEXTENT (obj); EXTENT anc = extent_ancestor (ext); Lisp_Object tail; - char buf[64], *bp = buf; + Ascbyte buf[64], *bp = buf; /* Retrieve the ancestor and use it, for faster retrieval of properties */ @@ -3280,7 +3284,7 @@ extent_duplicable_p (anc) || !NILP (extent_invisible (anc))) *bp++ = ' '; *bp = '\0'; - write_c_string (printcharfun, buf); + write_ascstring (printcharfun, buf); tail = extent_plist_slot (anc); @@ -3342,12 +3346,12 @@ } if (!EXTENT_LIVE_P (XEXTENT (obj))) - write_c_string (printcharfun, "#<destroyed extent"); + write_ascstring (printcharfun, "#<destroyed extent"); else { - write_c_string (printcharfun, "#<extent "); + write_ascstring (printcharfun, "#<extent "); print_extent_1 (obj, printcharfun, escapeflag); - write_c_string (printcharfun, extent_detached_p (XEXTENT (obj)) + write_ascstring (printcharfun, extent_detached_p (XEXTENT (obj)) ? " from " : " in "); write_fmt_string (printcharfun, "%s%s%s", title, name, posttitle); } @@ -3356,9 +3360,9 @@ { if (print_readably) printing_unreadable_object ("#<extent>"); - write_c_string (printcharfun, "#<extent"); + write_ascstring (printcharfun, "#<extent"); } - write_c_string (printcharfun, ">"); + write_ascstring (printcharfun, ">"); } static int @@ -3394,11 +3398,12 @@ /* compare the random elements of the plists. */ return !plists_differ (extent_no_chase_plist (e1), extent_no_chase_plist (e2), - 0, 0, depth + 1); + 0, 0, depth + 1, 0); } static int -extent_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) +extent_equal (Lisp_Object obj1, Lisp_Object obj2, int depth, + int UNUSED (foldcase)) { struct extent *e1 = XEXTENT (obj1); struct extent *e2 = XEXTENT (obj2); @@ -3863,14 +3868,14 @@ if (!NILP (parent)) extent_properties (XEXTENT (parent), newprops); - qsort (Dynarr_atp (oldprops, 0), Dynarr_length (oldprops), + qsort (Dynarr_begin (oldprops), Dynarr_length (oldprops), sizeof (Lisp_Object_pair), compare_key_value_pairs); - qsort (Dynarr_atp (newprops, 0), Dynarr_length (newprops), + qsort (Dynarr_begin (newprops), Dynarr_length (newprops), sizeof (Lisp_Object_pair), compare_key_value_pairs); orignewlength = Dynarr_length (newprops); for (i = 0; i < Dynarr_length (oldprops); i++) { - if (!bsearch (Dynarr_atp (oldprops, i), Dynarr_atp (newprops, 0), + if (!bsearch (Dynarr_atp (oldprops, i), Dynarr_begin (newprops), Dynarr_length (newprops), sizeof (Lisp_Object_pair), compare_key_value_pairs)) { @@ -3883,7 +3888,7 @@ for (i = 0; i < orignewlength; i++) { if (!Dynarr_length (oldprops) || !bsearch (Dynarr_atp (newprops, i), - Dynarr_atp (oldprops, 0), + Dynarr_begin (oldprops), Dynarr_length (oldprops), sizeof (Lisp_Object_pair), compare_key_value_pairs)) @@ -3894,9 +3899,9 @@ Dynarr_add (oldprops, new_); } } - qsort (Dynarr_atp (oldprops, 0), Dynarr_length (oldprops), + qsort (Dynarr_begin (oldprops), Dynarr_length (oldprops), sizeof (Lisp_Object_pair), compare_key_value_pairs); - qsort (Dynarr_atp (newprops, 0), Dynarr_length (newprops), + qsort (Dynarr_begin (newprops), Dynarr_length (newprops), sizeof (Lisp_Object_pair), compare_key_value_pairs); for (i = 0; i < Dynarr_length (oldprops); i++) { @@ -7621,6 +7626,6 @@ Vextent_face_reverse_memoize_hash_table = make_lisp_hash_table (100, HASH_TABLE_KEY_WEAK, HASH_TABLE_EQ); - QSin_map_extents_internal = build_msg_string ("(in map-extents-internal)"); + QSin_map_extents_internal = build_defer_string ("(in map-extents-internal)"); staticpro (&QSin_map_extents_internal); }