From 3fb3caa6a8633a4e36a3af094bce0b07c3e9aac1 Mon Sep 17 00:00:00 2001 From: dickmao Date: Sat, 17 Oct 2020 17:19:04 -0400 Subject: [PATCH] `ffap-gopher-at-point` interminable without newlines * lisp/ffap.el (ffap-gopher-at-point): Check for eobp. * test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure termination for corner case. --- lisp/ffap.el | 3 ++- test/lisp/ffap-tests.el | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/ffap.el b/lisp/ffap.el index ccba291144..2c1d3d5bd9 100644 --- a/lisp/ffap.el +++ b/lisp/ffap.el @@ -1383,7 +1383,8 @@ ffap-gopher-at-point (point))) (bookmark (cl-loop for keyval = (ffap--gopher-var-on-line) while keyval collect keyval - do (forward-line 1)))) + do (forward-line 1) + until (eobp)))) (when bookmark (setq ffap-string-at-point-region (list beg (point))) (let-alist (nconc bookmark '((type . "1") (port . "70"))) diff --git a/test/lisp/ffap-tests.el b/test/lisp/ffap-tests.el index e8c12669c1..ca8c10831f 100644 --- a/test/lisp/ffap-tests.el +++ b/test/lisp/ffap-tests.el @@ -117,6 +117,12 @@ ffap-test-with-spaces t "C:\\temp\\program.log on Windows or /var/log/program.log on Unix.") "\\temp\\program.log"))) +(ert-deftest ffap-test-no-newlines () + (should-not + (with-temp-buffer + (save-excursion (insert "type=")) + (ffap-guess-file-name-at-point)))) + (provide 'ffap-tests) ;;; ffap-tests.el ends here -- 2.26.2