Update of /cvsroot/emacs-jabber/emacs-jabber
In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6487
Modified Files:
jabber-conn.el jabber.el jabber-core.el
Log Message:
Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-512
Creator: Magnus Henoch <ma...@fr...>
Kill process buffers when a process dies, unless wanted for debugging reasons
Index: jabber-core.el
===================================================================
RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- jabber-core.el 24 Apr 2008 02:19:29 -0000 1.89
+++ jabber-core.el 30 May 2008 20:43:29 -0000 1.90
@@ -255,7 +255,11 @@
;; Close the network connection.
(let ((connection (plist-get state-data :connection)))
(when (processp connection)
- (delete-process connection)))
+ (let ((process-buffer (process-buffer connection)))
+ (delete-process connection)
+ (when (and (bufferp process-buffer)
+ (not jabber-debug-keep-process-buffers))
+ (kill-buffer process-buffer)))))
(setq state-data (plist-put state-data :connection nil))
;; Remove lost connections from the roster buffer.
(jabber-display-roster)
Index: jabber.el
===================================================================
RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -d -r1.87 -r1.88
--- jabber.el 24 Apr 2008 02:19:29 -0000 1.87
+++ jabber.el 30 May 2008 20:43:29 -0000 1.88
@@ -194,6 +194,12 @@
:type 'boolean
:group 'jabber-debug)
+(defcustom jabber-debug-keep-process-buffers nil
+ "If nil, kill process buffers when the process dies.
+Contents of process buffers might be useful for debugging."
+ :type 'boolean
+ :group 'jabber-debug)
+
(defconst jabber-presence-faces
'(("" . jabber-roster-user-online)
("away" . jabber-roster-user-away)
Index: jabber-conn.el
===================================================================
RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-conn.el,v
retrieving revision 2.12
retrieving revision 2.13
diff -u -d -r2.12 -r2.13
--- jabber-conn.el 17 Sep 2007 12:26:16 -0000 2.12
+++ jabber-conn.el 30 May 2008 20:43:29 -0000 2.13
@@ -123,12 +123,18 @@
(catch 'connected
(dolist (target targets)
(condition-case e
- (let ((connection
- (open-network-stream
- "jabber"
- (generate-new-buffer jabber-process-buffer)
- (car target)
- (cdr target))))
+ (let ((process-buffer (generate-new-buffer jabber-process-buffer))
+ connection)
+ (unwind-protect
+ (setq connection (open-network-stream
+ "jabber"
+ process-buffer
+ (car target)
+ (cdr target)))
+
+ (unless (or connection jabber-debug-keep-process-buffers)
+ (kill-buffer process-buffer)))
+
(when connection
(fsm-send fsm (list :connected connection))
(throw 'connected connection)))
@@ -161,12 +167,16 @@
'open-ssl-stream)
(t
(error "Neither TLS nor SSL connect functions available")))))
- (let ((connection
- (funcall connect-function
- "jabber"
- (generate-new-buffer jabber-process-buffer)
- (or network-server server)
- (or port 5223))))
+ (let ((process-buffer (generate-new-buffer jabber-process-buffer))
+ connection)
+ (unwind-protect
+ (setq connection (funcall connect-function
+ "jabber"
+ process-buffer
+ (or network-server server)
+ (or port 5223)))
+ (unless (or connection jabber-debug-keep-process-buffers)
+ (kill-buffer process-buffer)))
(if connection
(fsm-send fsm (list :connected connection))
(fsm-send fsm :connection-failed)))))
@@ -190,12 +200,17 @@
(catch 'connected
(dolist (target targets)
(condition-case e
- (let ((connection
- (starttls-open-stream
- "jabber"
- (generate-new-buffer jabber-process-buffer)
- (car target)
- (cdr target))))
+ (let ((process-buffer (generate-new-buffer jabber-process-buffer))
+ connection)
+ (unwind-protect
+ (setq connection
+ (starttls-open-stream
+ "jabber"
+ process-buffer
+ (car target)
+ (cdr target)))
+ (unless (or connection jabber-debug-keep-process-buffers)
+ (kill-buffer process-buffer)))
(when connection
(fsm-send fsm (list :connected connection))
(throw 'connected connection)))
|