Function: ses-list-named-cells

ses-list-named-cells is an interactive and byte-compiled function defined in ses.el.gz.

Signature

(ses-list-named-cells &optional NAMED-CELL-HASHMAP)

Documentation

List named cells in a help buffer.

Can be called either during editing a printer or a formula, or while in the SES buffer.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses-list-named-cells (&optional named-cell-hashmap)
  "List named cells in a help buffer.
Can be called either during editing a printer or a formula, or
while in the SES buffer."
  (interactive
   (list (cond
          ((derived-mode-p 'ses-mode) ses--named-cell-hashmap)
          ((minibufferp) ses--completion-table)
          ((derived-mode-p 'help-mode) nil)
          (t (user-error "Not in a SES buffer")))))
  (if named-cell-hashmap
    (let ((ses--list-orig-buffer (or ses--list-orig-buffer (current-buffer))))
      (help-setup-xref
       (list (lambda (named-cell-hashmap buffer)
               (let ((ses--list-orig-buffer
                      (if (buffer-live-p buffer) buffer)))
                 (ses-list-named-cells named-cell-hashmap)))
             named-cell-hashmap ses--list-orig-buffer)
       (called-interactively-p 'interactive))

      (save-excursion
        (with-help-window (help-buffer)
          (if (= 0 (hash-table-count named-cell-hashmap))
              (princ "No cell was renamed.")
            (princ "List of named cells definitions:\n")
            (maphash (lambda (key val)
                       (princ key)
                       (princ " for ")
                       (prin1 (ses-create-cell-symbol (car val) (cdr val)))
                       (princ "\n"))
                     named-cell-hashmap))
          (with-current-buffer standard-output
            (buffer-string)))))
    (message "No named cell found")))