Alan Third writes: > NSRectClipList creates a union of the passed rectangles and then sets > the clipping rectangle to that, so it contains all of them. That's > useful because NSRectClip uses the intersection of the current > clipping rectangle and the new one. > > Does DPSrectclip use the intersection? If so this may not work as > intended and it might be better to union the rectangles ourselves. It does intersect the rectangle with the current clipping. I determined that from a cursory examination of the source code, as the function appeared in the documentation as documented, but no documentation was actually written for it. >> @@ -4195,13 +4091,88 @@ overwriting cursor (usually when cursor on a tab) */ >> >> /* Draw box if not done already. */ >> if (!s->for_overlaps && !box_drawn_p && s->face->box != FACE_NO_BOX) >> + ns_dumpglyphs_box_or_relief (s); >> + >> + ns_unfocus (s->f); > You unfocus here, then continue working on the frame here. You either > need to focus again or extend the original focus. Remember you can > focus without setting the clipping, then save and reset the graphics > state as required if you prefer. Hmm. Will this work better? Thanks.