>> In the case of cairo drawing, such information is also necessary
>> for almost all kinds of drawing, and the use of GC extension data
>> allows us to extract clipping rectangles without introducing a
>> wrapper data structure of GC (though we need a couple of wrapper
>> functions, x_(re)set_clip_rectangles).
> That doesn't answer my question. As I now don't remember well when
> and how it is used, just by reading your comment, I don't understand
> what is the problem of using (struct glyphs_string *)->clip, and how
> using GC extention data solves it.
Not a problem, but just a matter of uniformity. Even in the current
xterm.c, colors and clipping information is managed by GC for drawings
except texts. The use of GC extension data enables us to get rid of
this special treatment for text drawings.