The expression preamble length was subtracted from endColumn even when endColumn came from the already-stripped sourceLine.length(), so multi-line frames got a negative caret width and String.repeat threw. Apply the offset only to the frame-derived columns. --------- Co-authored-by: Dan Chao <dan.chao@apple.com>