> The recipe in effect invokes undefined behavior in posn-at-point, > because fci-mode uses a zero-length (a.k.a. "empty") overlay to > place, in a very convoluted way, a stretch of whitespace followed > by an image, before the newline. [snip] > Since the buffer position of the newline is not "covered" by the > empty overlay, Emacs happily stops when it reaches the newline, > oblivious to the fact that on the way it produced the stretch > glyph of a very large width. I'm not sure it's due to the overlay having zero length. Here's a minimal recipe that provokes the same behavior using a overlay of length 1 (covering the newline): (progn (delete-all-overlays) (goto-char (point-min)) (insert "\n") (setq o (make-overlay 1 2) s (propertize " " 'display '(space :align-to 10) 'cursor t)) (overlay-put o 'before-string s) (goto-char (point-min)) (setq col (car (posn-col-row (posn-at-point (point))))) (message (concat "Current column: " (number-to-string col))))