Function: allout-stringify-flat-index-indented

allout-stringify-flat-index-indented is a byte-compiled function defined in allout.el.gz.

Signature

(allout-stringify-flat-index-indented FLAT-INDEX)

Documentation

Convert list representing section/subsection/... to document string.

Source Code

;; Defined in /usr/src/emacs/lisp/allout.el.gz
;;;_   > allout-stringify-flat-index-indented (flat-index)
(defun allout-stringify-flat-index-indented (flat-index)
  "Convert list representing section/subsection/... to document string."
  (let ((delim ".")
	result
	numstr)
    ;; Take care of the explicit context:
    (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)))
    (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)))