Function: ses--unbind-cell-name

ses--unbind-cell-name is a byte-compiled function defined in ses.el.gz.

Signature

(ses--unbind-cell-name NAME)

Documentation

Make NAME non longer a renamed cell name.

Source Code

;; Defined in /usr/src/emacs/lisp/ses.el.gz
(defun ses--unbind-cell-name (name)
  "Make NAME non longer a renamed cell name."
  (remhash name ses--named-cell-hashmap)
  (kill-local-variable name)
  ;; remove symbol property 'ses-cell from symbol NAME, unless this
  ;; symbol is also a renamed cell name in another SES buffer.
  (let (used-elsewhere (buffer-list ses--ses-buffer-list) buf)
    (while buffer-list
      (setq buf (pop buffer-list))
      (cond
       ((eq buf (current-buffer)))
       ;; This case should not happen, some SES buffer has been
       ;; killed without the ses-killbuffer-hook being called.
       ((null (buffer-live-p buf))
        ;; Silently repair ses--ses-buffer-list
        (setq ses--ses-buffer-list (delq buf ses--ses-buffer-list)))
       (t
        (with-current-buffer buf
          (when (gethash name ses--named-cell-hashmap)
            (setq used-elsewhere t
                  buffer-list nil))))))
    (unless used-elsewhere
      (setplist name (ses-plist-delq (symbol-plist name) 'ses-cell))) ))