Function: logview--prompt-for-new-filter
logview--prompt-for-new-filter is a natively compiled function defined
in logview.el.
Signature
(logview--prompt-for-new-filter PROMPT TYPE FILTER-LINE-PREFIX)
Source Code
;; Defined in /nix/store/3zkn9hgpv447zb8nrg55d9x2ynmmrk40-emacs-packages-deps/share/emacs/site-lisp/elpa/logview-20260218.2013/logview.el
(defun logview--prompt-for-new-filter (prompt type filter-line-prefix)
(logview--assert type)
(let* ((default-value (unless (eq type 'message)
(logview--std-temporarily-widening
(logview--locate-current-entry entry start
(let ((base (regexp-quote (logview--entry-group entry start (pcase type
(`name logview--name-group)
(`thread logview--thread-group)
(_ (error "Unhandled type `%s'" type)))))))
(list base (format "^%s$" base)))))))
(regexp (read-regexp prompt default-value (cdr (assq type '((name . logview--name-regexp-history)
(thread . logview--thread-regexp-history)
(message . logview--message-regexp-history)))))))
(unless (logview--valid-regexp-p regexp)
(user-error "Invalid regular expression"))
(when (and (memq type '(name thread)) (string-match-p "\n" regexp))
(user-error "Regular expression must not span several lines"))
(setf logview--main-filter-text (concat logview--main-filter-text
(when (and logview--main-filter-text
(not (string-suffix-p "\n" logview--main-filter-text)))
"\n")
filter-line-prefix " " (replace-regexp-in-string "\n" "\n.. " regexp) "\n"))
(logview--parse-filters)))