]> git.eshelyaron.com Git - emacs.git/commitdiff
flymake-diagnostic-beg/end doc string and error reporting improvement
authorLars Ingebrigtsen <larsi@gnus.org>
Fri, 29 Jan 2021 06:15:35 +0000 (07:15 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Fri, 29 Jan 2021 06:15:35 +0000 (07:15 +0100)
* lisp/progmodes/flymake.el (flymake-diagnostic-beg):
(flymake-diagnostic-end): Improve doc string and error reporting
(bug#39971).

lisp/progmodes/flymake.el

index 460af718aadfcc3ec3bbd61866fda384cfd6eaf9..5d96c62b418d70e3832f103c2d6d5983c64df801 100644 (file)
@@ -352,12 +352,20 @@ diagnostics at BEG."
 (flymake--diag-accessor flymake-diagnostic-data flymake--diag-data backend)
 
 (defun flymake-diagnostic-beg (diag)
-  "Get Flymake diagnostic DIAG's start position."
-  (overlay-start (flymake--diag-overlay diag)))
+  "Get Flymake diagnostic DIAG's start position.
+This position only be queried after DIAG has been reported to Flymake."
+  (let ((overlay (flymake--diag-overlay diag)))
+    (unless overlay
+      (error "DIAG %s not reported to Flymake yet" diag))
+    (overlay-start overlay)))
 
 (defun flymake-diagnostic-end (diag)
-  "Get Flymake diagnostic DIAG's end position."
-  (overlay-end (flymake--diag-overlay diag)))
+  "Get Flymake diagnostic DIAG's end position.
+This position only be queried after DIAG has been reported to Flymake."
+  (let ((overlay (flymake--diag-overlay diag)))
+    (unless overlay
+      (error "DIAG %s not reported to Flymake yet" diag))
+    (overlay-end overlay)))
 
 (cl-defun flymake--overlays (&key beg end filter compare key)
   "Get flymake-related overlays.