Function: info--filter-manual-names

info--filter-manual-names is a byte-compiled function defined in info.el.gz.

Signature

(info--filter-manual-names NAMES)

Source Code

;; Defined in /usr/src/emacs/lisp/info.el.gz
(defun info--filter-manual-names (names)
  (cl-flet ((strip (name)
              (replace-regexp-in-string "\\([-.]info\\)?\\(\\.gz\\)?\\'"
                                        "" name)))
    (seq-uniq (sort (seq-filter
                     (lambda (name)
                       (and (not (string-match-p "info-[0-9]" name))
                            (not (member name '("./" "../" "ChangeLog"
                                                "NEWS" "README")))))
                     names)
                    ;; We prefer the shorter names ("foo" over "foo.gz").
                    (lambda (s1 s2)
                      (< (length s1) (length s2))))
              (lambda (s1 s2)
                (equal (strip s1) (strip s2))))))