     (while (not (eobp))
       (unless (funcall filter-function)
         (let ((o (make-overlay (line-beginning-position) (1+ (line-end-position)))))
-          (overlay-put o 'invisible t)
+          (overlay-put o 'invisible 'yes)
           (overlay-put o 'ovirt-log-analyzer-filter t)))
       (forward-line))))
 
 (defun ovirt-log-analyzer-filter-by-text (text)
   (message "Filtering by %s" text)
   (ovirt-log-analyzer-filter-by-function (lambda () (search-forward text (line-end-position) t))))
-
-(defun ovirt-log-analyzer-filter-by-property (property value)
-  (message "Filtering by %s" value)
-  (ovirt-log-analyzer-filter-by-function (lambda () (equal (get-char-property (point) property) value))))
 
 (defun ovirt-log-analyzer-filter ()
   (interactive)

                 (end (match-end 0))
                 (line-overlay (make-overlay beg end))
                 (file-point (match-beginning 1))
                 (tag-overlay (make-overlay (match-beginning 2) (match-end 2)))
                 (file-field (match-string 1))
                 (tag-field (match-string 3))
                 (tag-list (split-string (match-string 3) ";")))
            (overlay-put line-overlay 'help-echo (mapconcat #'identity tag-list "; "))
            (overlay-put line-overlay 'ovirt-log-analyzer-file-reference file-field)
            (overlay-put line-overlay 'ovirt-log-analyzer-file (car (split-string file-field ":")))
            (when (string-match "^\\(.*/\\)\\([^/]+\\)$" file-field)
              (let ((file-overlay (make-overlay file-point (+ file-point (match-end 1))))
                    (length (- (match-end 2) (match-beginning 2))))
                (overlay-put file-overlay 'invisible t)
                (overlay-put file-overlay 'ovirt-log-analyzer-file-field-length length)
                (setq max-file-field-length (max max-file-field-length length))))
            (overlay-put tag-overlay 'invisible t)
            (dolist (tag tag-list)
              (cond
               ((string-match "^Task/\\([1-9]\\)$" tag)
                (overlay-put tag-overlay 'after-string (make-string (string-to-number (match-string 1 tag))  ? )))
               ((string-match "^Task(duration=\\([0-9.]+\\))$" tag)
                (ovirt-log-analyzer-add-after tag-overlay (concat (match-string 1 tag) "s" ) 'font-lock-constant-face))
               ((string-match "^Host=\\(.*\\)$" tag)
                (let ((host (match-string 1 tag)))
                  (add-to-list 'ovirt-log-analyzer-hosts host)
                  (ovirt-log-analyzer-add-after tag-overlay (match-string 1 tag) 'font-lock-variable-name-face)
                  (overlay-put line-overlay 'ovirt-log-analyzer-host host)))
               ((string-match "^VM=\\(.*\\)$" tag)
                (let ((vm (match-string 1 tag)))
                  (add-to-list 'ovirt-log-analyzer-vms vm)
                  (ovirt-log-analyzer-add-after tag-overlay (match-string 1 tag) 'font-lock-variable-name-face)
                  (overlay-put line-overlay 'ovirt-log-analyzer-vm vm)))
               ((member tag '("Error or warning" "Long operation" "Task" "Unique"))
                ;; handled by font lock
                )

                ;; generic tag without special handling
                )
               (t
                (add-to-list 'unknown-tags tag))))
            (when visible-tags
              (goto-char tag-beg)
              (while (re-search-forward "\\(Host\\|VM\\)=\\([^; |]*\\)" tag-end t)
                (let ((entity (match-string 1))
                      (value (match-string 2))
                      (o (make-overlay (match-beginning 0) (match-end 0))))
                  (overlay-put o 'invisible 'no)
                  (overlay-put o 'face 'font-lock-variable-name-face)
                  (overlay-put o 'before-string " ")
                  (overlay-put o 'priority 10)
                  (cond
                   ((string= entity "Host")
                    (overlay-put o 'ovirt-log-analyzer-host value))
                   ((string= entity "VM")
                    (overlay-put line-overlay 'ovirt-log-analyzer-vm value)))
                  (goto-char (overlay-end o)))))
            (overlay-put tag-overlay 'invisible 'yes)))
        (forward-line))
      (when (> max-file-field-length 0)
        (goto-char (point-min))
