Function: ses-edit-cell

ses-edit-cell is an interactive and byte-compiled function defined in ses.el.gz.

Signature

(ses-edit-cell ROW COL NEWVAL)

Documentation

Display current cell contents in minibuffer, for editing.

Return nil if cell formula was unsafe and user declined confirmation.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-edit-cell (row col newval)
  "Display current cell contents in minibuffer, for editing.
Return nil if cell formula was unsafe and user declined confirmation."
  (interactive
   (progn
     (barf-if-buffer-read-only)
     (ses-check-curcell)
     (let* ((rowcol  (ses-sym-rowcol ses--curcell))
	    (row     (car rowcol))
	    (col     (cdr rowcol))
	    (formula (ses-cell-formula row col))
	    initial print-level print-length)
       (if (eq (car-safe formula) 'ses-safe-formula)
	   (setq formula (cadr formula)))
       (if (eq (car-safe formula) 'quote)
	   (setq initial (format "'%S" (cadr formula)))
	 (setq initial (prin1-to-string formula)))
       (if (stringp formula)
	   ;; Position cursor inside close-quote.
	   (setq initial (cons initial (length initial))))
       (dolist (key ses-completion-keys)
         (define-key ses-mode-edit-map key #'ses-edit-cell-complete-symbol))
       ;; make it globally visible, so that it can be visible from the minibuffer.
       (setq ses--completion-table ses--named-cell-hashmap)
       (list row col
	     (read-from-minibuffer (format "Cell %s: " ses--curcell)
				   initial
				   ses-mode-edit-map
				   t ; Convert to Lisp object.
				   'ses-read-cell-history)))))
  (when (ses-warn-unsafe newval 'unsafep)
    (ses-begin-change)
    (ses-cell-set-formula row col newval)
    t))