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)))