> Debugger entered--Lisp error: (quit)
>
>      fci-put-overlays-region(2807 7574591)
>      fci-redraw-region(2807 7574565 0)
>      insert-file-contents("/home/jon/devel/erezlife/development/TAGS" t nil nil t)
>      revert-buffer-insert-file-contents--default-function("/home/jon/devel/erezlife/development/TAGS"
>    nil)
>      revert-buffer--default(t t)
>      revert-buffer(t t)

I'm the author of the package in question.  This is, I think, a use case I hadn't considered.

Jon, could you replace the definition of fci-redraw-region with the following and try your recipe again?

(defun fci-redraw-region (start end _ignored)
  (when (fci-get-buffer-windows t)
    (save-match-data
      (save-excursion
        (let ((inhibit-point-motion-hooks t))
          (goto-char end)
          (setq end (line-beginning-position 2))
          (fci-delete-overlays-region start end)
          (fci-put-overlays-region start end))))))