Function: allout-descend-to-depth

allout-descend-to-depth is a byte-compiled function defined in allout.el.gz.

Signature

(allout-descend-to-depth DEPTH)

Documentation

Descend to depth DEPTH within current topic.

Returning depth if successful, nil if not.

Source Code

;; Defined in /usr/src/emacs/lisp/allout.el.gz
;;;_   > allout-descend-to-depth (depth)
(defun allout-descend-to-depth (depth)
  "Descend to depth DEPTH within current topic.

Returning depth if successful, nil if not."
  (let ((start-point (point))
        (start-depth (allout-depth)))
    (while
        (and (> (allout-depth) 0)
             (not (= depth allout-recent-depth)) ; ... not there yet
             (allout-next-heading)     ; ... go further
             (< start-depth allout-recent-depth))) ; ... still in topic
    (if (and (> (allout-depth) 0)
             (= allout-recent-depth depth))
        depth
      (goto-char start-point)
      nil))
  )