<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.emacs.jabber.scm">
    <title>gmane.emacs.jabber.scm</title>
    <link>http://blog.gmane.org/gmane.emacs.jabber.scm</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/369"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/368"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/367"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/366"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/365"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/364"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/363"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/362"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/361"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/360"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/359"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/358"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/357"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/356"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/355"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/354"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/353"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/352"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/351"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.emacs.jabber.scm/350"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/369">
    <title>[SCM] emacs-jabber branch, master,updated. 1dca591d17cf084e6d870f55898e9343926f8bb8</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/369</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  1dca591d17cf084e6d870f55898e9343926f8bb8 (commit)
       via  5c7c52b066aa92d809b8f9b259f63fe79aed051c (commit)
      from  f54c1b54b308f38caac66ae567e5f64f6adc631c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 1dca591d17cf084e6d870f55898e9343926f8bb8
Author: Magnus Henoch &amp;lt;magnus.henoch&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Sat May 19 15:01:05 2012 +0100

    Fix reporting of STARTTLS negotiation errors
    
    jabber-starttls-process-input now signals an error on negotiation
    failure, as gnutls-negotiate already does.  Catch errors in
    jabber-core, and put them as disconnection reason in the state data,
    to get fewer and less confusing messages in the echo area.

diff --git a/jabber-conn.el b/jabber-conn.el
index 5b4b89f..fba32bf 100644
--- a/jabber-conn.el
+++ b/jabber-conn.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -252,7 +252,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; connection fails."
 
 (defun jabber-starttls-process-input (fsm xml-data)
   "Process result of starttls request.
-Return non-nil on success, nil on failure."
+On failure, signal error."
   (cond
    ((eq (car xml-data) 'proceed)
     (let* ((state-data (fsm-get-state-data fsm))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -263,6 +263,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Return non-nil on success, nil on failure."
 (network
  (let* ((hostname (plist-get state-data :server))
 (verifyp (not (member hostname jabber-invalid-certificate-servers))))
+   ;; gnutls-negotiate might signal an error, which is caught
+   ;; by our caller
    (gnutls-negotiate
     :process connection
     ;; This is the hostname that the certificate should be valid for:
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -270,9 +272,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Return non-nil on success, nil on failure."
     :verify-hostname-error verifyp
     :verify-error verifyp)))
 (real
- (starttls-negotiate connection)))))
+ (or
+  (starttls-negotiate connection)
+  (error "Negotiation failure"))))))
    ((eq (car xml-data) 'failure)
-    nil)))
+    (error "Command rejected by server"))))
 
 (defvar *jabber-virtual-server-function* nil
   "Function to use for sending stanzas on a virtual connection.
diff --git a/jabber-core.el b/jabber-core.el
index eae787b..58b233d 100644
--- a/jabber-core.el
+++ b/jabber-core.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -483,11 +483,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; With double prefix argument, specify more connection details."
      (jabber-fsm-handle-sentinel state-data event))
 
     (:stanza
-     (if (jabber-starttls-process-input fsm (cadr event))
- ;; Connection is encrypted.  Send a stream tag again.
- (list :connected (plist-put state-data :encrypted t))
-       (message "STARTTLS negotiation failed")
-       (list nil state-data)))
+     (condition-case e
+ (progn
+   (jabber-starttls-process-input fsm (cadr event))
+   ;; Connection is encrypted.  Send a stream tag again.
+   (list :connected (plist-put state-data :encrypted t)))
+       (error
+(let* ((msg (concat "STARTTLS negotiation failed: "
+    (error-message-string e)))
+       (new-state-data (plist-put state-data :disconnection-reason msg)))
+  (list nil new-state-data)))))
 
     (:do-disconnect
      (jabber-send-string fsm "&amp;lt;/stream:stream&amp;gt;")

commit 5c7c52b066aa92d809b8f9b259f63fe79aed051c
Author: magnus.henoch&amp;lt; at &amp;gt;gmail.com &amp;lt;magnus.henoch&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Sun Feb 5 13:15:43 2012 +0100

    Fix error handling for old-style SSL/TLS connections
    
    When connecting to a Jabber server over SSL/TLS without STARTTLS
    (the legacy "port 5223" method), any connection error would
    cause the state machine to be stuck in the :connecting state,
    unable to go back or forward.  Fix this by catching and reporting
    errors in jabber-ssl-connect.

diff --git a/jabber-conn.el b/jabber-conn.el
index 531d3a0..5b4b89f 100644
--- a/jabber-conn.el
+++ b/jabber-conn.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -181,14 +181,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; connection fails."
    (error "Neither TLS nor SSL connect functions available")))))
     (let ((process-buffer (generate-new-buffer jabber-process-buffer))
   connection)
-      (unwind-protect
+      (setq network-server (or network-server server))
+      (setq port (or port 5223))
+      (condition-case e
   (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)))
+    network-server
+    port))
+(error
+ (message "Couldn't connect to %s:%d: %s" network-server port
+  (error-message-string e))))
+      (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)))))

-----------------------------------------------------------------------

Summary of changes:
 jabber-conn.el |   25 +++++++++++++++++--------
 jabber-core.el |   15 ++++++++++-----
 2 files changed, 27 insertions(+), 13 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-05-19T14:03:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/368">
    <title>[SCM] emacs-jabber branch, master,updated. f54c1b54b308f38caac66ae567e5f64f6adc631c</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/368</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  f54c1b54b308f38caac66ae567e5f64f6adc631c (commit)
      from  c3c8963e895a5aa7cec57d6cb5c7872a7325f361 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f54c1b54b308f38caac66ae567e5f64f6adc631c
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Tue May 15 22:39:43 2012 +0100

    Support native GnuTLS for STARTTLS
    
    Emacs 24 supports linking to the GnuTLS library.  Let's use it when
    available.
    
    Also add a customisable variable for ignoring invalid certificates.
    We should now be validating certificates against the XMPP server name,
    not the hostname from DNS SRV, so there should be less need for this
    now, but there's always the occasional basement server with a
    self-signed certificate...

diff --git a/jabber-conn.el b/jabber-conn.el
index 80b1cca..531d3a0 100644
--- a/jabber-conn.el
+++ b/jabber-conn.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -27,6 +27,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 (eval-when-compile (require 'cl))
 
+;; Emacs 24 can be linked with GnuTLS
+(ignore-errors (require 'gnutls))
+
 ;; Try two different TLS/SSL libraries, but don't fail if none available.
 (or (ignore-errors (require 'tls))
     (ignore-errors (require 'ssl)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -45,11 +48,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 (defun jabber-have-starttls ()
   "Return true if we can use STARTTLS."
-  (and (featurep 'starttls)
-       (or (and (bound-and-true-p starttls-gnutls-program)
-(executable-find starttls-gnutls-program))
-   (and (bound-and-true-p starttls-program)
-(executable-find starttls-program)))))
+  (or (and (fboundp 'gnutls-available-p)
+   (gnutls-available-p))
+      (and (featurep 'starttls)
+   (or (and (bound-and-true-p starttls-gnutls-program)
+    (executable-find starttls-gnutls-program))
+       (and (bound-and-true-p starttls-program)
+    (executable-find starttls-program))))))
 
 (defconst jabber-default-connection-type 
   (cond
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,6 +77,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; nil means prefer gnutls but fall back to openssl.
  (const :tag "Use openssl" openssl))
   :group 'jabber-conn)
 
+(defcustom jabber-invalid-certificate-servers ()
+  "Jabber servers for which we accept invalid TLS certificates.
+This is a list of server names, each matching the hostname part
+of your JID.
+
+This option has effect only when using native GnuTLS in Emacs 24
+or later."
+  :type '(repeat string)
+  :group 'jabber-conn)
+
 (defvar jabber-connect-methods
   '((network jabber-network-connect jabber-network-send)
     (starttls jabber-starttls-connect jabber-ssl-send)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -191,9 +206,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; connection succeeds.  Send a message :connection-failed if
 connection fails."
   (let ((coding-system-for-read 'utf-8)
 (coding-system-for-write 'utf-8)
-(targets (jabber-srv-targets server network-server port)))
-    (unless (fboundp 'starttls-open-stream)
-      (error "starttls.el not available"))
+(targets (jabber-srv-targets server network-server port))
+(connect-function
+ (cond
+  ((and (fboundp 'gnutls-available-p)
+(gnutls-available-p))
+   (lambda (buffer host port)
+     (open-network-stream "jabber" buffer host port)))
+  ((fboundp 'starttls-open-stream)
+   (lambda (buffer host port)
+     (starttls-open-stream "jabber" buffer host port)))
+  (t
+   (error "Neither native GnuTLS nor starttls.el available")))))
+    
     (catch 'connected
       (dolist (target targets)
 (condition-case e
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -201,11 +226,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; connection fails."
   connection)
       (unwind-protect
   (setq connection
-(starttls-open-stream
- "jabber"
- process-buffer
- (car target)
- (cdr target)))
+(funcall connect-function
+ process-buffer
+ (car target)
+ (cdr target)))
 (unless (or connection jabber-debug-keep-process-buffers)
   (kill-buffer process-buffer)))
       (when connection
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -226,7 +250,22 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; connection fails."
 Return non-nil on success, nil on failure."
   (cond
    ((eq (car xml-data) 'proceed)
-    (starttls-negotiate (plist-get (fsm-get-state-data fsm) :connection)))
+    (let* ((state-data (fsm-get-state-data fsm))
+   (connection (plist-get state-data :connection)))
+      ;; Did we use open-network-stream or starttls-open-stream?  We
+      ;; can tell by process-type.
+      (case (process-type connection)
+(network
+ (let* ((hostname (plist-get state-data :server))
+(verifyp (not (member hostname jabber-invalid-certificate-servers))))
+   (gnutls-negotiate
+    :process connection
+    ;; This is the hostname that the certificate should be valid for:
+    :hostname hostname
+    :verify-hostname-error verifyp
+    :verify-error verifyp)))
+(real
+ (starttls-negotiate connection)))))
    ((eq (car xml-data) 'failure)
     nil)))
 

-----------------------------------------------------------------------

Summary of changes:
 jabber-conn.el |   67 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 53 insertions(+), 14 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-05-15T21:28:19</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/367">
    <title>[SCM] emacs-jabber branch, master,updated. c3c8963e895a5aa7cec57d6cb5c7872a7325f361</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/367</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  c3c8963e895a5aa7cec57d6cb5c7872a7325f361 (commit)
      from  0b8d811023c7adfeac5a1267f2933651d550b2e9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c3c8963e895a5aa7cec57d6cb5c7872a7325f361
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Apr 15 20:45:01 2012 +0100

    s/screen/tmux/ in jabber-tmux.el
    
    Too much copy &amp;amp; paste can be a bad thing...

diff --git a/jabber-tmux.el b/jabber-tmux.el
index 27ca309..379f839 100644
--- a/jabber-tmux.el
+++ b/jabber-tmux.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,4 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-;; jabber-screen.el - emacs-jabber interface to screen
+;; jabber-tmux.el - emacs-jabber interface to tmux
 
 ;; Copyright (C) 2012 - Michael Cardell Widerkrantz &amp;lt;mc&amp;lt; at &amp;gt;hack.org&amp;gt;
 

-----------------------------------------------------------------------

Summary of changes:
 jabber-tmux.el |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-04-15T19:35:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/366">
    <title>[SCM] emacs-jabber branch, master,updated. 0b8d811023c7adfeac5a1267f2933651d550b2e9</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/366</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  0b8d811023c7adfeac5a1267f2933651d550b2e9 (commit)
       via  295525b6183187233cba8799b028975ea39a1a51 (commit)
      from  9f8ef893f3154864d0c18e55b2c01923388384e1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 0b8d811023c7adfeac5a1267f2933651d550b2e9
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Apr 15 11:24:11 2012 +0100

    Mention tmux alerts in the documentation

diff --git a/jabber.texi b/jabber.texi
index d11533a..8e3687d 100644
--- a/jabber.texi
+++ b/jabber.texi
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2027,6 +2027,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; The &amp;lt; at &amp;gt;code{screen} alerts send a message through the Screen terminal
 manager&amp;lt; at &amp;gt;footnote{See &amp;lt; at &amp;gt;uref{http://www.gnu.org/software/screen/}.}.  They do no
 harm if called when you don't use Screen.
 
+&amp;lt; at &amp;gt;cindex Tmux terminal manager
+The &amp;lt; at &amp;gt;code{tmux} alerts send a message through the tmux terminal
+manager&amp;lt; at &amp;gt;footnote{See &amp;lt; at &amp;gt;uref{http://tmux.sourceforge.net/}.}.
+
 &amp;lt; at &amp;gt;cindex Ratpoison window manager
 &amp;lt; at &amp;gt;cindex Window manager, Ratpoison
 The &amp;lt; at &amp;gt;code{ratpoison} alerts send a message through the Ratpoison

commit 295525b6183187233cba8799b028975ea39a1a51
Author: Michael Cardell Widerkrantz &amp;lt;mc&amp;lt; at &amp;gt;hack.org&amp;gt;
Date:   Sun Apr 15 11:21:03 2012 +0100

    Add tmux alerts

diff --git a/AUTHORS b/AUTHORS
index 8e5c201..bfb161c 100644
--- a/AUTHORS
+++ b/AUTHORS
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,5 +25,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Xavier Maillard
 Vitaly Mayatskikh
 Alexander Solovyov
 Demyan Rogozhin
+Michael Cardell Widerkrantz
 
 arch-tag: 15700144-3BD9-11D9-871C-000A95C2FCD0
diff --git a/Makefile.am b/Makefile.am
index 4a9767f..591711b 100644
--- a/Makefile.am
+++ b/Makefile.am
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,7 +22,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; jabber-time.el jabber-truncate.el jabber-util.el\
 jabber-vcard-avatars.el jabber-vcard.el jabber-version.el\
 jabber-watch.el jabber-widget.el jabber-wmii.el jabber-xmessage.el\
 jabber-muc-nick-coloring.el\
-jabber-xml.el jabber.el srv.el
+jabber-xml.el jabber.el srv.el jabber-tmux.el
 
 compat_lisp_sources =
 if USE_OUR_SHA1
diff --git a/jabber-tmux.el b/jabber-tmux.el
new file mode 100644
index 0000000..27ca309
--- /dev/null
+++ b/jabber-tmux.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,32 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+;; jabber-screen.el - emacs-jabber interface to screen
+
+;; Copyright (C) 2012 - Michael Cardell Widerkrantz &amp;lt;mc&amp;lt; at &amp;gt;hack.org&amp;gt;
+
+;; This file is a part of jabber.el.
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program; if not, write to the Free Software
+;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+(eval-when-compile (require 'jabber-alert))
+
+(defun jabber-tmux-message (msg)
+  "Show MSG in tmux"
+  (call-process "tmux" nil nil nil "display-message" msg))
+
+; Automatically defines jabber-{message,muc,presence,info}-tmux
+; functions.
+(define-jabber-alert tmux "Show a message through the tmux terminal multiplexer"
+  'jabber-tmux-message)
+
+(provide 'jabber-tmux)
diff --git a/jabber.el b/jabber.el
index 906136d..a5c66cf 100644
--- a/jabber.el
+++ b/jabber.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -148,6 +148,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; configure a Google Talk account like this:
 
 ;; External notifiers
 (require 'jabber-screen)
+(require 'jabber-tmux)
 (require 'jabber-ratpoison)
 (require 'jabber-sawfish)
 (require 'jabber-festival)

-----------------------------------------------------------------------

Summary of changes:
 AUTHORS                            |    1 +
 Makefile.am                        |    2 +-
 jabber-screen.el =&amp;gt; jabber-tmux.el |   17 +++++++++--------
 jabber.el                          |    1 +
 jabber.texi                        |    4 ++++
 5 files changed, 16 insertions(+), 9 deletions(-)
 copy jabber-screen.el =&amp;gt; jabber-tmux.el (68%)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-04-15T10:14:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/365">
    <title>[SCM] emacs-jabber branch, master,updated. 9f8ef893f3154864d0c18e55b2c01923388384e1</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/365</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  9f8ef893f3154864d0c18e55b2c01923388384e1 (commit)
      from  7c3e8e98ce458539efe2dd30b3051fbbed06cd01 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9f8ef893f3154864d0c18e55b2c01923388384e1
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Fri Apr 13 00:00:49 2012 +0800

    Fix build with automake &amp;gt; 1.11.4

diff --git a/configure.ac b/configure.ac
index c3b14a6..d1ff734 100644
--- a/configure.ac
+++ b/configure.ac
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,6 +1,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 AC_INIT([jabber.el], [0.8.91], [emacs-jabber-general&amp;lt; at &amp;gt;lists.sourceforge.net], [emacs-jabber])
 AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-lzma dist-zip 1.9])
+AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-xz dist-zip 1.9])
 AC_CONFIG_MACRO_DIR([m4])
 
 AM_PATH_LISPDIR

-----------------------------------------------------------------------

Summary of changes:
 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Evgenii Terechkov</dc:creator>
    <dc:date>2012-04-12T16:05:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/364">
    <title>[SCM] emacs-jabber branch, master,updated. 7c3e8e98ce458539efe2dd30b3051fbbed06cd01</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/364</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  7c3e8e98ce458539efe2dd30b3051fbbed06cd01 (commit)
      from  a98bbc4da6ab878ea3693e6335e2ba6badf1d701 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 7c3e8e98ce458539efe2dd30b3051fbbed06cd01
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Mon Feb 6 18:10:04 2012 +0000

    Avoid groupchat buffer on RET in roster if we're not 100% sure it's a groupchat (bug 3483380)
    
    * jabber-roster.el (jabber-roster-ret-action-at-point): Ask for disco info before doing anything.
    (jabber-roster-ret-action-at-point-1): Only assume it's a groupchat if it explicitly says so.

diff --git a/jabber-roster.el b/jabber-roster.el
index fdc6ff5..8a9f759 100644
--- a/jabber-roster.el
+++ b/jabber-roster.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -25,6 +25,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 (require 'jabber-alert)
 (require 'jabber-keymap)
 (require 'format-spec)
+(require 'cl);for `find'
 
 (defgroup jabber-roster nil "roster display options"
   :group 'jabber)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -254,11 +255,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; chat-with-jid-at-point is no group at point"
  'jabber-jid)))
     (if (and group-at-point account-at-point)
 (jabber-roster-roll-group account-at-point group-at-point)
-      (jabber-chat-with-jid-at-point)
-      (ignore-errors (jabber-muc-join
-                      account-at-point
-                      jid-at-point
-                      (jabber-muc-read-my-nickname account-at-point jid-at-point t) t)))))
+      ;; Is this a normal contact, or a groupchat?  Let's ask it.
+      (jabber-disco-get-info
+       account-at-point (jabber-jid-user jid-at-point) nil
+       #'jabber-roster-ret-action-at-point-1
+       jid-at-point))))
+
+(defun jabber-roster-ret-action-at-point-1 (jc jid result)
+  ;; If we get an error, assume it's a normal contact.
+  (if (eq (car result) 'error)
+      (jabber-chat-with jc jid)
+    ;; Otherwise, let's check whether it has a groupchat identity.
+    (let ((identities (car result)))
+      (if (find "conference" (if (sequencep identities) identities nil)
+:key (lambda (i) (aref i 1))
+:test #'string=)
+  ;; Yes!  Let's join it.
+  (jabber-muc-join jc jid
+   (jabber-muc-read-my-nickname jc jid t)
+   t)
+;; No.  Let's open a normal chat buffer.
+(jabber-chat-with jc jid)))))
 
 (defun jabber-roster-mouse-2-action-at-point (e)
   "Action for mouse-2. Before try to roll up/down group. Eval

-----------------------------------------------------------------------

Summary of changes:
 jabber-roster.el |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-02-06T18:07:43</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/363">
    <title>www index.html,1.9,1.10 index.org,1.9,1.10</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/363</link>
    <description>&lt;pre&gt;Update of /cvsroot/emacs-jabber/www
In directory vz-cvs-4.sog:/tmp/cvs-serv15884

Modified Files:
index.html index.org 
Log Message:
Link to 0.8.91 release


Index: index.html
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.html,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- index.html21 Aug 2011 19:04:40 -00001.9
+++ index.html4 Feb 2012 17:24:50 -00001.10
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,13 +1,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
 &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;
-&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
-lang="en" xml:lang="en"&amp;gt;
+&amp;lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"&amp;gt;
 &amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;jabber.el&amp;lt;/title&amp;gt;
 &amp;lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&amp;gt;
+&amp;lt;meta name="title" content="jabber.el"/&amp;gt;
 &amp;lt;meta name="generator" content="Org-mode"/&amp;gt;
-&amp;lt;meta name="generated" content="2011-08-21 20:02:35 BST"/&amp;gt;
+&amp;lt;meta name="generated" content="2012-02-04 16:26:10 CET"/&amp;gt;
 &amp;lt;meta name="author" content="Magnus Henoch"/&amp;gt;
 &amp;lt;meta name="description" content=""/&amp;gt;
 &amp;lt;meta name="keywords" content=""/&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -44,6 +44,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
   dt { font-weight: bold; }
   div.figure { padding: 0.5em; }
   div.figure p { text-align: center; }
+  div.inlinetask {
+    padding:10px;
+    border:2px solid gray;
+    margin:10px;
+    background: #ffffcc;
+  }
   textarea { overflow-x: auto; }
   .linenr { font-size:smaller }
   .code-highlighted {background-color:#ffff00;}
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -79,10 +85,15 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/head&amp;gt;
 &amp;lt;body&amp;gt;
-&amp;lt;div id="content"&amp;gt;
 
+&amp;lt;div id="preamble"&amp;gt;
+
+&amp;lt;/div&amp;gt;
+
+&amp;lt;div id="content"&amp;gt;
 &amp;lt;h1 class="title"&amp;gt;jabber.el&amp;lt;/h1&amp;gt;
 
+
 &amp;lt;a href="http://sourceforge.net"&amp;gt;
 &amp;lt;img border="0" src="http://sourceforge.net/sflogo.php?group_id=88346&amp;amp;amp;type=2" width="125" height="37" alt="SourceForge.net Logo" style="position: absolute; top: 0em; right: 0em;"&amp;gt;&amp;lt;/a&amp;gt;
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -93,24 +104,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;h2&amp;gt;Table of Contents&amp;lt;/h2&amp;gt;
 &amp;lt;div id="text-table-of-contents"&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-1"&amp;gt;What is Jabber? &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-2"&amp;gt;What is jabber.el? &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3"&amp;gt;Downloading and installing &amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-1"&amp;gt;What is Jabber?&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-2"&amp;gt;What is jabber.el?&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3"&amp;gt;Downloading and installing&amp;lt;/a&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-1"&amp;gt;Prepackaged &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-2"&amp;gt;Dependencies &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-3"&amp;gt;Downloading &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-4"&amp;gt;Using &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-1"&amp;gt;Prepackaged&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-2"&amp;gt;Dependencies&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-3"&amp;gt;Downloading&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-4"&amp;gt;Using&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-4"&amp;gt;Reporting bugs &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5"&amp;gt;Latest source &amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-4"&amp;gt;Reporting bugs&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5"&amp;gt;Latest source&amp;lt;/a&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-1"&amp;gt;On Sourceforge &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-2"&amp;gt;catap's repository &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-1"&amp;gt;On Sourceforge&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-2"&amp;gt;catap's repository&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-6"&amp;gt;List of releases &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-6"&amp;gt;List of releases&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -120,7 +131,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 For the impatient:
 &amp;lt;/p&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;Latest pretest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber beta versions/0.8.90/"&amp;gt;0.8.90&amp;lt;/a&amp;gt; (21-Aug-2011) â includes change needed to connect to Google Talk
+&amp;lt;li&amp;gt;Latest pretest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber beta versions/0.8.91/"&amp;gt;0.8.91&amp;lt;/a&amp;gt; (3-Feb-2012) â includes change needed to connect to Google Talk
 &amp;lt;/li&amp;gt;
 &amp;lt;li&amp;gt;Latest stable release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0"&amp;gt;0.8.0&amp;lt;/a&amp;gt; (12-Sep-2009)
 &amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -173,7 +184,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 
 &amp;lt;div id="outline-container-1" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-1"&amp;gt;What is Jabber? &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-1"&amp;gt;What is Jabber?&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-1"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -208,7 +219,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-2" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-2"&amp;gt;What is jabber.el? &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-2"&amp;gt;What is jabber.el?&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-2"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -222,7 +233,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-3"&amp;gt;Downloading and installing &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-3"&amp;gt;Downloading and installing&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-3"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -230,7 +241,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3-1" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3-1"&amp;gt;Prepackaged &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-3-1"&amp;gt;Prepackaged&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-3-1"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -243,7 +254,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3-2" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3-2"&amp;gt;Dependencies &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-3-2"&amp;gt;Dependencies&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-3-2"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -266,7 +277,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3-3" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3-3"&amp;gt;Downloading &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-3-3"&amp;gt;Downloading&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-3-3"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -286,7 +297,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
 
 
-
 &amp;lt;p&amp;gt;
 Either evaluate those lines, or restart Emacs.
 &amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -295,7 +305,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3-4" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3-4"&amp;gt;Using &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-3-4"&amp;gt;Using&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-3-4"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -310,7 +320,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-4" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-4"&amp;gt;Reporting bugs &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-4"&amp;gt;Reporting bugs&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-4"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -324,7 +334,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-5" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-5"&amp;gt;Latest source &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-5"&amp;gt;Latest source&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-5"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -337,7 +347,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-5-1" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-5-1"&amp;gt;On Sourceforge &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-5-1"&amp;gt;On Sourceforge&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-5-1"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -347,7 +357,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/pre&amp;gt;
 
 
-
 &amp;lt;p&amp;gt;
 You can also &amp;lt;a href="http://emacs-jabber.git.sourceforge.net/"&amp;gt;browse the repository&amp;lt;/a&amp;gt; with your web browser.
 &amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -356,7 +365,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-5-2" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-5-2"&amp;gt;catap's repository &amp;lt;/h3&amp;gt;
+&amp;lt;h3 id="sec-5-2"&amp;gt;catap's repository&amp;lt;/h3&amp;gt;
 &amp;lt;div class="outline-text-3" id="text-5-2"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -367,14 +376,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 
 
-
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-6" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-6"&amp;gt;List of releases &amp;lt;/h2&amp;gt;
+&amp;lt;h2 id="sec-6"&amp;gt;List of releases&amp;lt;/h2&amp;gt;
 &amp;lt;div class="outline-text-2" id="text-6"&amp;gt;
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -383,11 +391,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/p&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt;
+
 &amp;lt;div id="postamble"&amp;gt;
-&amp;lt;p class="date"&amp;gt;Date: 2011-08-21 20:02:35 BST&amp;lt;/p&amp;gt;
-&amp;lt;p class="creator"&amp;gt;Org version 7.6 with Emacs version 24&amp;lt;/p&amp;gt;
+&amp;lt;p class="date"&amp;gt;Date: 2012-02-04 16:26:10 CET&amp;lt;/p&amp;gt;
+&amp;lt;p class="creator"&amp;gt;Org version 7.8.03 with Emacs version 24&amp;lt;/p&amp;gt;
 &amp;lt;a href="http://validator.w3.org/check?uri=referer"&amp;gt;Validate XHTML 1.0&amp;lt;/a&amp;gt;
-&amp;lt;/div&amp;gt;
+
 &amp;lt;/div&amp;gt;
 &amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;

Index: index.org
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.org,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- index.org21 Aug 2011 19:04:40 -00001.9
+++ index.org4 Feb 2012 17:24:50 -00001.10
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,7 +13,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 # &amp;lt;&amp;lt;impatient&amp;gt;&amp;gt;
 For the impatient:
 
- - Latest pretest release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber%20beta%20versions/0.8.90/][0.8.90]] (21-Aug-2011) â includes change needed to connect to Google Talk
+ - Latest pretest release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber%20beta%20versions/0.8.91/][0.8.91]] (3-Feb-2012) â includes change needed to connect to Google Talk
  - Latest stable release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0][0.8.0]] (12-Sep-2009)
  - Full [[file:list-of-releases.org][list of releases]], including lists of features and changes
 


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2_______________________________________________
Emacs-jabber-commit mailing list
Emacs-jabber-commit&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emacs-jabber-commit
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-02-04T17:24:52</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/362">
    <title>[SCM] emacs-jabber branch, master,updated. a98bbc4da6ab878ea3693e6335e2ba6badf1d701</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/362</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  a98bbc4da6ab878ea3693e6335e2ba6badf1d701 (commit)
       via  faf2e9e7aaf9f5c8a539934c916614eb6e6a487c (commit)
      from  4ff9b48fbe8e646ef12d3777f0110b8139f1a3ee (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a98bbc4da6ab878ea3693e6335e2ba6badf1d701
Author: magnus.henoch&amp;lt; at &amp;gt;gmail.com &amp;lt;magnus.henoch&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Fri Feb 3 13:29:41 2012 +0000

    Version 0.8.91

diff --git a/configure.ac b/configure.ac
index 05736aa..c3b14a6 100644
--- a/configure.ac
+++ b/configure.ac
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,4 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-AC_INIT([jabber.el], [0.8.90], [emacs-jabber-general&amp;lt; at &amp;gt;lists.sourceforge.net], [emacs-jabber])
+AC_INIT([jabber.el], [0.8.91], [emacs-jabber-general&amp;lt; at &amp;gt;lists.sourceforge.net], [emacs-jabber])
 AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-lzma dist-zip 1.9])
 AC_CONFIG_MACRO_DIR([m4])

commit faf2e9e7aaf9f5c8a539934c916614eb6e6a487c
Author: magnus.henoch&amp;lt; at &amp;gt;gmail.com &amp;lt;magnus.henoch&amp;lt; at &amp;gt;gmail.com&amp;gt;
Date:   Fri Feb 3 13:22:42 2012 +0000

    * jabberd.el (jabberd-handle): Update for new namespace handling.

diff --git a/tests/jabberd.el b/tests/jabberd.el
index 5b6feab..0985687 100644
--- a/tests/jabberd.el
+++ b/tests/jabberd.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -73,8 +73,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; arguments, the client FSM and the stanza.")
 ;; If so, send &amp;lt;stream:features&amp;gt;.
 (when (string-match "version=[\"']" stanza)
   (jabberd-send fsm
-'(stream:features
-  ()
+'(features
+  ((xmlns . "http://etherx.jabber.org/streams"))
   ;; Interesting implementation details
   ;; of jabber.el permit us to send all
   ;; features at once, without caring about

-----------------------------------------------------------------------

Summary of changes:
 configure.ac     |    2 +-
 tests/jabberd.el |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2012-02-03T16:54:31</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/361">
    <title>[SCM] emacs-jabber branch, master,updated. 4ff9b48fbe8e646ef12d3777f0110b8139f1a3ee</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/361</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  4ff9b48fbe8e646ef12d3777f0110b8139f1a3ee (commit)
      from  a034d4b330d23643169880e96e34e0cf61b76a11 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4ff9b48fbe8e646ef12d3777f0110b8139f1a3ee
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Wed Dec 21 18:38:38 2011 +0000

    Use namespace prefixes declared on stream root element
    
    * jabber-core.el (jabber-namespace-prefixes): New variable.
    (jabber-connection) [:connected, :bind]: Expect features instead
    of stream:features.
    (jabber-filter): Save namespace prefixes from stream root element.
    Use saved prefixes when parsing stanzas.
    
    * jabber-xml.el (jabber-xml-resolve-namespace-prefixes): Move the merging part...
    (jabber-xml-merge-namespace-declarations): ...into this new function.

diff --git a/jabber-core.el b/jabber-core.el
index 8b558a8..eae787b 100644
--- a/jabber-core.el
+++ b/jabber-core.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -64,6 +64,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 (defvar jabber-choked-timer nil)
 
+(defvar jabber-namespace-prefixes nil
+  "XML namespace prefixes used for the current connection.")
+(make-variable-buffer-local 'jabber-namespace-prefixes)
+
 (defgroup jabber-core nil "customize core functionality"
   :group 'jabber)
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -440,7 +444,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; With double prefix argument, specify more connection details."
      (let ((stanza (cadr event)))
        (cond
 ;; At this stage, we only expect a stream:features stanza.
-((not (eq (jabber-xml-node-name stanza) 'stream:features))
+((not (eq (jabber-xml-node-name stanza) 'features))
  (list nil (plist-put state-data
       :disconnection-reason
       (format "Unexpected stanza %s" stanza))))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -632,7 +636,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; With double prefix argument, specify more connection details."
     (:stanza
      (let ((stanza (cadr event)))
        (cond
-((eq (jabber-xml-node-name stanza) 'stream:features)
+((eq (jabber-xml-node-name stanza) 'features)
  (if (and (jabber-xml-get-children stanza 'bind)
   (jabber-xml-get-children stanza 'session))
      (labels
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -862,7 +866,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DATA is any sexp."
 (stream-header (car (xml-parse-region (point-min) ending-at)))
 (session-id (jabber-xml-get-attribute stream-header 'id))
 (stream-version (jabber-xml-get-attribute stream-header 'version)))
-   
+
+   ;; Need to keep any namespace attributes on the stream
+   ;; header, as they can affect any stanza in the
+   ;; stream...
+   (setq jabber-namespace-prefixes
+ (jabber-xml-merge-namespace-declarations
+  (jabber-xml-node-attributes stream-header)
+  nil))
    (jabber-log-xml fsm "receive" stream-header)
    (fsm-send fsm (list :stream-start session-id stream-version))
    (delete-region (point-min) ending-at)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -898,7 +909,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DATA is any sexp."
   (sit-for 2)))
        (delete-region (point-min) (point))
 
-       (fsm-send fsm (list :stanza (jabber-xml-resolve-namespace-prefixes (car xml-data))))
+       (fsm-send fsm (list :stanza
+   (jabber-xml-resolve-namespace-prefixes
+    (car xml-data) nil jabber-namespace-prefixes)))
        ;; XXX: move this logic elsewhere
        ;; We explicitly don't catch errors in jabber-process-input,
        ;; to facilitate debugging.
diff --git a/jabber-xml.el b/jabber-xml.el
index 88878fe..46762ed 100644
--- a/jabber-xml.el
+++ b/jabber-xml.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -226,22 +226,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; any string   character data of this node"
 (defun jabber-xml-resolve-namespace-prefixes (xml-data &amp;amp;optional default-ns prefixes)
   (let ((node-name (jabber-xml-node-name xml-data))
 (attrs (jabber-xml-node-attributes xml-data)))
-    ;; First find any foo:xmlns attributes..
-    (dolist (attr attrs)
-      (let ((attr-name (symbol-name (car attr))))
-(when (string-match "xmlns:" attr-name)
-  (let ((prefix (substring attr-name (match-end 0)))
-(ns-uri (cdr attr)))
-    ;; A slightly complicated dance to never change the
-    ;; original value of prefixes (since the caller depends on
-    ;; it), but also to avoid excessive copying (which remove
-    ;; always does).  Might need to profile and tweak this for
-    ;; performance.
-    (setq prefixes
-  (cons (cons prefix ns-uri)
-(if (assoc prefix prefixes)
-    (remove (assoc prefix prefixes) prefixes)
-  prefixes)))))))
+    (setq prefixes (jabber-xml-merge-namespace-declarations attrs prefixes))
+
     ;; If there is an xmlns attribute, it is the new default
     ;; namespace.
     (let ((xmlns (jabber-xml-get-xmlns xml-data)))
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -267,6 +253,25 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; any string   character data of this node"
   (jabber-xml-node-children xml-data))
     xml-data))
 
+(defun jabber-xml-merge-namespace-declarations (attrs prefixes)
+  ;; First find any xmlns:foo attributes..
+  (dolist (attr attrs)
+    (let ((attr-name (symbol-name (car attr))))
+      (when (string-match "xmlns:" attr-name)
+(let ((prefix (substring attr-name (match-end 0)))
+      (ns-uri (cdr attr)))
+  ;; A slightly complicated dance to never change the
+  ;; original value of prefixes (since the caller depends on
+  ;; it), but also to avoid excessive copying (which remove
+  ;; always does).  Might need to profile and tweak this for
+  ;; performance.
+  (setq prefixes
+(cons (cons prefix ns-uri)
+(if (assoc prefix prefixes)
+    (remove (assoc prefix prefixes) prefixes)
+  prefixes)))))))
+  prefixes)  
+
 (provide 'jabber-xml)
 
 ;;; arch-tag: ca206e65-7026-4ee8-9af2-ff6a9c5af98a

-----------------------------------------------------------------------

Summary of changes:
 jabber-core.el |   21 +++++++++++++++++----
 jabber-xml.el  |   37 +++++++++++++++++++++----------------
 2 files changed, 38 insertions(+), 20 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-12-21T22:17:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/360">
    <title>[SCM] emacs-jabber branch, master,updated. a034d4b330d23643169880e96e34e0cf61b76a11</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/360</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  a034d4b330d23643169880e96e34e0cf61b76a11 (commit)
      from  dc9fc0fa06ff8a18b5599572671ce598374aa83c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a034d4b330d23643169880e96e34e0cf61b76a11
Author: Jeremy Compostella &amp;lt;jerry&amp;lt; at &amp;gt;Apollo.jerryland.fr&amp;gt;
Date:   Thu Dec 15 22:31:34 2011 +0100

    jabber-core: Fix header parsing
    
    The (1+ (match-end 0)) is a mistake. Indeed, after the replace-match
    call the (match-end 0) point has changed to be at the end of the
    replaced string. So calling (point) is more than enough.
    
    Signed-off-by: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;

diff --git a/AUTHORS b/AUTHORS
index 4f60098..8e5c201 100644
--- a/AUTHORS
+++ b/AUTHORS
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -7,6 +7,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Evgenii Terechkov
 
 Contributors:
 Anthony Chaumas-Pellet
+JÃ©rÃ©my Compostella
 Mathias Dahl
 Mario Domenech Goulart
 Nolan Eakins
diff --git a/jabber-core.el b/jabber-core.el
index 21d0d96..8b558a8 100644
--- a/jabber-core.el
+++ b/jabber-core.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -858,8 +858,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DATA is any sexp."
  ;; Let's pretend that the stream header is a closed tag,
  ;; and parse it as such.
  (replace-match "/&amp;gt;" t t nil 1)
- (let* (;; Thus we need to add one to the index...
-(ending-at (1+ (match-end 0)))
+ (let* ((ending-at (point))
 (stream-header (car (xml-parse-region (point-min) ending-at)))
 (session-id (jabber-xml-get-attribute stream-header 'id))
 (stream-version (jabber-xml-get-attribute stream-header 'version)))

-----------------------------------------------------------------------

Summary of changes:
 AUTHORS        |    1 +
 jabber-core.el |    3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-12-18T22:38:54</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/359">
    <title>[SCM] emacs-jabber branch, master,updated. dc9fc0fa06ff8a18b5599572671ce598374aa83c</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/359</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  dc9fc0fa06ff8a18b5599572671ce598374aa83c (commit)
       via  9c8bea1bd5d68b49bc4d4675911d6c7d7fd10b95 (commit)
       via  a1bdfc5bb1bf46dab30031ca774484630fa17feb (commit)
      from  3dd51cf94e3da967a4678ab3c13d78c10ef43c8d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 NEWS             |    5 +++++
 configure.ac     |    2 +-
 jabber-core.el   |   32 ++++++++++----------------------
 jabber-roster.el |    7 ++++---
 4 files changed, 20 insertions(+), 26 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-10-02T20:04:08</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/358">
    <title>[SCM] emacs-jabber branch, namespace-prefixes,updated. dc9fc0fa06ff8a18b5599572671ce598374aa83c</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/358</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, namespace-prefixes has been updated
       via  dc9fc0fa06ff8a18b5599572671ce598374aa83c (commit)
       via  9c8bea1bd5d68b49bc4d4675911d6c7d7fd10b95 (commit)
      from  a1bdfc5bb1bf46dab30031ca774484630fa17feb (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit dc9fc0fa06ff8a18b5599572671ce598374aa83c
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Oct 2 21:00:19 2011 +0100

    Fix :get function for jabber-roster-default-group-name

diff --git a/jabber-roster.el b/jabber-roster.el
index d12c4ea..fdc6ff5 100644
--- a/jabber-roster.el
+++ b/jabber-roster.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -155,9 +155,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; Trailing newlines are always removed, regardless of this variable."
   :group 'jabber-roster
   :type 'string
   :get '(lambda (var)
-          (if (stringp var)
-           (set-text-properties 0 (length var) nil var)
-           var))
+  (let ((val (symbol-value var)))
+    (if (stringp val)
+(set-text-properties 0 (length val) nil val)
+      val)))
   :set '(lambda (var val)
           (if (stringp val)
               (set-text-properties 0 (length val) nil val))

commit 9c8bea1bd5d68b49bc4d4675911d6c7d7fd10b95
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Oct 2 19:28:21 2011 +0100

    Use xml-parse-region to parse stream header
    
    This lets us get rid of some ugly hacks, and will make it easier to
    extract other attributes from the header.

diff --git a/jabber-core.el b/jabber-core.el
index b2a1fa5..21d0d96 100644
--- a/jabber-core.el
+++ b/jabber-core.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -854,30 +854,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DATA is any sexp."
  (return (fsm-send fsm :stream-end)))
 
        ;; Stream header?
-       (when (looking-at "&amp;lt;stream:stream[^&amp;gt;]*&amp;gt;")
- (let ((stream-header (match-string 0))
-       (ending-at (match-end 0))
-       session-id stream-version)
-   ;; These regexps extract attribute values from the stream
-   ;; header, taking into account that the quotes may be either
-   ;; single or double quotes.
-   (setq session-id
- (and (or (string-match "id='\\([^']+\\)'" stream-header)
-  (string-match "id=\"\\([^\"]+\\)\"" stream-header))
-      (jabber-unescape-xml (match-string 1 stream-header))))
-   (setq stream-version
- (and (or
-       (string-match "version='\\([0-9.]+\\)'" stream-header)
-       (string-match "version=\"\\([0-9.]+\\)\"" stream-header))
-      (match-string 1 stream-header)))
-   (jabber-log-xml fsm "receive" stream-header)
+       (when (looking-at "&amp;lt;stream:stream[^&amp;gt;]*\\(&amp;gt;\\)")
+ ;; Let's pretend that the stream header is a closed tag,
+ ;; and parse it as such.
+ (replace-match "/&amp;gt;" t t nil 1)
+ (let* (;; Thus we need to add one to the index...
+(ending-at (1+ (match-end 0)))
+(stream-header (car (xml-parse-region (point-min) ending-at)))
+(session-id (jabber-xml-get-attribute stream-header 'id))
+(stream-version (jabber-xml-get-attribute stream-header 'version)))
    
-   ;; If the server is XMPP compliant, i.e. there is a version attribute
-   ;; and it's &amp;gt;= 1.0, there will be a stream:features tag shortly,
-   ;; so just wait for that.
-
+   (jabber-log-xml fsm "receive" stream-header)
    (fsm-send fsm (list :stream-start session-id stream-version))
- 
    (delete-region (point-min) ending-at)))
        
        ;; Normal tag

-----------------------------------------------------------------------

Summary of changes:
 jabber-core.el   |   32 ++++++++++----------------------
 jabber-roster.el |    7 ++++---
 2 files changed, 14 insertions(+), 25 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-10-02T20:01:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/357">
    <title>[SCM] emacs-jabber branch, master,updated. 3dd51cf94e3da967a4678ab3c13d78c10ef43c8d</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/357</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  3dd51cf94e3da967a4678ab3c13d78c10ef43c8d (commit)
      from  d30ef9b989065f6e714cf1781bbd0e7e4039681c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 jabber-core.el |    2 +-
 jabber-xml.el  |   46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 1 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-10-02T20:00:48</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/356">
    <title>[SCM] emacs-jabber tag, release-0_8_90,created. a1bdfc5bb1bf46dab30031ca774484630fa17feb</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/356</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The tag, release-0_8_90 has been created
        at  a1bdfc5bb1bf46dab30031ca774484630fa17feb (commit)

- Log -----------------------------------------------------------------
commit a1bdfc5bb1bf46dab30031ca774484630fa17feb
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Aug 21 15:51:17 2011 +0100

    Version 0.8.90
    
    * configure.ac: Bump version to 0.8.90.
    
    * NEWS: Mention namespace prefix handling.
-----------------------------------------------------------------------


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-08-21T19:08:30</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/355">
    <title>www index.html,1.8,1.9 index.org,1.8,1.9</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/355</link>
    <description>&lt;pre&gt;Update of /cvsroot/emacs-jabber/www
In directory vz-cvs-4.sog:/tmp/cvs-serv7687

Modified Files:
index.html index.org 
Log Message:
Link to 0.8.90 release


Index: index.html
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- index.html20 Aug 2011 21:38:34 -00001.8
+++ index.html21 Aug 2011 19:04:40 -00001.9
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,13 +1,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-&amp;lt;?xml version="1.0" encoding="iso-8859-1"?&amp;gt;
+&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
 &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;
 &amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
 lang="en" xml:lang="en"&amp;gt;
 &amp;lt;head&amp;gt;
 &amp;lt;title&amp;gt;jabber.el&amp;lt;/title&amp;gt;
-&amp;lt;meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/&amp;gt;
+&amp;lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8"/&amp;gt;
 &amp;lt;meta name="generator" content="Org-mode"/&amp;gt;
-&amp;lt;meta name="generated" content="2011-08-20 22:26:40 BST"/&amp;gt;
+&amp;lt;meta name="generated" content="2011-08-21 20:02:35 BST"/&amp;gt;
 &amp;lt;meta name="author" content="Magnus Henoch"/&amp;gt;
 &amp;lt;meta name="description" content=""/&amp;gt;
 &amp;lt;meta name="keywords" content=""/&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -120,7 +120,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 For the impatient:
 &amp;lt;/p&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;Latest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0"&amp;gt;0.8.0&amp;lt;/a&amp;gt; (12-Sep-2009)
+&amp;lt;li&amp;gt;Latest pretest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber beta versions/0.8.90/"&amp;gt;0.8.90&amp;lt;/a&amp;gt; (21-Aug-2011) â includes change needed to connect to Google Talk
+&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;Latest stable release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0"&amp;gt;0.8.0&amp;lt;/a&amp;gt; (12-Sep-2009)
 &amp;lt;/li&amp;gt;
 &amp;lt;li&amp;gt;Full &amp;lt;a href="list-of-releases.html"&amp;gt;list of releases&amp;lt;/a&amp;gt;, including lists of features and changes
 &amp;lt;/li&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -382,7 +384,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;div id="postamble"&amp;gt;
-&amp;lt;p class="date"&amp;gt;Date: 2011-08-20 22:26:40 BST&amp;lt;/p&amp;gt;
+&amp;lt;p class="date"&amp;gt;Date: 2011-08-21 20:02:35 BST&amp;lt;/p&amp;gt;
 &amp;lt;p class="creator"&amp;gt;Org version 7.6 with Emacs version 24&amp;lt;/p&amp;gt;
 &amp;lt;a href="http://validator.w3.org/check?uri=referer"&amp;gt;Validate XHTML 1.0&amp;lt;/a&amp;gt;
 &amp;lt;/div&amp;gt;

Index: index.org
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.org,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- index.org20 Aug 2011 21:38:34 -00001.8
+++ index.org21 Aug 2011 19:04:40 -00001.9
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -13,7 +13,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 # &amp;lt;&amp;lt;impatient&amp;gt;&amp;gt;
 For the impatient:
 
- - Latest release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0][0.8.0]] (12-Sep-2009)
+ - Latest pretest release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber%20beta%20versions/0.8.90/][0.8.90]] (21-Aug-2011) â includes change needed to connect to Google Talk
+ - Latest stable release: [[https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0][0.8.0]] (12-Sep-2009)
  - Full [[file:list-of-releases.org][list of releases]], including lists of features and changes
 
 External resources:


------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2_______________________________________________
Emacs-jabber-commit mailing list
Emacs-jabber-commit&amp;lt; at &amp;gt;lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emacs-jabber-commit
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-08-21T19:04:42</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/354">
    <title>[SCM] emacs-jabber branch, namespace-prefixes,updated. a1bdfc5bb1bf46dab30031ca774484630fa17feb</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/354</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, namespace-prefixes has been updated
       via  a1bdfc5bb1bf46dab30031ca774484630fa17feb (commit)
      from  3dd51cf94e3da967a4678ab3c13d78c10ef43c8d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a1bdfc5bb1bf46dab30031ca774484630fa17feb
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sun Aug 21 15:51:17 2011 +0100

    Version 0.8.90
    
    * configure.ac: Bump version to 0.8.90.
    
    * NEWS: Mention namespace prefix handling.

diff --git a/NEWS b/NEWS
index 74892e7..c89cbda 100644
--- a/NEWS
+++ b/NEWS
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -22,6 +22,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; MUC participants list format is now customizable: see
 jabber-muc-print-names-format in manual. Also, participants sorted by
 role.
 
+** Treat XML namespace prefixes correctly
+A change in the Google Talk server has brought to light the fact that
+jabber.el didn't handle XML namespace prefixes correctly.  This should
+be fixed by the new jabber-xml-resolve-namespace-prefixes function.
+
 * New features in jabber.el 0.8
 ** Support for multiple accounts
 Configuration variables have changed.  See section "Account settings"
diff --git a/configure.ac b/configure.ac
index 64d1088..05736aa 100644
--- a/configure.ac
+++ b/configure.ac
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,4 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
-AC_INIT([jabber.el], [0.8.0], [emacs-jabber-general&amp;lt; at &amp;gt;lists.sourceforge.net], [emacs-jabber])
+AC_INIT([jabber.el], [0.8.90], [emacs-jabber-general&amp;lt; at &amp;gt;lists.sourceforge.net], [emacs-jabber])
 AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-lzma dist-zip 1.9])
 AC_CONFIG_MACRO_DIR([m4])

-----------------------------------------------------------------------

Summary of changes:
 NEWS         |    5 +++++
 configure.ac |    2 +-
 2 files changed, 6 insertions(+), 1 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-08-21T14:52:22</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/353">
    <title>www index.html,1.7,1.8 index.org,1.7,1.8</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/353</link>
    <description>&lt;pre&gt;Update of /cvsroot/emacs-jabber/www
In directory vz-cvs-4.sog:/tmp/cvs-serv10177

Modified Files:
index.html index.org 
Log Message:
Update xmpp.org links


Index: index.html
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.html,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- index.html12 Sep 2009 14:17:29 -00001.7
+++ index.html20 Aug 2011 21:38:34 -00001.8
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,3 +1,4 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+&amp;lt;?xml version="1.0" encoding="iso-8859-1"?&amp;gt;
 &amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&amp;gt;
 &amp;lt;html xmlns="http://www.w3.org/1999/xhtml"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,18 +7,23 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;title&amp;gt;jabber.el&amp;lt;/title&amp;gt;
 &amp;lt;meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/&amp;gt;
 &amp;lt;meta name="generator" content="Org-mode"/&amp;gt;
-&amp;lt;meta name="generated" content="2009-09-12 15:29:40 BST"/&amp;gt;
-&amp;lt;meta name="author" content="Magnus"/&amp;gt;
+&amp;lt;meta name="generated" content="2011-08-20 22:26:40 BST"/&amp;gt;
+&amp;lt;meta name="author" content="Magnus Henoch"/&amp;gt;
+&amp;lt;meta name="description" content=""/&amp;gt;
+&amp;lt;meta name="keywords" content=""/&amp;gt;
 &amp;lt;style type="text/css"&amp;gt;
- &amp;lt;![CDATA[
+ &amp;lt;!--/*--&amp;gt;&amp;lt;![CDATA[/*&amp;gt;&amp;lt;!--*/
   html { font-family: Times, serif; font-size: 12pt; }
   .title  { text-align: center; }
   .todo   { color: red; }
   .done   { color: green; }
-  .tag    { background-color:lightblue; font-weight:normal }
+  .tag    { background-color: #add8e6; font-weight:normal }
   .target { }
-  .timestamp { color: grey }
-  .timestamp-kwd { color: CadetBlue }
+  .timestamp { color: #bebebe; }
+  .timestamp-kwd { color: #5f9ea0; }
+  .right  {margin-left:auto; margin-right:0px;  text-align:right;}
+  .left   {margin-left:0px;  margin-right:auto; text-align:left;}
+  .center {margin-left:auto; margin-right:auto; text-align:center;}
   p.verse { margin-left: 3% }
   pre {
 border: 1pt solid #AEBDCC;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -28,19 +34,54 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
         overflow:auto;
   }
   table { border-collapse: collapse; }
-  td, th { vertical-align: top; }
+  td, th { vertical-align: top;  }
+  th.right  { text-align:center;  }
+  th.left   { text-align:center;   }
+  th.center { text-align:center; }
+  td.right  { text-align:right;  }
+  td.left   { text-align:left;   }
+  td.center { text-align:center; }
   dt { font-weight: bold; }
-
+  div.figure { padding: 0.5em; }
+  div.figure p { text-align: center; }
+  textarea { overflow-x: auto; }
+  .linenr { font-size:smaller }
+  .code-highlighted {background-color:#ffff00;}
   .org-info-js_info-navigation { border-style:none; }
   #org-info-js_console-label { font-size:10px; font-weight:bold;
                                white-space:nowrap; }
   .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
                                  font-weight:bold; }
- ]]&amp;gt;
+  /*]]&amp;gt;*/--&amp;gt;
 &amp;lt;/style&amp;gt;
-&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;
-&amp;lt;h1 class="title"&amp;gt;jabber.el&amp;lt;/h1&amp;gt;
+&amp;lt;script type="text/javascript"&amp;gt;
+&amp;lt;!--/*--&amp;gt;&amp;lt;![CDATA[/*&amp;gt;&amp;lt;!--*/
+ function CodeHighlightOn(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(null != target) {
+     elem.cacheClassElem = elem.className;
+     elem.cacheClassTarget = target.className;
+     target.className = "code-highlighted";
+     elem.className   = "code-highlighted";
+   }
+ }
+ function CodeHighlightOff(elem, id)
+ {
+   var target = document.getElementById(id);
+   if(elem.cacheClassElem)
+     elem.className = elem.cacheClassElem;
+   if(elem.cacheClassTarget)
+     target.className = elem.cacheClassTarget;
+ }
+/*]]&amp;gt;*///--&amp;gt;
+&amp;lt;/script&amp;gt;
+
+&amp;lt;/head&amp;gt;
+&amp;lt;body&amp;gt;
+&amp;lt;div id="content"&amp;gt;
 
+&amp;lt;h1 class="title"&amp;gt;jabber.el&amp;lt;/h1&amp;gt;
 
 &amp;lt;a href="http://sourceforge.net"&amp;gt;
 &amp;lt;img border="0" src="http://sourceforge.net/sflogo.php?group_id=88346&amp;amp;amp;type=2" width="125" height="37" alt="SourceForge.net Logo" style="position: absolute; top: 0em; right: 0em;"&amp;gt;&amp;lt;/a&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -52,24 +93,24 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;h2&amp;gt;Table of Contents&amp;lt;/h2&amp;gt;
 &amp;lt;div id="text-table-of-contents"&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-1"&amp;gt;What is Jabber?&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-2"&amp;gt;What is jabber.el?&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3"&amp;gt;Downloading and installing&amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-1"&amp;gt;What is Jabber? &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-2"&amp;gt;What is jabber.el? &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3"&amp;gt;Downloading and installing &amp;lt;/a&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3.1"&amp;gt;Prepackaged&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3.2"&amp;gt;Dependencies&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3.3"&amp;gt;Downloading&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3.4"&amp;gt;Using&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-1"&amp;gt;Prepackaged &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-2"&amp;gt;Dependencies &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-3"&amp;gt;Downloading &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-3-4"&amp;gt;Using &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-4"&amp;gt;Reporting bugs&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5"&amp;gt;Latest source&amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-4"&amp;gt;Reporting bugs &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5"&amp;gt;Latest source &amp;lt;/a&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5.1"&amp;gt;On Sourceforge&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5.2"&amp;gt;catap's repository&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-1"&amp;gt;On Sourceforge &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-5-2"&amp;gt;catap's repository &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;&amp;lt;a href="#sec-6"&amp;gt;List of releases&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="#sec-6"&amp;gt;List of releases &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -79,73 +120,69 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 For the impatient:
 &amp;lt;/p&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;
-Latest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0"&amp;gt;0.8.0&amp;lt;/a&amp;gt; (12-Sep-2009)
+&amp;lt;li&amp;gt;Latest release: &amp;lt;a href="https://sourceforge.net/projects/emacs-jabber/files/emacs-jabber/0.8.0"&amp;gt;0.8.0&amp;lt;/a&amp;gt; (12-Sep-2009)
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-Full &amp;lt;a href="list-of-releases.html"&amp;gt;list of releases&amp;lt;/a&amp;gt;, including lists of features and changes
-
+&amp;lt;li&amp;gt;Full &amp;lt;a href="list-of-releases.html"&amp;gt;list of releases&amp;lt;/a&amp;gt;, including lists of features and changes
 &amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 
-&amp;lt;p&amp;gt;External resources:
+
+&amp;lt;p&amp;gt;
+External resources:
 &amp;lt;/p&amp;gt;
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://sourceforge.net/projects/emacs-jabber/"&amp;gt;Sourceforge project page&amp;lt;/a&amp;gt;, containing:
+&amp;lt;li&amp;gt;&amp;lt;a href="http://sourceforge.net/projects/emacs-jabber/"&amp;gt;Sourceforge project page&amp;lt;/a&amp;gt;, containing:
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;
-trackers for
-&amp;lt;a href="http://sourceforge.net/tracker/?atid=586350&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;bugs&amp;lt;/a&amp;gt;,
-&amp;lt;a href="http://sourceforge.net/tracker/?atid=586353&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;feature requests&amp;lt;/a&amp;gt;,
-&amp;lt;a href="http://sourceforge.net/tracker/?atid=586352&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;patches&amp;lt;/a&amp;gt; and
-&amp;lt;a href="http://sourceforge.net/tracker/?atid=586351&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;support requests&amp;lt;/a&amp;gt;, open for anonymous posters
+&amp;lt;li&amp;gt;trackers for
+     &amp;lt;a href="http://sourceforge.net/tracker/?atid=586350&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;bugs&amp;lt;/a&amp;gt;,
+     &amp;lt;a href="http://sourceforge.net/tracker/?atid=586353&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;feature requests&amp;lt;/a&amp;gt;,
+     &amp;lt;a href="http://sourceforge.net/tracker/?atid=586352&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;patches&amp;lt;/a&amp;gt; and
+     &amp;lt;a href="http://sourceforge.net/tracker/?atid=586351&amp;amp;amp;group_id=88346&amp;amp;amp;func=browse"&amp;gt;support requests&amp;lt;/a&amp;gt;, open for anonymous posters
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://sourceforge.net/forum/?group_id=88346"&amp;gt;forums&amp;lt;/a&amp;gt;, open for anonymous posters
+&amp;lt;li&amp;gt;&amp;lt;a href="http://sourceforge.net/forum/?group_id=88346"&amp;gt;forums&amp;lt;/a&amp;gt;, open for anonymous posters
 &amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
+
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://www.emacswiki.org/cgi-bin/wiki/JabberEl"&amp;gt;the JabberEl page of EmacsWiki&amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;&amp;lt;a href="http://www.emacswiki.org/cgi-bin/wiki/JabberEl"&amp;gt;the JabberEl page of EmacsWiki&amp;lt;/a&amp;gt;
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-Mailing lists (also available at &amp;lt;a href="http://gmane.net"&amp;gt;Gmane&amp;lt;/a&amp;gt;):
+&amp;lt;li&amp;gt;Mailing lists (also available at &amp;lt;a href="http://gmane.net"&amp;gt;Gmane&amp;lt;/a&amp;gt;):
 &amp;lt;ul&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-general"&amp;gt;emacs-jabber-general&amp;lt;/a&amp;gt;, for posts by humans (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.general"&amp;gt;gmane.emacs.jabber.general&amp;lt;/a&amp;gt;)
+&amp;lt;li&amp;gt;&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-general"&amp;gt;emacs-jabber-general&amp;lt;/a&amp;gt;, for posts by humans (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.general"&amp;gt;gmane.emacs.jabber.general&amp;lt;/a&amp;gt;)
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-commit"&amp;gt;emacs-jabber-commit&amp;lt;/a&amp;gt;, read-only mailing list of CVS commits (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.scm"&amp;gt;gmane.emacs.jabber.scm&amp;lt;/a&amp;gt;)
+&amp;lt;li&amp;gt;&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-commit"&amp;gt;emacs-jabber-commit&amp;lt;/a&amp;gt;, read-only mailing list of CVS commits (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.scm"&amp;gt;gmane.emacs.jabber.scm&amp;lt;/a&amp;gt;)
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-bugs"&amp;gt;emacs-jabber-bugs&amp;lt;/a&amp;gt;, read-only mailing list of bug tracker activity (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.bugs"&amp;gt;gmane.emacs.jabber.bugs&amp;lt;/a&amp;gt;)
+&amp;lt;li&amp;gt;&amp;lt;a href="http://lists.sourceforge.net/lists/listinfo/emacs-jabber-bugs"&amp;gt;emacs-jabber-bugs&amp;lt;/a&amp;gt;, read-only mailing list of bug tracker activity (also &amp;lt;a href="http://dir.gmane.org/gmane.emacs.jabber.bugs"&amp;gt;gmane.emacs.jabber.bugs&amp;lt;/a&amp;gt;)
 &amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
+
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-the Jabber chat room
-&amp;lt;a href="xmpp:jabber.el&amp;lt; at &amp;gt;conference.jabber.se?join"&amp;gt;jabber.el&amp;lt; at &amp;gt;conference.jabber.se&amp;lt;/a&amp;gt;
+&amp;lt;li&amp;gt;the Jabber chat room
 &amp;lt;/li&amp;gt;
-&amp;lt;li&amp;gt;
-the &amp;lt;a href="manual-0.8.0/"&amp;gt;manual for jabber.el 0.8.0&amp;lt;/a&amp;gt; (also included in the release files)
+&amp;lt;/ul&amp;gt;
+
 
+&amp;lt;a href="xmpp:jabber.el&amp;lt; at &amp;gt;conference.jabber.se?join"&amp;gt;jabber.el&amp;lt; at &amp;gt;conference.jabber.se&amp;lt;/a&amp;gt;
+&amp;lt;ul&amp;gt;
+&amp;lt;li&amp;gt;the &amp;lt;a href="manual-0.8.0/"&amp;gt;manual for jabber.el 0.8.0&amp;lt;/a&amp;gt; (also included in the release files)
 &amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
 
+
+
 &amp;lt;div id="outline-container-1" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-1"&amp;gt;What is Jabber?&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-1"&amp;gt;
+&amp;lt;h2 id="sec-1"&amp;gt;What is Jabber? &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-1"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
 Jabber is an open instant messaging (IM) system, also known as XMPP.
-It is described in &amp;lt;a href="http://www.xmpp.org/rfcs/"&amp;gt;RFCs 3920-3923&amp;lt;/a&amp;gt; and a series of &amp;lt;a href="http://www.xmpp.org/extensions/"&amp;gt;XEPs&amp;lt;/a&amp;gt; (XMPP Extension
+It is described in &amp;lt;a href="http://xmpp.org/xmpp-protocols/rfcs/"&amp;gt;RFCs 3920-3923&amp;lt;/a&amp;gt; and a series of &amp;lt;a href="http://xmpp.org/xmpp-protocols/xmpp-extensions/"&amp;gt;XEPs&amp;lt;/a&amp;gt; (XMPP Extension
 Proposals).  That is, unlike legacy IM systems (such as ICQ or MSN
 Messenger), the protocol is published in the open, free for anyone to
 implement.  Therefore you shouldn't be surprised that there is a
 Jabber client for Emacs, too.  (If you are not of the Emacs
-persuasion, see this &amp;lt;a href="http://www.jabber.org/software/clients.shtml"&amp;gt;list of Jabber clients&amp;lt;/a&amp;gt;.)
+persuasion, see this &amp;lt;a href="http://xmpp.org/xmpp-software/clients/"&amp;gt;list of XMPP/Jabber clients&amp;lt;/a&amp;gt;.)
 &amp;lt;/p&amp;gt;
 &amp;lt;p&amp;gt;
 Jabber is, like e-mail, a decentralised system.  A Jabber identifier
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -169,8 +206,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-2" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-2"&amp;gt;What is jabber.el?&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-2"&amp;gt;
+&amp;lt;h2 id="sec-2"&amp;gt;What is jabber.el? &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-2"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -183,16 +220,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-3" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-3"&amp;gt;Downloading and installing&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-3"&amp;gt;
+&amp;lt;h2 id="sec-3"&amp;gt;Downloading and installing &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-3"&amp;gt;
 
 
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-3.1" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3.1"&amp;gt;Prepackaged&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-3.1"&amp;gt;
+&amp;lt;div id="outline-container-3-1" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-3-1"&amp;gt;Prepackaged &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-3-1"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -203,9 +240,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-3.2" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3.2"&amp;gt;Dependencies&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-3.2"&amp;gt;
+&amp;lt;div id="outline-container-3-2" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-3-2"&amp;gt;Dependencies &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-3-2"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -226,17 +263,19 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-3.3" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3.3"&amp;gt;Downloading&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-3.3"&amp;gt;
+&amp;lt;div id="outline-container-3-3" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-3-3"&amp;gt;Downloading &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-3-3"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
 Download the &amp;lt;a href="#impatient"&amp;gt;latest release&amp;lt;/a&amp;gt; and unpack it in a suitable location.  Add
 something like the following to your &amp;lt;code&amp;gt;.emacs&amp;lt;/code&amp;gt; file:
 &amp;lt;/p&amp;gt;
-&amp;lt;pre class="example"&amp;gt;
-;; adjust this path:
+
+
+
+&amp;lt;pre class="example"&amp;gt;;; adjust this path:
 (add-to-list 'load-path "/path/to/emacs-jabber")
 ;; For 0.7.1 and below:
 (require 'jabber)
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -244,6 +283,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 (require 'jabber-autoloads)
 &amp;lt;/pre&amp;gt;
 
+
+
 &amp;lt;p&amp;gt;
 Either evaluate those lines, or restart Emacs.
 &amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -251,9 +292,9 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-3.4" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-3.4"&amp;gt;Using&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-3.4"&amp;gt;
+&amp;lt;div id="outline-container-3-4" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-3-4"&amp;gt;Using &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-3-4"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -267,8 +308,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-4" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-4"&amp;gt;Reporting bugs&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-4"&amp;gt;
+&amp;lt;h2 id="sec-4"&amp;gt;Reporting bugs &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-4"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -281,8 +322,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-5" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-5"&amp;gt;Latest source&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-5"&amp;gt;
+&amp;lt;h2 id="sec-5"&amp;gt;Latest source &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-5"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -293,14 +334,18 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-5.1" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-5.1"&amp;gt;On Sourceforge&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-5.1"&amp;gt;
+&amp;lt;div id="outline-container-5-1" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-5-1"&amp;gt;On Sourceforge &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-5-1"&amp;gt;
 
-&amp;lt;pre class="example"&amp;gt;
-git clone git://emacs-jabber.git.sourceforge.net/gitroot/emacs-jabber/emacs-jabber
+
+
+
+&amp;lt;pre class="example"&amp;gt;git clone git://emacs-jabber.git.sourceforge.net/gitroot/emacs-jabber/emacs-jabber
 &amp;lt;/pre&amp;gt;
 
+
+
 &amp;lt;p&amp;gt;
 You can also &amp;lt;a href="http://emacs-jabber.git.sourceforge.net/"&amp;gt;browse the repository&amp;lt;/a&amp;gt; with your web browser.
 &amp;lt;/p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -308,23 +353,27 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 &amp;lt;/div&amp;gt;
 
-&amp;lt;div id="outline-container-5.2" class="outline-3"&amp;gt;
-&amp;lt;h3 id="sec-5.2"&amp;gt;catap's repository&amp;lt;/h3&amp;gt;
-&amp;lt;div id="text-5.2"&amp;gt;
+&amp;lt;div id="outline-container-5-2" class="outline-3"&amp;gt;
+&amp;lt;h3 id="sec-5-2"&amp;gt;catap's repository &amp;lt;/h3&amp;gt;
+&amp;lt;div class="outline-text-3" id="text-5-2"&amp;gt;
 
-&amp;lt;pre class="example"&amp;gt;
-git clone git://catap.ru/emacs-jabber/emacs-jabber.git
+
+
+
+&amp;lt;pre class="example"&amp;gt;git clone git://catap.ru/emacs-jabber/emacs-jabber.git
 &amp;lt;/pre&amp;gt;
 
 
+
+
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
 
 &amp;lt;/div&amp;gt;
 
 &amp;lt;div id="outline-container-6" class="outline-2"&amp;gt;
-&amp;lt;h2 id="sec-6"&amp;gt;List of releases&amp;lt;/h2&amp;gt;
-&amp;lt;div id="text-6"&amp;gt;
+&amp;lt;h2 id="sec-6"&amp;gt;List of releases &amp;lt;/h2&amp;gt;
+&amp;lt;div class="outline-text-2" id="text-6"&amp;gt;
 
 
 &amp;lt;p&amp;gt;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -332,7 +381,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 &amp;lt;/p&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;/div&amp;gt;
-&amp;lt;div id="postamble"&amp;gt;&amp;lt;p class="date"&amp;gt; Date: 2009-09-12 15:29:40 BST&amp;lt;/p&amp;gt;
-&amp;lt;p&amp;gt;HTML generated by org-mode 6.13a in emacs 23&amp;lt;/p&amp;gt;
-&amp;lt;/div&amp;gt;&amp;lt;/body&amp;gt;
+&amp;lt;div id="postamble"&amp;gt;
+&amp;lt;p class="date"&amp;gt;Date: 2011-08-20 22:26:40 BST&amp;lt;/p&amp;gt;
+&amp;lt;p class="creator"&amp;gt;Org version 7.6 with Emacs version 24&amp;lt;/p&amp;gt;
+&amp;lt;a href="http://validator.w3.org/check?uri=referer"&amp;gt;Validate XHTML 1.0&amp;lt;/a&amp;gt;
+&amp;lt;/div&amp;gt;
+&amp;lt;/div&amp;gt;
+&amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;

Index: index.org
===================================================================
RCS file: /cvsroot/emacs-jabber/www/index.org,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- index.org12 Sep 2009 14:17:29 -00001.7
+++ index.org20 Aug 2011 21:38:34 -00001.8
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -37,12 +37,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 * What is Jabber?
 
 Jabber is an open instant messaging (IM) system, also known as XMPP.
-It is described in [[http://www.xmpp.org/rfcs/][RFCs 3920-3923]] and a series of [[http://www.xmpp.org/extensions/][XEPs]] (XMPP Extension
+It is described in [[http://xmpp.org/xmpp-protocols/rfcs/][RFCs 3920-3923]] and a series of [[http://xmpp.org/xmpp-protocols/xmpp-extensions/][XEPs]] (XMPP Extension
 Proposals).  That is, unlike legacy IM systems (such as ICQ or MSN
 Messenger), the protocol is published in the open, free for anyone to
 implement.  Therefore you shouldn't be surprised that there is a
 Jabber client for Emacs, too.  (If you are not of the Emacs
-persuasion, see this [[http://www.jabber.org/software/clients.shtml][list of Jabber clients]].)
+persuasion, see this [[http://xmpp.org/xmpp-software/clients/][list of XMPP/Jabber clients]].)
 
 Jabber is, like e-mail, a decentralised system.  A Jabber identifier
 (JID) is of the form =username&amp;lt; at &amp;gt;server=, just like an e-mail address, and


------------------------------------------------------------------------------
Get a FREE DOWNLOAD! and learn more about uberSVN rich system, 
user administration capabilities and model configuration. Take 
the hassle out of deploying and managing Subversion and the 
tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-08-20T21:38:37</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/352">
    <title>[SCM] emacs-jabber branch, namespace-prefixes,created. 3dd51cf94e3da967a4678ab3c13d78c10ef43c8d</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/352</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, namespace-prefixes has been created
        at  3dd51cf94e3da967a4678ab3c13d78c10ef43c8d (commit)

- Log -----------------------------------------------------------------
commit 3dd51cf94e3da967a4678ab3c13d78c10ef43c8d
Author: Magnus Henoch &amp;lt;legoscia&amp;lt; at &amp;gt;users.sourceforge.net&amp;gt;
Date:   Sat Aug 20 20:01:57 2011 +0100

    First attempt at handling namespace prefixes
    
    Google Talk just started using namespace prefixes, e.g.
    &amp;lt;ros:query xmlns:ros="jabber:iq:roster"&amp;gt;...
    something that jabber.el is completely unprepared for.
    This hack seems to restore status quo.
    
    * jabber-xml.el (jabber-xml-resolve-namespace-prefixes): New function.
    
    * jabber-core.el (jabber-filter): Call
    jabber-xml-resolve-namespace-prefixes for every incoming stanza.

diff --git a/jabber-core.el b/jabber-core.el
index 084f25e..b2a1fa5 100644
--- a/jabber-core.el
+++ b/jabber-core.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -911,7 +911,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; DATA is any sexp."
   (sit-for 2)))
        (delete-region (point-min) (point))
 
-       (fsm-send fsm (list :stanza (car xml-data)))
+       (fsm-send fsm (list :stanza (jabber-xml-resolve-namespace-prefixes (car xml-data))))
        ;; XXX: move this logic elsewhere
        ;; We explicitly don't catch errors in jabber-process-input,
        ;; to facilitate debugging.
diff --git a/jabber-xml.el b/jabber-xml.el
index 878df60..88878fe 100644
--- a/jabber-xml.el
+++ b/jabber-xml.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -21,6 +21,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 (require 'xml)
 (require 'jabber-util)
+(eval-when-compile
+  (require 'cl))
 
 (defun jabber-escape-xml (str)
   "escape strings for xml"
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -221,6 +223,50 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; any string   character data of this node"
      ,&amp;lt; at &amp;gt;body))
 (put 'jabber-xml-let-attributes 'lisp-indent-function 2)
 
+(defun jabber-xml-resolve-namespace-prefixes (xml-data &amp;amp;optional default-ns prefixes)
+  (let ((node-name (jabber-xml-node-name xml-data))
+(attrs (jabber-xml-node-attributes xml-data)))
+    ;; First find any foo:xmlns attributes..
+    (dolist (attr attrs)
+      (let ((attr-name (symbol-name (car attr))))
+(when (string-match "xmlns:" attr-name)
+  (let ((prefix (substring attr-name (match-end 0)))
+(ns-uri (cdr attr)))
+    ;; A slightly complicated dance to never change the
+    ;; original value of prefixes (since the caller depends on
+    ;; it), but also to avoid excessive copying (which remove
+    ;; always does).  Might need to profile and tweak this for
+    ;; performance.
+    (setq prefixes
+  (cons (cons prefix ns-uri)
+(if (assoc prefix prefixes)
+    (remove (assoc prefix prefixes) prefixes)
+  prefixes)))))))
+    ;; If there is an xmlns attribute, it is the new default
+    ;; namespace.
+    (let ((xmlns (jabber-xml-get-xmlns xml-data)))
+      (when xmlns
+(setq default-ns xmlns)))
+    ;; Now, if the node name has a prefix, replace it and add an
+    ;; "xmlns" attribute.  Slightly ugly, but avoids the need to
+    ;; change all the rest of jabber.el at once.
+    (let ((node-name-string (symbol-name node-name)))
+      (when (string-match "\\(.*\\):\\(.*\\)" node-name-string)
+(let* ((prefix (match-string 1 node-name-string))
+       (unprefixed (match-string 2 node-name-string))
+       (ns (assoc prefix prefixes)))
+  (if (null ns)
+      ;; This is not supposed to happen...
+      (message "jabber-xml-resolve-namespace-prefixes: Unknown prefix in %s" node-name-string)
+    (setf (car xml-data) (intern unprefixed))
+    (setf (cadr xml-data) (cons (cons 'xmlns (cdr ns)) (delq 'xmlns attrs)))))))
+    ;; And iterate through all child elements.
+    (mapc (lambda (x) 
+    (when (listp x)
+      (jabber-xml-resolve-namespace-prefixes x default-ns prefixes)))
+  (jabber-xml-node-children xml-data))
+    xml-data))
+
 (provide 'jabber-xml)
 
 ;;; arch-tag: ca206e65-7026-4ee8-9af2-ff6a9c5af98a

-----------------------------------------------------------------------


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Magnus Henoch</dc:creator>
    <dc:date>2011-08-20T19:04:49</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/351">
    <title>[SCM] emacs-jabber branch, master,updated. d30ef9b989065f6e714cf1781bbd0e7e4039681c</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/351</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  d30ef9b989065f6e714cf1781bbd0e7e4039681c (commit)
      from  10c065380f088e65d6ad81595b68ecd6f084c471 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d30ef9b989065f6e714cf1781bbd0e7e4039681c
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Tue Oct 19 23:41:05 2010 +0800

    Work around broken stanzas from some transports

diff --git a/jabber-muc.el b/jabber-muc.el
index d342905..d717bd9 100644
--- a/jabber-muc.el
+++ b/jabber-muc.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -500,13 +500,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; groupchat buffer."
 )
        ;; Maybe another error occurred. Report it to user
        (condition
-(message "Couldn't query groupchat: %s" (jabber-parse-error result))))
+(message "Couldn't query groupchat: %s" (jabber-parse-error result)))
+
+       ;; Bad stanza? Without NS, for example
+       ((and (eq identities 'error) (not condition))
+        (message "Bad error stanza received")))
 
       ;; Continue only if it is really chat room.  If there was an
       ;; error, give the chat room the benefit of the doubt.  (Needed
       ;; for ejabberd's mod_irc, for example)
       (when (or condition
-                (find "conference" identities 
+                (find "conference" (if (sequencep identities) identities nil)
                       :key (lambda (i) (aref i 1))
                       :test #'string=))
         (let ((password

-----------------------------------------------------------------------

Summary of changes:
 jabber-muc.el |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Evgenii Terechkov</dc:creator>
    <dc:date>2010-10-19T15:42:10</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/350">
    <title>[SCM] emacs-jabber branch, master,updated. 10c065380f088e65d6ad81595b68ecd6f084c471</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/350</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  10c065380f088e65d6ad81595b68ecd6f084c471 (commit)
       via  60e25ef3a92a7ebe4bba7bc0f260e61a8af595dd (commit)
       via  583d31943d14f09e4364ca71d75e4ccc3bce7f7d (commit)
       via  1f38235feae68176925656f824c056153d5c2d1f (commit)
      from  cab6d24734439307b52b375dd1290727ba573354 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 10c065380f088e65d6ad81595b68ecd6f084c471
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Sat May 1 20:30:57 2010 +0800

    Fix ELPA package creation
    
    First, we don't know if it sha1/hex-util/hexrgb present on target
    system, so install it anyway.
    
    Second, add autoload cookie to normal loading of hexrgb.

diff --git a/Makefile.am b/Makefile.am
index 1044f06..4a9767f 100644
--- a/Makefile.am
+++ b/Makefile.am
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -74,6 +74,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; elpa: dist
 mv emacs-jabber-$(PACKAGE_VERSION) jabber-$(PACKAGE_VERSION)
 cd jabber-$(PACKAGE_VERSION) ; install-info jabber.info dir
 sed "s/&amp;lt; at &amp;gt;""PACKAGE_VERSION&amp;lt; at &amp;gt;""/$(PACKAGE_VERSION)/" &amp;lt; $(srcdir)/jabber-pkg.el.in &amp;gt; jabber-$(PACKAGE_VERSION)/jabber-pkg.el
+mv jabber-$(PACKAGE_VERSION)/compat/*.el jabber-$(PACKAGE_VERSION)/
 $(AMTAR) chf jabber-$(PACKAGE_VERSION).tar jabber-$(PACKAGE_VERSION)
 rm -rf jabber-$(PACKAGE_VERSION)
 &amp;lt; at &amp;gt;echo "Created jabber-$(PACKAGE_VERSION).tar"
diff --git a/compat/hexrgb.el b/compat/hexrgb.el
index 925468c..57f2c2c 100644
--- a/compat/hexrgb.el
+++ b/compat/hexrgb.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -167,6 +167,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
+;;;###autoload
 (eval-and-compile
  (defun hexrgb-canonicalize-defined-colors (list)
    "Copy of LIST with color names canonicalized.

commit 60e25ef3a92a7ebe4bba7bc0f260e61a8af595dd
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Wed Apr 28 17:03:14 2010 +0800

    Ignore all errors in shell/dbus calls.
    
    Dont show noise errors when emacs started from console session.

diff --git a/jabber-libnotify.el b/jabber-libnotify.el
index 02f4af1..bf4d44c 100644
--- a/jabber-libnotify.el
+++ b/jabber-libnotify.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -91,7 +91,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
            ':string (encode-coding-string body 'utf-8)
            '(:array)
            '(:array :signature "{sv}")
-           ':int32 jabber-libnotify-timeout))))))
+           ':int32 jabber-libnotify-timeout)))
+      (error nil))))
 
 (define-jabber-alert libnotify "Show a message through the libnotify interface"
   'jabber-libnotify-message)

commit 583d31943d14f09e4364ca71d75e4ccc3bce7f7d
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Mon Apr 26 15:34:13 2010 +0800

    Suppres "Invalid timer" error when jabber-keepalive-timeout-timer is nil by some reason.
    
    TBD: trace why jabber-keepalive-timeout-timer is nil sometimes.

diff --git a/jabber-keepalive.el b/jabber-keepalive.el
index d4f221f..7c424c1 100644
--- a/jabber-keepalive.el
+++ b/jabber-keepalive.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -105,7 +105,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; for all accounts regardless of the argument."
      (current-time-string)
      (plist-get (fsm-get-state-data jc) :server)))
   (setq jabber-keepalive-pending (remq jc jabber-keepalive-pending))
-  (when (null jabber-keepalive-pending)
+  (when (and (null jabber-keepalive-pending) (timerp jabber-keepalive-timeout-timer))
     (jabber-cancel-timer jabber-keepalive-timeout-timer)
     (setq jabber-keepalive-timeout-timer nil)))
 

commit 1f38235feae68176925656f824c056153d5c2d1f
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Thu Apr 22 15:12:16 2010 +0800

    Dont save undo history in chat buffers.

diff --git a/jabber-chatbuffer.el b/jabber-chatbuffer.el
index 53bba3c..2ea9119 100644
--- a/jabber-chatbuffer.el
+++ b/jabber-chatbuffer.el
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -55,7 +55,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; window or at `fill-column', whichever is shorter."
   (make-local-variable 'scroll-conservatively)
   (make-local-variable 'jabber-point-insert)
   (make-local-variable 'jabber-chat-ewoc)
-
+  (make-local-variable 'buffer-undo-list)
+  
   (setq jabber-buffer-connection jc
         scroll-conservatively 5
         buffer-undo-list t)             ;dont keep undo list for chatbuffer

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am          |    1 +
 compat/hexrgb.el     |    1 +
 jabber-chatbuffer.el |    3 ++-
 jabber-keepalive.el  |    2 +-
 jabber-libnotify.el  |    3 ++-
 5 files changed, 7 insertions(+), 3 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Evgenii Terechkov</dc:creator>
    <dc:date>2010-10-19T15:36:24</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.emacs.jabber.scm/349">
    <title>[SCM] emacs-jabber branch, master,updated. cab6d24734439307b52b375dd1290727ba573354</title>
    <link>http://comments.gmane.org/gmane.emacs.jabber.scm/349</link>
    <description>&lt;pre&gt;This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "emacs-jabber".

The branch, master has been updated
       via  cab6d24734439307b52b375dd1290727ba573354 (commit)
      from  c11374cb99bbf88c3019778bb7a41709e2901998 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit cab6d24734439307b52b375dd1290727ba573354
Author: Evgenii Terechkov &amp;lt;evg&amp;lt; at &amp;gt;altlinux.org&amp;gt;
Date:   Tue Oct 19 23:18:50 2010 +0800

    Documentation patch from Valery V. Vorotyntsev

diff --git a/jabber.texi b/jabber.texi
index b4f7db5..d11533a 100644
--- a/jabber.texi
+++ b/jabber.texi
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -42,26 +42,26 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; this permission notice are preserved on all copies.
 &amp;lt; at &amp;gt;end ifnottex
 
 &amp;lt; at &amp;gt;menu
-* Introduction::                
-* Basic operation::             
-* Groupchat::                   
-* Composing messages::          
-* File transfer::               
-* Services::                    
-* Personal information::        
-* Avatars::                     
-* Time queries::                
-* Useful features::             
-* Message history::             
-* Typing notifications::        
-* Roster import and export::    
-* XMPP URIs::                   
-* Customization::               
-* Hacking and extending::       
-* Protocol support::            
-* Concept index::               
-* Function index::              
-* Variable index::              
+* Introduction::
+* Basic operation::
+* Groupchat::
+* Composing messages::
+* File transfer::
+* Services::
+* Personal information::
+* Avatars::
+* Time queries::
+* Useful features::
+* Message history::
+* Typing notifications::
+* Roster import and export::
+* XMPP URIs::
+* Customization::
+* Hacking and extending::
+* Protocol support::
+* Concept index::
+* Function index::
+* Variable index::
 &amp;lt; at &amp;gt;end menu
 
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -84,11 +84,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; jabber.el does not yet support PGP encryption, sending and receiving
 roster items, and various other things.
 
 &amp;lt; at &amp;gt;menu
-* Contact::                     
+* Contacts::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Contact,  , Introduction, Introduction
-&amp;lt; at &amp;gt;section Contact
+&amp;lt; at &amp;gt;node Contacts,  , , Introduction
+&amp;lt; at &amp;gt;section Contacts
 
 &amp;lt; at &amp;gt;itemize &amp;lt; at &amp;gt;bullet
 &amp;lt; at &amp;gt;item
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -131,16 +131,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; start with &amp;lt; at &amp;gt;kbd{C-x C-j}, and you can get a list of them by typing
 &amp;lt; at &amp;gt;kbd{C-x C-j C-h}.
 
 &amp;lt; at &amp;gt;menu
-* Do you have a Jabber account?::  
-* Registering an account::      
-* Connecting::                  
-* Chatting::                    
-* Presence::                    
-* Presence subscription::       
-* Roster buffer::               
+* Do you have a Jabber account?::
+* Registering an account::
+* Connecting::
+* Chatting::
+* Presence::
+* Presence subscription::
+* Roster buffer::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Do you have a Jabber account?, Registering an account, Basic operation, Basic operation
+&amp;lt; at &amp;gt;node Do you have a Jabber account?, Registering an account, , Basic operation
 &amp;lt; at &amp;gt;section Do you have a Jabber account?
 
 Jabber has become rather popular as an instant messaging technology.
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -293,11 +293,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; presence that is sent, change the variables
 With jabber.el, you can set your presence remotely.  &amp;lt; at &amp;gt;xref{Ad-Hoc Commands}.
 
 &amp;lt; at &amp;gt;menu
-* Resources and priority::      
-* Directed presence::           
+* Resources and priority::
+* Directed presence::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Resources and priority, Directed presence, Presence, Presence
+&amp;lt; at &amp;gt;node Resources and priority, Directed presence, , Presence
 &amp;lt; at &amp;gt;subsection Resources and priority
 
 &amp;lt; at &amp;gt;cindex Resource
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -440,13 +440,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; shown here.
 &amp;lt; at &amp;gt;findex jabber-muc-join
 &amp;lt; at &amp;gt;cindex Joining a groupchat
 &amp;lt; at &amp;gt;cindex Changing nickname
-&amp;lt; at &amp;gt;cindex Nickname, changing 
+&amp;lt; at &amp;gt;cindex Nickname, changing
 To join a groupchat, type &amp;lt; at &amp;gt;kbd{M-x jabber-muc-join}.  You will
 be prompted for the groupchat to join, and your nickname in the
 groupchat.  This nickname doesn't need to have any correlation to your
 JID; in fact, groupchats are usually (but not always) configured such
 that only moderators can see your JID.  You can change your nickname
-with &amp;lt; at &amp;gt;kbd{M-x jabber-muc-nick}.  &amp;lt; at &amp;gt;xref{Configuration}, for setting default 
+with &amp;lt; at &amp;gt;kbd{M-x jabber-muc-nick}.  &amp;lt; at &amp;gt;xref{Configuration}, for setting default
 nicknames.
 
 &amp;lt; at &amp;gt;cindex Query groupchat
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -503,13 +503,13 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; jabber-muc-names}.  This gives a list of nicknames,
 
 
 &amp;lt; at &amp;gt;menu
-* Configuration::               
-* Invitations::                 
-* Private messages::            
-* MUC Administration::          
+* Configuration::
+* Invitations::
+* Private messages::
+* MUC Administration::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Configuration, Invitations, Groupchat, Groupchat
+&amp;lt; at &amp;gt;node Configuration, Invitations, , Groupchat
 &amp;lt; at &amp;gt;section Configuration
 
 &amp;lt; at &amp;gt;vindex jabber-muc-default-nicknames
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -686,11 +686,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; client.  The Google Talk client uses a different file transfer protocol
 which, at the time of this release, has not been published.
 
 &amp;lt; at &amp;gt;menu
-* Receiving files::             
-* Sending files::               
+* Receiving files::
+* Sending files::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Receiving files, Sending files, File transfer, File transfer
+&amp;lt; at &amp;gt;node Receiving files, Sending files, , File transfer
 &amp;lt; at &amp;gt;section Receiving files
 
 Receiving files requires no configuration.  When someone wants to send a
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -779,14 +779,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; You can change the buffer name template by customizing
 the variable &amp;lt; at &amp;gt;code{jabber-browse-buffer-format}.
 
 &amp;lt; at &amp;gt;menu
-* Commands::                    
-* Your home server::            
-* Transports::                  
-* User directories::            
-* MUC services::                
+* Commands::
+* Your home server::
+* Transports::
+* User directories::
+* MUC services::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Commands, Your home server, Services, Services
+&amp;lt; at &amp;gt;node Commands, Your home server, , Services
 &amp;lt; at &amp;gt;section Commands
 
 A small number of commands is used for almost all interaction with
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -798,14 +798,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; opened by typing &amp;lt; at &amp;gt;kbd{C-c C-s}.  Service discovery is under the Info
 menu instead, which is available under &amp;lt; at &amp;gt;kbd{C-c C-i}.
 
 &amp;lt; at &amp;gt;menu
-* Registration::                
-* Search::                      
-* Ad-Hoc Commands::             
-* Service discovery::           
-* Browsing::                    
+* Registration::
+* Search::
+* Ad-Hoc Commands::
+* Service discovery::
+* Browsing::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Registration, Search, Commands, Commands
+&amp;lt; at &amp;gt;node Registration, Search, , Commands
 &amp;lt; at &amp;gt;subsection Registration
 
 &amp;lt; at &amp;gt;cindex Registration
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -832,10 +832,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; 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.
 
-&amp;lt; at &amp;gt;menu
-* Ad-Hoc Commands::             
-&amp;lt; at &amp;gt;end menu
-
 &amp;lt; at &amp;gt;node Ad-Hoc Commands, Service discovery, Search, Commands
 &amp;lt; at &amp;gt;subsection Ad-Hoc Commands
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1104,16 +1100,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; jabber.el includes a number of features meant to improve the user
 interface and do other useful things.
 
 &amp;lt; at &amp;gt;menu
-* Autoaway::                    
-* Modeline status::             
-* Keepalive::                   
-* Reconnecting::                
-* Tracking activity::           
-* Watch buddies::               
-* Spell checking::              
+* Autoaway::
+* Modeline status::
+* Keepalive::
+* Reconnecting::
+* Tracking activity::
+* Watch buddies::
+* Spell checking::
+* Gmail notifications::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Autoaway, Modeline status, Useful features, Useful features
+&amp;lt; at &amp;gt;node Autoaway, Modeline status, , Useful features
 &amp;lt; at &amp;gt;section Autoaway
 
 &amp;lt; at &amp;gt;cindex autoaway
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1272,7 +1269,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; minibuffer).
 
 jabber.el supports automatic reconnection to Jabber server(s) upon lost
 connection.  By default it is off.  To turn on, customize
-the &amp;lt; at &amp;gt;code{jabber-auto-reconnect} variable.  
+the &amp;lt; at &amp;gt;code{jabber-auto-reconnect} variable.
 
 This is of limited use if you have to type your password every time
 jabber.el reconnects.  There are two ways to save your password: you can
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1345,7 +1342,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; online.  jabber.el will remember this for the rest of your Emacs
 session (it's not saved to disk, though), but if you want to get rid
 of it, type &amp;lt; at &amp;gt;kbd{M-x jabber-watch-remove}.
 
-&amp;lt; at &amp;gt;node Spell checking,  , Watch buddies, Useful features
+&amp;lt; at &amp;gt;node Spell checking, Gmail notifications, Watch buddies, Useful features
 &amp;lt; at &amp;gt;section Spell checking
 
 &amp;lt; at &amp;gt;cindex flyspell
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1359,6 +1356,52 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; what you receive or what you have already sent.  You may want to add
 For more information about Emacs spell checking, &amp;lt; at &amp;gt;pxref{Spelling, ,
 Checking and Correcting Spelling, emacs, GNU Emacs Manual}.
 
+&amp;lt; at &amp;gt;node Gmail notifications, , Spell checking, Useful features
+&amp;lt; at &amp;gt;section Gmail notifications
+
+&amp;lt; at &amp;gt;cindex Gmail notifications
+
+If you are connected to a Google Talk account, you can receive
+notifications when a new Gmail message arrives. Gmail notifications
+are enabled by adding the following line to your &amp;lt; at &amp;gt;file{.emacs}:
+
+&amp;lt; at &amp;gt;example
+(add-hook 'jabber-post-connect-hooks 'jabber-gmail-subscribe)
+&amp;lt; at &amp;gt;end example
+
+Default behavior is to display a message that mentions the number of
+received gmails.  You can customize this behavior by providing your
+own &amp;lt; at &amp;gt;code{jabber-gmail-dothreads} function.
+
+Example:
+
+&amp;lt; at &amp;gt;example
+(eval-after-load "jabber-gmail"
+  '(defun jabber-gmail-dothreads (threads)
+     "Process &amp;lt;mail-thread-info/&amp;gt; elements.
+THREADS is a list of XML sexps corresponding to &amp;lt;mail-thread-info/&amp;gt;
+elements.
+See http://code.google.com/apis/talk/jep_extensions/gmail.html#response"
+     (osd "gmail: %d" (length threads))))
+
+;;; It's usually a good idea to have a shortcut for querying GTalk server.
+(global-set-key (kbd "&amp;lt;f9&amp;gt; g") 'jabber-gmail-query)
+
+;;; The definition of `osd' function used by `jabber-gmail-dothreads'.
+;;; `osd_cat' is shipped with the X OSD library
+;;; [http://www.ignavus.net/software.html].
+(if (and (display-graphic-p) (file-executable-p "/usr/bin/osd_cat"))
+    (defun osd (fmt &amp;amp;rest args)
+      "Display message on X screen."
+      (let ((opts "-p bottom -A center -l 1 \
+-f '-adobe-helvetica-bold-r-*-*-24-*-*-*-*-*-iso10646-1'")
+    (msg (apply 'format (concat fmt "\n") args)))
+(start-process "osd" nil shell-file-name shell-command-switch
+       (format "echo %s | osd_cat %s"
+       (shell-quote-argument msg) opts))))
+  (defalias 'osd 'message))
+&amp;lt; at &amp;gt;end example
+
 &amp;lt; at &amp;gt;node Message history, Typing notifications, Useful features, Top
 &amp;lt; at &amp;gt;chapter Message history
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1633,16 +1676,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; this is Emacs.  To open a customization buffer for jabber.el, type
 &amp;lt; at &amp;gt;kbd{M-x jabber-customize}.
 
 &amp;lt; at &amp;gt;menu
-* Account settings::            
-* Menu::                        
-* Customizing the roster buffer::  
-* Customizing the chat buffer::  
-* Customizing alerts::          
-* Hooks::                       
-* Debug options::               
+* Account settings::
+* Menu::
+* Customizing the roster buffer::
+* Customizing the chat buffer::
+* Customizing alerts::
+* Hooks::
+* Debug options::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Account settings, Menu, Customization, Customization
+&amp;lt; at &amp;gt;node Account settings, Menu, , Customization
 &amp;lt; at &amp;gt;section Account settings
 
 &amp;lt; at &amp;gt;cindex Username
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1697,6 +1740,8 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; you also need to set
 ``network server'' to &amp;lt; at &amp;gt;kbd{talk.google.com} and ``connection type'' to
 ``legacy SSL''.
 
+See also &amp;lt; at &amp;gt;ref{Gmail notifications}.
+
 &amp;lt; at &amp;gt;subsection Upgrade note
 
 Previous versions of jabber.el had the variables &amp;lt; at &amp;gt;code{jabber-username},
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1921,7 +1966,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; same arguments as the corresponding hooks, except for that last
 argument.
 
 Alert hook contributions are very welcome.  You can send them to the
-mailing list, or to the Sourceforge patch tracker.
+mailing list, or to the Sourceforge patch tracker. &amp;lt; at &amp;gt;xref{Contacts}.
 
 Alert hooks are meant for optional UI things, that are subject to
 varying user tastes, and that can be toggled by simply adding or
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1933,14 +1978,14 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; e.g. &amp;lt; at &amp;gt;code{jabber-message-hooks} vs &amp;lt; at &amp;gt;code{jabber-alert-message-hooks},
 etc.
 
 &amp;lt; at &amp;gt;menu
-* Standard alerts::             
-* Presence alerts::             
-* Message alerts::              
-* MUC alerts::                  
-* Info alerts::                 
+* Standard alerts::
+* Presence alerts::
+* Message alerts::
+* MUC alerts::
+* Info alerts::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Standard alerts, Presence alerts, Customizing alerts, Customizing alerts
+&amp;lt; at &amp;gt;node Standard alerts, Presence alerts, , Customizing alerts
 &amp;lt; at &amp;gt;subsection Standard alerts
 
 &amp;lt; at &amp;gt;cindex Alerts
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2258,17 +2303,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; yourself and trying to figure it out, but as a guide on where to
 look.  Knowledge of Jabber protocols is assumed.
 
 &amp;lt; at &amp;gt;menu
-* Connection object::           
-* XML representation::          
-* JID symbols::                 
-* Listening for new requests::  
-* Sending new requests::        
-* Extending service discovery::  
-* Chat printers::               
-* Stanza chains::               
+* Connection object::
+* XML representation::
+* JID symbols::
+* Listening for new requests::
+* Sending new requests::
+* Extending service discovery::
+* Chat printers::
+* Stanza chains::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Connection object, XML representation, Hacking and extending, Hacking and extending
+&amp;lt; at &amp;gt;node Connection object, XML representation, , Hacking and extending
 &amp;lt; at &amp;gt;section Connection object
 &amp;lt; at &amp;gt;cindex connection object
 &amp;lt; at &amp;gt;cindex account object
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2500,11 +2545,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; information.
 
 
 &amp;lt; at &amp;gt;menu
-* Providing info::              
-* Requesting info::             
+* Providing info::
+* Requesting info::
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node Providing info, Requesting info, Extending service discovery, Extending service discovery
+&amp;lt; at &amp;gt;node Providing info, Requesting info, , Extending service discovery
 &amp;lt; at &amp;gt;subsection Providing info
 
 Your new IQ request handlers will likely want to advertise their
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2685,7 +2730,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; jabber.el.
 * XEP-0245::                    The /me Command
 &amp;lt; at &amp;gt;end menu
 
-&amp;lt; at &amp;gt;node RFC 3920, RFC 3921, Protocol support, Protocol support
+&amp;lt; at &amp;gt;node RFC 3920, RFC 3921, , Protocol support
 &amp;lt; at &amp;gt;section RFC 3920 (XMPP-CORE)
 
 Most of RFC 3920 is supported, with the following exceptions.

-----------------------------------------------------------------------

Summary of changes:
 jabber.texi |  241 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 143 insertions(+), 98 deletions(-)


hooks/post-receive
&lt;/pre&gt;</description>
    <dc:creator>Evgenii Terechkov</dc:creator>
    <dc:date>2010-10-19T15:21:34</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.emacs.jabber.scm">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.emacs.jabber.scm</link>
  </textinput>
</rdf:RDF>

