aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1995-07-01 19:40:13 +0000
committerRichard M. Stallman1995-07-01 19:40:13 +0000
commitc2bef98549811f2146cd9cbd5b34ad125ba4ddfb (patch)
tree058e34e4277088330c72fa0f27e8bb1bd569cb9e
parent19deb21efeb9fca0a97e9d33dad19c1eb827c689 (diff)
downloademacs-c2bef98549811f2146cd9cbd5b34ad125ba4ddfb.tar.gz
emacs-c2bef98549811f2146cd9cbd5b34ad125ba4ddfb.zip
(talk-disconnect): Make it interactive.
(talk-add-display): Ignore dead buffers and deleted frames.
-rw-r--r--lisp/talk.el18
1 files changed, 10 insertions, 8 deletions
diff --git a/lisp/talk.el b/lisp/talk.el
index a4d3d1cfd58..74ed9ba0bef 100644
--- a/lisp/talk.el
+++ b/lisp/talk.el
@@ -43,17 +43,19 @@ Each element has the form (DISPLAY FRAME BUFFER).")
43 (talk-update-buffers)) 43 (talk-update-buffers))
44 44
45(defun talk-add-display (display) 45(defun talk-add-display (display)
46 (or (assoc display talk-display-alist) 46 (let* ((elt (assoc display talk-display-alist))
47 (let* ((name (concat "*talk-" display "*")) 47 (name (concat "*talk-" display "*"))
48 (buffer (get-buffer-create name)) 48 buffer frame)
49 (frame (make-frame-on-display display 49 (if (not (and elt (frame-live-p (setq frame (nth 1 elt)))))
50 (list (cons 'name name))))) 50 (setq frame (make-frame-on-display display (list (cons 'name name)))))
51 (setq talk-display-alist 51 (if (not (and elt (buffer-name (get-buffer (setq buffer (nth 2 elt))))))
52 (cons (list display frame buffer) 52 (setq buffer (get-buffer-create name)))
53 talk-display-alist))))) 53 (setq talk-display-alist
54 (cons (list display frame buffer) (delq elt talk-display-alist)))))
54 55
55(defun talk-disconnect () 56(defun talk-disconnect ()
56 "Disconnect this display from the Emacs talk group." 57 "Disconnect this display from the Emacs talk group."
58 (interactive)
57 (let* ((mydisp (cdr (assq 'display (frame-parameters (selected-frame))))) 59 (let* ((mydisp (cdr (assq 'display (frame-parameters (selected-frame)))))
58 (elt (assoc mydisp talk-display-alist))) 60 (elt (assoc mydisp talk-display-alist)))
59 (delete-frame (nth 1 elt)) 61 (delete-frame (nth 1 elt))