]> git.eshelyaron.com Git - dict.git/commitdiff
FIXED: possible loop finding start of clause at start of buffer
authorEshel Yaron <me@eshelyaron.com>
Sun, 16 Oct 2022 15:18:10 +0000 (18:18 +0300)
committerEshel Yaron <me@eshelyaron.com>
Sun, 16 Oct 2022 15:18:10 +0000 (18:18 +0300)
sweeprolog.el

index e7bd25c574fa368de75efd206061b86f9bcb7821..d1131d3416b7203f9a40b33d209e4f1df8c5c6d6 100644 (file)
@@ -1818,10 +1818,12 @@ Interactively, a prefix arg means to prompt for BUFFER."
                                   (nth 8 (syntax-ppss (1+ (point)))))))
               (while (and safe-start (not (bobp)))
                 (goto-char safe-start)
-                (backward-char)
-                (re-search-backward (rx bol graph) nil t)
-                (setq safe-start (or (nth 8 (syntax-ppss))
-                                     (nth 8 (syntax-ppss (1+ (point)))))))))
+                (if (bobp)
+                    (setq safe-start nil)
+                  (backward-char)
+                  (re-search-backward (rx bol graph) nil t)
+                  (setq safe-start (or (nth 8 (syntax-ppss))
+                                       (nth 8 (syntax-ppss (1+ (point))))))))))
           (not (= p (point))))
       (sweeprolog-beginning-of-next-top-term (- times)))))
 
@@ -2444,7 +2446,7 @@ predicate definition at or directly above POINT."
     (let ((point (point))
           (fun (cadr def))
           (ari (caddr def)))
-      (while point
+      (while (and point (not (bobp)))
         (sweeprolog-beginning-of-top-term)
         (backward-char 1)
         (if-let* ((ndef (sweeprolog-definition-at-point (point)))