Function: ses-forward-or-insert
ses-forward-or-insert is an interactive and byte-compiled function
defined in ses.el.gz.
Signature
(ses-forward-or-insert &optional COUNT)
Documentation
Move to next cell in row, or inserts a new cell if already in last one, or inserts a new row if at bottom of print area. Repeat COUNT times.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-forward-or-insert (&optional count)
"Move to next cell in row, or inserts a new cell if already in last one, or
inserts a new row if at bottom of print area. Repeat COUNT times."
(interactive "p")
(ses-check-curcell 'end)
(setq deactivate-mark t) ; Doesn't combine well with ranges.
(dotimes (x count)
(ses-set-curcell)
(if (not ses--curcell)
(progn ; At bottom of print area.
(barf-if-buffer-read-only)
(ses-insert-row 1))
(let ((col (cdr (ses-sym-rowcol ses--curcell))))
(when (/= 32
(char-before (next-single-property-change (point)
'cursor-intangible)))
;; We're already in last nonskipped cell on line. Need to create a
;; new column.
(barf-if-buffer-read-only)
(ses-insert-column (- count x)
ses--numcols
(ses-col-width col)
(ses-col-printer col)))))
(forward-char)))