Function: allout-beginning-of-line

allout-beginning-of-line is an interactive and byte-compiled function defined in allout.el.gz.

Signature

(allout-beginning-of-line)

Documentation

Beginning-of-line with allout-beginning-of-line-cycles behavior, if set.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/allout.el.gz
;;;_   > allout-beginning-of-line ()
(defun allout-beginning-of-line ()
  "Beginning-of-line with `allout-beginning-of-line-cycles' behavior, if set."

  (interactive)

  (if (or (not allout-beginning-of-line-cycles)
          (not (equal last-command this-command)))
      (progn
        (if (and (not (bolp))
                 (allout-hidden-p (1- (point))))
            (goto-char (previous-single-char-property-change
                        (1- (point)) 'invisible)))
        (move-beginning-of-line 1))
    (allout-depth)
    (let ((beginning-of-body
           (save-excursion
             (while (and (allout-do-doublecheck)
                         (allout-aberrant-container-p)
                         (allout-previous-visible-heading 1)))
             (allout-beginning-of-current-entry)
             (point))))
      (cond ((= (current-column) 0)
             (goto-char beginning-of-body))
            ((< (point) beginning-of-body)
             (allout-beginning-of-current-line))
            ((= (point) beginning-of-body)
             (goto-char (allout-current-bullet-pos)))
            (t (allout-beginning-of-current-line)
               (if (< (point) beginning-of-body)
                   ;; we were on the headline after its start:
                   (goto-char beginning-of-body)))))))