Function: eshell-pred-file-size

eshell-pred-file-size is a byte-compiled function defined in em-pred.el.gz.

Signature

(eshell-pred-file-size)

Documentation

Return a predicate to test whether a file is of a given size.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/em-pred.el.gz
(defun eshell-pred-file-size ()
  "Return a predicate to test whether a file is of a given size."
  (let ((quantum 1) qual amount)
    (when (memq (downcase (char-after)) '(?k ?m ?p))
      (setq qual (downcase (char-after)))
      (cond
       ((eq qual ?k)
	(setq quantum 1024))
       ((eq qual ?m)
	(setq quantum (* 1024 1024)))
       ((eq qual ?p)
	(setq quantum 512)))
      (forward-char))
    (setq qual (eshell-get-comparison-modifier-argument))
    (setq amount (* (or (eshell-get-numeric-modifier-argument)
                        (error "Invalid file size modifier `L'"))
                    quantum))
    (lambda (file)
      (when-let* ((attrs (eshell-file-attributes file)))
	(funcall qual (file-attribute-size attrs) amount)))))