Function: array-move-one-row
array-move-one-row is a byte-compiled function defined in array.el.gz.
Signature
(array-move-one-row SIGN)
Documentation
Move one array row in direction SIGN (1 or -1).
Leave point at the beginning of the field and return the new array row. If requested to move beyond the array bounds, signal an error.
Source Code
;; Defined in /usr/src/emacs/lisp/array.el.gz
(defun array-move-one-row (sign)
"Move one array row in direction SIGN (1 or -1).
Leave point at the beginning of the field and return the new array row.
If requested to move beyond the array bounds, signal an error."
;; Requires that array-buffer-line and array-buffer-column be current.
(let ((goal-column (array-beginning-of-field))
(array-row (or (array-current-row)
(error "Cursor is not in a valid array cell"))))
(cond ((and (= array-row array-max-row) (= sign 1))
(error "End of array"))
((and (= array-row 1) (= sign -1))
(error "Beginning of array"))
(t
(progn
(forward-line (* sign array-lines-per-row))
(array-move-to-column-untabify goal-column)
(+ array-row sign))))))