Function: allout-stringify-flat-index
allout-stringify-flat-index is a byte-compiled function defined in
allout.el.gz.
Signature
(allout-stringify-flat-index FLAT-INDEX &optional CONTEXT)
Documentation
Convert list representing section/subsection/... to document string.
Optional arg CONTEXT indicates interior levels to include.
Source Code
;; Defined in /usr/src/emacs/lisp/allout.el.gz
;;;_ #7 Systematic outline presentation -- copying, printing, flattening
;;;_ - Mapping and processing of topics
;;;_ ( See also Subtree Charting, in Navigation code.)
;;;_ > allout-stringify-flat-index (flat-index)
(defun allout-stringify-flat-index (flat-index &optional context)
"Convert list representing section/subsection/... to document string.
Optional arg CONTEXT indicates interior levels to include."
(let ((delim ".")
result
numstr
(context-depth (or (and context 2) 1)))
;; Take care of the explicit context:
(while (> context-depth 0)
(setq numstr (int-to-string (car flat-index))
flat-index (cdr flat-index)
result (if flat-index
(cons delim (cons numstr result))
(cons numstr result))
context-depth (if flat-index (1- context-depth) 0)))
(setq delim " ")
;; Take care of the indentation:
(if flat-index
(progn
(while flat-index
(setq result
(cons delim
(cons (make-string
(1+ (truncate (if (zerop (car flat-index))
1
(log (car flat-index) 10))))
? )
result)))
(setq flat-index (cdr flat-index)))
;; Dispose of single extra delim:
(setq result (cdr result))))
(apply #'concat result)))