Function: ses-call-printer
ses-call-printer is a byte-compiled function defined in ses.el.gz.
Signature
(ses-call-printer PRINTER &optional VALUE)
Documentation
Invoke PRINTER (a string or parenthesized string or function-symbol or
lambda of one argument) on VALUE. Result is the printed cell as a string.
The variable ses-call-printer-return is set to t if the printer used
parenthesis to request left-justification, or the error-signal if the
printer signaled one (and "%s" is used as the default printer), else nil.
Source Code
;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-call-printer (printer &optional value)
"Invoke PRINTER (a string or parenthesized string or function-symbol or
lambda of one argument) on VALUE. Result is the printed cell as a string.
The variable `ses-call-printer-return' is set to t if the printer used
parenthesis to request left-justification, or the error-signal if the
printer signaled one (and \"%s\" is used as the default printer), else nil."
(setq ses-call-printer-return nil)
(condition-case signal
(cond
((stringp printer)
(if value
(format printer value)
""))
((stringp (car-safe printer))
(setq ses-call-printer-return t)
(if value
(format (car printer) value)
""))
(t
(setq value
(funcall
(or (and (symbolp printer)
(let ((locprn (gethash printer
ses--local-printer-hashmap)))
(and locprn
(ses--locprn-compiled locprn))))
printer)
value))
(if (stringp value)
value
(or (stringp (car-safe value))
(error "Printer should return \"string\" or (\"string\")"))
(setq ses-call-printer-return t)
(car value))))
(error
(setq ses-call-printer-return signal)
(ses-prin1 value))))