Function: ebnf-one-or-more-dimension
ebnf-one-or-more-dimension is a byte-compiled function defined in
ebnf2ps.el.gz.
Signature
(ebnf-one-or-more-dimension OR-MORE)
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ebnf2ps.el.gz
;; [one-or-more width-fun dim-fun entry height width element separator]
(defun ebnf-one-or-more-dimension (or-more)
(ebnf-log "(ebnf-one-or-more-dimension or-more)")
(let ((list-part (ebnf-node-list or-more))
(sep-part (ebnf-node-separator or-more)))
(ebnf-node-dimension-func list-part)
(and sep-part
(ebnf-node-dimension-func sep-part))
(let ((height (+ (if sep-part
(ebnf-node-height sep-part)
ebnf-basic-empty-height)
ebnf-vertical-space
(ebnf-node-height list-part)))
(width (max (if sep-part
(ebnf-node-width sep-part)
0.0)
(ebnf-node-width list-part))))
(when sep-part
(ebnf-adjust-width list-part width)
(ebnf-adjust-width sep-part width))
(ebnf-node-entry or-more (+ (- height
(ebnf-node-height list-part))
(ebnf-node-entry list-part)))
(ebnf-node-height or-more height)
(ebnf-node-width or-more (+ width
ebnf-horizontal-space
ebnf-basic-width-extra))))
(ebnf-log " one-or-more entry : %7.3f" (ebnf-node-entry or-more))
(ebnf-log " one-or-more height : %7.3f" (ebnf-node-height or-more))
(ebnf-log " one-or-more width : %7.3f" (ebnf-node-width or-more)))