           (fstar-subp-kill)))
        ;; Allow modifications (after retracting) in pending overlays, and in
        ;; processed overlays provided that F* isn't busy
-       ((or (not fstar-subp--busy-now)
+       ((or (not fstar-subp--continuation)
             (fstar-subp-status-eq overlay 'pending))
         (fstar-subp-retract-until (overlay-start overlay)))
        ;; Disallow modifications in processed overlays when F* is busy


(defun fstar-subp-pop-overlay (overlay)
  "Remove overlay OVERLAY and issue the corresponding #pop command."
  (fstar-assert (not fstar-subp--busy-now))
  (fstar-assert (fstar-subp-live-p))
  (if (fstar-sub-overlay-contains-build-config overlay)
      (fstar-subp-kill)
    (process-send-string fstar-subp--process fstar-subp--cancel))
  (delete-overlay overlay))

(defun fstar-subp-retract-one (overlay)

  "Return column number at POS."
  (save-excursion (goto-char pos) (- (point) (point-at-bol))))

(defun fstar-subp--push-header (pos lax)
  "Prepare a header for a region starting at POS.
With non-nil LAX, the region is to be processed in lax mode."
  (format "#push %d %d%s"
