Function: macroexp--maxsize
macroexp--maxsize is a byte-compiled function defined in
macroexp.el.gz.
Signature
(macroexp--maxsize EXP SIZE)
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/macroexp.el.gz
(defun macroexp--maxsize (exp size)
(cond ((< size 0) size)
((symbolp exp) (1- size))
((stringp exp) (- size (/ (length exp) 16)))
((vectorp exp)
(dotimes (i (length exp))
(setq size (macroexp--maxsize (aref exp i) size)))
(1- size))
((consp exp)
;; We could try to be more clever with quote&function,
;; but it is difficult to do so correctly, and it's not obvious that
;; it would be worth the effort.
(dolist (e exp)
(setq size (macroexp--maxsize e size)))
(1- size))
(t -1)))