You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(13) |
Jun
(3) |
Jul
(4) |
Aug
(30) |
Sep
(17) |
Oct
(2) |
Nov
(6) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(9) |
Feb
(30) |
Mar
(22) |
Apr
(23) |
May
(25) |
Jun
(25) |
Jul
(4) |
Aug
(21) |
Sep
(16) |
Oct
(44) |
Nov
(15) |
Dec
(3) |
2009 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
(3) |
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(4) |
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(10) |
Dec
|
2014 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(2) |
Aug
(6) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(2) |
2015 |
Jan
(1) |
Feb
(2) |
Mar
(2) |
Apr
(6) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Magnus H. <leg...@us...> - 2008-06-17 14:52:29
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv15439 Modified Files: jabber.el jabber-bookmarks.el jabber-chat.el jabber-history.el jabber-muc.el jabber-avatar.el jabber-events.el jabber-chatstates.el jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-542 Creator: Magnus Henoch <ma...@fr...> More autoloading and un-warning Index: jabber-chatstates.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chatstates.el,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- jabber-chatstates.el 26 Oct 2007 14:34:16 -0000 1.3 +++ jabber-chatstates.el 17 Jun 2008 14:52:23 -0000 1.4 @@ -22,6 +22,7 @@ ;; - Currently only active/composing notifications are /sent/ though all 5 ;; notifications are handled on receipt. +(require 'jabber-autoloads) (require 'cl) (defgroup jabber-chatstates nil @@ -31,9 +32,18 @@ (defconst jabber-chatstates-xmlns "http://jabber.org/protocol/chatstates" "XML namespace for the chatstates feature.") -;;; INCOMING -;;; Code for requesting chat state notifications from others and handling -;;; them. +(defcustom jabber-chatstates-confirm t + "Send notifications about chat states?" + :group 'jabber-chatstates + :type 'boolean) + +(defvar jabber-chatstates-requested 'first-time + "Whether or not chat states notification was requested. +This is one of the following: +first-time - send state in first stanza, then switch to nil +t - send states +nil - don't send states") +(make-variable-buffer-local 'jabber-chatstates-requested) (defvar jabber-chatstates-last-state nil "The last seen chat state.") @@ -43,6 +53,10 @@ "Human-readable presentation of chat state information") (make-variable-buffer-local 'jabber-chatstates-message) +;;; INCOMING +;;; Code for requesting chat state notifications from others and handling +;;; them. + (defun jabber-chatstates-update-message () (setq jabber-chatstates-message (if (and jabber-chatstates-last-state @@ -65,19 +79,6 @@ ;;; Code for handling requests for chat state notifications and providing ;;; them, modulo user preferences. -(defcustom jabber-chatstates-confirm t - "Send notifications about chat states?" - :group 'jabber-chatstates - :type 'boolean) - -(defvar jabber-chatstates-requested 'first-time - "Whether or not chat states notification was requested. -This is one of the following: -first-time - send state in first stanza, then switch to nil -t - send states -nil - don't send states") -(make-variable-buffer-local 'jabber-chatstates-requested) - (defvar jabber-chatstates-composing-sent nil "Has composing notification been sent? It can be sent and cancelled several times.") Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.91 retrieving revision 1.92 diff -u -d -r1.91 -r1.92 --- jabber-chat.el 17 Jun 2008 14:51:41 -0000 1.91 +++ jabber-chat.el 17 Jun 2008 14:52:22 -0000 1.92 @@ -21,6 +21,7 @@ (require 'jabber-core) (require 'jabber-chatbuffer) (require 'jabber-history) +(require 'jabber-autoloads) (require 'ewoc) (eval-when-compile (require 'cl)) @@ -167,6 +168,7 @@ "Face used for error messages" :group 'jabber-chat) +;;;###autoload (defvar jabber-chatting-with nil "JID of the person you are chatting with") Index: jabber-avatar.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-avatar.el,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- jabber-avatar.el 8 Aug 2007 11:59:01 -0000 1.9 +++ jabber-avatar.el 17 Jun 2008 14:52:22 -0000 1.10 @@ -1,6 +1,6 @@ ;;; jabber-avatar.el --- generic functions for avatars -;; Copyright (C) 2006, 2007 Magnus Henoch +;; Copyright (C) 2006, 2007, 2008 Magnus Henoch ;; Author: Magnus Henoch <ma...@fr...> @@ -32,6 +32,7 @@ ;;; Code: +(require 'mailcap) (eval-when-compile (require 'cl)) ;;;; Variables Index: jabber.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- jabber.el 17 Jun 2008 14:51:40 -0000 1.90 +++ jabber.el 17 Jun 2008 14:52:21 -0000 1.91 @@ -194,17 +194,20 @@ (defgroup jabber-debug nil "debugging options" :group 'jabber) +;;;###autoload (defcustom jabber-debug-log-xml nil "log all XML i/o in *-jabber-xml-log-*" :type 'boolean :group 'jabber-debug) +;;;###autoload (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) +;;;###autoload (defconst jabber-presence-faces '(("" . jabber-roster-user-online) ("away" . jabber-roster-user-away) @@ -215,6 +218,7 @@ (nil . jabber-roster-user-offline)) "Mapping from presence types to faces") +;;;###autoload (defconst jabber-presence-strings '(("" . "Online") ("away" . "Away") Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- jabber-presence.el 17 Jun 2008 14:51:41 -0000 1.49 +++ jabber-presence.el 17 Jun 2008 14:52:23 -0000 1.50 @@ -405,6 +405,7 @@ (jabber-read-with-input-method "status message: " *jabber-current-status* '*jabber-status-history*)))) (jabber-send-presence "xa" status *jabber-current-priority*)) +;;;###autoload (defun jabber-send-default-presence (&optional jc) "Send default presence. Default presence is specified by `jabber-default-priority', `jabber-default-show', Index: jabber-events.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-events.el,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- jabber-events.el 16 Jan 2008 17:48:18 -0000 1.12 +++ jabber-events.el 17 Jun 2008 14:52:23 -0000 1.13 @@ -19,6 +19,7 @@ ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. +(require 'jabber-autoloads) (require 'cl) (defgroup jabber-events nil Index: jabber-history.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-history.el,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- jabber-history.el 15 May 2008 23:36:28 -0000 1.31 +++ jabber-history.el 17 Jun 2008 14:52:22 -0000 1.32 @@ -33,6 +33,7 @@ (require 'jabber-core) (require 'jabber-util) +(require 'jabber-autoloads) (defgroup jabber-history nil "Customization options for Emacs Jabber history files." Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- jabber-muc.el 17 Jun 2008 14:51:41 -0000 1.80 +++ jabber-muc.el 17 Jun 2008 14:52:22 -0000 1.81 @@ -22,6 +22,7 @@ (require 'jabber-chat) (require 'jabber-widget) (require 'jabber-newdisco) +(require 'jabber-autoloads) (require 'cl) @@ -48,6 +49,7 @@ (defvar jabber-muc-topic "" "The topic of the current MUC room.") +;;;###autoload (defcustom jabber-muc-default-nicknames nil "Default nickname for specific MUC rooms." :group 'jabber-chat @@ -56,6 +58,7 @@ (string :tag "JID of room") (string :tag "Nickname")))) +;;;###autoload (defcustom jabber-muc-autojoin nil "List of MUC rooms to automatically join on connection. This list is saved in your Emacs customizations. You can also store @@ -136,6 +139,7 @@ :type 'sexp :group 'jabber-chat) +;;;###autoload (defvar jabber-muc-printers '() "List of functions that may be able to print part of a MUC message. This gets prepended to `jabber-chat-printers', which see.") @@ -710,6 +714,7 @@ (or (plist-get bookmark :nick) (plist-get (fsm-get-state-data jc) :username))))))))) +;;;###autoload (defun jabber-muc-message-p (message) "Return non-nil if MESSAGE is a groupchat message. That does not include private messages in a groupchat, but does Index: jabber-bookmarks.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-bookmarks.el,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- jabber-bookmarks.el 17 Jun 2008 14:46:42 -0000 1.12 +++ jabber-bookmarks.el 17 Jun 2008 14:52:22 -0000 1.13 @@ -20,6 +20,7 @@ (require 'jabber-private) (require 'jabber-widget) +(require 'jabber-autoloads) (require 'cl) @@ -60,6 +61,7 @@ (plist-get entry key) entry))) +;;;###autoload (defun jabber-parse-conference-bookmark (node) "Convert a <conference/> tag into a plist. The plist may contain the keys :jid, :name, :autojoin, |
From: Magnus H. <leg...@us...> - 2008-06-17 14:51:50
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14972 Modified Files: jabber-alert.el jabber.el jabber-chat.el jabber-muc.el jabber-chatbuffer.el jabber-ahc-presence.el jabber-presence.el jabber-ahc.el jabber-activity.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-541 Creator: Magnus Henoch <ma...@fr...> Add more autoloads and use them (to silence incorrect warnings) Index: jabber-ahc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-ahc.el,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- jabber-ahc.el 15 Apr 2007 23:53:00 -0000 1.12 +++ jabber-ahc.el 17 Jun 2008 14:51:42 -0000 1.13 @@ -1,6 +1,6 @@ ;; jabber-ahc.el - Ad-Hoc Commands by JEP-0050 -;; 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... ;; This file is a part of jabber.el. @@ -21,6 +21,7 @@ (require 'jabber-disco) (require 'jabber-widget) +(require 'jabber-autoloads) (defvar jabber-ahc-sessionid nil "session id of Ad-Hoc Command session") Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- jabber-presence.el 17 Jun 2008 14:46:23 -0000 1.48 +++ jabber-presence.el 17 Jun 2008 14:51:41 -0000 1.49 @@ -25,6 +25,7 @@ (require 'jabber-util) (require 'jabber-menu) (require 'jabber-muc) +(require 'jabber-autoloads) (require 'assoc) @@ -285,6 +286,7 @@ (setq count (1+ count)))) count)) +;;;###autoload (defun jabber-send-presence (show status priority) "Set presence for all accounts." (interactive (list (completing-read "show:" Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- jabber-chat.el 1 Mar 2008 21:58:08 -0000 1.90 +++ jabber-chat.el 17 Jun 2008 14:51:41 -0000 1.91 @@ -209,6 +209,7 @@ "Float-time of earliest backlog entry inserted into buffer. nil if no backlog has been inserted.") +;;;###autoload (defun jabber-chat-get-buffer (chat-with) "Return the chat buffer for chatting with CHAT-WITH (bare or full JID). Either a string or a buffer is returned, so use `get-buffer' or Index: jabber-ahc-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-ahc-presence.el,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- jabber-ahc-presence.el 15 Apr 2007 23:53:00 -0000 1.6 +++ jabber-ahc-presence.el 17 Jun 2008 14:51:41 -0000 1.7 @@ -1,6 +1,6 @@ ;; jabber-ahc-presence.el - provide remote control of presence -;; 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... ;; This file is a part of jabber.el. @@ -20,6 +20,7 @@ ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (require 'jabber-ahc) +(require 'jabber-autoloads) (defconst jabber-ahc-presence-node "http://jabber.org/protocol/rc#set-status" "Node used by jabber-ahc-presence") Index: jabber-activity.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-activity.el,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- jabber-activity.el 21 Feb 2008 15:29:45 -0000 1.33 +++ jabber-activity.el 17 Jun 2008 14:51:42 -0000 1.34 @@ -42,6 +42,7 @@ (require 'jabber-core) (require 'jabber-alert) (require 'jabber-util) +(require 'jabber-autoloads) (require 'cl) (defgroup jabber-activity nil Index: jabber-chatbuffer.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chatbuffer.el,v retrieving revision 2.14 retrieving revision 2.15 diff -u -d -r2.14 -r2.15 --- jabber-chatbuffer.el 20 Mar 2007 16:13:20 -0000 2.14 +++ jabber-chatbuffer.el 17 Jun 2008 14:51:41 -0000 2.15 @@ -1,6 +1,6 @@ ;; jabber-chatbuffer.el - functions common to all chat buffers -;; Copyright (C) 2005, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2005, 2007, 2008 - Magnus Henoch - ma...@fr... ;; This file is a part of jabber.el. @@ -41,8 +41,10 @@ (defvar jabber-chat-ewoc nil "The ewoc showing the messages of this chat buffer.") +;;;###autoload (defvar jabber-buffer-connection nil "The connection used by this buffer.") +;;;###autoload (make-variable-buffer-local 'jabber-buffer-connection) (defun jabber-chat-mode (jc ewoc-pp) Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- jabber-muc.el 17 Jun 2008 14:48:45 -0000 1.79 +++ jabber-muc.el 17 Jun 2008 14:51:41 -0000 1.80 @@ -25,6 +25,7 @@ (require 'cl) +;;;###autoload (defvar *jabber-active-groupchats* nil "alist of groupchats and nicknames Keys are strings, the bare JID of the room. @@ -139,6 +140,7 @@ "List of functions that may be able to print part of a MUC message. This gets prepended to `jabber-chat-printers', which see.") +;;;###autoload (defun jabber-muc-get-buffer (group) "Return the chat buffer for chatroom GROUP. Either a string or a buffer is returned, so use `get-buffer' or @@ -163,6 +165,7 @@ (setq header-line-format jabber-muc-header-line-format) (current-buffer))) +;;;###autoload (defun jabber-muc-private-get-buffer (group nickname) "Return the chat buffer for private chat with NICKNAME in GROUP. Either a string or a buffer is returned, so use `get-buffer' or @@ -722,11 +725,13 @@ (gethash (jabber-jid-symbol from) jabber-pending-groupchats)) (jabber-xml-path message '(("http://jabber.org/protocol/muc#user" . "x") invite))))) +;;;###autoload (defun jabber-muc-sender-p (jid) "Return non-nil if JID is a full JID of an MUC participant." (and (assoc (jabber-jid-user jid) *jabber-active-groupchats*) (jabber-jid-resource jid))) +;;;###autoload (defun jabber-muc-private-message-p (message) "Return non-nil if MESSAGE is a private message in a groupchat." (let ((from (jabber-xml-get-attribute message 'from)) Index: jabber-alert.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-alert.el,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- jabber-alert.el 20 Apr 2008 06:21:41 -0000 1.34 +++ jabber-alert.el 17 Jun 2008 14:51:40 -0000 1.35 @@ -1,6 +1,6 @@ ;; jabber-alert.el - alert hooks -;; Copyright (C) 2003, 2004, 2005, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2005, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; This file is a part of jabber.el. @@ -20,6 +20,7 @@ ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (require 'jabber-util) +(require 'jabber-autoloads) (require 'cl) Index: jabber.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v retrieving revision 1.89 retrieving revision 1.90 diff -u -d -r1.89 -r1.90 --- jabber.el 17 Jun 2008 14:49:20 -0000 1.89 +++ jabber.el 17 Jun 2008 14:51:40 -0000 1.90 @@ -88,6 +88,7 @@ (const :tag "Legacy SSL/TLS" ssl)))))) :group 'jabber) +;;;###autoload (defcustom jabber-default-show "" "default show state" :type '(choice (const :tag "Online" "") @@ -97,11 +98,13 @@ (const :tag "Do not disturb" "dnd")) :group 'jabber) +;;;###autoload (defcustom jabber-default-status "" "default status string" :type 'string :group 'jabber) +;;;###autoload (defcustom jabber-default-priority 10 "default priority" :type 'integer @@ -155,13 +158,15 @@ (require 'jabber-autoloads) - +;;;###autoload (defvar *jabber-current-status* nil "the users current presence staus") +;;;###autoload (defvar *jabber-current-show* nil "the users current presence show") +;;;###autoload (defvar *jabber-current-priority* nil "the user's current priority") |
From: Magnus H. <leg...@us...> - 2008-06-17 14:51:15
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14818 Modified Files: Makefile.am Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-540 Creator: Magnus Henoch <ma...@fr...> Clean up conditionally compiled elisp files Index: Makefile.am =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile.am 17 Jun 2008 14:49:21 -0000 1.7 +++ Makefile.am 17 Jun 2008 14:51:04 -0000 1.8 @@ -29,6 +29,8 @@ if USE_OUR_HEX_UTIL compat_lisp_sources += compat/hex-util.el endif +# automake gets confused and doesn't clean up these two compiled files. +CLEANFILES=sha1.elc hex-util.elc dist_lisp_LISP=$(my_lisp_sources) $(compat_lisp_sources) jabber-autoloads.el jabber-ourversion.el MAINTAINERCLEANFILES=jabber-autoloads.el @@ -55,7 +57,7 @@ # Package everything in a form suitable for ELPA. That is, use # "jabber" instead of "emacs-jabber" as base name. -CLEANFILES = jabber-pkg.el +CLEANFILES += jabber-pkg.el elpa: dist rm -rf emacs-jabber-$(PACKAGE_VERSION) jabber-$(PACKAGE_VERSION) $(AMTAR) xzf emacs-jabber-$(PACKAGE_VERSION).tar.gz |
From: Magnus H. <leg...@us...> - 2008-06-17 14:50:46
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14501/tests Modified Files: nick-change-fail.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-539 Creator: Magnus Henoch <ma...@fr...> Avoid errors in nick-change-fail error reporting Index: nick-change-fail.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/tests/nick-change-fail.el,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- nick-change-fail.el 17 Jun 2008 14:49:52 -0000 1.2 +++ nick-change-fail.el 17 Jun 2008 14:50:42 -0000 1.3 @@ -80,7 +80,10 @@ (princ "Conversation was:\n") (with-current-buffer "*-ja...@mo...-*" (princ (buffer-string))) - (princ "Contents of groupchat buffer:\n") - (with-current-buffer (jabber-muc-get-buffer ncf-room-name) - (princ (buffer-string))) + (let ((muc-buffer (get-buffer (jabber-muc-get-buffer ncf-room-name)))) + (if muc-buffer + (with-current-buffer muc-buffer + (princ "Contents of groupchat buffer:\n") + (princ (buffer-string))) + (princ "Groupchat buffer not created.\n"))) (kill-emacs 1)) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:50:22
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14393/tests Modified Files: jabberd.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-538 Creator: Magnus Henoch <ma...@fr...> Fix jabberd.el for legacy authentication Index: jabberd.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/tests/jabberd.el,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- jabberd.el 17 Jun 2008 14:47:32 -0000 1.1 +++ jabberd.el 17 Jun 2008 14:50:17 -0000 1.2 @@ -12,7 +12,8 @@ indicating that it has handled the stanza.") (defvar jabberd-iq-get-handlers - '(("jabber:iq:roster" . jabberd-iq-empty-success)) + '(("jabber:iq:roster" . jabberd-iq-empty-success) + ("jabber:iq:auth" . jabberd-iq-auth-get)) "Alist of handlers for IQ get stanzas. The key is the namespace of the request (a string), and the value is a function to handle the request. The function takes two @@ -20,7 +21,8 @@ (defvar jabberd-iq-set-handlers '(("urn:ietf:params:xml:ns:xmpp-bind" . jabberd-iq-bind) - ("urn:ietf:params:xml:ns:xmpp-session" . jabberd-iq-empty-success)) + ("urn:ietf:params:xml:ns:xmpp-session" . jabberd-iq-empty-success) + ("jabber:iq:auth" . jabberd-iq-empty-success)) "Alist of handlers for IQ set stanzas. The key is the namespace of the request (a string), and the value is a function to handle the request. The function takes two @@ -65,6 +67,8 @@ (dolist (stanza stanzas) (cond ((stringp stanza) + ;; "Send" a stream start in return. + (fsm-send fsm (list :stream-start "42" "1.0")) ;; If we have a stream start, see whether it wants XMPP 1.0. ;; If so, send <stream:features>. (when (string-match "version=[\"']" stanza) @@ -124,4 +128,12 @@ (bind ((xmlns . "urn:ietf:params:xml:ns:xmpp-bind")) (jid () "ro...@mo.../Orchard")))))) +(defun jabberd-iq-auth-get (fsm stanza) + (jabber-xml-let-attributes (id) stanza + (jabberd-send + fsm + `(iq ((type . "result") (id . ,id)) + (query ((xmlns . "jabber:iq:auth")) + (username) (password) (digest) (resource)))))) + (provide 'jabberd) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:49:59
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13999/tests Modified Files: nick-change-fail.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-537 Creator: Magnus Henoch <ma...@fr...> Add timeout to nick-change-fail test Index: nick-change-fail.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/tests/nick-change-fail.el,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- nick-change-fail.el 17 Jun 2008 14:47:54 -0000 1.1 +++ nick-change-fail.el 17 Jun 2008 14:49:52 -0000 1.2 @@ -68,8 +68,9 @@ (jabberd-connect) -(while (not ncf-done) - (sit-for 0.1)) +(with-timeout (5 (error "Timeout")) + (while (not ncf-done) + (sit-for 0.1))) (when ncf-error (princ (format |
From: Magnus H. <leg...@us...> - 2008-06-17 14:49:28
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13933 Modified Files: jabber.el Makefile.am Added Files: jabber-autoloads.stub Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-535 Creator: Magnus Henoch <ma...@fr...> Fix building of jabber-autoloads under Emacs 21 Also, ensure that it does (provide 'jabber-autoloads), which lets us use `require'. --- NEW FILE: jabber-autoloads.stub --- ;;; jabber-autoloads.el --- automatically extracted autoloads ;; ;;; Code: (provide 'jabber-autoloads) ;; Local Variables: ;; version-control: never ;; no-byte-compile: t ;; no-update-autoloads: t ;; End: ;;; jabber-autoloads.el ends here Index: jabber.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- jabber.el 30 May 2008 20:43:29 -0000 1.88 +++ jabber.el 17 Jun 2008 14:49:20 -0000 1.89 @@ -153,7 +153,7 @@ (require 'jabber-wmii) (require 'jabber-osd) -(load "jabber-autoloads") +(require 'jabber-autoloads) (defvar *jabber-current-status* nil Index: Makefile.am =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile.am 1 Jun 2008 22:54:45 -0000 1.6 +++ Makefile.am 17 Jun 2008 14:49:21 -0000 1.7 @@ -40,7 +40,11 @@ # regenerated, which means that jabber-autoload.el is once again # considered new, which means that everything will be built again. # Suggestions welcome. +# +# Emacs 21 requires that the file already exist and have non-zero +# size, so we touch it with ancient timestamp. jabber-autoloads.el: $(my_lisp_sources) + test -s $@ || cp -f $(srcdir)/jabber-autoloads.stub $@; touch -t 197001030000 $@ $(EMACS) --batch --eval "(setq generated-autoload-file \"$(abs_builddir)/$@\")" -f batch-update-autoloads $(srcdir) info_TEXINFOS=jabber.texi |
From: Magnus H. <leg...@us...> - 2008-06-17 14:48:53
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13471 Modified Files: jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-534 Creator: Magnus Henoch <ma...@fr...> Remove debug output Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- jabber-muc.el 17 Jun 2008 14:48:25 -0000 1.78 +++ jabber-muc.el 17 Jun 2008 14:48:45 -0000 1.79 @@ -878,8 +878,6 @@ (status-code (if error-node (jabber-xml-get-attribute error-node 'code) (jabber-xml-get-attribute (car (jabber-xml-get-children x-muc 'status)) 'code)))) - (message "from: %s, type: %s, status-code: %s, error-node: %s" - from type status-code error-node) ;; handle leaving a room (cond ((or (string= type "unavailable") (string= type "error")) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:48:29
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13427 Modified Files: jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-533 Creator: Magnus Henoch <ma...@fr...> Improve handling of MUC nickname change errors Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- jabber-muc.el 9 Jun 2008 22:48:02 -0000 1.77 +++ jabber-muc.el 17 Jun 2008 14:48:25 -0000 1.78 @@ -874,32 +874,47 @@ (item (car (jabber-xml-get-children x-muc 'item))) (actor (jabber-xml-get-attribute (car (jabber-xml-get-children item 'actor)) 'jid)) (reason (car (jabber-xml-node-children (car (jabber-xml-get-children item 'reason))))) - (status-code (jabber-xml-get-attribute - (car (jabber-xml-get-children x-muc 'status)) - 'code)) - (error-node (car (jabber-xml-get-children presence 'error)))) + (error-node (car (jabber-xml-get-children presence 'error))) + (status-code (if error-node + (jabber-xml-get-attribute error-node 'code) + (jabber-xml-get-attribute (car (jabber-xml-get-children x-muc 'status)) 'code)))) + (message "from: %s, type: %s, status-code: %s, error-node: %s" + from type status-code error-node) ;; handle leaving a room (cond ((or (string= type "unavailable") (string= type "error")) ;; error from room itself? or are we leaving? (if (or (null nickname) (string= nickname (gethash (jabber-jid-symbol group) jabber-pending-groupchats))) - (let ((message (cond - ((string= type "error") - (concat "Error entering room" - (when error-node - (concat ": " (jabber-parse-error error-node))))) - ((equal status-code "301") - (concat "You have been banned" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - ((equal status-code "307") - (concat "You have been kicked" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - (t - "You have left the chatroom")))) - (jabber-muc-remove-groupchat group) + ;; Assume that an error means that we were thrown out of the + ;; room... + (let* ((leavingp t) + (message (cond + ((string= type "error") + (cond + ;; ...except for certain cases. + ((or (equal status-code "406") + (equal status-code "409")) + (setq leavingp nil) + (concat "Nickname change not allowed" + (when error-node + (concat ": " (jabber-parse-error error-node))))) + (t + (concat "Error entering room" + (when error-node + (concat ": " (jabber-parse-error error-node))))))) + ((equal status-code "301") + (concat "You have been banned" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + ((equal status-code "307") + (concat "You have been kicked" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + (t + "You have left the chatroom")))) + (when leavingp + (jabber-muc-remove-groupchat group)) ;; If there is no buffer for this groupchat, don't bother ;; creating one just to tell that user left the room. (let ((buffer (get-buffer (jabber-muc-get-buffer group)))) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:48:17
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv13381 Modified Files: jabber-xml.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-532 Creator: Magnus Henoch <ma...@fr...> Improve jabber-xml-skip-tag-forward for jabberd test Index: jabber-xml.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-xml.el,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- jabber-xml.el 17 Jun 2008 14:46:05 -0000 1.23 +++ jabber-xml.el 17 Jun 2008 14:48:09 -0000 1.24 @@ -94,10 +94,12 @@ "/>"))) xml)))) -(defun jabber-xml-skip-tag-forward () +(defun jabber-xml-skip-tag-forward (&optional dont-recurse-into-stream) "Skip to end of tag or matching closing tag if present. Return t iff after a closing tag, otherwise throws an 'unfinished tag with value nil. +If DONT-RECURSE-INTO-STREAM is true, stop after an opening +<stream:stream> tag. The version of `sgml-skip-tag-forward' in Emacs 21 isn't good enough for us." @@ -116,11 +118,12 @@ t) ((looking-at ">") (forward-char 1) - (loop - do (skip-chars-forward "^<") - until (looking-at (regexp-quote (concat "</" node-name ">"))) - do (jabber-xml-skip-tag-forward)) - (goto-char (match-end 0)) + (unless (and dont-recurse-into-stream (equal node-name "stream:stream")) + (loop + do (skip-chars-forward "^<") + until (looking-at (regexp-quote (concat "</" node-name ">"))) + do (jabber-xml-skip-tag-forward)) + (goto-char (match-end 0))) t) (t (throw 'unfinished nil))))) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:48:02
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12992/tests Modified Files: Makefile.am Added Files: nick-change-fail.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-531 Creator: Magnus Henoch <ma...@fr...> Test for misbehaviour on nick conflict (fails so far) Index: Makefile.am =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/tests/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile.am 31 May 2008 05:49:09 -0000 1.4 +++ Makefile.am 17 Jun 2008 14:47:54 -0000 1.5 @@ -1,3 +1,3 @@ -TESTS_ENVIRONMENT = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -L $(top_srcdir) -l -TESTS = load-all.el skip-tag-forward.el history.el +TESTS_ENVIRONMENT = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -L $(top_srcdir) -L $(srcdir) -l +TESTS = load-all.el skip-tag-forward.el history.el jabberd.el nick-change-fail.el dist_noinst_DATA = $(TESTS) --- NEW FILE: nick-change-fail.el --- ;;; When the user tries to change nickname in an MUC room, and the ;;; server denies this, we should detect this instead of believing ;;; that the user was thrown out of the room. (require 'jabberd) (defconst ncf-room-name "or...@ro...t" "The MUC room used for this test.") (defun ncf-presence (fsm stanza) "Stanza handler. This function is a very simple MUC implementation. It allows a user to enter the room named by `ncf-room-name' with the nick \"Romeo\"." (jabber-xml-let-attributes (to) stanza (when (and (eq (jabber-xml-node-name stanza) 'presence) (string= (jabber-jid-user to) ncf-room-name)) (let ((nick (jabber-jid-resource to))) ;; Allow only the nick Romeo (if (string= nick "Romeo") (jabberd-send fsm `(presence ((from . ,to)) (x ((xmlns . "http://jabber.org/protocol/muc#user")) (item ((affiliation . "none") (role . "participant")))))) (jabberd-send fsm `(presence ((from . ,to) (type . "error")) (x ((xmlns . "http://jabber.org/protocol/muc#user"))) (error ((code . "409") (type . "cancel")) (conflict ((xmlns . "urn:ietf:params:xml:ns:xmpp-stanzas"))))))))))) (add-hook 'jabberd-stanza-handlers 'ncf-presence) (add-hook 'jabber-post-connect-hooks 'ncf-do) (setq jabber-muc-disable-disco-check t) (setq jabber-debug-log-xml t) (defvar ncf-done nil) ;; We need an extra variable for the error, as errors from timers are ;; ignored. (defvar ncf-error nil) (defun ncf-assert (assert-this format &rest args) (unless assert-this (let ((msg (apply #'format format args))) (setq ncf-error msg) (error "%s" msg)))) (defun ncf-do (jc) (setq ncf-done t) (jabber-groupchat-join jc ncf-room-name "Romeo") ;; We need a delay here, so that the client can process the response ;; stanza. (sit-for 0.01) (let ((buffer (jabber-muc-get-buffer ncf-room-name))) (ncf-assert (get-buffer buffer) "Couldn't enter MUC room") (ncf-assert *jabber-active-groupchats* "Entering room not recorded") ;; Now, do an unallowed nickname change. (jabber-groupchat-join jc ncf-room-name "Mercutio") (sit-for 0.01) ;; We should still consider ourselves to be in the room as Romeo (ncf-assert (assoc ncf-room-name *jabber-active-groupchats*) "We thought we left the room, but we didn't") (ncf-assert (string= (cdr (assoc ncf-room-name *jabber-active-groupchats*)) "Romeo") "We thought we changed nickname, but we didn't"))) (jabberd-connect) (while (not ncf-done) (sit-for 0.1)) (when ncf-error (princ (format "nick-change-fail test FAILED: %s " ncf-error)) (princ "Conversation was:\n") (with-current-buffer "*-ja...@mo...-*" (princ (buffer-string))) (princ "Contents of groupchat buffer:\n") (with-current-buffer (jabber-muc-get-buffer ncf-room-name) (princ (buffer-string))) (kill-emacs 1)) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:47:35
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12942/tests Added Files: jabberd.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-530 Creator: Magnus Henoch <ma...@fr...> Framework for introspective testing --- NEW FILE: jabberd.el --- ;;; Test the client by capturing its input and output into a virtual ;;; jabber server. This is not a test in itself, but a framework for ;;; actual tests. (require 'jabber) (require 'cl) (defvar jabberd-stanza-handlers '(jabberd-sasl jabberd-iq) "List of stanza handler hooks. These functions are called in order with two arguments, the client FSM and the stanza, until one function returns non-nil, indicating that it has handled the stanza.") (defvar jabberd-iq-get-handlers '(("jabber:iq:roster" . jabberd-iq-empty-success)) "Alist of handlers for IQ get stanzas. The key is the namespace of the request (a string), and the value is a function to handle the request. The function takes two arguments, the client FSM and the stanza.") (defvar jabberd-iq-set-handlers '(("urn:ietf:params:xml:ns:xmpp-bind" . jabberd-iq-bind) ("urn:ietf:params:xml:ns:xmpp-session" . jabberd-iq-empty-success)) "Alist of handlers for IQ set stanzas. The key is the namespace of the request (a string), and the value is a function to handle the request. The function takes two arguments, the client FSM and the stanza.") (defun jabberd-connect () (setq *jabber-virtual-server-function* #'jabberd-handle) (jabber-connect "romeo" "montague.net" nil nil "foo" nil nil 'virtual)) (defun jabberd-handle (fsm text) ;; First, parse stanzas from text into sexps. (let (stanzas) (with-temp-buffer (insert text) (goto-char (point-min)) ;; Skip processing directive (when (looking-at "<\\?xml[^?]*\\?>") (delete-region (match-beginning 0) (match-end 0))) (catch 'unfinished (while t (push (if (prog1 (looking-at "<stream:stream") (jabber-xml-skip-tag-forward t)) ;; Stream start - just leave as a string (delete-and-extract-region (point-min) (point)) ;; Normal stanza (prog1 (car (xml-parse-region (point-min) (point))) (delete-region (point-min) (point)))) stanzas))) ;; Delete whitespace - it has already been skipped over by ;; jabber-xml-skip-tag-forward (let ((whitespace-starts (save-excursion (skip-chars-backward " \t\r\n") (point)))) (delete-region whitespace-starts (point))) (unless (= (buffer-size) 0) (error "Couldn't parse outgoing XML: %S; %S remaining" text (buffer-string)))) (setq stanzas (nreverse stanzas)) ;; Now, let's handle the stanza(s). (dolist (stanza stanzas) (cond ((stringp stanza) ;; If we have a stream start, see whether it wants XMPP 1.0. ;; If so, send <stream:features>. (when (string-match "version=[\"']" stanza) (jabberd-send fsm '(stream:features () ;; Interesting implementation details ;; of jabber.el permit us to send all ;; features at once, without caring about ;; which step we are at. (mechanisms ((xmlns . "urn:ietf:params:xml:ns:xmpp-sasl")) (mechanism () "DIGEST-MD5")) (bind ((xmlns . "urn:ietf:params:xml:ns:xmpp-bind"))) (session ((xmlns . "urn:ietf:params:xml:ns:xmpp-session"))))))) (t (run-hook-with-args-until-success 'jabberd-stanza-handlers fsm stanza)))))) (defun jabberd-send (fsm stanza) (jabber-log-xml fsm "receive" stanza) (fsm-send fsm (list :stanza stanza))) (defun jabberd-sasl (fsm stanza) "Pretend to authenticate the client by SASL." (when (eq (jabber-xml-node-name stanza) 'auth) (jabberd-send fsm '(success ((xmlns . "urn:ietf:params:xml:ns:xmpp-sasl")))) t)) (defun jabberd-iq (fsm stanza) "Handle IQs from the client." (when (eq (jabber-xml-node-name stanza) 'iq) (jabber-xml-let-attributes (type id) stanza (cond ((member type '("get" "set")) (let* ((table (if (string= type "get") jabberd-iq-get-handlers jabberd-iq-set-handlers)) (ns (jabber-iq-xmlns stanza)) (function (cdr (assoc ns table)))) (when function (funcall function fsm stanza))))) t))) (defun jabberd-iq-empty-success (fsm stanza) "Send an empty IQ result to STANZA." (jabber-xml-let-attributes (id) stanza (jabberd-send fsm `(iq ((type . "result") (id . ,id)))))) (defun jabberd-iq-bind (fsm stanza) "Do resource binding for the virtual server." (let ((id (jabber-xml-get-attribute stanza 'id))) (jabberd-send fsm `(iq ((type . "result") (id . ,id)) (bind ((xmlns . "urn:ietf:params:xml:ns:xmpp-bind")) (jid () "ro...@mo.../Orchard")))))) (provide 'jabberd) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:47:28
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12519 Modified Files: jabber-conn.el jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-529 Creator: Magnus Henoch <ma...@fr...> Implement `virtual' connection type, for introspective testing Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.90 retrieving revision 1.91 diff -u -d -r1.90 -r1.91 --- jabber-core.el 30 May 2008 20:43:29 -0000 1.90 +++ jabber-core.el 17 Jun 2008 14:47:01 -0000 1.91 @@ -313,16 +313,17 @@ (:connected (let ((connection (cadr event)) (registerp (plist-get state-data :registerp))) - - ;; TLS connections leave data in the process buffer, which - ;; the XML parser will choke on. - (with-current-buffer (process-buffer connection) - (erase-buffer)) (setq state-data (plist-put state-data :connection connection)) - (set-process-filter connection (fsm-make-filter fsm)) - (set-process-sentinel connection (fsm-make-sentinel fsm)) + (when (processp connection) + ;; TLS connections leave data in the process buffer, which + ;; the XML parser will choke on. + (with-current-buffer (process-buffer connection) + (erase-buffer)) + + (set-process-filter connection (fsm-make-filter fsm)) + (set-process-sentinel connection (fsm-make-sentinel fsm))) (list :connected state-data))) @@ -990,8 +991,8 @@ "") "> "))) - (jabber-send-string jc stream-header) - (jabber-log-xml jc "sending" stream-header))) + (jabber-log-xml jc "sending" stream-header) + (jabber-send-string jc stream-header))) (defun jabber-send-string (jc string) "Send STRING to the connection JC." Index: jabber-conn.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-conn.el,v retrieving revision 2.14 retrieving revision 2.15 diff -u -d -r2.14 -r2.15 --- jabber-conn.el 17 Jun 2008 14:45:36 -0000 2.14 +++ jabber-conn.el 17 Jun 2008 14:47:01 -0000 2.15 @@ -75,7 +75,8 @@ (defvar jabber-connect-methods '((network jabber-network-connect jabber-network-send) (starttls jabber-starttls-connect jabber-ssl-send) - (ssl jabber-ssl-connect jabber-ssl-send)) + (ssl jabber-ssl-connect jabber-ssl-send) + (virtual jabber-virtual-connect jabber-virtual-send)) "Alist of connection methods and functions. First item is the symbol naming the method. Second item is the connect function. @@ -229,5 +230,22 @@ ((eq (car xml-data) 'failure) nil))) +(defvar *jabber-virtual-server-function* nil + "Function to use for sending stanzas on a virtual connection. +The function should accept two arguments, the connection object +and a string that the connection wants to send.") + +(defun jabber-virtual-connect (fsm server network-server port) + "Connect to a virtual \"server\". +Use `*jabber-virtual-server-function*' as send function." + (unless (functionp *jabber-virtual-server-function*) + (error "No virtual server function specified")) + ;; We pass the fsm itself as "connection object", as that is what a + ;; virtual server needs to send stanzas. + (fsm-send fsm (list :connected fsm))) + +(defun jabber-virtual-send (connection string) + (funcall *jabber-virtual-server-function* connection string)) + (provide 'jabber-conn) ;; arch-tag: f95ec240-8cd3-11d9-9dbf-000a95c2fcd0 |
From: Magnus H. <leg...@us...> - 2008-06-17 14:46:47
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12456 Modified Files: jabber-newdisco.el jabber-bookmarks.el fsm.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-528 Creator: Magnus Henoch <ma...@fr...> Use 0 instead of 0.1 as timeout for run-with-timer Index: fsm.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/fsm.el,v retrieving revision 2.5 retrieving revision 2.6 diff -u -d -r2.5 -r2.6 --- fsm.el 8 Mar 2008 11:13:48 -0000 2.5 +++ fsm.el 17 Jun 2008 14:46:42 -0000 2.6 @@ -313,7 +313,7 @@ "Send EVENT to FSM asynchronously. If the state machine generates a response, eventually call CALLBACK with the response as only argument." - (run-with-timer 0.1 nil #'fsm-send-sync fsm event callback)) + (run-with-timer 0 nil #'fsm-send-sync fsm event callback)) (defun fsm-update (fsm new-state new-state-data timeout) (let ((fsm-name (cadr fsm)) Index: jabber-bookmarks.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-bookmarks.el,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- jabber-bookmarks.el 31 May 2008 08:49:31 -0000 1.11 +++ jabber-bookmarks.el 17 Jun 2008 14:46:42 -0000 1.12 @@ -82,7 +82,7 @@ If REFRESH is non-nil, always fetch bookmarks." (let ((bookmarks (gethash (jabber-connection-bare-jid jc) jabber-bookmarks))) (if (and (not refresh) bookmarks) - (run-with-timer 0.1 nil cont jc (when (listp bookmarks) bookmarks)) + (run-with-timer 0 nil cont jc (when (listp bookmarks) bookmarks)) (lexical-let* ((cont cont) (callback (lambda (jc result) (jabber-get-bookmarks-1 jc result cont)))) (jabber-private-get jc 'storage "storage:bookmarks" Index: jabber-newdisco.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-newdisco.el,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- jabber-newdisco.el 13 Feb 2007 01:07:56 -0000 1.5 +++ jabber-newdisco.el 17 Jun 2008 14:46:42 -0000 1.6 @@ -1,6 +1,6 @@ ;;; jabber-newdisco.el --- caching disco API -;; Copyright (C) 2005 Magnus Henoch +;; Copyright (C) 2005, 2008 Magnus Henoch ;; Author: Magnus Henoch <ma...@fr...> @@ -45,7 +45,7 @@ (remhash (cons jid node) jabber-disco-info-cache)) (let ((result (gethash (cons jid node) jabber-disco-info-cache))) (if result - (and callback (run-with-timer 0.1 nil callback jc closure-data result)) + (and callback (run-with-timer 0 nil callback jc closure-data result)) (jabber-send-iq jc jid "get" `(query ((xmlns . "http://jabber.org/protocol/disco#info") @@ -100,7 +100,7 @@ (remhash (cons jid node) jabber-disco-items-cache)) (let ((result (gethash (cons jid node) jabber-disco-items-cache))) (if result - (and callback (run-with-timer 0.1 nil callback jc closure-data result)) + (and callback (run-with-timer 0 nil callback jc closure-data result)) (jabber-send-iq jc jid "get" `(query ((xmlns . "http://jabber.org/protocol/disco#items") |
From: Magnus H. <leg...@us...> - 2008-06-17 14:46:27
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12416 Modified Files: jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-527 Creator: Magnus Henoch <ma...@fr...> Send priority only if current priority is non-nil Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- jabber-presence.el 27 Mar 2008 16:09:13 -0000 1.47 +++ jabber-presence.el 17 Jun 2008 14:46:23 -0000 1.48 @@ -330,7 +330,8 @@ `(status () ,*jabber-current-status*)) ,(when (> (length *jabber-current-show*) 0) `(show () ,*jabber-current-show*)) - (priority () ,(number-to-string *jabber-current-priority*)) + ,(when *jabber-current-priority* + `(priority () ,(number-to-string *jabber-current-priority*))) ,@(apply 'append (mapcar (lambda (f) (funcall f jc)) jabber-presence-element-functions)))) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:46:09
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv12303 Modified Files: jabber-xml.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-526 Creator: Magnus Henoch <ma...@fr...> Add lisp-indent-function property to jabber-xml-let-attributes Index: jabber-xml.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-xml.el,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- jabber-xml.el 19 Apr 2008 22:55:48 -0000 1.22 +++ jabber-xml.el 17 Jun 2008 14:46:05 -0000 1.23 @@ -216,6 +216,7 @@ (list attr `(jabber-xml-get-attribute ,xml-data ',attr))) attributes) ,@body)) +(put 'jabber-xml-let-attributes 'lisp-indent-function 2) (provide 'jabber-xml) |
From: Magnus H. <leg...@us...> - 2008-06-17 14:45:56
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv11945 Modified Files: jabber-conn.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-525 Creator: Magnus Henoch <ma...@fr...> Remove obsolete comment Index: jabber-conn.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-conn.el,v retrieving revision 2.13 retrieving revision 2.14 diff -u -d -r2.13 -r2.14 --- jabber-conn.el 30 May 2008 20:43:29 -0000 2.13 +++ jabber-conn.el 17 Jun 2008 14:45:36 -0000 2.14 @@ -35,10 +35,6 @@ (require 'srv) -;; TODO: Add custom flag, to not complain about plain-text passwords -;; in encrypted connections -;; - ;; This variable holds the connection, which is used for further ;; input/output to the server (defvar *jabber-connection* nil |
From: Magnus H. <leg...@us...> - 2008-06-09 22:48:06
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6882 Modified Files: jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-524 Creator: Magnus Henoch <ma...@fr...> Undo miscommitted change Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- jabber-muc.el 9 Jun 2008 22:47:48 -0000 1.76 +++ jabber-muc.el 9 Jun 2008 22:48:02 -0000 1.77 @@ -884,28 +884,21 @@ ;; error from room itself? or are we leaving? (if (or (null nickname) (string= nickname (gethash (jabber-jid-symbol group) jabber-pending-groupchats))) - ;; Assume that an error means that we were thrown out of the - ;; room... - (let* ((leavingp t) - (message (cond - ((string= type "error") - (cond - ;; ...except for certain cases. - ((equal status-code "406") - ;; XXX: were we already in the room? - (concat "Error entering room" - (when error-node - (concat ": " (jabber-parse-error error-node))))) - ((equal status-code "301") - (concat "You have been banned" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - ((equal status-code "307") - (concat "You have been kicked" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - (t - "You have left the chatroom")))) + (let ((message (cond + ((string= type "error") + (concat "Error entering room" + (when error-node + (concat ": " (jabber-parse-error error-node))))) + ((equal status-code "301") + (concat "You have been banned" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + ((equal status-code "307") + (concat "You have been kicked" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + (t + "You have left the chatroom")))) (jabber-muc-remove-groupchat group) ;; If there is no buffer for this groupchat, don't bother ;; creating one just to tell that user left the room. |
From: Magnus H. <leg...@us...> - 2008-06-09 22:47:56
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6852 Modified Files: jabber.texi jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-523 Creator: Magnus Henoch <ma...@fr...> "Services" chapter rewritten Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.101 retrieving revision 1.102 diff -u -d -r1.101 -r1.102 --- jabber.texi 31 May 2008 05:49:27 -0000 1.101 +++ jabber.texi 9 Jun 2008 22:47:48 -0000 1.102 @@ -730,7 +730,7 @@ automatically, otherwise it needs to be manually configured. You can check whether your Jabber server has a proxy with @kbd{M-x -jabber-get-disco-items}; see @ref{Service discovery and browsing}. +jabber-get-disco-items}; see @ref{Service discovery}. @vindex jabber-socks5-proxies @findex jabber-socks5-query-all-proxies @@ -774,141 +774,233 @@ operating on a JID while point is over a JID, that JID will be the default value, so you don't have to type it or copy it yourself. -You can change browse buffer name creation template by customizing -@code{jabber-browse-buffer-format} variable. +You can change the buffer name template by customizing +the variable @code{jabber-browse-buffer-format}. @menu -* Service discovery and browsing:: -* Registering:: -* Searching:: +* Commands:: +* Your home server:: +* Transports:: +* User directories:: +* MUC services:: +@end menu + +@node Commands, Your home server, Services, Services +@section Commands + +A small number of commands is used for almost all interaction with +Jabber services. Essentially, they are all the same: you request a form +from the server, fill it in, and send it back. + +Most of these commands are available under the Service menu, which is +opened by typing @kbd{C-c C-s}. Service discovery is under the Info +menu instead, which is available under @kbd{C-c C-i}. + +@menu +* Registration:: +* Search:: * Ad-Hoc Commands:: +* Service discovery:: +* Browsing:: @end menu -@node Service discovery and browsing, Registering, Services, Services -@section Service discovery and browsing +@node Registration, Search, Commands, Commands +@subsection Registration + +@cindex Registration +@findex jabber-get-register + +You can get a registration form for a service by typing @kbd{M-x +jabber-get-register} and entering the JID of the service. On success, +you get a single-stage form to fill in. + +There are two buttons at the bottom of the form, ``Submit'' and ``Cancel +registration''. ``Submit'' does what you would expect it to, but +``Cancel registration'' cancels any existing registration with the +service. Whichever of them you choose, you get a message in the echo +area informing whether the operation succeeded. + +@node Search, Ad-Hoc Commands, Registration, Commands +@subsection Search + +@cindex Search +@findex jabber-get-search + +You can get a search form for a service by typing @kbd{M-x +jabber-get-search}. This gives you a single-stage form to fill in. +After you press the ``Submit'' button at the bottom, the search results +will be displayed in the same buffer. + +@menu +* Ad-Hoc Commands:: +@end menu + +@node Ad-Hoc Commands, Service discovery, Search, Commands +@subsection Ad-Hoc Commands + +@cindex Ad-Hoc Commands +@findex jabber-ahc-get-list +@findex jabber-ahc-execute-command + +jabber.el supports a subset of XEP-0050, the standard for Ad-Hoc +Commands. As the name implies, this can be used for just about +anything. In particular, it is used not only by services, but also by +clients (e.g. Psi, and jabber.el itself). + +To find which commands are available, run ``Request command list'' +(@code{jabber-ahc-get-list}).@footnote{This is the same thing as a +disco items request to the node +@code{http://jabber.org/protocol/commands}.} + +To run a command from the list, put point over it and run ``Execute +command'' (@code{jabber-ahc-execute-command}), accepting the defaults +for JID and node. (If you already know those, you could of course +enter them yourself.) + +What happens next depends on the command and the service. In some +cases, the service just responds that the command has been run. You may +also get a form to fill out. This form may have multiple stages, in +which case there are ``Next'' and ``Previous'' buttons for navigating +between stages. You may also see ``Complete'', which runs the command +skipping any remaining stages of the form, and ``Cancel'', which cancels +the command. + +Currently, jabber.el uses ad-hoc commands for setting presence remotely. +If you realize that you forgot to set your client to ``away'' with a low +priority, you can do it remotely from any JID from +@code{jabber-account-list}. So, you can add disabled JIDs in +@code{jabber-account-list} to allow them control your +presence.@footnote{Most Jabber servers also support kicking a client off +the net by logging in with another client with exactly the same +resource.} + +@node Service discovery, Browsing, Ad-Hoc Commands, Commands +@subsection Service discovery @cindex Service discovery -@cindex Browsing -@findex jabber-get-browse @findex jabber-get-disco-items @findex jabber-get-disco-info -To find services you want to use, you need to discover them first. -This can be done with either service discovery or browsing. Service -discovery is the newer and preferred protocol, while browsing is still -used by much software. The use of both is very similar. - -The most common use of service discovery is to browse your home -server, to see what services are provided locally. Note, however, -that this is no restriction; you can use services from all over the -network. +Service discovery is used to find information about servers, services +and clients. There are two kinds of requests: find @dfn{info} about a +Jabber entity---i.e. its identity and supported features---and find +@dfn{items} related to an entity, where the definition of ``related'' is +left to the entity itself. -For service discovery there are two commands, -@code{jabber-get-disco-items} and @code{jabber-get-disco-info}, -depending on whether you want information about that specific JID or -about services related to it, respectively. To start browsing, type -@kbd{M-x jabber-get-browse} and enter the JID you want to browse. +The commands to execute such requests are @code{jabber-get-disco-info} +and @code{jabber-get-disco-items}, respectively. These commands can be +accessed from the Info menu, which is opened by typing @kbd{C-c C-i}. +The commands accept a JID and optionally a ``node''. -These commands can be accessed from the Info menu, which is opened by -typing @kbd{C-c C-i}. +The result of such a command is displayed in a browse buffer. For an +info request, the result just lists the identities and features of the +entity. For an item request, the related items are listed. The items +may be JIDs, or JIDs with a node. If you put point on one of the items, +its JID and node will be the default value for any Jabber command. If you think that the interface to service discovery is awkward and should be replaced with something better, you are completely right. -@node Registering, Searching, Service discovery and browsing, Services -@section Registering +@node Browsing, , Service discovery, Commands +@subsection Browsing + +@cindex Browsing +@findex jabber-get-browse + +Before service discovery, browsing was the way to find information about +Jabber entities. Nowadays it is all but superseded, but jabber.el still +supports it. You can use it by typing @kbd{M-x jabber-get-browse}. It +works much like service discovery. + +@node Your home server, Transports, Commands, Services +@section Your home server -@cindex Registration -@cindex Cancelling registration -@cindex Changing password -@cindex Gateway registration @cindex Password change +@cindex Changing password @cindex Account removal @cindex Removing an account -@findex jabber-get-register -Some services, in particular user directories and gateways to legacy -IM systems, require registration. To register with such a service, -either type @kbd{M-x jabber-get-register} or select it from the -Service menu, which is opened by typing @kbd{C-c C-s}. You have to -know the service's JID, possibly from service discovery. -(@pxref{Service discovery and browsing}) +You can interact with your Jabber server to change your password or +remove your account. Both of these can be accomplished by typing +@kbd{M-x jabber-get-register} and typing the JID of your server; +@pxref{Registration}. -This is also the way to change your registration details, e.g. your -password --- just ask to register with that service again. To change -the password of your Jabber account, ask to register with your Jabber -server. -Please note that any passwords sent in this way will be sent in -cleartext to your Jabber server, unless you have enabled SSL encryption, - and possibly sent in cleartext from your -server to the server hosting the service. +@node Transports, User directories, Your home server, Services +@section Transports to other IM networks -jabber.el will then request a registration form from that service. If -for some reason the service does not answer (maybe network problems, -or some services neither support registration nor report errors about -that) that will be the last thing you saw about it. jabber.el will -not report timeout errors, but rather simply wait until you shut it -down. +@cindex Gateways +@cindex Transports +@cindex MSN transport +@cindex ICQ transport +@cindex AIM transport -Once the response arrives, the form will be rendered in a browse -buffer. Just fill out the fields, and hit Submit. You will receive -confirmation of your registration in the echo area. +Some Jabber services make it possible to communicate with users on other +instant messaging networks (e.g. MSN, ICQ, AIM), in effect turning your +Jabber client into a multi-protocol client. These are called +@dfn{gateways} or @dfn{transports}. They work by impersonating you on +the legacy network; therefore you need to provide your username and +password through registration. -To cancel an existing registration (and also for cancelling your -Jabber account, if you sent a registration request to your server), -hit Cancel. The unregistration will be confirmed in the echo area. +@subsection Finding a transport -@node Searching, Ad-Hoc Commands, Registering, Services -@section Searching +To use such a transport, you first need to find one, obviously. +Sometimes your home server provides the transports you need, but you are +not limited to those; in principle you can use any transport on the +Jabber network. Some transports only accept local users, though. -@cindex Searching -@findex jabber-get-search +Transports are generally mentioned on the web page of the Jabber server +in question. You can also find transports from within the client; +@pxref{Service discovery}. -Some services, notably user directories and gateways to legacy IM -systems, allow searching. Searching in Jabber generally means -searching for someone's JID, but the protocol is general enough to -support most databases. +@subsection Registering with a transport -To search a service, either type @kbd{M-x jabber-get-search} or select -it from the Service menu, which is opened by typing @kbd{C-c C-s}. +To register with a transport, type @kbd{M-x jabber-get-register} and +enter the JID of the transport. This will open a registration form +where you get to fill in your login information; @pxref{Registration}. +You can later use this same form to change the information or cancel +your registration. -Just like with registration, this command sends a request for a search -form, and displays it if and when the response arrives. Enter your -search and submit it. Search results will be displayed in a different -browse buffer. +After you have registered, the transport will request presence +subscription. It needs that to know when you are online, and +synchronize your presence on the legacy network. -@node Ad-Hoc Commands, , Searching, Services -@section Ad-Hoc Commands +@subsection Contact list -@cindex Ad-Hoc Commands -@findex jabber-ahc-get-list -@findex jabber-ahc-execute-command +Once you are registered, the transport will transfer the contact list +from the legacy service. From the Jabber side, it appears as if lots of +people suddenly request presence subscription to you. This is somewhat +inconvenient, but it is currently the only way that the transport can +influence your Jabber contact list, as it is an entity external to your +server.@footnote{Of course, jabber.el could do more to alleviate this +inconvenience.} -jabber.el supports a subset of XEP-0050, the standard for Ad-Hoc -Commands. As the name implies, this can be used for just about -anything. It has been used for remote-controlling clients (e.g. Psi), -and administering services (e.g. PyMSNt). +When you have accepted these presence subscriptions, the contacts from +legacy networks appear as if they were Jabber contacts. -Currently, jabber.el uses ad-hoc commands for setting presence remotely. -If you realize that you forgot to set your client to ``away'' with a low -priority, you can do it remotely from any JID from @code{jabber-account-list}. So, you can add disabled JIDs in @code{jabber-account-list} to allow them control your presence.@footnote{Most Jabber servers also -support kicking a client off the net by logging in with another client -with exactly the same resource.} +@subsection Finding users -The commands for executing ad-hoc commands are available under the -Service menu, which is opened by typing @kbd{C-c C-s}. +Some legacy networks have a global database of users, and some +transports support searching that database. In that case, you can +search for other users with @kbd{M-x jabber-get-search}; +@pxref{Search}. -To find which commands are available, run ``Request command-list'' -(@code{jabber-ahc-get-list}).@footnote{This is the same thing as a -disco items request to the node -@code{http://jabber.org/protocol/commands}.} +@node User directories, MUC services, Transports, Services +@section User directories -To run a command from the list, put point over it and run ``Execute -command'' (@code{jabber-ahc-execute-command}), accepting the defaults -for JID and node. (If you already know those, you could of course -enter them yourself) The form you get should hopefully be -self-explanatory. +There are some Jabber user directories, usually abbreviated JUDs. The +most well-known one is @samp{users.jabber.org}. You can register with +such a directory to let other people find you (@pxref{Registration}), +and you can search the directory (@pxref{Search}). + +@node MUC services, , User directories, Services +@section MUC services + +MUC services (Multi-User Chat, chat rooms) are usually not operated by +these commands, but by commands specific to the MUC protocol; +@pxref{Groupchat}. However, some MUC services offer nickname +registration through the registration protocol (@pxref{Registration}), +and other commands; @pxref{Ad-Hoc Commands}. @node Personal information, Avatars, Services, Top @chapter Personal information Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- jabber-muc.el 18 May 2008 12:13:57 -0000 1.75 +++ jabber-muc.el 9 Jun 2008 22:47:48 -0000 1.76 @@ -884,21 +884,28 @@ ;; error from room itself? or are we leaving? (if (or (null nickname) (string= nickname (gethash (jabber-jid-symbol group) jabber-pending-groupchats))) - (let ((message (cond - ((string= type "error") - (concat "Error entering room" - (when error-node - (concat ": " (jabber-parse-error error-node))))) - ((equal status-code "301") - (concat "You have been banned" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - ((equal status-code "307") - (concat "You have been kicked" - (when actor (concat " by " actor)) - (when reason (concat " - '" reason "'")))) - (t - "You have left the chatroom")))) + ;; Assume that an error means that we were thrown out of the + ;; room... + (let* ((leavingp t) + (message (cond + ((string= type "error") + (cond + ;; ...except for certain cases. + ((equal status-code "406") + ;; XXX: were we already in the room? + (concat "Error entering room" + (when error-node + (concat ": " (jabber-parse-error error-node))))) + ((equal status-code "301") + (concat "You have been banned" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + ((equal status-code "307") + (concat "You have been kicked" + (when actor (concat " by " actor)) + (when reason (concat " - '" reason "'")))) + (t + "You have left the chatroom")))) (jabber-muc-remove-groupchat group) ;; If there is no buffer for this groupchat, don't bother ;; creating one just to tell that user left the room. |
From: Magnus H. <leg...@us...> - 2008-06-09 22:47:31
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6837 Modified Files: jabber-util.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-522 Creator: Magnus Henoch <ma...@fr...> Clarify docstring of jabber-report-success Index: jabber-util.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-util.el,v retrieving revision 2.57 retrieving revision 2.58 diff -u -d -r2.57 -r2.58 --- jabber-util.el 8 Mar 2008 12:41:16 -0000 2.57 +++ jabber-util.el 9 Jun 2008 22:47:28 -0000 2.58 @@ -408,7 +408,9 @@ (defun jabber-report-success (jc xml-data context) "IQ callback reporting success or failure of the operation. -CONTEXT is a string describing the action." +CONTEXT is a string describing the action. +\"CONTEXT succeeded\" or \"CONTEXT failed: REASON\" is displayed in +the echo area." (let ((type (jabber-xml-get-attribute xml-data 'type))) (message (concat context (if (string= type "result") |
From: Magnus H. <leg...@us...> - 2008-06-02 21:55:18
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv11930 Modified Files: configure.ac Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-521 Creator: Magnus Henoch <ma...@fr...> Abort configure script if emacs not found Index: configure.ac =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/configure.ac,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- configure.ac 1 Jun 2008 22:54:45 -0000 1.6 +++ configure.ac 2 Jun 2008 21:55:11 -0000 1.7 @@ -3,6 +3,7 @@ AC_CONFIG_MACRO_DIR([m4]) AM_PATH_LISPDIR +AS_IF([test "$EMACS" = no], [AC_MSG_ERROR([cannot find Emacs])]) AX_CHECK_EMACS_LIB([sha1], [HAVE_SHA1=yes], [HAVE_SHA1=no]) AX_CHECK_EMACS_LIB([sha1-el], [HAVE_SHA1_EL=yes], [HAVE_SHA1_EL=no]) |
From: Magnus H. <leg...@us...> - 2008-06-01 22:54:52
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6213 Modified Files: configure.ac Makefile.am Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-520 Creator: Magnus Henoch <ma...@fr...> Explicitly require automake 1.9 Index: configure.ac =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/configure.ac,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- configure.ac 30 May 2008 21:56:56 -0000 1.5 +++ configure.ac 1 Jun 2008 22:54:45 -0000 1.6 @@ -1,5 +1,5 @@ AC_INIT([jabber.el], [0.8.0], [ema...@li...], [emacs-jabber]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-zip]) +AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-zip 1.9]) AC_CONFIG_MACRO_DIR([m4]) AM_PATH_LISPDIR Index: Makefile.am =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile.am 30 May 2008 21:56:57 -0000 1.5 +++ Makefile.am 1 Jun 2008 22:54:45 -0000 1.6 @@ -1,4 +1,7 @@ ACLOCAL_AMFLAGS = -I m4 +# The following line needs to be here since automake 1.4 doesn't look +# for options in configure.ac. +AUTOMAKE_OPTIONS = 1.9 my_lisp_sources=fsm.el jabber-activity.el jabber-ahc-presence.el \ jabber-ahc.el jabber-alert.el jabber-autoaway.el jabber-avatar.el \ |
From: Evgenii T. <evg...@us...> - 2008-05-31 08:49:35
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv32209 Modified Files: jabber-bookmarks.el Log Message: jabber-get-bookmarks-from-cache returns a list of bookmarks, or t if there is no bookmarks, or nil if there is no cache at all. So we need to check whether we really have a list of bookmarks before calling jabber-get-conference-data-internal. Index: jabber-bookmarks.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-bookmarks.el,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- jabber-bookmarks.el 18 May 2008 12:13:57 -0000 1.10 +++ jabber-bookmarks.el 31 May 2008 08:49:31 -0000 1.11 @@ -38,10 +38,10 @@ result as arguments. If CONT is nil, return the requested data immediately, and return nil if it is not in the cache." (if (null cont) - (jabber-get-conference-data-internal - (jabber-get-bookmarks-from-cache jc) - conference-jid - key) + (let ((cache (jabber-get-bookmarks-from-cache jc))) + (if (and cache (listp cache)) + (jabber-get-conference-data-internal + cache conference-jid key))) (jabber-get-bookmarks jc (lexical-let ((conference-jid conference-jid) |
From: Magnus H. <leg...@us...> - 2008-05-31 05:49:31
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv22252 Modified Files: jabber.texi Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-518 Creator: Magnus Henoch <ma...@fr...> Documentation: file transfer Unfortunately, not much to change here... Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.100 retrieving revision 1.101 diff -u -d -r1.100 -r1.101 --- jabber.texi 21 May 2008 15:06:58 -0000 1.100 +++ jabber.texi 31 May 2008 05:49:27 -0000 1.101 @@ -675,14 +675,14 @@ limit is that files sent and received are kept in buffers, so Emacs must be able to allocate enough memory for the entire file, and the file size must be smaller than the maximum buffer size.@footnote{The maximum -buffer size is kept in the variable @code{most-positive-fixnum}. On -most 32-bit systems, this is 128 or 256 megabytes, depending on your +buffer size depends on in the variable @code{most-positive-fixnum}. On +32-bit systems, this is 128 or 256 megabytes, depending on your Emacs version.} jabber.el is able to exchange files with most Jabber clients (and also some MSN transports), but notably not with the official Google Talk client. The Google Talk client uses a different file transfer protocol -that, at the time of this release, has not been published. +which, at the time of this release, has not been published. @menu * Receiving files:: @@ -705,6 +705,7 @@ is done, the message ``@var{file} downloaded'' appears in the echo area, and the buffer is killed. +@c This truly sucks... If this doesn't happen, it is most likely the sender's fault. The sender needs to have a public IP address, either directly, through port forwarding (in which case the client needs to be configured with the |
From: Magnus H. <leg...@us...> - 2008-05-31 05:49:13
|
Update of /cvsroot/emacs-jabber/emacs-jabber/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv22236/tests Modified Files: Makefile.am Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-516 Creator: Magnus Henoch <ma...@fr...> Fix load-all test: include top_srcdir in load-path Index: Makefile.am =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/tests/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 30 May 2008 21:57:15 -0000 1.3 +++ Makefile.am 31 May 2008 05:49:09 -0000 1.4 @@ -1,3 +1,3 @@ -TESTS_ENVIRONMENT = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -l +TESTS_ENVIRONMENT = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -L $(top_srcdir) -l TESTS = load-all.el skip-tag-forward.el history.el dist_noinst_DATA = $(TESTS) |