`ffap-gopher-at-point' interminable without newlines

* lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end
of the buffer.
* test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure
termination for corner case (bug#44048).
This commit is contained in:
dickmao 2020-10-19 11:56:36 +02:00 committed by Lars Ingebrigtsen
parent 1f6f09c85b
commit 8cdbd84ebe
2 changed files with 8 additions and 1 deletions

View file

@ -1383,7 +1383,8 @@ Sets the variable `ffap-string-at-point-region' to the bounds of URL, if any."
(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")))

View file

@ -117,6 +117,12 @@ left alone when opening a URL in an external browser."
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