diff --git a/lisp/emacs-lisp/text-property-search.el b/lisp/emacs-lisp/text-property-search.el index 41ca07057e..867094539f 100644 --- a/lisp/emacs-lisp/text-property-search.el +++ b/lisp/emacs-lisp/text-property-search.el @@ -54,10 +54,16 @@ text-property-search-forward that's matching), and `prop-match-value' (the value of PROPERTY at the start of the region)." (interactive - (list - (let ((string (completing-read "Search for property: " obarray))) - (when (> (length string) 0) - (intern string obarray))))) + (let* ((property (completing-read "Search for property: " obarray)) + (property (when (> (length property) 0) + (intern property obarray))) + (value (when property + (read-from-minibuffer "Search for property value (quote strings): " + nil nil t nil "nil")))) + (list property value (lambda (val p-val) + (not (if (and (listp p-val) (not (listp val))) + (member val p-val) + (equal val p-val))))))) (cond ;; No matches at the end of the buffer. ((eobp)