Function: cider-stacktrace-apply-filters
cider-stacktrace-apply-filters is a byte-compiled function defined in
cider-stacktrace.el.
Signature
(cider-stacktrace-apply-filters FILTERS)
Documentation
Takes a single list of filters and applies them.
Update cider-stacktrace-hidden-frame-count and indicate
filters applied. Currently collapsed stacktraces are ignored, and do not
contribute to the hidden count. FILTERS is the list of filters to be
applied, positive and negative all together. This function defines how
those choices interact and separates them into positive and negative
filters for the resulting machinery.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-stacktrace.el
(defun cider-stacktrace-apply-filters (filters)
"Takes a single list of filters and applies them.
Update `cider-stacktrace-hidden-frame-count' and indicate
filters applied. Currently collapsed stacktraces are ignored, and do not
contribute to the hidden count. FILTERS is the list of filters to be
applied, positive and negative all together. This function defines how
those choices interact and separates them into positive and negative
filters for the resulting machinery."
(let ((neg-filters (seq-intersection filters cider-stacktrace--all-negative-filters))
(pos-filters (seq-intersection filters cider-stacktrace--all-positive-filters)))
;; project and all are mutually exclusive. when both are present we check to
;; see the most recent one (as cons onto the list would put it) and use that
;; interaction.
(cond
((memq 'all (memq 'project pos-filters)) ;; project is most recent
(cider-stacktrace--apply-filters cider-stacktrace--all-negative-filters '(project)))
((memq 'project (memq 'all pos-filters)) ;; all is most recent
(cider-stacktrace--apply-filters nil '(all)))
((memq 'all pos-filters) (cider-stacktrace--apply-filters nil '(all)))
((memq 'project pos-filters) (cider-stacktrace--apply-filters cider-stacktrace--all-negative-filters
pos-filters))
(t (cider-stacktrace--apply-filters neg-filters pos-filters)))))