From: Magnus H. <leg...@us...> - 2008-05-30 20:43:38
|
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))) |