Mercurial > emacs
changeset 12461:578abe49e2d3
(talk-disconnect): Make it interactive.
(talk-add-display): Ignore dead buffers and deleted frames.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 01 Jul 1995 19:40:13 +0000 |
parents | 1e12a802df2b |
children | 5b4022385032 |
files | lisp/talk.el |
diffstat | 1 files changed, 10 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/talk.el Sat Jul 01 19:21:49 1995 +0000 +++ b/lisp/talk.el Sat Jul 01 19:40:13 1995 +0000 @@ -43,17 +43,19 @@ (talk-update-buffers)) (defun talk-add-display (display) - (or (assoc display talk-display-alist) - (let* ((name (concat "*talk-" display "*")) - (buffer (get-buffer-create name)) - (frame (make-frame-on-display display - (list (cons 'name name))))) - (setq talk-display-alist - (cons (list display frame buffer) - talk-display-alist))))) + (let* ((elt (assoc display talk-display-alist)) + (name (concat "*talk-" display "*")) + buffer frame) + (if (not (and elt (frame-live-p (setq frame (nth 1 elt))))) + (setq frame (make-frame-on-display display (list (cons 'name name))))) + (if (not (and elt (buffer-name (get-buffer (setq buffer (nth 2 elt)))))) + (setq buffer (get-buffer-create name))) + (setq talk-display-alist + (cons (list display frame buffer) (delq elt talk-display-alist))))) (defun talk-disconnect () "Disconnect this display from the Emacs talk group." + (interactive) (let* ((mydisp (cdr (assq 'display (frame-parameters (selected-frame))))) (elt (assoc mydisp talk-display-alist))) (delete-frame (nth 1 elt))