Function: tramp-crypt-handle-directory-files

tramp-crypt-handle-directory-files is a byte-compiled function defined in tramp-crypt.el.gz.

Signature

(tramp-crypt-handle-directory-files DIRECTORY &optional FULL MATCH NOSORT COUNT)

Documentation

Like directory-files for Tramp files.

Source Code

;; Defined in /usr/src/emacs/lisp/net/tramp-crypt.el.gz
(defun tramp-crypt-handle-directory-files
    (directory &optional full match nosort count)
  "Like `directory-files' for Tramp files."
  (unless (file-exists-p directory)
    (tramp-compat-file-missing (tramp-dissect-file-name directory) directory))
  (when (file-directory-p directory)
    (setq directory (file-name-as-directory (expand-file-name directory)))
    (let* (tramp-crypt-enabled
	   (result
	    (directory-files (tramp-crypt-encrypt-file-name directory) 'full)))
      (setq result
	    (mapcar (lambda (x) (tramp-crypt-decrypt-file-name x)) result))
      (when match
	(setq result
	      (delq
	       nil
	       (mapcar
		(lambda (x)
		  (when (string-match-p match (substring x (length directory)))
		    x))
		result))))
      (unless full
	(setq result
	      (mapcar
	       (lambda (x)
		 (replace-regexp-in-string
		  (concat "^" (regexp-quote directory)) "" x))
	       result)))
      (unless nosort
        (setq result (sort result #'string<)))
      (when (and (natnump count) (> count 0))
	(setq result (nbutlast result (- (length result) count))))
      result)))