Clarifications: > * Implement your proposal but skip over the (t ...) and integer records I mean "skip" only for the "look ahead to validate" part. Not to skip completely. > * Restructure the C code so as marker adjustments are always immediately before deletion records I meant "chronologically" before, not "before" in the list. I think the desired ordering would be: Value: (nil (#(" " 0 3 (fontified t)) . 12) (# . -2) (# . -2) (# . -3) (# . -2) (t 20985 26927 0 0))