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 (and ses--named-cell-hashmap (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))) ))