Function: eshell-printable-size

eshell-printable-size is a byte-compiled function defined in esh-util.el.gz.

Signature

(eshell-printable-size FILESIZE &optional HUMAN-READABLE BLOCK-SIZE USE-COLORS)

Documentation

Return a printable FILESIZE.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-util.el.gz
(defun eshell-printable-size (filesize &optional human-readable
				       block-size use-colors)
  "Return a printable FILESIZE."
  (let ((size (float (or filesize 0))))
    (if human-readable
	(if (< size human-readable)
	    (if (= (round size) 0)
		"0"
	      (if block-size
		  "1.0k"
		(format "%.0f" size)))
	  (setq size (/ size human-readable))
	  (if (< size human-readable)
	      (if (<= size 9.94)
		  (format "%.1fk" size)
		(format "%.0fk" size))
	    (setq size (/ size human-readable))
	    (if (< size human-readable)
		(let ((str (if (<= size 9.94)
			       (format "%.1fM" size)
			     (format "%.0fM" size))))
		  (if use-colors
		      (put-text-property 0 (length str)
					 'face 'bold str))
		  str)
	      (setq size (/ size human-readable))
	      (if (< size human-readable)
		  (let ((str (if (<= size 9.94)
				 (format "%.1fG" size)
			       (format "%.0fG" size))))
		    (if use-colors
			(put-text-property 0 (length str)
					   'face 'bold-italic str))
		    str)))))
      (if block-size
	  (setq size (/ size block-size)))
      (format "%.0f" size))))