 (defvar fstar--vernum nil
   "F*'s version number.")
 
-(defvar fstar--error-messages-use-absolute-linums nil
+(defvar fstar-compat--error-messages-use-absolute-linums nil
   "F* > 0.9.3.0-beta1 uses absolute line numbers in error messages.")
+
+(defvar fstar-compat--can-use-info nil
+  "F* >= 0.9.4.1 supports #info queries.")
 
 (defun fstar--init-compatibility-layer ()
   "Adjust compatibility settings based on `fstar-executable''s version number."

  "Fixup ISSUE: include a file name, and adjust line numbers wrt OV."
  (when (member (fstar-issue-filename issue) '("unknown" "<input>"))
    (setf (fstar-issue-filename issue) (buffer-file-name))) ;; FIXME ensure we have a file name?
  (unless fstar--error-messages-use-absolute-linums
    (let ((linum (1- (line-number-at-pos (overlay-start ov)))))
      (setf (fstar-issue-line-from issue) (+ (fstar-issue-line-from issue) linum))
      (setf (fstar-issue-line-to issue) (+ (fstar-issue-line-to issue) linum))))

  "Issue a #info query for current point.
Results are displayed asynchronously, so this function returns
nil and the corresponding continuation calls `eldoc-message'."
  (when (and fstar-compat--can-use-info (fstar-subp-available-p))
    (fstar-subp--query (fstar-subp--info-query (point))
                  (apply-partially #'fstar-subp--info-continuation
                                   #'fstar-subp--eldoc-continuation (point)))
