From c1a954ff3ee91c05a9b640054c4d2786b6cf36b3 Mon Sep 17 00:00:00 2001
From: Paul Nelson <ultrono@gmail.com>
Date: Wed, 17 Apr 2024 22:50:32 +0200
Subject: [PATCH] Open new previews when they cover point

* preview.el.in (preview-parse-messages): Temporarily open new
previews that would cover the point.
---
 preview.el.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/preview.el.in b/preview.el.in
index 5625d9c0..cd6492b4 100644
--- a/preview.el.in
+++ b/preview.el.in
@@ -3298,6 +3298,7 @@ call, and in its CDR the final stuff for the placement hook."
           (run-buffer (current-buffer))
           (run-directory default-directory)
           tempdir
+          point-current
           close-data
           open-data
           fast-hook
@@ -3520,6 +3521,7 @@ name(\\([^)]+\\))\\)\\|\
                   (setq lfile file))
                 (save-excursion
                   (save-restriction
+                    (setq point-current (point))
                     (widen)
                     ;; a fast hook might have positioned us already:
                     (if (number-or-marker-p string)
@@ -3620,6 +3622,12 @@ name(\\([^)]+\\))\\)\\|\
                                            (cdr open-data)))
                                      (ov (car ovl)))
                                 (setq close-data (nconc ovl close-data))
+                                (when (and (<= region-beg point-current)
+                                           (< point-current region-end))
+                                  ;; Temporarily open the preview if it
+                                  ;; would bump the point.
+                                  (preview-toggle ov)
+                                  (push ov preview-temporary-opened)))
                             (with-current-buffer run-buffer
                               (preview-log-error
                                (list 'error
-- 
2.39.3 (Apple Git-145)

