Function: mh-thread-next-sibling

mh-thread-next-sibling is an autoloaded, interactive and byte-compiled function defined in mh-thread.el.gz.

Signature

(mh-thread-next-sibling &optional PREVIOUS-FLAG)

Documentation

Display next sibling.

With non-nil optional argument PREVIOUS-FLAG jump to the previous sibling.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/mh-e/mh-thread.el.gz
;;;###mh-autoload
(defun mh-thread-next-sibling (&optional previous-flag)
  "Display next sibling.

With non-nil optional argument PREVIOUS-FLAG jump to the previous
sibling."
  (interactive)
  (cond ((not (memq 'unthread mh-view-ops))
         (error "Folder isn't threaded"))
        ((eobp)
         (error "No message at point")))
  (beginning-of-line)
  (let ((point (point))
        (done nil)
        (my-level (mh-thread-current-indentation-level)))
    (while (and (not done)
                (equal (forward-line (if previous-flag -1 1)) 0)
                (not (eobp)))
      (let ((level (mh-thread-current-indentation-level)))
        (cond ((equal level my-level)
               (setq done 'success))
              ((< level my-level)
               (message "No %s sibling" (if previous-flag "previous" "next"))
               (setq done 'failure)))))
    (cond ((eq done 'success) (mh-maybe-show))
          ((eq done 'failure) (goto-char point))
          (t (message "No %s sibling" (if previous-flag "previous" "next"))
             (goto-char point)))))