You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(13) |
Jun
(3) |
Jul
(4) |
Aug
(30) |
Sep
(17) |
Oct
(2) |
Nov
(6) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(9) |
Feb
(30) |
Mar
(22) |
Apr
(23) |
May
(25) |
Jun
(25) |
Jul
(4) |
Aug
(21) |
Sep
(16) |
Oct
(44) |
Nov
(15) |
Dec
(3) |
2009 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
(3) |
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(4) |
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(10) |
Dec
|
2014 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(2) |
Aug
(6) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(2) |
2015 |
Jan
(1) |
Feb
(2) |
Mar
(2) |
Apr
(6) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Evgenii T. <evg...@us...> - 2013-07-10 15:07:24
|
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 c6c3af7f967901d6a8fb4ad70671bb5c5365b4bd (commit) from 05340c6ad725a701dd7d157938263906977e4714 (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 c6c3af7f967901d6a8fb4ad70671bb5c5365b4bd Author: Evgenii Terechkov <ev...@al...> Date: Wed Jul 10 23:04:50 2013 +0800 Fix for autoaway presense spamming. Thanks to lioka@altlinux for bugreport. diff --git a/jabber-autoaway.el b/jabber-autoaway.el index 9e4cbdc..625dc2e 100644 --- a/jabber-autoaway.el +++ b/jabber-autoaway.el @@ -156,24 +156,25 @@ Return nil on error." (defun jabber-autoaway-maybe-unidle () (let ((idle-time (jabber-autoaway-get-idle-time))) (jabber-autoaway-message "Idle for %d seconds" idle-time) - ;; As long as idle time increases monotonically, stay idle. - (if (> idle-time jabber-autoaway-last-idle-time) - (progn - ;; Has "Xa timeout" passed? - (if (and (> jabber-autoaway-xa-timeout 0) (> idle-time (* 60 jabber-autoaway-xa-timeout))) - ;; iIf so, mark ourselves xa. - (jabber-autoaway-set-idle t)) - (setq jabber-autoaway-last-idle-time idle-time)) - ;; But if it doesn't, go back to unidle state. - (jabber-autoaway-message "Back to unidle") - ;; But don't mess with the user's custom presence. - (if (or (string= *jabber-current-status* jabber-autoaway-status) (string= *jabber-current-status* jabber-autoaway-xa-status)) - (jabber-send-default-presence) - (progn - (jabber-send-presence jabber-default-show *jabber-current-status* jabber-default-priority) - (jabber-autoaway-message "%S /= %S - not resetting presence" *jabber-current-status* jabber-autoaway-status))) - (jabber-autoaway-stop) - (jabber-autoaway-start)))) + (if (member *jabber-current-show* '("xa" "away")) + ;; As long as idle time increases monotonically, stay idle. + (if (> idle-time jabber-autoaway-last-idle-time) + (progn + ;; Has "Xa timeout" passed? + (if (and (> jabber-autoaway-xa-timeout 0) (> idle-time (* 60 jabber-autoaway-xa-timeout))) + ;; iIf so, mark ourselves xa. + (jabber-autoaway-set-idle t)) + (setq jabber-autoaway-last-idle-time idle-time)) + ;; But if it doesn't, go back to unidle state. + (jabber-autoaway-message "Back to unidle") + ;; But don't mess with the user's custom presence. + (if (or (string= *jabber-current-status* jabber-autoaway-status) (string= *jabber-current-status* jabber-autoaway-xa-status)) + (jabber-send-default-presence) + (progn + (jabber-send-presence jabber-default-show *jabber-current-status* jabber-default-priority) + (jabber-autoaway-message "%S /= %S - not resetting presence" *jabber-current-status* jabber-autoaway-status))) + (jabber-autoaway-stop) + (jabber-autoaway-start))))) (defun jabber-xprintidle-get-idle-time () "Get idle time through the xprintidle program." ----------------------------------------------------------------------- Summary of changes: jabber-autoaway.el | 37 +++++++++++++++++++------------------ 1 files changed, 19 insertions(+), 18 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-06-30 17:16:44
|
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 05340c6ad725a701dd7d157938263906977e4714 (commit) from 2999f58619dd9c20cc6cac8060c4c850a504cbbd (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 05340c6ad725a701dd7d157938263906977e4714 Author: Magnus Henoch <mag...@gm...> Date: Sun Jun 30 18:15:49 2013 +0100 Perform asynchronous connection if possible When using native GnuTLS, we can now connect asynchronously, without blocking Emacs if the remote server is slow to accept the connection (or just times out). Such connections are now identical to "network" (i.e. TLS-less) connections, so I reverted jabber-starttls-connect to its previous state: it is now used exclusively to connect using gnutls-cli external processes. diff --git a/jabber-conn.el b/jabber-conn.el index a22f88b..307051b 100644 --- a/jabber-conn.el +++ b/jabber-conn.el @@ -88,8 +88,14 @@ or later." :group 'jabber-conn) (defvar jabber-connect-methods - '((network jabber-network-connect jabber-network-send) - (starttls jabber-starttls-connect jabber-network-send) + `((network jabber-network-connect jabber-network-send) + (starttls + ,(if (and (fboundp 'gnutls-available-p) + (gnutls-available-p)) + ;; With "native" TLS, we can use a normal connection. + 'jabber-network-connect + 'jabber-starttls-connect) + jabber-network-send) (ssl jabber-ssl-connect jabber-ssl-send) (virtual jabber-virtual-connect jabber-virtual-send)) "Alist of connection methods and functions. @@ -128,7 +134,60 @@ If we can't find SRV records, use standard defaults." Send a message of the form (:connected CONNECTION) to FSM if connection succeeds. Send a message :connection-failed if connection fails." - ;; XXX: asynchronous connection + (cond + ((featurep 'make-network-process '(:nowait t)) + ;; We can connect asynchronously! + (jabber-network-connect-async fsm server network-server port)) + (t + ;; Connecting to the server will block Emacs. + (jabber-network-connect-sync fsm server network-server port)))) + +(defun jabber-network-connect-async (fsm server network-server port) + ;; Get all potential targets... + (lexical-let ((targets (jabber-srv-targets server network-server port)) + (fsm fsm)) + ;; ...and connect to them one after another, asynchronously, until + ;; connection succeeds. + (labels + ((connect + (target remaining-targets) + (make-network-process + :name "jabber" + :buffer (generate-new-buffer jabber-process-buffer) + :host (car target) :service (cdr target) + :coding 'utf-8 + :nowait t + :sentinel + (lexical-let ((target target) (remaining-targets remaining-targets)) + (lambda (connection status) + (cond + ((string-match "^open" status) + ;; This mustn't be `fsm-send-sync', because the FSM + ;; needs to change the sentinel, which cannot be done + ;; from inside the sentinel. + (fsm-send fsm (list :connected connection))) + ((string-match "^failed" status) + (message "Couldn't connect to %s:%s" (car target) (cdr target)) + (delete-process connection) + (if remaining-targets + (progn + (message + "Connecting to %s:%s..." + (caar remaining-targets) (cdar remaining-targets)) + (connect (car remaining-targets) (cdr remaining-targets))) + (fsm-send fsm :connection-failed))) + ((string-match "^deleted" status) + ;; This happens when we delete a process in the + ;; "failed" case above. + nil) + (t + (message "Unknown sentinel status `%s'" status)))))))) + (message "Connecting to %s:%s..." (caar targets) (cdar targets)) + (connect (car targets) (cdr targets))))) + +(defun jabber-network-connect-sync (fsm server network-server port) + ;; This code will AFAIK only be used on Windows. Apologies in + ;; advance for any bit rot... (let ((coding-system-for-read 'utf-8) (coding-system-for-write 'utf-8) (targets (jabber-srv-targets server network-server port))) @@ -205,25 +264,15 @@ connection fails." (process-send-string connection "\n")) (defun jabber-starttls-connect (fsm server network-server port) - "Connect via GnuTLS to a Jabber Server. + "Connect via an external GnuTLS process to a Jabber Server. Send a message of the form (:connected CONNECTION) to FSM if 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)) - (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"))))) - + (targets (jabber-srv-targets server network-server port))) + (unless (fboundp 'starttls-open-stream) + (error "starttls.el not available")) (catch 'connected (dolist (target targets) (condition-case e @@ -231,10 +280,11 @@ connection fails." connection) (unwind-protect (setq connection - (funcall connect-function - process-buffer - (car target) - (cdr target))) + (starttls-open-stream + "jabber" + process-buffer + (car target) + (cdr target))) (unless (or connection jabber-debug-keep-process-buffers) (kill-buffer process-buffer))) (when connection ----------------------------------------------------------------------- Summary of changes: jabber-conn.el | 92 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 71 insertions(+), 21 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-05-08 00:25:16
|
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, 0.8.92 has been created at 2999f58619dd9c20cc6cac8060c4c850a504cbbd (commit) - Log ----------------------------------------------------------------- commit 2999f58619dd9c20cc6cac8060c4c850a504cbbd Author: Magnus Henoch <mag...@gm...> Date: Wed May 8 01:23:31 2013 +0100 Version 0.8.92 ----------------------------------------------------------------------- hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-05-08 00:25:14
|
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 2999f58619dd9c20cc6cac8060c4c850a504cbbd (commit) via b5fbebdc339abbf120b083bb0ab999927834ed60 (commit) via 022ce34c46785459702a99033cdedf4cd47a6011 (commit) from 27ef29a7a21635e2e578dd207dd6b751b082ed08 (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 2999f58619dd9c20cc6cac8060c4c850a504cbbd Author: Magnus Henoch <mag...@gm...> Date: Wed May 8 01:23:31 2013 +0100 Version 0.8.92 diff --git a/README b/README index 127d45c..63fba02 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is jabber.el 0.8.91, a Jabber client for Emacs. Jabber (also known +This is jabber.el 0.8.92, a Jabber client for Emacs. Jabber (also known as XMPP) is an instant messaging system; see http://www.jabber.org for more information. diff --git a/configure.ac b/configure.ac index d6475eb..b97e7b1 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([jabber.el], [0.8.91], [ema...@li...], [emacs-jabber]) +AC_INIT([jabber.el], [0.8.92], [ema...@li...], [emacs-jabber]) AC_CONFIG_AUX_DIR([build-aux]) dnl Need automake 1.11 for dist-xz option AM_INIT_AUTOMAKE([1.11 -Wall -Werror foreign dist-bzip2 dist-xz dist-zip]) commit b5fbebdc339abbf120b083bb0ab999927834ed60 Author: Magnus Henoch <mag...@gm...> Date: Wed May 8 00:59:16 2013 +0100 Remove most autoload cookies for defcustoms They shouldn't be used just to have them listed in Customize; see http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14247 . Besides, they should be loaded by the requires in jabber.el anyway. I left jabber-account-list and jabber-display-menu in for now, as they are involved in a complicated dance regarding whether to display the Jabber menu by default. Need to solve this somehow and get rid of those two autoload cookies as well. diff --git a/jabber-keepalive.el b/jabber-keepalive.el index 7c424c1..2ce41d6 100644 --- a/jabber-keepalive.el +++ b/jabber-keepalive.el @@ -33,13 +33,11 @@ "Keepalive functions try to detect lost connection" :group 'jabber) -;;;###autoload (defcustom jabber-keepalive-interval 600 "Interval in seconds between connection checks." :type 'integer :group 'jabber-keepalive) -;;;###autoload (defcustom jabber-keepalive-timeout 20 "Seconds to wait for response from server." :type 'integer @@ -127,7 +125,6 @@ for all accounts regardless of the argument." ;;; enable keepalive by default... Whitespace pings are light and ;;; unobtrusive. -;;;###autoload (defcustom jabber-whitespace-ping-interval 30 "Send a space character to the server with this interval, in seconds. diff --git a/jabber-muc.el b/jabber-muc.el index d717bd9..606b548 100644 --- a/jabber-muc.el +++ b/jabber-muc.el @@ -60,7 +60,6 @@ Values are lists of nickname strings.") (defvar jabber-muc-nickname-history () "Keeps track of previously referred-to nicknames") -;;;###autoload (defcustom jabber-muc-default-nicknames nil "Default nickname for specific MUC rooms." :group 'jabber-chat @@ -69,7 +68,6 @@ Values are lists of nickname strings.") (string :tag "JID of room") (string :tag "Nickname")))) -;;;###autoload (defcustom jabber-muc-autojoin nil "List of MUC rooms to automatically join on connection. This list is saved in your Emacs customizations. You can also store diff --git a/jabber.el b/jabber.el index ef148c0..1046a04 100644 --- a/jabber.el +++ b/jabber.el @@ -88,7 +88,6 @@ configure a Google Talk account like this: (const :tag "Legacy SSL/TLS" ssl)))))) :group 'jabber) -;;;###autoload (defcustom jabber-default-show "" "default show state" :type '(choice (const :tag "Online" "") @@ -98,13 +97,11 @@ configure a Google Talk account like this: (const :tag "Do not disturb" "dnd")) :group 'jabber) -;;;###autoload (defcustom jabber-default-status "" "default status string" :type 'string :group 'jabber) -;;;###autoload (defcustom jabber-default-priority 10 "default priority" :type 'integer @@ -196,7 +193,6 @@ configure a Google Talk account like this: (defgroup jabber-debug nil "debugging options" :group 'jabber) -;;;###autoload (defcustom jabber-debug-log-xml nil "Set to non-nil to log all XML i/o in *-jabber-console-JID-* buffer. Set to string to also dump XML i/o in specified file." :type '(choice (const :tag "Do not dump XML i/o" nil) @@ -204,7 +200,6 @@ configure a Google Talk account like this: (string :tag "Dump XML i/o in console and this file")) :group 'jabber-debug) -;;;###autoload (defcustom jabber-debug-keep-process-buffers nil "If nil, kill process buffers when the process dies. Contents of process buffers might be useful for debugging." commit 022ce34c46785459702a99033cdedf4cd47a6011 Author: Magnus Henoch <mag...@gm...> Date: Tue May 7 23:22:28 2013 +0100 If Emacs is running in Nextstep, we're a "GUI client" diff --git a/jabber-disco.el b/jabber-disco.el index e2dfbc0..38cb213 100644 --- a/jabber-disco.el +++ b/jabber-disco.el @@ -167,7 +167,7 @@ See JEP-0030." (identity ((category . "client") (name . "Emacs Jabber client") (type . ,(if (memq window-system - '(x w32 mac)) + '(x w32 mac ns)) "pc" "console")))) ,@(mapcar ----------------------------------------------------------------------- Summary of changes: README | 2 +- configure.ac | 2 +- jabber-disco.el | 2 +- jabber-keepalive.el | 3 --- jabber-muc.el | 2 -- jabber.el | 5 ----- 6 files changed, 3 insertions(+), 13 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-04-11 12:50:55
|
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 27ef29a7a21635e2e578dd207dd6b751b082ed08 (commit) from c98be9e194710ea6b36903ba0435450686243b10 (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 27ef29a7a21635e2e578dd207dd6b751b082ed08 Author: Magnus Henoch <mag...@gm...> Date: Thu Apr 11 13:50:04 2013 +0100 Copy the string received from auth-source The SASL library likes to erase the string, so make sure it doesn't erase the cached string. diff --git a/jabber-util.el b/jabber-util.el index 822ef60..c4b8a97 100644 --- a/jabber-util.el +++ b/jabber-util.el @@ -317,9 +317,10 @@ If FULLJIDS is non-nil, complete jids with resources." :require '(:secret)))))) (if found (let ((secret (plist-get found :secret))) - (if (functionp secret) - (funcall secret) - secret)) + (copy-sequence + (if (functionp secret) + (funcall secret) + secret))) (let ((prompt (format "Jabber password for %s: " bare-jid))) (if (require 'password-cache nil t) ;; Need to copy the password, as sasl.el wants to erase it. ----------------------------------------------------------------------- Summary of changes: jabber-util.el | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) hooks/post-receive -- emacs-jabber |
From: Evgenii T. <evg...@us...> - 2013-04-07 02:35:18
|
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 c98be9e194710ea6b36903ba0435450686243b10 (commit) from 52368dc3424bc98e4abaa20df97176404b5ff98a (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 c98be9e194710ea6b36903ba0435450686243b10 Author: Evgenii Terechkov <ev...@al...> Date: Sun Apr 7 10:34:56 2013 +0800 assoc.el is absoleted since 24.3. Dont use it. diff --git a/jabber-muc-nick-coloring.el b/jabber-muc-nick-coloring.el index 56fe358..5a7a171 100644 --- a/jabber-muc-nick-coloring.el +++ b/jabber-muc-nick-coloring.el @@ -1,6 +1,6 @@ ;;; jabber-muc-nick-coloring.el --- Add nick coloring abilyty to emacs-jabber -;; Copyright 2009, 2010, 2012 Terechkov Evgenii - ev...@al... +;; Copyright 2009, 2010, 2012, 2013 Terechkov Evgenii - ev...@al... ;; 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 @@ -33,7 +33,6 @@ (require 'hexrgb))) (error "hexrgb not found in `load-path' or jabber-fallback-lib/ directory."))) -(require 'assoc) ;we need aget/aput ;;;;########################################################################## ;;;; User Options, Variables @@ -73,13 +72,13 @@ (defun jabber-muc-nick-get-color (nick) "Get NICKs color" - (let ((color (aget jabber-muc-participant-colors nick))) + (let ((color (cdr (assoc nick jabber-muc-participant-colors)))) (if color color (progn (unless jabber-muc-participant-colors ) - (aput 'jabber-muc-participant-colors nick (jabber-muc-nick-gen-color nick)) - (aget jabber-muc-participant-colors nick))))) + (push (cons nick (jabber-muc-nick-gen-color nick)) jabber-muc-participant-colors) + (cdr (assoc nick jabber-muc-participant-colors)))))) (provide 'jabber-muc-nick-coloring) diff --git a/jabber-presence.el b/jabber-presence.el index 83e2970..55325d2 100644 --- a/jabber-presence.el +++ b/jabber-presence.el @@ -27,8 +27,6 @@ (require 'jabber-muc) (require 'jabber-autoloads) -(require 'assoc) - (defvar jabber-presence-element-functions nil "List of functions returning extra elements for <presence/> stanzas. Each function takes one argument, the connection, and returns a @@ -314,7 +312,7 @@ CLOSURE-DATA should be 'initial if initial roster push, nil otherwise." ;; Ordinary presence, with no specified recipient (dolist (jc jabber-connections) (let ((subelements (jabber-presence-children jc))) - (aput 'subelements-map jc subelements) + (push (cons jc subelements) subelements-map) (jabber-send-sexp-if-connected jc `(presence () ,@subelements)))) ;; Then send presence to groupchats ----------------------------------------------------------------------- Summary of changes: jabber-muc-nick-coloring.el | 9 ++++----- jabber-presence.el | 4 +--- 2 files changed, 5 insertions(+), 8 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-04-02 02:47:04
|
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 52368dc3424bc98e4abaa20df97176404b5ff98a (commit) from 5c7d80f3aa92cc5a27e3fb553ca291173516b763 (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 52368dc3424bc98e4abaa20df97176404b5ff98a Author: Magnus Henoch <mag...@gm...> Date: Tue Apr 2 03:46:47 2013 +0100 Add .nosearch file in jabber-fallback-lib This directory should never be added to any load path, since jabber-muc-nick-coloring.el explicitly specifies the directory when referencing hexrgb. We wouldn't want to override any newer, separately installed, hexrgb.el. Adding this file should make life easier for emacsmirror. diff --git a/jabber-fallback-lib/.nosearch b/jabber-fallback-lib/.nosearch new file mode 100644 index 0000000..e69de29 ----------------------------------------------------------------------- Summary of changes: 0 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 jabber-fallback-lib/.nosearch hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-04-02 02:24:53
|
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 5c7d80f3aa92cc5a27e3fb553ca291173516b763 (commit) via 28e10a0f4e0fcb281c110f6c6c285720b5af98ee (commit) from 2ac3550da736bdcced248887a0c90a74423d98a6 (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 5c7d80f3aa92cc5a27e3fb553ca291173516b763 Author: Magnus Henoch <mag...@gm...> Date: Tue Apr 2 03:23:21 2013 +0100 Use auth-source to read passwords from .netrc/.authinfo files Specify a line like: machine example.com login username password s3cret port xmpp (port should always be xmpp, regardless of the actual port) diff --git a/NEWS b/NEWS index 53d5113..2207a1e 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,9 @@ -*- mode: outline -*- * New features in jabber.el latest git +** Support for reading passwords from netrc/authinfo files +Use "machine example.com login username password s3cret port xmpp". + ** Support for roster's groups roll state saving ** Full support for XEP-0012 diff --git a/jabber-util.el b/jabber-util.el index c7ceabb..822ef60 100644 --- a/jabber-util.el +++ b/jabber-util.el @@ -25,6 +25,9 @@ (condition-case nil (require 'password) (error nil)) +(condition-case nil + (require 'auth-source) + (error nil)) (defvar jabber-jid-history nil "History of entered JIDs") @@ -304,12 +307,25 @@ If FULLJIDS is non-nil, complete jids with resources." (defun jabber-read-password (bare-jid) "Read Jabber password from minibuffer." - (let ((prompt (format "Jabber password for %s: " bare-jid))) - (if (require 'password-cache nil t) - ;; Need to copy the password, as sasl.el wants to erase it. - (copy-sequence - (password-read prompt (jabber-password-key bare-jid))) - (read-passwd prompt)))) + (let ((found + (and (fboundp 'auth-source-search) + (nth 0 (auth-source-search + :user (jabber-jid-username bare-jid) + :host (jabber-jid-server bare-jid) + :port "xmpp" + :max 1 + :require '(:secret)))))) + (if found + (let ((secret (plist-get found :secret))) + (if (functionp secret) + (funcall secret) + secret)) + (let ((prompt (format "Jabber password for %s: " bare-jid))) + (if (require 'password-cache nil t) + ;; Need to copy the password, as sasl.el wants to erase it. + (copy-sequence + (password-read prompt (jabber-password-key bare-jid))) + (read-passwd prompt)))))) (defun jabber-cache-password (bare-jid password) "Cache PASSWORD for BARE-JID." commit 28e10a0f4e0fcb281c110f6c6c285720b5af98ee Author: Magnus Henoch <mag...@gm...> Date: Sat Mar 9 16:13:59 2013 +0000 Update TLS/SSL section in README; rename to "Encrypted connections" diff --git a/README b/README index 2efdeb2..127d45c 100644 --- a/README +++ b/README @@ -27,24 +27,37 @@ net-utils and mule-ucs packages. jabber.el basically works on XEmacs, but some features are missing (in particular mouse support). Testing and patches are very welcome. -TLS/SSL -======= -To get an encrypted connection, the most convenient option is to use -starttls.el (from Emacs 22 or Gnus 5.10). This requires GnuTLS (in -particular the command line tool gnutls-cli) to be installed, but -requires no configuration at all. - -You can also use either tls.el (from Emacs 22 or Gnus 5.10) or ssl.el. -These are interfaces to GnuTLS and OpenSSL, respectively; use the -appropriate one. Recent versions of tls.el support both programs, -though. The version of ssl.el distributed with Gnus is outdated; use -the one from W3 CVS instead: -http://cvs.savannah.gnu.org/viewcvs/w3/lisp/ssl.el?root=w3 +Encrypted connections +===================== +Many Jabber servers require encrypted connections, and even if yours +doesn't it may be good idea. To get an encrypted connection, the most +convenient option is to use GNU Emacs 24 with GnuTLS support compiled +in. You can check whether you have that by typing: + +M-: (gnutls-available-p) + +If that commands shows `t' in the echo area, then you have working +GnuTLS support. If it shows `nil' or signals an error, then you +don't. + +Failing that, jabber.el will use the starttls.el library, which +requires that the GnuTLS command line tool "gnutls-cli" is installed. +In Debian-based distributions, "gnutls-cli" is in the "gnutls-bin" +package. + +The above applies to STARTTLS connections, the most common way to +encrypt a Jabber connection and the only one specified in the +standards. STARTTLS connections start out unencrypted, but switch to +encrypted after negotiation. jabber.el also supports connections that +are encrypted from start. For this it uses the tls.el library, which +requires either "gnutls-cli" or the OpenSSL command line tool +"openssl" to be installed. To use the latter form of encryption, customize jabber-account-list. Note that only the connection from you to the server is encrypted; -there is no guarantee of other connections being encrypted. +there is no guarantee of connections from your server to your +contacts' server being encrypted. Installation ============ ----------------------------------------------------------------------- Summary of changes: NEWS | 3 +++ README | 41 +++++++++++++++++++++++++++-------------- jabber-util.el | 28 ++++++++++++++++++++++------ 3 files changed, 52 insertions(+), 20 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-02-26 23:59:15
|
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 2ac3550da736bdcced248887a0c90a74423d98a6 (commit) from 60ef84029b80210d03ededafa0b038ab7aeda147 (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 2ac3550da736bdcced248887a0c90a74423d98a6 Author: Magnus Henoch <mag...@gm...> Date: Tue Feb 26 23:58:49 2013 +0000 Bump Automake required version to 1.11 for dist-xz option diff --git a/Makefile.am b/Makefile.am index 63243f4..47f03f8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ACLOCAL_AMFLAGS = -I m4 # The following line needs to be here since automake 1.4 doesn't look # for options in configure.ac. -AUTOMAKE_OPTIONS = 1.9 +AUTOMAKE_OPTIONS = 1.11 my_lisp_sources=fsm.el jabber-activity.el jabber-ahc-presence.el \ jabber-ahc.el jabber-alert.el jabber-autoaway.el jabber-avatar.el \ diff --git a/configure.ac b/configure.ac index aba4c5e..d6475eb 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,7 @@ AC_INIT([jabber.el], [0.8.91], [ema...@li...], [emacs-jabber]) AC_CONFIG_AUX_DIR([build-aux]) -AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2 dist-xz dist-zip 1.9]) +dnl Need automake 1.11 for dist-xz option +AM_INIT_AUTOMAKE([1.11 -Wall -Werror foreign dist-bzip2 dist-xz dist-zip]) AC_CONFIG_MACRO_DIR([m4]) AM_PATH_LISPDIR ----------------------------------------------------------------------- Summary of changes: Makefile.am | 2 +- configure.ac | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-02-26 10:49:09
|
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 60ef84029b80210d03ededafa0b038ab7aeda147 (commit) from 523f5265a2b3a873849955b3775e1d90c2066703 (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 60ef84029b80210d03ededafa0b038ab7aeda147 Author: Magnus Henoch <mag...@gm...> Date: Tue Feb 26 10:35:12 2013 +0000 Improve treatment of hexrgb for ELPA package Include hexrgb.el in jabber-fallback-lib subdirectory, in order not to override any already installed version. diff --git a/Makefile.am b/Makefile.am index 79cab12..63243f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,20 +24,12 @@ 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-tmux.el -EXTRA_DIST=compat/hexrgb.el -compat_lisp_sources = -if USE_OUR_HEXRGB -compat_lisp_sources += hexrgb.el -endif -CLEANFILES=hexrgb.el - -hexrgb.el: compat/hexrgb.el - cp $< $@ +compat_lisp_sources = jabber-fallback-lib/hexrgb.el dist_lisp_LISP=$(my_lisp_sources) $(compat_lisp_sources) jabber-autoloads.el jabber-ourversion.el MAINTAINERCLEANFILES=jabber-autoloads.el -EXTRA_DIST += jabber-pkg.el.in +EXTRA_DIST = jabber-pkg.el.in # The autoload file will cause Lisp sources to be rebuilt _twice_: the # timestamp of the Lisp compilation is set _before_ the autoloads are @@ -64,14 +56,14 @@ endif # Package everything in a form suitable for ELPA. That is, use # "jabber" instead of "emacs-jabber" as base name. -CLEANFILES += jabber-pkg.el +CLEANFILES = jabber-pkg.el elpa: dist rm -rf emacs-jabber-$(PACKAGE_VERSION) jabber-$(PACKAGE_VERSION) $(AMTAR) xzf emacs-jabber-$(PACKAGE_VERSION).tar.gz mv emacs-jabber-$(PACKAGE_VERSION) jabber-$(PACKAGE_VERSION) + rm -rf jabber-$(PACKAGE_VERSION)/tests cd jabber-$(PACKAGE_VERSION) ; install-info jabber.info dir sed "s/@""PACKAGE_VERSION@""/$(PACKAGE_VERSION)/" < $(srcdir)/jabber-pkg.el.in > 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) @echo "Created jabber-$(PACKAGE_VERSION).tar" diff --git a/configure.ac b/configure.ac index ec69320..aba4c5e 100644 --- a/configure.ac +++ b/configure.ac @@ -6,10 +6,6 @@ AC_CONFIG_MACRO_DIR([m4]) AM_PATH_LISPDIR AS_IF([test "$EMACS" = no], [AC_MSG_ERROR([cannot find Emacs])]) -AX_CHECK_EMACS_LIB([hexrgb], [HAVE_HEXRGB=yes], [HAVE_HEXRGB=no]) - -AM_CONDITIONAL([USE_OUR_HEXRGB], [test x$HAVE_HEXRGB = xno]) - dnl GConf schemas, for registering our URL handler AC_PATH_PROG(GCONFTOOL, gconftool-2, no) AM_CONDITIONAL(USE_GCONFTOOL, test "x$GCONFTOOL" != "xno") diff --git a/compat/hexrgb.el b/jabber-fallback-lib/hexrgb.el similarity index 100% rename from compat/hexrgb.el rename to jabber-fallback-lib/hexrgb.el diff --git a/jabber-muc-nick-coloring.el b/jabber-muc-nick-coloring.el index ec4d885..56fe358 100644 --- a/jabber-muc-nick-coloring.el +++ b/jabber-muc-nick-coloring.el @@ -20,7 +20,19 @@ ;;; Code: -(require 'hexrgb) ;we need hexrgb-hsv-to-hex +(eval-when-compile (require 'cl)) ;for ignore-errors +;; we need hexrgb-hsv-to-hex: +(eval-and-compile + (or (ignore-errors (require 'hexrgb)) + ;; jabber-fallback-lib/ from jabber/lisp/jabber-fallback-lib + (ignore-errors + (let ((load-path (cons (expand-file-name + "jabber-fallback-lib" + (file-name-directory (locate-library "jabber"))) + load-path))) + (require 'hexrgb))) + (error + "hexrgb not found in `load-path' or jabber-fallback-lib/ directory."))) (require 'assoc) ;we need aget/aput ;;;;########################################################################## ----------------------------------------------------------------------- Summary of changes: Makefile.am | 16 ++++------------ configure.ac | 4 ---- {compat => jabber-fallback-lib}/hexrgb.el | 0 jabber-muc-nick-coloring.el | 14 +++++++++++++- 4 files changed, 17 insertions(+), 17 deletions(-) rename {compat => jabber-fallback-lib}/hexrgb.el (100%) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-02-09 12:29:50
|
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 523f5265a2b3a873849955b3775e1d90c2066703 (commit) from ec3b2ee6be48c758b13a573f9041f18a38ca25b1 (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 523f5265a2b3a873849955b3775e1d90c2066703 Author: Magnus Henoch <mag...@gm...> Date: Sat Feb 9 12:28:43 2013 +0000 jabber-newdisco: Don't leave stray nulls in attribute lists While jabber-sexp2xml has no problems with them, xml-print (used by jabber-console) doesn't like them. This causes truncated stanzas in the XML log and error messages like these: Couldn't write XML log: Wrong type argument: char-or-string-p, nil diff --git a/jabber-newdisco.el b/jabber-newdisco.el index f4b2a15..aefa910 100644 --- a/jabber-newdisco.el +++ b/jabber-newdisco.el @@ -49,7 +49,7 @@ invalidate cache and get fresh data." (jabber-send-iq jc jid "get" `(query ((xmlns . "http://jabber.org/protocol/disco#info") - ,(when node `(node . ,node)))) + ,@(when node `((node . ,node))))) #'jabber-disco-got-info (cons callback closure-data) (lambda (jc xml-data callback-data) (when (car callback-data) @@ -104,7 +104,7 @@ invalidate cache and get fresh data." (jabber-send-iq jc jid "get" `(query ((xmlns . "http://jabber.org/protocol/disco#items") - ,(when node `(node . ,node)))) + ,@(when node `((node . ,node))))) #'jabber-disco-got-items (cons callback closure-data) (lambda (jc xml-data callback-data) (when (car callback-data) @@ -137,13 +137,13 @@ invalidate cache and get fresh data." (jabber-send-iq jc nil "set" `(query ((xmlns . "http://jabber.org/protocol/disco#items") - ,(when node `(node . ,node))) + ,@(when node `((node . ,node)))) (item ((action . "update") (jid . ,item-jid) - ,(when item-name - `(name . ,item-name)) - ,(when item-node - `(node . ,item-node))))) + ,@(when item-name + `((name . ,item-name))) + ,@(when item-node + `((node . ,item-node)))))) 'jabber-report-success "Disco publish" 'jabber-report-success "Disco publish")) @@ -152,11 +152,11 @@ invalidate cache and get fresh data." (jabber-send-iq jc nil "set" `(query ((xmlns . "http://jabber.org/protocol/disco#items") - ,(when node `(node . ,node))) + ,@(when node `((node . ,node)))) (item ((action . "remove") (jid . ,item-jid) - ,(when item-node - `(node . ,item-node))))) + ,@(when item-node + `((node . ,item-node)))))) 'jabber-report-success "Disco removal" 'jabber-report-success "Disco removal")) ----------------------------------------------------------------------- Summary of changes: jabber-newdisco.el | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-02-03 11:37:12
|
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 ec3b2ee6be48c758b13a573f9041f18a38ca25b1 (commit) from 2171eb029a9e12b21d6ccb6ddc11a1068054243e (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 ec3b2ee6be48c758b13a573f9041f18a38ca25b1 Author: Magnus Henoch <mag...@gm...> Date: Sun Feb 3 11:36:43 2013 +0000 Don't require jabber-console in defcustom of jabber-debug-log-xml That makes it impossible to run Emacs if jabber-debug-log-xml has been customized, but jabber-console.el is not in the load path for some reason. Instead add an autoload cookie for jabber-process-console to ensure that it gets loaded when needed. Also remove duplicate definition of jabber-buffer-connection. diff --git a/jabber-console.el b/jabber-console.el index 5b89254..7b2b4e3 100644 --- a/jabber-console.el +++ b/jabber-console.el @@ -52,12 +52,6 @@ what kind of chat buffer is being created.") (defvar jabber-console-ewoc nil "The ewoc showing the XML elements of this stream buffer.") -;;;###autoload -(defvar jabber-buffer-connection nil - "The connection used by this buffer.") -;;;###autoload -(make-variable-buffer-local 'jabber-buffer-connection) - (defvar jabber-console-mode-map (let ((map (make-sparse-keymap))) (set-keymap-parent map jabber-common-keymap) @@ -134,6 +128,7 @@ what kind of chat buffer is being created.") (jabber-tree-map (lambda (x) (if (numberp x) (format "%s" x) x)) xml-data) xml-data)) +;;;###autoload (defun jabber-process-console (jc direction xml-data) "Log XML-DATA i/o as XML in \"*-jabber-console-JID-*\" buffer" (let ((buffer (get-buffer-create (jabber-console-create-buffer jc)))) diff --git a/jabber.el b/jabber.el index a5c66cf..ef148c0 100644 --- a/jabber.el +++ b/jabber.el @@ -202,8 +202,7 @@ configure a Google Talk account like this: :type '(choice (const :tag "Do not dump XML i/o" nil) (const :tag "Dump XML i/o in console" t) (string :tag "Dump XML i/o in console and this file")) - :group 'jabber-debug - :require 'jabber-console) + :group 'jabber-debug) ;;;###autoload (defcustom jabber-debug-keep-process-buffers nil ----------------------------------------------------------------------- Summary of changes: jabber-console.el | 7 +------ jabber.el | 3 +-- 2 files changed, 2 insertions(+), 8 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-01-28 01:35:10
|
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 2171eb029a9e12b21d6ccb6ddc11a1068054243e (commit) from d8f07cacc1865c6f33932aa75929506e8ad2e8e4 (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 2171eb029a9e12b21d6ccb6ddc11a1068054243e Author: Magnus Henoch <mag...@gm...> Date: Mon Jan 28 01:34:04 2013 +0000 Remove sha1.el and hex-util.el; fix hexrgb compilation sha1.el was included in Emacs 22.1 (released in 2007) and has since been replaced by native functions; there's no point in us including it anymore. hex-util.el was only used by sha1.el. Newer versions of Automake (since 1.13) treat Emacs Lisp files in subdirectories differently, which causes problems with hexrgb.el. I made it copy hexrgb.el into the top directory, and it seems to work for me. Update README. New minimum version is 23.1, which is when dns.el started supporting SRV queries. (Still need to update TLS section.) diff --git a/Makefile.am b/Makefile.am index 591711b..79cab12 100644 --- a/Makefile.am +++ b/Makefile.am @@ -24,23 +24,20 @@ 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-tmux.el +EXTRA_DIST=compat/hexrgb.el compat_lisp_sources = -if USE_OUR_SHA1 -compat_lisp_sources += compat/sha1.el -endif -if USE_OUR_HEX_UTIL -compat_lisp_sources += compat/hex-util.el -endif if USE_OUR_HEXRGB -compat_lisp_sources += compat/hexrgb.el +compat_lisp_sources += hexrgb.el endif -# automake gets confused and doesn't clean up these two compiled files. -CLEANFILES=sha1.elc hex-util.elc hexrgb.elc +CLEANFILES=hexrgb.el + +hexrgb.el: compat/hexrgb.el + cp $< $@ dist_lisp_LISP=$(my_lisp_sources) $(compat_lisp_sources) jabber-autoloads.el jabber-ourversion.el MAINTAINERCLEANFILES=jabber-autoloads.el -EXTRA_DIST = jabber-pkg.el.in +EXTRA_DIST += jabber-pkg.el.in # The autoload file will cause Lisp sources to be rebuilt _twice_: the # timestamp of the Lisp compilation is set _before_ the autoloads are diff --git a/README b/README index e3b07e3..2efdeb2 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -This is jabber.el 0.8, a Jabber client for Emacs. Jabber (also known +This is jabber.el 0.8.91, a Jabber client for Emacs. Jabber (also known as XMPP) is an instant messaging system; see http://www.jabber.org for more information. @@ -12,15 +12,12 @@ MUC room: jab...@co... and em...@co... (Rus GNU Emacs ========= -jabber.el depends on GNU Emacs (21, 22, 23 works fine), in particular -xml.el, and some files from Gnus 5.10. If you don't have Gnus 5.10 -(M-x gnus-version will tell), you can get sha1.el and hex-util.el -from the compat subdirectory. (The configure script tries to detect -this situation and include the files in the build) +jabber.el runs on GNU Emacs 23.1 or later. -File hexrgb.el (http://www.emacswiki.org/emacs/hexrgb.el) needed for -MUC nick coloring feature. It also placed in compat directory and used -if nessesary. +The file hexrgb.el (http://www.emacswiki.org/emacs/hexrgb.el) is +needed for MUC nick coloring feature. A copy is located in the compat +directory, and used if the configure script doesn't find another copy +already installed. XEmacs ====== @@ -30,12 +27,6 @@ net-utils and mule-ucs packages. jabber.el basically works on XEmacs, but some features are missing (in particular mouse support). Testing and patches are very welcome. -SASL -==== -jabber.el will use the SASL library of Emacs (from version 23) or Gnus -(from No Gnus 0.3) if it's present. If not, it will fall back to -XEP-0077 authentication. - TLS/SSL ======= To get an encrypted connection, the most convenient option is to use diff --git a/compat/hex-util.el b/compat/hex-util.el deleted file mode 100644 index 901c98c..0000000 --- a/compat/hex-util.el +++ /dev/null @@ -1,75 +0,0 @@ -;;; hex-util.el --- Functions to encode/decode hexadecimal string. - -;; Copyright (C) 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -;; Author: Shuhei KOBAYASHI <sh...@aq...> -;; Keywords: data - -;; This file is part of FLIM (Faithful Library about Internet Message). - -;; 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 3, 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; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: - -;;; Code: - -(eval-when-compile - (defmacro hex-char-to-num (chr) - `(let ((chr ,chr)) - (cond - ((and (<= ?a chr)(<= chr ?f)) (+ (- chr ?a) 10)) - ((and (<= ?A chr)(<= chr ?F)) (+ (- chr ?A) 10)) - ((and (<= ?0 chr)(<= chr ?9)) (- chr ?0)) - (t (error "Invalid hexadecimal digit `%c'" chr))))) - (defmacro num-to-hex-char (num) - `(aref "0123456789abcdef" ,num))) - -(defun decode-hex-string (string) - "Decode hexadecimal STRING to octet string." - (let* ((len (length string)) - (dst (make-string (/ len 2) 0)) - (idx 0)(pos 0)) - (while (< pos len) - ;; logior and lsh are not byte-coded. - ;; (aset dst idx (logior (lsh (hex-char-to-num (aref string pos)) 4) - ;; (hex-char-to-num (aref string (1+ pos))))) - (aset dst idx (+ (* (hex-char-to-num (aref string pos)) 16) - (hex-char-to-num (aref string (1+ pos))))) - (setq idx (1+ idx) - pos (+ 2 pos))) - dst)) - -(defun encode-hex-string (string) - "Encode octet STRING to hexadecimal string." - (let* ((len (length string)) - (dst (make-string (* len 2) 0)) - (idx 0)(pos 0)) - (while (< pos len) - ;; logand and lsh are not byte-coded. - ;; (aset dst idx (num-to-hex-char (logand (lsh (aref string pos) -4) 15))) - (aset dst idx (num-to-hex-char (/ (aref string pos) 16))) - (setq idx (1+ idx)) - ;; (aset dst idx (num-to-hex-char (logand (aref string pos) 15))) - (aset dst idx (num-to-hex-char (% (aref string pos) 16))) - (setq idx (1+ idx) - pos (1+ pos))) - dst)) - -(provide 'hex-util) - -;; arch-tag: fe8aaa79-6c86-400e-813f-5a8cc4cb3859 -;;; hex-util.el ends here diff --git a/compat/sha1.el b/compat/sha1.el deleted file mode 100644 index 7c5feff..0000000 --- a/compat/sha1.el +++ /dev/null @@ -1,442 +0,0 @@ -;;; sha1.el --- SHA1 Secure Hash Algorithm in Emacs-Lisp - -;; Copyright (C) 1999, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - -;; Author: Shuhei KOBAYASHI <sh...@aq...> -;; Keywords: SHA1, FIPS 180-1 - -;; This file is part of FLIM (Faithful Library about Internet Message). - -;; 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 3, 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; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Commentary: - -;; This program is implemented from the definition of SHA-1 in FIPS PUB -;; 180-1 (Federal Information Processing Standards Publication 180-1), -;; "Announcing the Standard for SECURE HASH STANDARD". -;; <URL:http://www.itl.nist.gov/div897/pubs/fip180-1.htm> -;; (EXCEPTION; two optimizations taken from GnuPG/cipher/sha1.c) -;; -;; Test cases from FIPS PUB 180-1. -;; -;; (sha1 "abc") -;; => a9993e364706816aba3e25717850c26c9cd0d89d -;; -;; (sha1 "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") -;; => 84983e441c3bd26ebaae4aa1f95129e5e54670f1 -;; -;; (sha1 (make-string 1000000 ?a)) -;; => 34aa973cd4c4daa4f61eeb2bdbad27316534016f -;; -;; BUGS: -;; * It is assumed that length of input string is less than 2^29 bytes. -;; * It is caller's responsibility to make string (or region) unibyte. -;; -;; TODO: -;; * Rewrite from scratch! -;; This version is much faster than Keiichi Suzuki's another sha1.el, -;; but it is too dirty. - -;;; Code: - -(require 'hex-util) - -;;; -;;; external SHA1 function. -;;; - -(defgroup sha1 nil - "Elisp interface for SHA1 hash computation." - :version "22.1" - :group 'extensions) - -(defcustom sha1-maximum-internal-length 500 - "*Maximum length of message to use Lisp version of SHA1 function. -If message is longer than this, `sha1-program' is used instead. - -If this variable is set to 0, use external program only. -If this variable is set to nil, use internal function only." - :type 'integer - :group 'sha1) - -(defcustom sha1-program '("sha1sum") - "*Name of program to compute SHA1. -It must be a string \(program name\) or list of strings \(name and its args\)." - :type '(repeat string) - :group 'sha1) - -(defcustom sha1-use-external (condition-case () - (executable-find (car sha1-program)) - (error)) - "*Use external SHA1 program. -If this variable is set to nil, use internal function only." - :type 'boolean - :group 'sha1) - -(defun sha1-string-external (string &optional binary) - (let (prog args digest default-enable-multibyte-characters) - (if (consp sha1-program) - (setq prog (car sha1-program) - args (cdr sha1-program)) - (setq prog sha1-program - args nil)) - (with-temp-buffer - (insert string) - (apply (function call-process-region) - (point-min)(point-max) - prog t t nil args) - ;; SHA1 is 40 bytes long in hexadecimal form. - (setq digest (buffer-substring (point-min)(+ (point-min) 40)))) - (if binary - (decode-hex-string digest) - digest))) - -(defun sha1-region-external (beg end &optional binary) - (sha1-string-external (buffer-substring-no-properties beg end) binary)) - -;;; -;;; internal SHA1 function. -;;; - -(eval-when-compile - ;; optional second arg of string-to-number is new in v20. - (defconst sha1-K0-high 23170) ; (string-to-number "5A82" 16) - (defconst sha1-K0-low 31129) ; (string-to-number "7999" 16) - (defconst sha1-K1-high 28377) ; (string-to-number "6ED9" 16) - (defconst sha1-K1-low 60321) ; (string-to-number "EBA1" 16) - (defconst sha1-K2-high 36635) ; (string-to-number "8F1B" 16) - (defconst sha1-K2-low 48348) ; (string-to-number "BCDC" 16) - (defconst sha1-K3-high 51810) ; (string-to-number "CA62" 16) - (defconst sha1-K3-low 49622) ; (string-to-number "C1D6" 16) - - ;; original definition of sha1-F0. - ;; (defmacro sha1-F0 (B C D) - ;; (` (logior (logand (, B) (, C)) - ;; (logand (lognot (, B)) (, D))))) - ;; a little optimization from GnuPG/cipher/sha1.c. - (defmacro sha1-F0 (B C D) - `(logxor ,D (logand ,B (logxor ,C ,D)))) - (defmacro sha1-F1 (B C D) - `(logxor ,B ,C ,D)) - ;; original definition of sha1-F2. - ;; (defmacro sha1-F2 (B C D) - ;; (` (logior (logand (, B) (, C)) - ;; (logand (, B) (, D)) - ;; (logand (, C) (, D))))) - ;; a little optimization from GnuPG/cipher/sha1.c. - (defmacro sha1-F2 (B C D) - `(logior (logand ,B ,C) - (logand ,D (logior ,B ,C)))) - (defmacro sha1-F3 (B C D) - `(logxor ,B ,C ,D)) - - (defmacro sha1-S1 (W-high W-low) - `(let ((W-high ,W-high) - (W-low ,W-low)) - (setq S1W-high (+ (% (* W-high 2) 65536) - (/ W-low ,(/ 65536 2)))) - (setq S1W-low (+ (/ W-high ,(/ 65536 2)) - (% (* W-low 2) 65536))))) - (defmacro sha1-S5 (A-high A-low) - `(progn - (setq S5A-high (+ (% (* ,A-high 32) 65536) - (/ ,A-low ,(/ 65536 32)))) - (setq S5A-low (+ (/ ,A-high ,(/ 65536 32)) - (% (* ,A-low 32) 65536))))) - (defmacro sha1-S30 (B-high B-low) - `(progn - (setq S30B-high (+ (/ ,B-high 4) - (* (% ,B-low 4) ,(/ 65536 4)))) - (setq S30B-low (+ (/ ,B-low 4) - (* (% ,B-high 4) ,(/ 65536 4)))))) - - (defmacro sha1-OP (round) - `(progn - (sha1-S5 sha1-A-high sha1-A-low) - (sha1-S30 sha1-B-high sha1-B-low) - (setq sha1-A-low (+ (,(intern (format "sha1-F%d" round)) - sha1-B-low sha1-C-low sha1-D-low) - sha1-E-low - ,(symbol-value - (intern (format "sha1-K%d-low" round))) - (aref block-low idx) - (progn - (setq sha1-E-low sha1-D-low) - (setq sha1-D-low sha1-C-low) - (setq sha1-C-low S30B-low) - (setq sha1-B-low sha1-A-low) - S5A-low))) - (setq carry (/ sha1-A-low 65536)) - (setq sha1-A-low (% sha1-A-low 65536)) - (setq sha1-A-high (% (+ (,(intern (format "sha1-F%d" round)) - sha1-B-high sha1-C-high sha1-D-high) - sha1-E-high - ,(symbol-value - (intern (format "sha1-K%d-high" round))) - (aref block-high idx) - (progn - (setq sha1-E-high sha1-D-high) - (setq sha1-D-high sha1-C-high) - (setq sha1-C-high S30B-high) - (setq sha1-B-high sha1-A-high) - S5A-high) - carry) - 65536)))) - - (defmacro sha1-add-to-H (H X) - `(progn - (setq ,(intern (format "sha1-%s-low" H)) - (+ ,(intern (format "sha1-%s-low" H)) - ,(intern (format "sha1-%s-low" X)))) - (setq carry (/ ,(intern (format "sha1-%s-low" H)) 65536)) - (setq ,(intern (format "sha1-%s-low" H)) - (% ,(intern (format "sha1-%s-low" H)) 65536)) - (setq ,(intern (format "sha1-%s-high" H)) - (% (+ ,(intern (format "sha1-%s-high" H)) - ,(intern (format "sha1-%s-high" X)) - carry) - 65536)))) - ) - -;;; buffers (H0 H1 H2 H3 H4). -(defvar sha1-H0-high) -(defvar sha1-H0-low) -(defvar sha1-H1-high) -(defvar sha1-H1-low) -(defvar sha1-H2-high) -(defvar sha1-H2-low) -(defvar sha1-H3-high) -(defvar sha1-H3-low) -(defvar sha1-H4-high) -(defvar sha1-H4-low) - -(defun sha1-block (block-high block-low) - (let (;; step (c) --- initialize buffers (A B C D E). - (sha1-A-high sha1-H0-high) (sha1-A-low sha1-H0-low) - (sha1-B-high sha1-H1-high) (sha1-B-low sha1-H1-low) - (sha1-C-high sha1-H2-high) (sha1-C-low sha1-H2-low) - (sha1-D-high sha1-H3-high) (sha1-D-low sha1-H3-low) - (sha1-E-high sha1-H4-high) (sha1-E-low sha1-H4-low) - (idx 16)) - ;; step (b). - (let (;; temporary variables used in sha1-S1 macro. - S1W-high S1W-low) - (while (< idx 80) - (sha1-S1 (logxor (aref block-high (- idx 3)) - (aref block-high (- idx 8)) - (aref block-high (- idx 14)) - (aref block-high (- idx 16))) - (logxor (aref block-low (- idx 3)) - (aref block-low (- idx 8)) - (aref block-low (- idx 14)) - (aref block-low (- idx 16)))) - (aset block-high idx S1W-high) - (aset block-low idx S1W-low) - (setq idx (1+ idx)))) - ;; step (d). - (setq idx 0) - (let (;; temporary variables used in sha1-OP macro. - S5A-high S5A-low S30B-high S30B-low carry) - (while (< idx 20) (sha1-OP 0) (setq idx (1+ idx))) - (while (< idx 40) (sha1-OP 1) (setq idx (1+ idx))) - (while (< idx 60) (sha1-OP 2) (setq idx (1+ idx))) - (while (< idx 80) (sha1-OP 3) (setq idx (1+ idx)))) - ;; step (e). - (let (;; temporary variables used in sha1-add-to-H macro. - carry) - (sha1-add-to-H H0 A) - (sha1-add-to-H H1 B) - (sha1-add-to-H H2 C) - (sha1-add-to-H H3 D) - (sha1-add-to-H H4 E)))) - -(defun sha1-binary (string) - "Return the SHA1 of STRING in binary form." - (let (;; prepare buffers for a block. byte-length of block is 64. - ;; input block is split into two vectors. - ;; - ;; input block: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ... - ;; block-high: +-0-+ +-1-+ +-2-+ +-3-+ - ;; block-low: +-0-+ +-1-+ +-2-+ +-3-+ - ;; - ;; length of each vector is 80, and elements of each vector are - ;; 16bit integers. elements 0x10-0x4F of each vector are - ;; assigned later in `sha1-block'. - (block-high (eval-when-compile (make-vector 80 nil))) - (block-low (eval-when-compile (make-vector 80 nil)))) - (unwind-protect - (let* (;; byte-length of input string. - (len (length string)) - (lim (* (/ len 64) 64)) - (rem (% len 4)) - (idx 0)(pos 0)) - ;; initialize buffers (H0 H1 H2 H3 H4). - (setq sha1-H0-high 26437 ; (string-to-number "6745" 16) - sha1-H0-low 8961 ; (string-to-number "2301" 16) - sha1-H1-high 61389 ; (string-to-number "EFCD" 16) - sha1-H1-low 43913 ; (string-to-number "AB89" 16) - sha1-H2-high 39098 ; (string-to-number "98BA" 16) - sha1-H2-low 56574 ; (string-to-number "DCFE" 16) - sha1-H3-high 4146 ; (string-to-number "1032" 16) - sha1-H3-low 21622 ; (string-to-number "5476" 16) - sha1-H4-high 50130 ; (string-to-number "C3D2" 16) - sha1-H4-low 57840) ; (string-to-number "E1F0" 16) - ;; loop for each 64 bytes block. - (while (< pos lim) - ;; step (a). - (setq idx 0) - (while (< idx 16) - (aset block-high idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (setq pos (+ pos 2)) - (aset block-low idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (setq pos (+ pos 2)) - (setq idx (1+ idx))) - (sha1-block block-high block-low)) - ;; last block. - (if (prog1 - (< (- len lim) 56) - (setq lim (- len rem)) - (setq idx 0) - (while (< pos lim) - (aset block-high idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (setq pos (+ pos 2)) - (aset block-low idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (setq pos (+ pos 2)) - (setq idx (1+ idx))) - ;; this is the last (at most) 32bit word. - (cond - ((= rem 3) - (aset block-high idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (setq pos (+ pos 2)) - (aset block-low idx (+ (* (aref string pos) 256) - 128))) - ((= rem 2) - (aset block-high idx (+ (* (aref string pos) 256) - (aref string (1+ pos)))) - (aset block-low idx 32768)) - ((= rem 1) - (aset block-high idx (+ (* (aref string pos) 256) - 128)) - (aset block-low idx 0)) - (t ;; (= rem 0) - (aset block-high idx 32768) - (aset block-low idx 0))) - (setq idx (1+ idx)) - (while (< idx 16) - (aset block-high idx 0) - (aset block-low idx 0) - (setq idx (1+ idx)))) - ;; last block has enough room to write the length of string. - (progn - ;; write bit length of string to last 4 bytes of the block. - (aset block-low 15 (* (% len 8192) 8)) - (setq len (/ len 8192)) - (aset block-high 15 (% len 65536)) - ;; XXX: It is not practical to compute SHA1 of - ;; such a huge message on emacs. - ;; (setq len (/ len 65536)) ; for 64bit emacs. - ;; (aset block-low 14 (% len 65536)) - ;; (aset block-high 14 (/ len 65536)) - (sha1-block block-high block-low)) - ;; need one more block. - (sha1-block block-high block-low) - (fillarray block-high 0) - (fillarray block-low 0) - ;; write bit length of string to last 4 bytes of the block. - (aset block-low 15 (* (% len 8192) 8)) - (setq len (/ len 8192)) - (aset block-high 15 (% len 65536)) - ;; XXX: It is not practical to compute SHA1 of - ;; such a huge message on emacs. - ;; (setq len (/ len 65536)) ; for 64bit emacs. - ;; (aset block-low 14 (% len 65536)) - ;; (aset block-high 14 (/ len 65536)) - (sha1-block block-high block-low)) - ;; make output string (in binary form). - (let ((result (make-string 20 0))) - (aset result 0 (/ sha1-H0-high 256)) - (aset result 1 (% sha1-H0-high 256)) - (aset result 2 (/ sha1-H0-low 256)) - (aset result 3 (% sha1-H0-low 256)) - (aset result 4 (/ sha1-H1-high 256)) - (aset result 5 (% sha1-H1-high 256)) - (aset result 6 (/ sha1-H1-low 256)) - (aset result 7 (% sha1-H1-low 256)) - (aset result 8 (/ sha1-H2-high 256)) - (aset result 9 (% sha1-H2-high 256)) - (aset result 10 (/ sha1-H2-low 256)) - (aset result 11 (% sha1-H2-low 256)) - (aset result 12 (/ sha1-H3-high 256)) - (aset result 13 (% sha1-H3-high 256)) - (aset result 14 (/ sha1-H3-low 256)) - (aset result 15 (% sha1-H3-low 256)) - (aset result 16 (/ sha1-H4-high 256)) - (aset result 17 (% sha1-H4-high 256)) - (aset result 18 (/ sha1-H4-low 256)) - (aset result 19 (% sha1-H4-low 256)) - result)) - ;; do not leave a copy of input string. - (fillarray block-high nil) - (fillarray block-low nil)))) - -(defun sha1-string-internal (string &optional binary) - (if binary - (sha1-binary string) - (encode-hex-string (sha1-binary string)))) - -(defun sha1-region-internal (beg end &optional binary) - (sha1-string-internal (buffer-substring-no-properties beg end) binary)) - -;;; -;;; application interface. -;;; - -(defun sha1-region (beg end &optional binary) - (if (and sha1-use-external - sha1-maximum-internal-length - (> (abs (- end beg)) sha1-maximum-internal-length)) - (sha1-region-external beg end binary) - (sha1-region-internal beg end binary))) - -(defun sha1-string (string &optional binary) - (if (and sha1-use-external - sha1-maximum-internal-length - (> (length string) sha1-maximum-internal-length)) - (sha1-string-external string binary) - (sha1-string-internal string binary))) - -;;;###autoload -(defun sha1 (object &optional beg end binary) - "Return the SHA1 (Secure Hash Algorithm) of an object. -OBJECT is either a string or a buffer. -Optional arguments BEG and END denote buffer positions for computing the -hash of a portion of OBJECT. -If BINARY is non-nil, return a string in binary form." - (if (stringp object) - (sha1-string object binary) - (with-current-buffer object - (sha1-region (or beg (point-min)) (or end (point-max)) binary)))) - -(provide 'sha1) - -;; arch-tag: c0f9abd0-ffc1-4557-aac6-ece7f2d4c901 -;;; sha1.el ends here diff --git a/configure.ac b/configure.ac index d1ff734..ec69320 100644 --- a/configure.ac +++ b/configure.ac @@ -6,13 +6,8 @@ AC_CONFIG_MACRO_DIR([m4]) AM_PATH_LISPDIR AS_IF([test "$EMACS" = no], [AC_MSG_ERROR([cannot find Emacs])]) -AX_CHECK_EMACS_LIB([sha1], [HAVE_SHA1=yes], [HAVE_SHA1=no]) -AX_CHECK_EMACS_LIB([sha1-el], [HAVE_SHA1_EL=yes], [HAVE_SHA1_EL=no]) -AX_CHECK_EMACS_LIB([hex-util], [HAVE_HEX_UTIL=yes], [HAVE_HEX_UTIL=no]) AX_CHECK_EMACS_LIB([hexrgb], [HAVE_HEXRGB=yes], [HAVE_HEXRGB=no]) -AM_CONDITIONAL([USE_OUR_SHA1], [test x$HAVE_SHA1 = xno -a x$HAVE_SHA1_EL = xno]) -AM_CONDITIONAL([USE_OUR_HEX_UTIL], [test x$HAVE_HEX_UTIL = xno]) AM_CONDITIONAL([USE_OUR_HEXRGB], [test x$HAVE_HEXRGB = xno]) dnl GConf schemas, for registering our URL handler diff --git a/jabber-logon.el b/jabber-logon.el index 62bc6ea..e352e80 100644 --- a/jabber-logon.el +++ b/jabber-logon.el @@ -21,10 +21,7 @@ (require 'jabber-xml) (require 'jabber-util) -;; sha1-el is known under two names -(condition-case e - (require 'sha1) - (error (require 'sha1-el))) +(require 'sha1) (defun jabber-get-auth (jc to session-id) "Send IQ get request in namespace \"jabber:iq:auth\"." ----------------------------------------------------------------------- Summary of changes: Makefile.am | 17 +-- README | 21 +-- compat/hex-util.el | 75 --------- compat/sha1.el | 442 ---------------------------------------------------- configure.ac | 5 - jabber-logon.el | 5 +- 6 files changed, 14 insertions(+), 551 deletions(-) delete mode 100644 compat/hex-util.el delete mode 100644 compat/sha1.el hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-01-28 01:28:11
|
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 d8f07cacc1865c6f33932aa75929506e8ad2e8e4 (commit) via 506e6de9f4cd37a6725ce6f19a197f8a6978a8a3 (commit) from c03c1f8d897d062591a661c7ac4f155355aa841f (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 d8f07cacc1865c6f33932aa75929506e8ad2e8e4 Author: Magnus Henoch <mag...@gm...> Date: Mon Jan 28 01:27:22 2013 +0000 jabber-ping.el: require jabber-disco Needed for jabber-advertised-features. diff --git a/jabber-ping.el b/jabber-ping.el index 6afce8e..e71267e 100644 --- a/jabber-ping.el +++ b/jabber-ping.el @@ -21,6 +21,7 @@ (require 'jabber-iq) (require 'jabber-util) (require 'jabber-menu) +(require 'jabber-disco) (add-to-list 'jabber-jid-info-menu (cons "Ping" 'jabber-ping)) commit 506e6de9f4cd37a6725ce6f19a197f8a6978a8a3 Author: Magnus Henoch <mag...@gm...> Date: Mon Jan 28 01:26:49 2013 +0000 Use LOG_COMPILER instead of TESTS_ENVIRONMENT in tests/Makefile.am TESTS_ENVIRONMENT is no longer a safe place to put an Emacs invocation. However, LOG_COMPILER was introduced in Automake 1.12 for such things. Tested with Automake 1.13.1. diff --git a/tests/Makefile.am b/tests/Makefile.am index 8679720..01f07e0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,3 +1,5 @@ -TESTS_ENVIRONMENT = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -L $(top_srcdir) -L $(srcdir) -l +# LOG_COMPILER was introduced in Automake 1.12; don't expect "make +# check" or "make distcheck" to work with earlier versions. +LOG_COMPILER = env top_builddir=$(top_builddir) $(EMACS) -batch -L $(top_builddir) -L $(top_srcdir) -L $(srcdir) -l TESTS = load-all.el skip-tag-forward.el history.el jabberd.el nick-change-fail.el dist_noinst_DATA = $(TESTS) ----------------------------------------------------------------------- Summary of changes: jabber-ping.el | 1 + tests/Makefile.am | 4 +++- 2 files changed, 4 insertions(+), 1 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2013-01-28 01:01:02
|
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 c03c1f8d897d062591a661c7ac4f155355aa841f (commit) via 422cf215b66e9610b0adc39591ad69533be49eb7 (commit) via c05eefdf5f048ccba0f88d8cde5ebff9a477af94 (commit) via 58cc4ecc28ba23c96b50b6730d9d88ed5c388bbb (commit) from 2810cac3780f7e2fec3d43264699aca3473951d4 (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 c03c1f8d897d062591a661c7ac4f155355aa841f Author: Magnus Henoch <mag...@gm...> Date: Mon Jan 28 00:46:58 2013 +0000 jabber-ping.el: require jabber-menu Needs jabber-jid-info-menu. diff --git a/jabber-ping.el b/jabber-ping.el index 50b6257..6afce8e 100644 --- a/jabber-ping.el +++ b/jabber-ping.el @@ -20,6 +20,7 @@ (require 'jabber-iq) (require 'jabber-util) +(require 'jabber-menu) (add-to-list 'jabber-jid-info-menu (cons "Ping" 'jabber-ping)) commit 422cf215b66e9610b0adc39591ad69533be49eb7 Author: Magnus Henoch <mag...@gm...> Date: Sun Sep 16 19:29:26 2012 +0100 "Authentication succeeded" message to mention which account diff --git a/jabber-sasl.el b/jabber-sasl.el index d7992b1..d906933 100644 --- a/jabber-sasl.el +++ b/jabber-sasl.el @@ -127,7 +127,7 @@ Call REMEMBER with the password. REMEMBER is expected to return it as well." (fsm-send jc :authentication-failure)) ((eq (car xml-data) 'success) - (message "Authentication succeeded") + (message "Authentication succeeded for %s" (jabber-connection-bare-jid jc)) (fsm-send jc (cons :authentication-success passphrase)))) (list client step passphrase))) commit c05eefdf5f048ccba0f88d8cde5ebff9a477af94 Author: Magnus Henoch <mag...@gm...> Date: Sun Sep 16 19:28:51 2012 +0100 Update docstring for how to hide offline contacts permanently diff --git a/jabber-roster.el b/jabber-roster.el index f983dbc..b62b182 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -498,7 +498,8 @@ such.") buddies)) (defun jabber-roster-toggle-offline-display () - "Toggle display of offline contacts." + "Toggle display of offline contacts. +To change this permanently, customize the `jabber-show-offline-contacts'." (interactive) (setq jabber-show-offline-contacts (not jabber-show-offline-contacts)) commit 58cc4ecc28ba23c96b50b6730d9d88ed5c388bbb Author: Magnus Henoch <mag...@gm...> Date: Sun Sep 16 19:28:03 2012 +0100 jabber-disconnect: Display "Already disconnected" if that is the case diff --git a/jabber-core.el b/jabber-core.el index c7999e3..32597fc 100644 --- a/jabber-core.el +++ b/jabber-core.el @@ -788,14 +788,16 @@ With double prefix argument, specify more connection details." (jabber-disconnect-one (jabber-read-account)) (unless *jabber-disconnecting* ; avoid reentry (let ((*jabber-disconnecting* t)) - (run-hooks 'jabber-pre-disconnect-hook) - (dolist (c jabber-connections) - (jabber-disconnect-one c t)) - (setq jabber-connections nil) - - (jabber-disconnected) - (when (interactive-p) - (message "Disconnected from Jabber server(s)")))))) + (if (null jabber-connections) + (message "Already disconnected") + (run-hooks 'jabber-pre-disconnect-hook) + (dolist (c jabber-connections) + (jabber-disconnect-one c t)) + (setq jabber-connections nil) + + (jabber-disconnected) + (when (interactive-p) + (message "Disconnected from Jabber server(s)"))))))) (defun jabber-disconnect-one (jc &optional dont-redisplay) "Disconnect from one Jabber server. ----------------------------------------------------------------------- Summary of changes: jabber-core.el | 18 ++++++++++-------- jabber-ping.el | 1 + jabber-roster.el | 3 ++- jabber-sasl.el | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) hooks/post-receive -- emacs-jabber |
From: Evgenii T. <evg...@us...> - 2012-12-07 16:58:30
|
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 2810cac3780f7e2fec3d43264699aca3473951d4 (commit) from 3bf076485b3cee64645af673da132dc46f68cbfd (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 2810cac3780f7e2fec3d43264699aca3473951d4 Author: Alex Ott <al...@gm...> Date: Wed Oct 24 08:44:54 2012 +0200 guard create-image with error handler diff --git a/jabber-avatar.el b/jabber-avatar.el index 2b45ce3..3f0d73a 100644 --- a/jabber-avatar.el +++ b/jabber-avatar.el @@ -95,7 +95,9 @@ If MIME-TYPE is not specified, try to find it from the image data." (sha1-sum (sha1 data)) (base64-data (or base64-string (base64-encode-string raw-data))) (type (or mime-type - (cdr (assq (get :type (cdr (create-image data nil t))) + (cdr (assq (get :type (cdr (condition-case nil + (create-image data nil t) + (error nil)))) '((png "image/png") (jpeg "image/jpeg") (gif "image/gif"))))))) @@ -114,13 +116,15 @@ If MIME-TYPE is not specified, try to find it from the image data." (defun jabber-avatar-image (avatar) "Create an image from AVATAR. Return nil if images of this type are not supported." - (create-image (with-temp-buffer - (set-buffer-multibyte nil) - (insert (avatar-base64-data avatar)) - (base64-decode-region (point-min) (point-max)) - (buffer-string)) - nil - t)) + (condition-case nil + (create-image (with-temp-buffer + (set-buffer-multibyte nil) + (insert (avatar-base64-data avatar)) + (base64-decode-region (point-min) (point-max)) + (buffer-string)) + nil + t) + (error nil))) (defun jabber-avatar-compute-size (avatar) "Compute and set the width and height fields of AVATAR. @@ -190,7 +194,10 @@ AVATAR may be one of: (setq image (lambda () (jabber-avatar-image avatar)))) ((stringp avatar) (setq hash avatar) - (setq image (lambda () (create-image (jabber-avatar-find-cached avatar))))) + (setq image (lambda () + (condition-case nil + (create-image (jabber-avatar-find-cached avatar)) + (error nil))))) (t (setq hash nil) (setq image #'ignore))) ----------------------------------------------------------------------- Summary of changes: jabber-avatar.el | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) hooks/post-receive -- emacs-jabber |
From: Evgenii T. <evg...@us...> - 2012-09-30 09:17:28
|
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 3bf076485b3cee64645af673da132dc46f68cbfd (commit) from a7823c0e8bbef719c48c1409b6adf34db549926b (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 3bf076485b3cee64645af673da132dc46f68cbfd Author: Evgenii Terechkov <ev...@al...> Date: Fri Mar 26 19:08:06 2010 +0700 Typo fixed. According to xep-0202 "query" from xep-0012 replaced by "time" diff --git a/jabber-time.el b/jabber-time.el index bd425f0..919e5b0 100644 --- a/jabber-time.el +++ b/jabber-time.el @@ -35,7 +35,7 @@ nil nil nil 'full t))) (jabber-send-iq jc to "get" - '(query ((xmlns . "urn:xmpp:time"))) + '(time ((xmlns . "urn:xmpp:time"))) 'jabber-silent-process-data 'jabber-process-time 'jabber-silent-process-data (lambda (jc xml-data) ----------------------------------------------------------------------- Summary of changes: jabber-time.el | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- emacs-jabber |
From: Evgenii T. <evg...@us...> - 2012-09-29 15:00:50
|
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 a7823c0e8bbef719c48c1409b6adf34db549926b (commit) via d398a6a28e3c24974292e5b45390a0b7ebadd03a (commit) via 3dd5d642cc0f5f245bb8becae873704b2ee414d6 (commit) via fff7dec57ba7ec4b7a7a41747b6d976daaa53c91 (commit) via 0cc122ae041ca7b4734593accb4a7aa5ddfa24ff (commit) via 0bd3b73fae85e90d5b0dd3d19b53f95eb3a65b40 (commit) from e940e2deaa44d1cb1ee2a614fe81e6d7f7b0dd45 (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 a7823c0e8bbef719c48c1409b6adf34db549926b Merge: d398a6a e940e2d Author: Evgenii Terechkov <ev...@al...> Date: Sat Sep 29 22:46:50 2012 +0800 Merge branch 'upstream' into store-groups # By Magnus Henoch (18) and others # Via Magnus Henoch * upstream: (31 commits) Ensure that jabber-bookmarks is loaded in jabber-jid-bookmarkname Fix :get function for jabber-roster-default-group-name If all accounts are already connected in jabber-connect-all, say so Make nick coloring work in Emacs24 Don't display "added to roster" messages for initial roster population Don't add extra newline when using STARTTLS Fix reporting of STARTTLS negotiation errors Fix error handling for old-style SSL/TLS connections Support native GnuTLS for STARTTLS s/screen/tmux/ in jabber-tmux.el Mention tmux alerts in the documentation Add tmux alerts Fix build with automake > 1.11.4 Avoid groupchat buffer on RET in roster if we're not 100% sure it's a groupchat (bug 3483380) Version 0.8.91 * jabberd.el (jabberd-handle): Update for new namespace handling. Use namespace prefixes declared on stream root element jabber-core: Fix header parsing Fix :get function for jabber-roster-default-group-name Use xml-parse-region to parse stream header ... Conflicts: jabber-roster.el jabber.texi diff --cc jabber-roster.el index aab4e6b,92b1321..f983dbc --- a/jabber-roster.el +++ b/jabber-roster.el @@@ -25,7 -25,7 +25,8 @@@ (require 'jabber-alert) (require 'jabber-keymap) (require 'format-spec) + (require 'cl) ;for `find' +(require 'jabber-private) (defgroup jabber-roster nil "roster display options" :group 'jabber) diff --cc jabber.texi index e8e5536,8e3687d..775311b --- a/jabber.texi +++ b/jabber.texi @@@ -1104,17 -1100,17 +1100,18 @@@ jabber.el includes a number of feature interface and do other useful things. @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:: +* Saving groups roll state:: @end menu - @node Autoaway, Modeline status, Useful features, Useful features + @node Autoaway, Modeline status, , Useful features @section Autoaway @cindex autoaway @@@ -1360,23 -1356,52 +1357,70 @@@ what you receive or what you have alrea For more information about Emacs spell checking, @pxref{Spelling, , Checking and Correcting Spelling, emacs, GNU Emacs Manual}. - @node Saving groups roll state, , Spell Checking, Useful features -@node Gmail notifications, , Spell checking, Useful features ++@node Gmail notifications, Saving groups roll state, Spell checking, Useful features + @section Gmail notifications + + @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 @file{.emacs}: + + @example + (add-hook 'jabber-post-connect-hooks 'jabber-gmail-subscribe) + @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 @code{jabber-gmail-dothreads} function. + + Example: + + @example + (eval-after-load "jabber-gmail" + '(defun jabber-gmail-dothreads (threads) + "Process <mail-thread-info/> elements. + THREADS is a list of XML sexps corresponding to <mail-thread-info/> + 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 "<f9> 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 &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)) + @end example + ++@node Saving groups roll state, , Gmail notifications, Useful features +@section Saving groups roll state + +@cindex Saving groups roll state + +You can save roster's groups rollup/rolldown state between sessions. +To do this you need to add @code{jabber-roster-save-groups} to +@code{jabber-pre-disconnect-hook} and +@code{jabber-roster-restore-groups} to +@code{jabber-post-connect-hooks}, respectively. + +State saved in private storage on server-side (for each account). Note +that state restoring working by rolling up groups, rolled up at state +saving (by default, all groups rolled down). Also note that at now, +@code{jabber-pre-disconnect-hook} run only with +@code{jabber-disconnect} (not with @code{jabber-disconnect-one}). + ++ @node Message history, Typing notifications, Useful features, Top @chapter Message history commit d398a6a28e3c24974292e5b45390a0b7ebadd03a Author: Evgenii Terechkov <ev...@al...> Date: Thu Apr 22 07:59:57 2010 +0800 Save empty rolled groups list anyway, for consistensy diff --git a/jabber-roster.el b/jabber-roster.el index 2b53b8c..aab4e6b 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -860,14 +860,14 @@ If optional PREV is non-nil, return position of previous property appearence." (dolist (jc jabber-connections) (let* ((groups (plist-get (fsm-get-state-data jc) :roster-roll-groups)) (roll-groups - (when groups - (mapconcat (lambda (a) (substring-no-properties a)) groups "\n")))) - (when roll-groups - (jabber-private-set jc - `(roster ((xmlns . "emacs-jabber")) - ,roll-groups) - 'jabber-report-success "Roster groups saved" - 'jabber-report-success "Failed to save roster groups"))))) + (if groups + (mapconcat (lambda (a) (substring-no-properties a)) groups "\n") + ""))) + (jabber-private-set jc + `(roster ((xmlns . "emacs-jabber")) + ,roll-groups) + 'jabber-report-success "Roster groups saved" + 'jabber-report-success "Failed to save roster groups")))) (provide 'jabber-roster) commit 3dd5d642cc0f5f245bb8becae873704b2ee414d6 Author: Evgenii Terechkov <ev...@al...> Date: Wed Apr 21 22:23:49 2010 +0800 Fix for case when there is no rolled up groups or when where is just one such group diff --git a/jabber-roster.el b/jabber-roster.el index 720618a..2b53b8c 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -858,16 +858,16 @@ If optional PREV is non-nil, return position of previous property appearence." "Save roster's groups rolling state in private storage" (interactive) (dolist (jc jabber-connections) - (let ((roll-groups (reduce - (lambda (a b) (format "%s\n%s" - (substring-no-properties a) - (substring-no-properties b))) - (plist-get (fsm-get-state-data jc) :roster-roll-groups)))) - (jabber-private-set jc - `(roster ((xmlns . "emacs-jabber")) - ,roll-groups) - 'jabber-report-success "Roster groups saved" - 'jabber-report-success "Failed to save roster groups")))) + (let* ((groups (plist-get (fsm-get-state-data jc) :roster-roll-groups)) + (roll-groups + (when groups + (mapconcat (lambda (a) (substring-no-properties a)) groups "\n")))) + (when roll-groups + (jabber-private-set jc + `(roster ((xmlns . "emacs-jabber")) + ,roll-groups) + 'jabber-report-success "Roster groups saved" + 'jabber-report-success "Failed to save roster groups"))))) (provide 'jabber-roster) commit fff7dec57ba7ec4b7a7a41747b6d976daaa53c91 Author: Evgenii Terechkov <ev...@al...> Date: Wed Apr 21 21:20:45 2010 +0800 Private storage now used for bookmarks and roll state saving diff --git a/jabber.texi b/jabber.texi index 6b6a184..e8e5536 100644 --- a/jabber.texi +++ b/jabber.texi @@ -2793,8 +2793,8 @@ lists is not yet supported. @node XEP-0049, XEP-0050, XEP-0045, Protocol support @section XEP-0049 (Private XML Storage) -jabber.el contains an implementation of XEP-0049; however it is not used -for anything right now. +jabber.el contains an implementation of XEP-0049; It is used +for bookmarks and roster's groups roll state saving. @node XEP-0050, XEP-0054, XEP-0049, Protocol support @section XEP-0050 (Ad-Hoc Commands) commit 0cc122ae041ca7b4734593accb4a7aa5ddfa24ff Author: Evgenii Terechkov <ev...@al...> Date: Wed Apr 21 21:05:59 2010 +0800 Fix for case when we dont have saved roll state (server result is empty) diff --git a/jabber-roster.el b/jabber-roster.el index ff06f3f..720618a 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -849,7 +849,8 @@ If optional PREV is non-nil, return position of previous property appearence." (defun jabber-roster-restore-groups-1 (jc xml-data) "Parse roster groups and restore rolling state" (when (string= (jabber-xml-get-xmlns xml-data) "emacs-jabber") - (let ((groups (split-string (car (last xml-data)) "\n"))) + (let* ((data (car (last xml-data))) + (groups (if (stringp data) (split-string data "\n") nil))) (dolist (group groups) (jabber-roster-roll-group jc group t))))) commit 0bd3b73fae85e90d5b0dd3d19b53f95eb3a65b40 Author: Evgenii Terechkov <ev...@al...> Date: Sat Jan 30 14:26:27 2010 +0700 Ability to store/restore roster's groups roll state Implementation is quick-and-dirty. State saved in private server storage per jc. "roster" tag used with "emacs-jabber" xmlns. Value is newline-separated list of groups to rollup (assumed that group name can't contain newline). diff --git a/NEWS b/NEWS index 74892e7..0fb402b 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ -*- mode: outline -*- * New features in jabber.el latest git +** Support for roster's groups roll state saving + ** Full support for XEP-0012 Response of idle time. diff --git a/jabber-roster.el b/jabber-roster.el index d12c4ea..ff06f3f 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -25,6 +25,7 @@ (require 'jabber-alert) (require 'jabber-keymap) (require 'format-spec) +(require 'jabber-private) (defgroup jabber-roster nil "roster display options" :group 'jabber) @@ -311,21 +312,29 @@ Eval `jabber-roster-change' is no group at point" group-at-point)) (call-interactively 'jabber-roster-change)))) -(defun jabber-roster-roll-group (jc group-name) - "Roll up/down group in roster" +(defun jabber-roster-roll-group (jc group-name &optional set) + "Roll up/down group in roster. +If optional SET is t, roll up group. +If SET is nor t or nil, roll down group." (let* ((state-data (fsm-get-state-data jc)) - (roll-groups (plist-get state-data - :roster-roll-groups))) - (plist-put - state-data :roster-roll-groups - (if (find group-name roll-groups - :test 'string=) - (remove-if-not (lambda (group-name-in-list) - (not (string= group-name - group-name-in-list))) - roll-groups) - (append roll-groups (list group-name))))) - (jabber-display-roster)) + (roll-groups (plist-get state-data :roster-roll-groups)) + (new-roll-groups (if (find group-name roll-groups :test 'string=) + ;; group is rolled up, roll it down if needed + (if (or (not set) (and set (not (eq set t)))) + (remove-if-not (lambda (group-name-in-list) + (not (string= group-name + group-name-in-list))) + roll-groups) + roll-groups) + ;; group is rolled down, roll it up if needed + (if (or (not set) (and set (eq set t))) + (append roll-groups (list group-name)) + roll-groups))) ) + (unless (equal roll-groups new-roll-groups) + (plist-put + state-data :roster-roll-groups + new-roll-groups) + (jabber-display-roster)))) (defun jabber-roster-mode () "Major mode for Jabber roster display. @@ -831,6 +840,34 @@ If optional PREV is non-nil, return position of previous property appearence." (if previous (goto-char previous) (goto-char (point-max))))) +(defun jabber-roster-restore-groups (jc) + "Restore roster's groups rolling state from private storage" + (interactive (list (jabber-read-account))) + (jabber-private-get jc 'roster "emacs-jabber" + 'jabber-roster-restore-groups-1 'ignore)) + +(defun jabber-roster-restore-groups-1 (jc xml-data) + "Parse roster groups and restore rolling state" + (when (string= (jabber-xml-get-xmlns xml-data) "emacs-jabber") + (let ((groups (split-string (car (last xml-data)) "\n"))) + (dolist (group groups) + (jabber-roster-roll-group jc group t))))) + +(defun jabber-roster-save-groups () + "Save roster's groups rolling state in private storage" + (interactive) + (dolist (jc jabber-connections) + (let ((roll-groups (reduce + (lambda (a b) (format "%s\n%s" + (substring-no-properties a) + (substring-no-properties b))) + (plist-get (fsm-get-state-data jc) :roster-roll-groups)))) + (jabber-private-set jc + `(roster ((xmlns . "emacs-jabber")) + ,roll-groups) + 'jabber-report-success "Roster groups saved" + 'jabber-report-success "Failed to save roster groups")))) + (provide 'jabber-roster) ;;; arch-tag: 096af063-0526-4dd2-90fd-bc6b5ba07d32 diff --git a/jabber.texi b/jabber.texi index b4f7db5..6b6a184 100644 --- a/jabber.texi +++ b/jabber.texi @@ -1111,6 +1111,7 @@ interface and do other useful things. * Tracking activity:: * Watch buddies:: * Spell checking:: +* Saving groups roll state:: @end menu @node Autoaway, Modeline status, Useful features, Useful features @@ -1345,7 +1346,7 @@ 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 @kbd{M-x jabber-watch-remove}. -@node Spell checking, , Watch buddies, Useful features +@node Spell checking, Saving groups roll state, Watch buddies, Useful features @section Spell checking @cindex flyspell @@ -1359,6 +1360,23 @@ what you receive or what you have already sent. You may want to add For more information about Emacs spell checking, @pxref{Spelling, , Checking and Correcting Spelling, emacs, GNU Emacs Manual}. +@node Saving groups roll state, , Spell Checking, Useful features +@section Saving groups roll state + +@cindex Saving groups roll state + +You can save roster's groups rollup/rolldown state between sessions. +To do this you need to add @code{jabber-roster-save-groups} to +@code{jabber-pre-disconnect-hook} and +@code{jabber-roster-restore-groups} to +@code{jabber-post-connect-hooks}, respectively. + +State saved in private storage on server-side (for each account). Note +that state restoring working by rolling up groups, rolled up at state +saving (by default, all groups rolled down). Also note that at now, +@code{jabber-pre-disconnect-hook} run only with +@code{jabber-disconnect} (not with @code{jabber-disconnect-one}). + @node Message history, Typing notifications, Useful features, Top @chapter Message history ----------------------------------------------------------------------- Summary of changes: NEWS | 2 + jabber-roster.el | 66 ++++++++++++++++++++++++++++++++++++++++++----------- jabber.texi | 25 ++++++++++++++++++-- 3 files changed, 76 insertions(+), 17 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-07-27 08:05:48
|
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 e940e2deaa44d1cb1ee2a614fe81e6d7f7b0dd45 (commit) via edf1ec5da15db143991f6c9915363df0cc8be781 (commit) via 32df62fd02c417edfcb57d71ca26a26fd05f45f2 (commit) from b0416214a3447be6efa8dc0bbc1777b7696f2274 (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 e940e2deaa44d1cb1ee2a614fe81e6d7f7b0dd45 Author: Magnus Henoch <mag...@gm...> Date: Fri Jul 27 09:04:54 2012 +0100 Ensure that jabber-bookmarks is loaded in jabber-jid-bookmarkname diff --git a/jabber-util.el b/jabber-util.el index 103eabd..c7ceabb 100644 --- a/jabber-util.el +++ b/jabber-util.el @@ -187,6 +187,7 @@ Return nil if none found." (defun jabber-jid-bookmarkname (string) "Return the conference name from boomarks or displayname from roster, or JID if none set" + (require 'jabber-bookmarks) (or (loop for conference in (first (loop for value being the hash-values of jabber-bookmarks collect value)) do (let ((ls (cadr conference))) commit edf1ec5da15db143991f6c9915363df0cc8be781 Author: Magnus Henoch <mag...@gm...> Date: Fri Jul 27 09:04:32 2012 +0100 Fix :get function for jabber-roster-default-group-name Because of an improperly nested `if', it would sometimes return nil instead of a string. diff --git a/jabber-roster.el b/jabber-roster.el index 8a9f759..92b1321 100644 --- a/jabber-roster.el +++ b/jabber-roster.el @@ -157,12 +157,12 @@ Trailing newlines are always removed, regardless of this variable." :type 'string :get '(lambda (var) (let ((val (symbol-value var))) - (if (stringp val) - (set-text-properties 0 (length val) nil val) - val))) + (when (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)) + (when (stringp val) + (set-text-properties 0 (length val) nil val)) (custom-set-default var val)) ) commit 32df62fd02c417edfcb57d71ca26a26fd05f45f2 Author: Magnus Henoch <mag...@gm...> Date: Fri Jul 27 09:02:21 2012 +0100 If all accounts are already connected in jabber-connect-all, say so diff --git a/jabber-core.el b/jabber-core.el index 58b233d..c7999e3 100644 --- a/jabber-core.el +++ b/jabber-core.el @@ -186,7 +186,10 @@ With many prefix arguments, one less is passed to `jabber-connect'." (jabber-jid-server jid) (jabber-jid-resource jid) nil password network-server - port connection-type)))))))) + port connection-type) + (setq connected-one t)))) + (unless connected-one + (message "All configured Jabber accounts are already connected")))))) ;;;###autoload (autoload 'jabber-connect "jabber" "Connect to the Jabber server and start a Jabber XML stream.\nWith prefix argument, register a new account.\nWith double prefix argument, specify more connection details." t) (defun jabber-connect (username server resource &optional ----------------------------------------------------------------------- Summary of changes: jabber-core.el | 5 ++++- jabber-roster.el | 10 +++++----- jabber-util.el | 1 + 3 files changed, 10 insertions(+), 6 deletions(-) hooks/post-receive -- emacs-jabber |
From: Evgenii T. <evg...@us...> - 2012-06-14 23:33:10
|
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 b0416214a3447be6efa8dc0bbc1777b7696f2274 (commit) from 6afec470758428f1f3f430f286cd3a1a39f982e7 (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 b0416214a3447be6efa8dc0bbc1777b7696f2274 Author: Evgenii Terechkov <ev...@al...> Date: Fri Jun 15 01:15:38 2012 +0800 Make nick coloring work in Emacs24 diff --git a/jabber-muc-nick-coloring.el b/jabber-muc-nick-coloring.el index b5781fc..ec4d885 100644 --- a/jabber-muc-nick-coloring.el +++ b/jabber-muc-nick-coloring.el @@ -1,6 +1,6 @@ ;;; jabber-muc-nick-coloring.el --- Add nick coloring abilyty to emacs-jabber -;; Copyright 2009, 2010 Terechkov Evgenii - ev...@al... +;; Copyright 2009, 2010, 2012 Terechkov Evgenii - ev...@al... ;; 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 @@ -56,7 +56,7 @@ (defun jabber-muc-nick-gen-color (nick) "Return good enough color from available pool" - (let ((hue (/ (mod (string-to-number (md5 nick) 16) 360) 360.0))) + (let ((hue (/ (mod (string-to-number (substring (md5 nick) 0 6) 16) 360) 360.0))) (hexrgb-hsv-to-hex hue jabber-muc-nick-saturation jabber-muc-nick-value))) (defun jabber-muc-nick-get-color (nick) ----------------------------------------------------------------------- Summary of changes: jabber-muc-nick-coloring.el | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-06-02 11:05:39
|
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 6afec470758428f1f3f430f286cd3a1a39f982e7 (commit) via c382ddead8c42452c3838263f41fc5ba0d997d62 (commit) from 1dca591d17cf084e6d870f55898e9343926f8bb8 (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 6afec470758428f1f3f430f286cd3a1a39f982e7 Author: Magnus Henoch <mag...@gm...> Date: Sat Jun 2 11:59:44 2012 +0100 Don't display "added to roster" messages for initial roster population It's not really useful information, and it takes time to display all those messages... We should be better off without this message. diff --git a/jabber-presence.el b/jabber-presence.el index e12be87..83e2970 100644 --- a/jabber-presence.el +++ b/jabber-presence.el @@ -76,7 +76,8 @@ CLOSURE-DATA should be 'initial if initial roster push, nil otherwise." (if roster-item (push roster-item changed-items) ;; If not found, create a new roster item. - (message "%s added to roster" jid) + (unless (eq closure-data 'initial) + (message "%s added to roster" jid)) (setq roster-item jid) (push roster-item new-items)) commit c382ddead8c42452c3838263f41fc5ba0d997d62 Author: Magnus Henoch <mag...@gm...> Date: Sat Jun 2 11:56:00 2012 +0100 Don't add extra newline when using STARTTLS Apparently sending an extra newline after each stanza was necessary with the OpenSSL client, but it seems to be messing up native STARTTLS negotiation more often than not (I suspect it's a race condition), and removing it seems not to hurt when using STARTTLS with gnutls-cli. diff --git a/jabber-conn.el b/jabber-conn.el index fba32bf..a22f88b 100644 --- a/jabber-conn.el +++ b/jabber-conn.el @@ -89,7 +89,7 @@ or later." (defvar jabber-connect-methods '((network jabber-network-connect jabber-network-send) - (starttls jabber-starttls-connect jabber-ssl-send) + (starttls jabber-starttls-connect jabber-network-send) (ssl jabber-ssl-connect jabber-ssl-send) (virtual jabber-virtual-connect jabber-virtual-send)) "Alist of connection methods and functions. ----------------------------------------------------------------------- Summary of changes: jabber-conn.el | 2 +- jabber-presence.el | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-05-19 14:03:03
|
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 <mag...@gm...> 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 @@ -252,7 +252,7 @@ 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)) @@ -263,6 +263,8 @@ 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: @@ -270,9 +272,11 @@ 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 @@ -483,11 +483,16 @@ 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 "</stream:stream>") commit 5c7c52b066aa92d809b8f9b259f63fe79aed051c Author: mag...@gm... <mag...@gm...> 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 @@ -181,14 +181,19 @@ 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 -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-05-15 21:28:22
|
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 <leg...@us...> 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 @@ -27,6 +27,9 @@ (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))) @@ -45,11 +48,13 @@ (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 @@ -72,6 +77,16 @@ 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) @@ -191,9 +206,19 @@ 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 @@ -201,11 +226,10 @@ 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 @@ -226,7 +250,22 @@ 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 -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-04-15 19:35:47
|
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 <leg...@us...> Date: Sun Apr 15 20:45:01 2012 +0100 s/screen/tmux/ in jabber-tmux.el Too much copy & 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 @@ -1,4 +1,4 @@ -;; jabber-screen.el - emacs-jabber interface to screen +;; jabber-tmux.el - emacs-jabber interface to tmux ;; Copyright (C) 2012 - Michael Cardell Widerkrantz <mc...@ha...> ----------------------------------------------------------------------- Summary of changes: jabber-tmux.el | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- emacs-jabber |
From: Magnus H. <leg...@us...> - 2012-04-15 10:14:43
|
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 <leg...@us...> 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 @@ -2027,6 +2027,10 @@ The @code{screen} alerts send a message through the Screen terminal manager@footnote{See @uref{http://www.gnu.org/software/screen/}.}. They do no harm if called when you don't use Screen. +@cindex Tmux terminal manager +The @code{tmux} alerts send a message through the tmux terminal +manager@footnote{See @uref{http://tmux.sourceforge.net/}.}. + @cindex Ratpoison window manager @cindex Window manager, Ratpoison The @code{ratpoison} alerts send a message through the Ratpoison commit 295525b6183187233cba8799b028975ea39a1a51 Author: Michael Cardell Widerkrantz <mc...@ha...> 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 @@ -25,5 +25,6 @@ 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 @@ -22,7 +22,7 @@ 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 @@ -0,0 +1,32 @@ +;; jabber-screen.el - emacs-jabber interface to screen + +;; Copyright (C) 2012 - Michael Cardell Widerkrantz <mc...@ha...> + +;; 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 @@ -148,6 +148,7 @@ 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 => jabber-tmux.el | 17 +++++++++-------- jabber.el | 1 + jabber.texi | 4 ++++ 5 files changed, 16 insertions(+), 9 deletions(-) copy jabber-screen.el => jabber-tmux.el (68%) hooks/post-receive -- emacs-jabber |