Function: ses-read-printer

ses-read-printer is a byte-compiled function defined in ses.el.gz.

Signature

(ses-read-printer PROMPT DEFAULT)

Documentation

Common code for functions ses-read-cell-printer, ses-read-column-printer, ses-read-default-printer and ses-define-local-printer. PROMPT should end with ": ". Result is t if operation was canceled.

Source Code

;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-read-printer (prompt default)
  "Common code for functions `ses-read-cell-printer', `ses-read-column-printer',
`ses-read-default-printer' and `ses-define-local-printer'.
PROMPT should end with \": \".  Result is t if operation was
canceled."
  (barf-if-buffer-read-only)
  (if (eq default t)
      (setq default "")
    (setq prompt (format-prompt prompt default)))
  (dolist (key ses-completion-keys)
    (define-key ses-mode-edit-map key 'ses-read-printer-complete-symbol))
  ;; make it globally visible, so that it can be visible from the minibuffer.
  (setq ses--completion-table ses--local-printer-hashmap)
  (let ((new (read-from-minibuffer prompt
				   nil ; Initial contents.
				   ses-mode-edit-map
				   t   ; Evaluate the result.
				   'ses-read-printer-history
				   (prin1-to-string default))))
    (if (equal new default)
	;; User changed mind, decided not to change printer.
	(setq new t)
      (ses-printer-validate new)
      (or (not new)
	  (stringp new)
	  (stringp (car-safe new))
	  (and (symbolp new) (gethash new ses--local-printer-hashmap))
	  (ses-warn-unsafe new 'unsafep-function)
	  (setq new t)))
    new))