Function: logview--update-entry-invisibility

logview--update-entry-invisibility is a natively compiled function defined in logview.el.

Signature

(logview--update-entry-invisibility START DETAILS-START END FILTERED ENTRY-MANUALLY-HIDDEN DETAILS-MANUALLY-HIDDEN)

Source Code

;; Defined in /nix/store/3zkn9hgpv447zb8nrg55d9x2ynmmrk40-emacs-packages-deps/share/emacs/site-lisp/elpa/logview-20260218.2013/logview.el
;; Returns non-nil if any part of the entry is visible as a result.
(defun logview--update-entry-invisibility (start details-start end filtered entry-manually-hidden details-manually-hidden)
  (let ((first-line-end-lf-back (logview--character-back (or details-start end)))
        (invisible              (get-text-property (or details-start start) 'invisible))
        new-invisible
        fully-invisible)
    (dolist (element (if (listp invisible) invisible (list invisible)))
      (cond ((and (eq filtered                'propagate) (eq element logview--filtered-symbol))
             (setq filtered t))
            ((and (eq entry-manually-hidden   'propagate) (eq element logview--hidden-entry-symbol))
             (setq entry-manually-hidden t))
            ((and (eq details-manually-hidden 'propagate) (eq element logview--hidden-details-symbol))
             (setq details-manually-hidden t))
            ((not (and (symbolp element) (string-match-p "^logview-" (symbol-name element))))
             (push element new-invisible))))
    (when (eq entry-manually-hidden t)
      (push logview--hidden-entry-symbol new-invisible)
      (setq fully-invisible t))
    (when (eq filtered t)
      (push logview--filtered-symbol new-invisible)
      (setq fully-invisible t))
    (if new-invisible
        (put-text-property (logview--character-back-checked start) first-line-end-lf-back 'invisible (setq new-invisible (nreverse new-invisible)))
      (remove-list-of-text-properties (logview--character-back-checked start) first-line-end-lf-back '(invisible)))
    (when details-start
      (when (eq details-manually-hidden t)
        (push logview--hidden-details-symbol new-invisible))
      (push 'logview-details new-invisible)
      (put-text-property first-line-end-lf-back (logview--character-back end) 'invisible new-invisible))
    (not fully-invisible)))