From: Magnus H. <leg...@us...> - 2008-03-27 16:09:25
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24386 Modified Files: jabber.el jabber-core.el jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-473 Creator: Magnus Henoch <ma...@fr...> Don't reset presence when new account connects Connecting a new account used to call jabber-send-default-presence, which resets any custom presence sent (including autoaway). Now jabber-send-current-presence is used instead. Fixes bug #1870437. Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- jabber-core.el 5 Mar 2008 12:05:49 -0000 1.86 +++ jabber-core.el 27 Mar 2008 16:09:13 -0000 1.87 @@ -66,7 +66,7 @@ (defgroup jabber-core nil "customize core functionality" :group 'jabber) -(defcustom jabber-post-connect-hooks '(jabber-send-default-presence +(defcustom jabber-post-connect-hooks '(jabber-send-current-presence jabber-muc-autojoin) "*Hooks run after successful connection and authentication. The functions should accept one argument, the connection object." Index: jabber.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- jabber.el 3 Feb 2008 05:50:32 -0000 1.81 +++ jabber.el 27 Mar 2008 16:09:13 -0000 1.82 @@ -1,6 +1,6 @@ ;; jabber.el - a minimal jabber client -;; Copyright (C) 2003, 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; SSL - Support, mostly inspired by Gnus @@ -182,13 +182,13 @@ result as arguments." nil) -(defvar *jabber-current-status* "" +(defvar *jabber-current-status* nil "the users current presence staus") -(defvar *jabber-current-show* "" +(defvar *jabber-current-show* nil "the users current presence show") -(defvar *jabber-current-priority* 10 +(defvar *jabber-current-priority* nil "the user's current priority") (defvar *jabber-status-history* nil Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- jabber-presence.el 4 Mar 2008 07:23:27 -0000 1.46 +++ jabber-presence.el 27 Mar 2008 16:09:13 -0000 1.47 @@ -411,6 +411,17 @@ ;; jabber-post-connect-hooks. (jabber-send-presence jabber-default-show jabber-default-status jabber-default-priority)) +(defun jabber-send-current-presence (&optional jc) + "(Re-)send current presence. +That is, if presence has already been sent, use current settings, +else send defaults (see `jabber-send-default-presence')." + (interactive) + ;; jc is ignored. It's only there so this function can be in + ;; jabber-post-connect-hooks. + (if *jabber-current-show* + (jabber-send-presence *jabber-current-show* *jabber-current-status* *jabber-current-priority*) + (jabber-send-default-presence))) + (add-to-list 'jabber-jid-roster-menu (cons "Send subscription request" 'jabber-send-subscription-request)) (defun jabber-send-subscription-request (jc to &optional request) |