Function: ses-reprint-all

ses-reprint-all is an interactive and byte-compiled function defined in ses.el.gz.

Signature

(ses-reprint-all &optional NONARROW)

Documentation

Recreate the display area. Call all printer functions.

Narrow to print area if optional argument NONARROW is nil.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-reprint-all (&optional nonarrow)
  "Recreate the display area.  Call all printer functions.
Narrow to print area if optional argument NONARROW is nil."
  (interactive "*P")
  (widen)
  (unless nonarrow
    (setq ses--deferred-narrow t))
  (let ((startcell (ses--cell-at-pos (point)))
	(inhibit-read-only t))
    (ses-begin-change)
    (goto-char (point-min))
    (search-forward ses-print-data-boundary)
    (backward-char (length ses-print-data-boundary))
    (delete-region (point-min) (point))
    ;; Insert all blank lines before printing anything, so ses-print-cell can
    ;; find the data area when inserting or deleting *skip* values for cells.
    (dotimes (_ ses--numrows)
      (insert-and-inherit ses--blank-line))
    (dotimes-with-progress-reporter (row ses--numrows) "Reprinting..."
      (if (eq (ses-cell-value row 0) '*skip*)
	  ;; Column deletion left a dangling skip.
	  (ses-set-cell row 0 'value nil))
      (dotimes (col ses--numcols)
	(ses-print-cell row col))
      (beginning-of-line 2))
    (ses-jump-safe startcell)))