Function: viper-next-line-at-bol

viper-next-line-at-bol is an interactive and byte-compiled function defined in viper-cmd.el.gz.

Signature

(viper-next-line-at-bol ARG)

Documentation

Next line at beginning of line.

If point is on a widget or a button, simulate clicking on that widget/button.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-cmd.el.gz
(defun viper-next-line-at-bol (arg)
  "Next line at beginning of line.
If point is on a widget or a button, simulate clicking on that widget/button."
  (interactive "P")
  (let* ((field (get-char-property (point) 'field))
	 (button (get-char-property (point) 'button))
	 (doc (get-char-property (point) 'widget-doc))
	 (widget (or field button doc)))
    (if (and widget
             (if (symbolp widget)
                 (get widget 'widget-type)
               (and (consp widget)
                    (get (widget-type widget) 'widget-type))))
        (widget-button-press (point))
      (if (button-at (point))
          (push-button)
	;; not a widget or a button
        (save-excursion
          (end-of-line)
          (if (eobp) (error "Last line in buffer")))
        (let ((val (viper-p-val arg))
              (com (viper-getCom arg)))
          (if com (viper-move-marker-locally 'viper-com-point (point)))
          (forward-line val)
          (back-to-indentation)
          (if com (viper-execute-com 'viper-next-line-at-bol val com)))))))