From: Lars Ingebrigtsen Date: Sun, 22 Apr 2018 14:58:10 +0000 (+0200) Subject: (text-property-search-forward): Fix search at the end X-Git-Tag: emacs-27.0.90~5114 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e6edd177a93b36e969d72008b426deac51c86d9a;p=emacs.git (text-property-search-forward): Fix search at the end * lisp/emacs-lisp/text-property-search.el (text-property-search-forward): Fix search at the end of the buffer with no text properties. --- diff --git a/lisp/emacs-lisp/text-property-search.el b/lisp/emacs-lisp/text-property-search.el index cd4471a045c..ce7733acb27 100644 --- a/lisp/emacs-lisp/text-property-search.el +++ b/lisp/emacs-lisp/text-property-search.el @@ -58,12 +58,17 @@ value of PROPERTY at the start of the region." (let ((string (completing-read "Search for property: " obarray))) (when (> (length string) 0) (intern string obarray))))) - ;; We're standing in the property we're looking for, so find the - ;; end. - (if (and (text-property--match-p value (get-text-property (point) property) - predicate) - (not not-immediate)) - (text-property--find-end-forward (point) property value predicate) + (cond + ;; No matches at the end of the buffer. + ((eobp) + nil) + ;; We're standing in the property we're looking for, so find the + ;; end. + ((and (text-property--match-p value (get-text-property (point) property) + predicate) + (not not-immediate)) + (text-property--find-end-forward (point) property value predicate)) + (t (let ((origin (point)) (ended nil) pos) @@ -86,7 +91,7 @@ value of PROPERTY at the start of the region." (goto-char origin) (setq ended t))))) (and (not (eq ended t)) - ended)))) + ended))))) (defun text-property--find-end-forward (start property value predicate) (let (end)