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...> - 2008-02-21 14:32:07
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv23816 Modified Files: README Log Message: MUC and Emacsen lists updated Index: README =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/README,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- README 17 Nov 2007 11:29:00 -0000 1.18 +++ README 21 Feb 2008 14:32:00 -0000 1.19 @@ -6,15 +6,16 @@ Wiki page: http://www.emacswiki.org/cgi-bin/wiki/JabberEl Mailing list: http://lists.sourceforge.net/lists/listinfo/emacs-jabber-general and: http://dir.gmane.org/gmane.emacs.jabber.general -MUC room: jab...@co... +MUC room: jab...@co... and em...@co... (Russian, English) GNU Emacs ========= -jabber.el depends on GNU Emacs 21, 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 download sha1.el and hex-util.el from Gnus CVS -at http://quimby.gnus.org/cgi-bin/cvsweb.cgi/gnus/lisp/ . +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 download sha1.el and hex-util.el +from Gnus CVS at http://quimby.gnus.org/cgi-bin/cvsweb.cgi/gnus/lisp/ + XEmacs ====== |
From: Evgenii T. <evg...@us...> - 2008-02-21 13:59:04
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24111 Modified Files: jabber-muc-nick-completion.el Log Message: Fix for #1898383 Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- jabber-muc-nick-completion.el 20 Feb 2008 14:51:39 -0000 1.5 +++ jabber-muc-nick-completion.el 21 Feb 2008 13:12:09 -0000 1.6 @@ -171,7 +171,7 @@ (add-hook 'jabber-muc-hooks 'jabber-muc-track-message-time) (fset 'jabber-muc-completion (make-hippie-expand-function '(try-expand-jabber-muc))) -(define-key jabber-chat-mode-map (kbd "<tab>") 'jabber-muc-completion) +(define-key jabber-chat-mode-map [?\t] 'jabber-muc-completion) (provide 'jabber-muc-nick-completion) |
From: Evgenii T. <evg...@us...> - 2008-02-21 13:23:06
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv28390 Modified Files: AUTHORS Log Message: List of developers and contributors resorted Index: AUTHORS =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/AUTHORS,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- AUTHORS 24 Aug 2007 01:36:06 -0000 1.13 +++ AUTHORS 21 Feb 2008 13:22:57 -0000 1.14 @@ -1,6 +1,9 @@ Developers: Tom Berger Magnus Henoch +Kirill A. Korinskiy +Detlev Zundel +Evgenii Terechkov Contributors: Anthony Chaumas-Pellet @@ -11,13 +14,10 @@ François Fleuret David Hansen Justin Kirby -Kirill A. Korinskiy Carl Henrik Lunde Olivier Ramonat Andrey Slusar -Evgenii Terechkov Milan Zamazal -Detlev Zundel Xavier Maillard arch-tag: 15700144-3BD9-11D9-871C-000A95C2FCD0 |
From: Evgenii T. <evg...@us...> - 2008-02-20 14:51:44
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv31723 Modified Files: jabber-muc-nick-completion.el Log Message: Fix 'all:' expanding in private chat Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- jabber-muc-nick-completion.el 19 Feb 2008 16:41:43 -0000 1.4 +++ jabber-muc-nick-completion.el 20 Feb 2008 14:51:39 -0000 1.5 @@ -140,7 +140,8 @@ (defun try-expand-jabber-muc (old) "Try to expand target nick in MUC according to last speaking time. OLD is last tried nickname." - (unless old + (unless jabber-chatting-with + (unless old (let ((nicknames (jabber-muc-nicknames))) (he-init-string (jabber-muc-beginning-of-line) (point)) (setq he-expand-list (jabber-sort-nicks (all-completions he-search-string (mapcar 'list nicknames)) jabber-group)))) @@ -166,7 +167,7 @@ (insert subst))) (setq he-tried-table (cons (car he-expand-list) (cdr he-tried-table))) (setq he-expand-list (cdr he-expand-list)) - t)) + t))) (add-hook 'jabber-muc-hooks 'jabber-muc-track-message-time) (fset 'jabber-muc-completion (make-hippie-expand-function '(try-expand-jabber-muc))) |
From: Magnus H. <leg...@us...> - 2008-02-20 13:24:33
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv28887 Modified Files: jabber-iq.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-453 Creator: Magnus Henoch <ma...@fr...> Correct and clarify jabber-send-iq docstring Index: jabber-iq.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-iq.el,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- jabber-iq.el 17 Sep 2007 12:26:16 -0000 1.22 +++ jabber-iq.el 20 Feb 2008 13:24:11 -0000 1.23 @@ -1,6 +1,6 @@ ;; jabber-iq.el - infoquery functions -;; Copyright (C) 2003, 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; This file is a part of jabber.el. @@ -112,11 +112,15 @@ QUERY is a list containing the child of the iq node in the format `jabber-sexp2xml' accepts. SUCCESS-CALLBACK is the function to be called when a successful result arrives. -SUCCESS-CLOSURE-DATA is the second argument to SUCCESS-CALLBACK. +SUCCESS-CLOSURE-DATA is an extra argument to SUCCESS-CALLBACK. ERROR-CALLBACK is the function to be called when an error arrives. -ERROR-CLOSURE-DATA is the second argument to ERROR-CALLBACK. +ERROR-CLOSURE-DATA is an extra argument to ERROR-CALLBACK. RESULT-ID is the id to be used for a response to a received iq message. -`jabber-report-success' and `jabber-process-data' are common callbacks." +`jabber-report-success' and `jabber-process-data' are common callbacks. + +The callback functions are called like this: +\(funcall CALLBACK JC XML-DATA CLOSURE-DATA) +with XML-DATA being the IQ stanza received in response. " (let ((id (or result-id (apply 'format "emacs-iq-%d.%d.%d" (current-time))))) (if (or success-callback error-callback) (setq *jabber-open-info-queries* (cons (list id |
From: Magnus H. <leg...@us...> - 2008-02-20 01:48:50
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv9988 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-452 Creator: Magnus Henoch <ma...@fr...> Only reconnect if we ever had a successful connection Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- jabber-core.el 20 Feb 2008 01:43:15 -0000 1.81 +++ jabber-core.el 20 Feb 2008 01:48:46 -0000 1.82 @@ -255,7 +255,8 @@ ;; Remove lost connections from the roster buffer. (jabber-display-roster) (let ((expected (plist-get state-data :disconnection-expected)) - (reason (plist-get state-data :disconnection-reason))) + (reason (plist-get state-data :disconnection-reason)) + (ever-session-established (plist-get state-data :ever-session-established))) (unless expected (run-hooks 'jabber-lost-connection-hook) (message "%s@%s/%s: connection lost: `%s'" @@ -264,7 +265,7 @@ (plist-get state-data :resource) reason)) - (if (and jabber-auto-reconnect (not expected)) + (if (and jabber-auto-reconnect (not expected) ever-session-established) ;; Reconnect after a short delay? (list state-data jabber-reconnect-delay) ;; Else the connection is really dead. Remove it from the list @@ -662,7 +663,7 @@ '(query ((xmlns . "jabber:iq:roster"))) #'jabber-process-roster 'initial #'jabber-report-success "Roster retrieval") - (list state-data nil)) + (list (plist-put state-data :ever-session-established t) nil)) (define-state jabber-connection :session-established (fsm state-data event callback) |
From: Magnus H. <leg...@us...> - 2008-02-20 01:43:18
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv8042 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-451 Creator: Magnus Henoch <ma...@fr...> Fix completion of connection type in jabber-connect Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- jabber-core.el 20 Feb 2008 01:22:18 -0000 1.80 +++ jabber-core.el 20 Feb 2008 01:43:15 -0000 1.81 @@ -189,10 +189,13 @@ (setq connection-type (car (read-from-string - (or (nonempty (completing-read - (format "Connection type: (default `%s') " connection-type) - '(("starttls" "network" "ssl")) t)) - (symbol-name connection-type))))) + (let ((default (or connection-type jabber-default-connection-type))) + (completing-read + (format "Connection type: (default `%s') " default) + (mapcar (lambda (type) + (cons (symbol-name (car type)) nil)) + jabber-connect-methods) + nil t nil nil default))))) (setq registerp (yes-or-no-p "Register new account? "))) (when (equal current-prefix-arg '(4)) (setq registerp t)) |
From: Magnus H. <leg...@us...> - 2008-02-20 01:22:25
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv32316 Modified Files: jabber-core.el jabber-sasl.el jabber-util.el jabber-logon.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-450 Creator: Magnus Henoch <ma...@fr...> Only cache password on successful authentication Index: jabber-sasl.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-sasl.el,v retrieving revision 2.15 retrieving revision 2.16 diff -u -d -r2.15 -r2.16 --- jabber-sasl.el 18 Nov 2007 21:04:50 -0000 2.15 +++ jabber-sasl.el 20 Feb 2008 01:22:18 -0000 2.16 @@ -1,6 +1,6 @@ ;; jabber-sasl.el - SASL authentication -;; Copyright (C) 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; This file is a part of jabber.el. @@ -67,11 +67,14 @@ (fsm-send jc :authentication-failure) ;; Start authentication. - (let* ((client (sasl-make-client mechanism + (let* (passphrase + (client (sasl-make-client mechanism (plist-get (fsm-get-state-data jc) :username) "xmpp" (plist-get (fsm-get-state-data jc) :server))) - (sasl-read-passphrase (jabber-sasl-read-passphrase-closure jc)) + (sasl-read-passphrase (jabber-sasl-read-passphrase-closure + jc + (lambda (p) (setq passphrase (copy-sequence p)) p))) (step (sasl-next-step client nil))) (jabber-send-sexp jc @@ -79,20 +82,25 @@ (mechanism . ,(sasl-mechanism-name mechanism))) ,(when (sasl-step-data step) (base64-encode-string (sasl-step-data step) t)))) - (cons client step)))))) + (list client step passphrase)))))) -(defun jabber-sasl-read-passphrase-closure (jc) - "Return a lambda function suitable for `sasl-read-passphrase' for JC." +(defun jabber-sasl-read-passphrase-closure (jc remember) + "Return a lambda function suitable for `sasl-read-passphrase' for JC. +Call REMEMBER with the password. REMEMBER is expected to return it as well." (lexical-let ((password (plist-get (fsm-get-state-data jc) :password)) - (bare-jid (jabber-connection-bare-jid jc))) + (bare-jid (jabber-connection-bare-jid jc)) + (remember remember)) (if password - (lambda (prompt) (copy-sequence password)) - (lambda (prompt) (jabber-read-password bare-jid))))) + (lambda (prompt) (funcall remember (copy-sequence password))) + (lambda (prompt) (funcall remember (jabber-read-password bare-jid)))))) (defun jabber-sasl-process-input (jc xml-data sasl-data) - (let ((sasl-read-passphrase (jabber-sasl-read-passphrase-closure jc)) - (client (car sasl-data)) - (step (cdr sasl-data))) + (let* ((client (first sasl-data)) + (step (second sasl-data)) + (passphrase (third sasl-data)) + (sasl-read-passphrase (jabber-sasl-read-passphrase-closure + jc + (lambda (p) (setq passphrase (copy-sequence p)) p)))) (cond ((eq (car xml-data) 'challenge) (sasl-step-set-data step (base64-decode-string (car (jabber-xml-node-children xml-data)))) @@ -106,13 +114,12 @@ ((eq (car xml-data) 'failure) (message "SASL authentication failure: %s" (jabber-xml-node-name (car (jabber-xml-node-children xml-data)))) - (jabber-uncache-password (jabber-connection-bare-jid jc)) (fsm-send jc :authentication-failure)) ((eq (car xml-data) 'success) (message "Authentication succeeded") - (fsm-send jc :authentication-success))) - (cons client step))) + (fsm-send jc (cons :authentication-success passphrase)))) + (list client step passphrase))) (provide 'jabber-sasl) ;;; arch-tag: 2a4a234d-34d3-49dd-950d-518c899c0fd0 Index: jabber-util.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-util.el,v retrieving revision 2.53 retrieving revision 2.54 diff -u -d -r2.53 -r2.54 --- jabber-util.el 16 Jan 2008 15:22:49 -0000 2.53 +++ jabber-util.el 20 Feb 2008 01:22:18 -0000 2.54 @@ -263,12 +263,17 @@ (defun jabber-read-password (bare-jid) "Read Jabber password from minibuffer." (let ((prompt (format "Jabber password for %s: " bare-jid))) - (if (fboundp 'password-read-and-add) + (if (fboundp 'password-read) ;; Need to copy the password, as sasl.el wants to erase it. (copy-sequence - (password-read-and-add prompt (jabber-password-key bare-jid))) + (password-read prompt (jabber-password-key bare-jid))) (read-passwd prompt)))) +(defun jabber-cache-password (bare-jid password) + "Cache PASSWORD for BARE-JID." + (when (fboundp 'password-cache-add) + (password-cache-add (jabber-password-key bare-jid) password))) + (defun jabber-uncache-password (bare-jid) "Uncache cached password for BARE-JID. Useful if the password proved to be wrong." Index: jabber-logon.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-logon.el,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- jabber-logon.el 21 Jan 2008 21:06:58 -0000 1.19 +++ jabber-logon.el 20 Feb 2008 01:22:18 -0000 1.20 @@ -37,49 +37,43 @@ (defun jabber-do-logon (jc xml-data session-id) "send username and password in logon attempt" - (let (auth) - (if (jabber-xml-get-children (jabber-iq-query xml-data) 'digest) - ;; SHA1 digest passwords allowed - (let ((passwd (or (plist-get (fsm-get-state-data jc) :password) - (jabber-read-password (jabber-connection-bare-jid jc))))) - (if passwd - (setq auth `(digest () ,(sha1 (concat session-id passwd)))))) - ;; Plaintext passwords - allow on encrypted connections - (if (or (plist-get (fsm-get-state-data jc) :encrypted) - (yes-or-no-p "Jabber server only allows cleartext password transmission! Continue? ")) - (let ((passwd (or (plist-get (fsm-get-state-data jc) :password) - (jabber-read-password (jabber-connection-bare-jid jc))))) - (when passwd - (setq auth `(password () ,passwd)))))) - - ;; If auth is still nil, user cancelled process somewhere - (if auth - (progn - ;; For legacy authentication we must specify a resource. - (unless (plist-get (fsm-get-state-data jc) :resource) - ;; Yes, this is ugly. Where is my encapsulation? - (plist-put (fsm-get-state-data jc) :resource "emacs-jabber")) + (let* ((digest-allowed (jabber-xml-get-children (jabber-iq-query xml-data) 'digest)) + (passwd (when + (or digest-allowed + (plist-get (fsm-get-state-data jc) :encrypted) + (yes-or-no-p "Jabber server only allows cleartext password transmission! Continue? ")) + (or (plist-get (fsm-get-state-data jc) :password) + (jabber-read-password (jabber-connection-bare-jid jc))))) + auth) + (if (null passwd) + (fsm-send jc :authentication-failure) + (if digest-allowed + (setq auth `(digest () ,(sha1 (concat session-id passwd)))) + (setq auth `(password () ,passwd))) - (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) - "set" - `(query ((xmlns . "jabber:iq:auth")) - (username () ,(plist-get (fsm-get-state-data jc) :username)) - ,auth - (resource () ,(plist-get (fsm-get-state-data jc) :resource))) - #'jabber-process-logon t - #'jabber-process-logon nil)) - (fsm-send jc :authentication-failure)))) + ;; For legacy authentication we must specify a resource. + (unless (plist-get (fsm-get-state-data jc) :resource) + ;; Yes, this is ugly. Where is my encapsulation? + (plist-put (fsm-get-state-data jc) :resource "emacs-jabber")) + + (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) + "set" + `(query ((xmlns . "jabber:iq:auth")) + (username () ,(plist-get (fsm-get-state-data jc) :username)) + ,auth + (resource () ,(plist-get (fsm-get-state-data jc) :resource))) + #'jabber-process-logon passwd + #'jabber-process-logon nil)))) (defun jabber-process-logon (jc xml-data closure-data) "receive login success or failure, and request roster. -CLOSURE-DATA should be t on success and nil on failure." +CLOSURE-DATA should be the password on success and nil on failure." (if closure-data ;; Logon success - (fsm-send jc :authentication-success) + (fsm-send jc (cons :authentication-success closure-data)) ;; Logon failure (jabber-report-success jc xml-data "Logon") - (jabber-uncache-password (jabber-connection-bare-jid jc)) (fsm-send jc :authentication-failure))) (provide 'jabber-logon) Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- jabber-core.el 19 Feb 2008 16:15:53 -0000 1.79 +++ jabber-core.el 20 Feb 2008 01:22:18 -0000 1.80 @@ -497,9 +497,11 @@ (list :legacy-auth state-data)))) (:authentication-success + (jabber-cache-password (jabber-connection-bare-jid fsm) (cdr event)) (list :session-established state-data)) (:authentication-failure + (jabber-uncache-password (jabber-connection-bare-jid fsm)) ;; jabber-logon has already displayed a message (list nil (plist-put state-data :disconnection-expected t))) @@ -543,9 +545,11 @@ (list :legacy-auth (plist-put state-data :sasl-data nil))) (:authentication-success + (jabber-cache-password (jabber-connection-bare-jid fsm) (cdr event)) (list :bind (plist-put state-data :sasl-data nil))) (:authentication-failure + (jabber-uncache-password (jabber-connection-bare-jid fsm)) ;; jabber-sasl has already displayed a message (list nil (plist-put state-data :disconnection-expected t))) |
From: Magnus H. <leg...@us...> - 2008-02-19 19:41:46
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv25307 Modified Files: jabber-osd.el Log Message: Changes from arch/CVS synchronization Index: jabber-osd.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-osd.el,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- jabber-osd.el 17 Feb 2008 18:09:26 -0000 1.1 +++ jabber-osd.el 19 Feb 2008 19:41:40 -0000 1.2 @@ -29,3 +29,5 @@ (error nil)) (provide 'jabber-osd) + +;; arch-tag: 3eb8d55a-dd86-11dc-b2c6-000a95c2fcd0 |
From: Evgenii T. <evg...@us...> - 2008-02-19 16:41:47
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14477 Modified Files: jabber-muc-nick-completion.el Log Message: "all" added to completion list Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- jabber-muc-nick-completion.el 3 Feb 2008 19:11:03 -0000 1.3 +++ jabber-muc-nick-completion.el 19 Feb 2008 16:41:43 -0000 1.4 @@ -36,6 +36,11 @@ :type 'integer :group 'jabber-chat) +(defcustom jabber-muc-all-string "all" + "String meaning all conference members (to insert in completion). Note that \":\" or alike not needed (it appended in other string)" + :type 'string + :group 'jabber-chat) + ;;; History: ;; @@ -76,7 +81,7 @@ "List of conference participants, excluding self, or nil if we not in conference." (delete-if '(lambda (nick) (string= nick (jabber-my-nick))) - (mapcar 'car (cdr (assoc jabber-group jabber-muc-participants))))) + (append (mapcar 'car (cdr (assoc jabber-group jabber-muc-participants))) (list jabber-muc-all-string)))) ;; TODO: optimize this function (defun jabber-muc-participant-update-activity (group nick time) |
From: Evgenii T. <evg...@us...> - 2008-02-19 16:16:00
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv3847 Modified Files: jabber-core.el Log Message: Docstring for jabber-connect-all fixed Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- jabber-core.el 13 Feb 2008 20:19:45 -0000 1.78 +++ jabber-core.el 19 Feb 2008 16:15:53 -0000 1.79 @@ -127,7 +127,7 @@ (defun jabber-connect-all (&optional arg) "Connect to all configured Jabber accounts. See `jabber-account-list'. -If no accounts are configured, call `jabber-connect' interactively." +If no accounts are configured (or ARG supplied), call `jabber-connect' interactively." (interactive "P") (let ((accounts (remove-if (lambda (account) |
From: Kirill A. K. <ca...@us...> - 2008-02-17 18:09:35
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv8345 Modified Files: NEWS jabber-activity.el jabber-alert.el jabber.texi Added Files: jabber-osd.el Log Message: Changes from http://git.altlinux.org/people/evg/packages/emacs-jabber.git by Evgenii Terechkov Index: jabber-activity.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-activity.el,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- jabber-activity.el 26 Nov 2007 01:05:58 -0000 1.31 +++ jabber-activity.el 17 Feb 2008 18:09:26 -0000 1.32 @@ -315,6 +315,8 @@ (switch-to-buffer jabber-activity-last-buffer)) (message "No new activity")))) +(defvar jabber-activity-idle-timer nil "Idle timer used for activity cleaning") + ;;;###autoload (define-minor-mode jabber-activity-mode "Toggle display of activity in hidden jabber buffers in the mode line. @@ -337,6 +339,7 @@ 'jabber-activity-add-muc) (add-hook 'jabber-presence-hooks 'jabber-activity-presence) + (setq jabber-activity-idle-timer (run-with-idle-timer 2 t 'jabber-activity-clean)) ;; XXX: reactivate ;; (add-hook 'jabber-post-connect-hooks ;; 'jabber-activity-make-name-alist) @@ -372,6 +375,7 @@ 'jabber-activity-add-muc) (remove-hook 'jabber-presence-hooks 'jabber-activity-presence) + (ignore-errors (cancel-timer jabber-activity-idle-timer)) ;; XXX: reactivate ;; (remove-hook 'jabber-post-connect-hooks ;; 'jabber-activity-make-name-alist) Index: NEWS =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/NEWS,v retrieving revision 1.64 retrieving revision 1.65 diff -u -d -r1.64 -r1.65 --- NEWS 4 Feb 2008 16:54:16 -0000 1.64 +++ NEWS 17 Feb 2008 18:09:26 -0000 1.65 @@ -2,6 +2,14 @@ * New features in jabber.el 0.8 +** OSD alerts (message, MUC, MUC-personal) + +** Family of personal MUC alerts added +See section "Standard alerts" in manual. + +** MUC nicks completion +See sectin "Groupchat" in manual. + ** Support for multiple accounts See section "Account settings" in manual. Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- jabber.texi 11 Feb 2008 09:47:21 -0000 1.81 +++ jabber.texi 17 Feb 2008 18:09:26 -0000 1.82 @@ -322,6 +322,14 @@ roster buffer. You can also type the commands directly, as will be shown here. +Also, to save from repeating unnesesary typing you can press @kbd{Tab} +key to complete nick of groupchat member, you a talking with. You can +customize your form of personal talking in MUC +(@code{jabber-muc-completion-delimiter}) and form of personal talking +to you (@code{jabber-muc-looks-personaling-symbols}) - see +``jabber-chat'' customization group. Defaults are sane, so unlikely +you could change this, but... it is Emacs! + @findex jabber-groupchat-join @cindex Joining a groupchat @cindex Changing nickname @@ -1533,6 +1541,12 @@ scroll down, and sometimes not. These functions should do what you mean; if they don't, it's a bug. +Also, in MUC you can use family of so-called ``personal'' alerts. +Their like other MUC alerts, but fires only if incoming message +addresed directly to you. One example of such alert is +@code{jabber-muc-echo-personal}, which show MUC message only if it +addresed to you. + Some of these functions are in the @file{jabber-alert.el} file, and the others are in their own files. You can use them as templates or inspiration for your own alerts. --- NEW FILE: jabber-osd.el --- ;;; jabber-osd.el --- OSD support for jabber.el ;; Copyright (C) 2008 - Terechkov Evgenii - ev...@al... ;; 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, 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 GNU Emacs; see the file COPYING. If not, write to ;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. (condition-case e (progn ;; Most people don't have osd.el, so this will often fail (require 'osd) (define-jabber-alert osd "Display a message in osd" 'osd-show-string) (define-personal-jabber-alert jabber-muc-osd) ) (error nil)) (provide 'jabber-osd) Index: jabber-alert.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-alert.el,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- jabber-alert.el 7 May 2007 02:05:12 -0000 1.32 +++ jabber-alert.el 17 Feb 2008 18:09:26 -0000 1.33 @@ -21,6 +21,7 @@ (require 'jabber-util) +(require 'jabber-muc-nick-completion) ;jabber-muc-looks-like-personal-p needs for define-personal-jabber-alert (require 'cl) (defgroup jabber-alerts nil "auditory and visual alerts for jabber events" @@ -282,6 +283,7 @@ (require 'jabber-festival) (require 'jabber-xmessage) (require 'jabber-wmii) +(require 'jabber-osd) ;; Message alert hooks (defun jabber-message-default-message (from buffer text) @@ -460,6 +462,24 @@ (when proposed-alert (switch-to-buffer buffer))) +;;; Personal alert hooks +(defmacro define-personal-jabber-alert (name) + "From ALERT function, make ALERT-personal function. Makes sence only for MUC." + (let ((sn (symbol-name name))) + (let ((func (intern (format "%s-personal" sn)))) + `(progn + (defun ,func (nick group buffer text proposed-alert) + (if (jabber-muc-looks-like-personal-p text group) + (,name nick group buffer text proposed-alert))) + (pushnew (quote ,func) (get 'jabber-alert-muc-hooks 'custom-options))))) + ) + +(define-personal-jabber-alert jabber-muc-beep) +(define-personal-jabber-alert jabber-muc-wave) +(define-personal-jabber-alert jabber-muc-echo) +(define-personal-jabber-alert jabber-muc-switch) +(define-personal-jabber-alert jabber-muc-display) + (provide 'jabber-alert) ;;; arch-tag: 725bd73e-c613-4fdc-a11d-3392a7598d4f |
From: Magnus H. <leg...@us...> - 2008-02-13 20:19:55
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv16240 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-447 Creator: Magnus Henoch <ma...@fr...> Always record session id, if we find we need to fall back to legacy authentication Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- jabber-core.el 11 Feb 2008 09:47:22 -0000 1.77 +++ jabber-core.el 13 Feb 2008 20:19:45 -0000 1.78 @@ -365,6 +365,8 @@ (:stream-start (let ((session-id (cadr event)) (stream-version (car (cddr event)))) + (setq state-data + (plist-put state-data :session-id session-id)) ;; the stream feature is only sent if the initiating entity has ;; sent 1.0 in the stream header. if sasl is not supported then ;; we don't send 1.0 in the header and therefore we shouldn't wait @@ -383,7 +385,7 @@ (list :register-account state-data)) ;; Legacy authentication? (t - (list :legacy-auth (plist-put state-data :session-id session-id)))))) + (list :legacy-auth state-data))))) (:stanza (let ((stanza (cadr event))) |
From: Magnus H. <leg...@us...> - 2008-02-11 09:47:35
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv19336 Modified Files: jabber.texi jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-445 Creator: Magnus Henoch <ma...@fr...> Keybinding for jabber-connect Patch by Evgenii Terechkov Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.76 retrieving revision 1.77 diff -u -d -r1.76 -r1.77 --- jabber-core.el 2 Feb 2008 16:20:50 -0000 1.76 +++ jabber-core.el 11 Feb 2008 09:47:22 -0000 1.77 @@ -124,16 +124,16 @@ "Return non-nil if SASL functions are available." (featurep 'sasl)) -(defun jabber-connect-all () +(defun jabber-connect-all (&optional arg) "Connect to all configured Jabber accounts. See `jabber-account-list'. If no accounts are configured, call `jabber-connect' interactively." - (interactive) + (interactive "P") (let ((accounts (remove-if (lambda (account) (cdr (assq :disabled (cdr account)))) jabber-account-list))) - (if (null accounts) + (if (or (null accounts) arg) (call-interactively 'jabber-connect) ;; Only connect those accounts that are not yet connected. (let ((already-connected (mapcar #'jabber-connection-bare-jid jabber-connections)) Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- jabber.texi 17 Nov 2007 11:29:00 -0000 1.80 +++ jabber.texi 11 Feb 2008 09:47:21 -0000 1.81 @@ -12,7 +12,7 @@ @copying This manual is for jabber.el, version 0.8. -Copyright @copyright{} 2004, 2005, 2006, 2007 Magnus Henoch, Tom Berger. +Copyright @copyright{} 2004, 2005, 2006, 2007, 2008 Magnus Henoch, Tom Berger. @quotation Permission is granted to make and distribute verbatim copies or @@ -137,7 +137,7 @@ @code{jabber-account-list}. It sets accounts, that jabber.el knows about. See comments for this variable to learn how to set it up. Save your changes, and type @kbd{M-x jabber-connect-all} or @kbd{C-x C-j C-c} to -connect. Use @kbd{M-x jabber-connect} to connect just one account. +connect. Use @kbd{M-x jabber-connect} to connect just one account (or just type @kbd{C-u C-x C-j C-c}). If you do not yet have a Jabber account, you can register one. Enter your desired username and the server you wish |
From: Kirill A. K. <ca...@us...> - 2008-02-09 22:51:01
|
Update of /cvsroot/emacs-jabber/emacs-jabber/debian In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14138/debian Modified Files: control Log Message: Change debian depends Index: control =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/debian/control,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- control 1 Feb 2006 14:01:04 -0000 1.4 +++ control 9 Feb 2008 22:50:52 -0000 1.5 @@ -7,7 +7,7 @@ Package: emacs-jabber Architecture: all -Depends: emacsen-common, emacs21 | xemacs21-basesupport (>= 2004.02.02), gnus (>= 5.10.6-1.NO.20050713-1) | flim +Depends: gnus (>= 5.10.6-1.NO.20050713-1) | flim | emacs-snapshot | emacs22 Description: Jabber client for Emacs/XEmacs jabber.el (emacs-jabber) is a Jabber client for Emacs and XEmacs. . |
From: Magnus H. <leg...@us...> - 2008-02-08 19:12:08
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv27810 Modified Files: jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-444 Creator: Magnus Henoch <ma...@fr...> Handle MUC errors from bare room JID Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- jabber-muc.el 19 Sep 2007 09:06:37 -0000 1.72 +++ jabber-muc.el 8 Feb 2008 19:11:57 -0000 1.73 @@ -1,6 +1,6 @@ ;; jabber-muc.el - advanced MUC functions -;; Copyright (C) 2003, 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; This file is a part of jabber.el. @@ -879,8 +879,9 @@ ;; handle leaving a room (cond ((or (string= type "unavailable") (string= type "error")) - ;; are we leaving? - (if (string= nickname (gethash (jabber-jid-symbol group) jabber-pending-groupchats)) + ;; error from room itself? or are we leaving? + (if (or (null nickname) + (string= nickname (gethash (jabber-jid-symbol group) jabber-pending-groupchats))) (let ((message (cond ((string= type "error") (concat "Error entering room" |
From: Magnus H. <leg...@us...> - 2008-02-06 16:19:18
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv8702 Modified Files: jabber-chat.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-443 Creator: Magnus Henoch <ma...@fr...> Fix header line avatars Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.86 retrieving revision 1.87 diff -u -d -r1.86 -r1.87 --- jabber-chat.el 4 Feb 2008 16:54:16 -0000 1.86 +++ jabber-chat.el 6 Feb 2008 16:19:03 -0000 1.87 @@ -42,9 +42,10 @@ (defcustom jabber-chat-header-line-format '("" (jabber-chat-buffer-show-avatar - (let ((buddy (jabber-jid-symbol jabber-chatting-with))) - (jabber-propertize " " - 'display (get buddy 'avatar)))) + (:eval + (let ((buddy (jabber-jid-symbol jabber-chatting-with))) + (jabber-propertize " " + 'display (get buddy 'avatar))))) (:eval (jabber-jid-displayname jabber-chatting-with)) "\t" (:eval (let ((buddy (jabber-jid-symbol jabber-chatting-with))) (propertize |
From: Magnus H. <leg...@us...> - 2008-02-04 16:55:16
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv26884 Modified Files: jabber-chat.el NEWS Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-442 Creator: Magnus Henoch <ma...@fr...> New option: jabber-chat-buffer-show-avatar Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- jabber-chat.el 19 Sep 2007 09:06:37 -0000 1.85 +++ jabber-chat.el 4 Feb 2008 16:54:16 -0000 1.86 @@ -1,6 +1,6 @@ ;; jabber-chat.el - one-to-one chats -;; Copyright (C) 2005, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2005, 2007, 2008 - Magnus Henoch - ma...@fr... ;; This file is a part of jabber.el. @@ -41,9 +41,10 @@ :group 'jabber-chat) (defcustom jabber-chat-header-line-format - '("" (:eval (let ((buddy (jabber-jid-symbol jabber-chatting-with))) - (jabber-propertize " " - 'display (get buddy 'avatar)))) + '("" (jabber-chat-buffer-show-avatar + (let ((buddy (jabber-jid-symbol jabber-chatting-with))) + (jabber-propertize " " + 'display (get buddy 'avatar)))) (:eval (jabber-jid-displayname jabber-chatting-with)) "\t" (:eval (let ((buddy (jabber-jid-symbol jabber-chatting-with))) (propertize @@ -62,6 +63,13 @@ :type 'sexp :group 'jabber-chat) +(defcustom jabber-chat-buffer-show-avatar t + "Show avatars in header line of chat buffer? +This variable might not take effect if you have changed +`jabber-chat-header-line-format'." + :type 'boolean + :group 'jabber-chat) + (defcustom jabber-chat-time-format "%H:%M" "The format specification for instant messages in the chat buffer. See also `jabber-chat-delayed-time-format'. Index: NEWS =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/NEWS,v retrieving revision 1.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- NEWS 17 Nov 2007 11:29:01 -0000 1.63 +++ NEWS 4 Feb 2008 16:54:16 -0000 1.64 @@ -31,6 +31,9 @@ Subscription requests now displayed in chat buffers. See "Presence subscription" section in manual. +** Option: hide avatar in chat buffer +`jabber-chat-buffer-show-avatar'. (not documented yet) + * New features in jabber.el 0.7.1 ** STARTTLS |
From: Magnus H. <leg...@us...> - 2008-02-03 19:11:12
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv32648 Modified Files: jabber-muc-nick-completion.el Log Message: Changes from arch/CVS synchronization Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- jabber-muc-nick-completion.el 3 Feb 2008 16:16:54 -0000 1.2 +++ jabber-muc-nick-completion.el 3 Feb 2008 19:11:03 -0000 1.3 @@ -169,4 +169,5 @@ (provide 'jabber-muc-nick-completion) +;; arch-tag: 2a81ac72-d261-11dc-be91-000a95c2fcd0 ;;; jabber-muc-completion.el ends here |
From: Kirill A. K. <ca...@us...> - 2008-02-03 16:16:59
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv31200 Modified Files: jabber-muc-nick-completion.el Log Message: Remove typo in jabber-muc-nick-completion.el Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- jabber-muc-nick-completion.el 3 Feb 2008 05:50:32 -0000 1.1 +++ jabber-muc-nick-completion.el 3 Feb 2008 16:16:54 -0000 1.2 @@ -21,10 +21,6 @@ ;; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ;;; User customizations here: -(defvar jabber-muc-looks-personaling-symbols - '("," ":" ">") - "Symbols for personaling messages") - (defcustom jabber-muc-completion-delimiter ": " "String to add to end of completion line." :type 'string @@ -46,7 +42,6 @@ ;;; Code: (require 'cl) -(require 'jabber) (require 'jabber-muc) (require 'hippie-exp) |
From: Kirill A. K. <ca...@us...> - 2008-02-03 05:50:46
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv479 Modified Files: jabber.el Added Files: jabber-muc-nick-completion.el Log Message: Add jabber-muc-nick-completion.el Index: jabber.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.el,v retrieving revision 1.80 retrieving revision 1.81 diff -u -d -r1.80 -r1.81 --- jabber.el 17 Sep 2007 12:26:16 -0000 1.80 +++ jabber.el 3 Feb 2008 05:50:32 -0000 1.81 @@ -124,6 +124,7 @@ (require 'jabber-search) (require 'jabber-browse) (require 'jabber-muc) +(require 'jabber-muc-nick-completion) (require 'jabber-version) (require 'jabber-ahc-presence) (require 'jabber-modeline) --- NEW FILE: jabber-muc-nick-completion.el --- ;;; jabber-muc-nick-completion.el --- Add nick completion abilyty to emacs-jabber ;; Copyright (C) 2008 - Terechkov Evgenii - ev...@al... ;; Copyright (C) 2007, 2008 - Kirill A. Korinskiy - ca...@ca... ;; Copyright (C) 2007 - Serguei Jidkov - js...@e-... ;; 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 ;;; User customizations here: (defvar jabber-muc-looks-personaling-symbols '("," ":" ">") "Symbols for personaling messages") (defcustom jabber-muc-completion-delimiter ": " "String to add to end of completion line." :type 'string :group 'jabber-chat) (defcustom jabber-muc-looks-personaling-symbols '("," ":" ">") "Symbols for personaling messages" :type 'string :group 'jabber-chat) (defcustom jabber-muc-personal-message-bonus (* 60 20) "Bonus for personal message, in seconds." :type 'integer :group 'jabber-chat) ;;; History: ;; ;;; Code: (require 'cl) (require 'jabber) (require 'jabber-muc) (require 'hippie-exp) (defvar *jabber-muc-participant-last-speaking* nil "Global alist in form (group . ((member . time-of-last-speaking) ...) ...).") (defun modify-alist (key val alist) "Update of ALIST's element (KEY . VAL), possibly destructive." (let ((entry (assoc key alist))) (if (not entry) (acons key val alist) (setf (cdr entry) val) alist))) (defun jabber-my-nick (&optional group) "Return my jabber nick in GROUP." (let ((room (or group jabber-group))) (cdr (or (assoc room *jabber-active-groupchats*) (assoc room jabber-muc-default-nicknames))) )) (defun jabber-muc-looks-like-personal-p (message &optional group) "Return non-nil if jabber MESSAGE is addresed to me. Optional argument GROUP to look." (string-match (concat "^" (jabber-my-nick group) (regexp-opt jabber-muc-looks-personaling-symbols)) message)) (defun jabber-muc-nicknames () "List of conference participants, excluding self, or nil if we not in conference." (delete-if '(lambda (nick) (string= nick (jabber-my-nick))) (mapcar 'car (cdr (assoc jabber-group jabber-muc-participants))))) ;; TODO: optimize this function (defun jabber-muc-participant-update-activity (group nick time) "Updates NICK's time of last speaking in GROUP to TIME." (let* ((room-activity (cdr (assoc group *jabber-muc-participant-last-speaking*))) (old-time (or (cdr (assoc nick room-activity)) 0))) (when (> time old-time) (setq *jabber-muc-participant-last-speaking* (modify-alist group (modify-alist nick time room-activity) *jabber-muc-participant-last-speaking*))))) (defun jabber-muc-track-message-time (nick group buffer text proposed-alert) "Tracks time of NICK's last speaking in GROUP." (when nick (let ((time (float-time))) (jabber-muc-participant-update-activity group nick (if (jabber-muc-looks-like-personal-p text group) (+ time jabber-muc-personal-message-bonus) time))))) (defun jabber-sort-nicks (nicks group) "Return list of NICKS in GROUP, sorted." (let ((times (cdr (assoc group *jabber-muc-participant-last-speaking*)))) (flet ((fetch-time (nick) (or (assoc nick times) (cons nick 0))) (cmp (nt1 nt2) (let ((t1 (cdr nt1)) (t2 (cdr nt2))) (if (and (zerop t1) (zerop t2)) (minusp (compare-strings (car nt1) 0 nil (car nt2) 0 nil t)) (> t1 t2))))) (mapcar 'car (sort (mapcar 'fetch-time nicks) 'cmp))))) (defun jabber-muc-beginning-of-line () "Return position of line begining." (save-excursion (skip-syntax-backward "^-") (unless (looking-at "^") (error "Can't find beginning of line!")) (point))) ;;; One big hack: (defun jabber-muc-completion-delete-last-tried () "Delete last tried competion variand from line." (let ((last-tried (car he-tried-table))) (when last-tried (goto-char he-string-beg) (delete-char (+ (length last-tried) (length jabber-muc-completion-delimiter)))))) (defun try-expand-jabber-muc (old) "Try to expand target nick in MUC according to last speaking time. OLD is last tried nickname." (unless old (let ((nicknames (jabber-muc-nicknames))) (he-init-string (jabber-muc-beginning-of-line) (point)) (setq he-expand-list (jabber-sort-nicks (all-completions he-search-string (mapcar 'list nicknames)) jabber-group)))) (setq he-expand-list (delete-if '(lambda (x) (he-string-member x he-tried-table)) he-expand-list)) (if (null he-expand-list) (progn (when old ;; here and later : its hack to workaround ;; he-substitute-string work which cant substitute empty ;; lines (if (string= he-search-string "") (jabber-muc-completion-delete-last-tried) (he-reset-string))) ()) (let ((subst (concat (car he-expand-list) jabber-muc-completion-delimiter))) (if (not (string= he-search-string "")) (he-substitute-string subst) (jabber-muc-completion-delete-last-tried) (insert subst))) (setq he-tried-table (cons (car he-expand-list) (cdr he-tried-table))) (setq he-expand-list (cdr he-expand-list)) t)) (add-hook 'jabber-muc-hooks 'jabber-muc-track-message-time) (fset 'jabber-muc-completion (make-hippie-expand-function '(try-expand-jabber-muc))) (define-key jabber-chat-mode-map (kbd "<tab>") 'jabber-muc-completion) (provide 'jabber-muc-nick-completion) ;;; jabber-muc-completion.el ends here |
From: Magnus H. <leg...@us...> - 2008-02-02 16:20:57
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv15362 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-439 Creator: Magnus Henoch <ma...@fr...> Use plist-put instead of append when initiating SASL authentication Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- jabber-core.el 13 Jan 2008 18:05:20 -0000 1.75 +++ jabber-core.el 2 Feb 2008 16:20:50 -0000 1.76 @@ -510,12 +510,12 @@ (define-enter-state jabber-connection :sasl-auth (fsm state-data) (let ((new-state-data - (append state-data - (list :sasl-data - (jabber-sasl-start-auth - fsm - (plist-get state-data - :stream-features)))))) + (plist-put state-data + :sasl-data + (jabber-sasl-start-auth + fsm + (plist-get state-data + :stream-features))))) (list new-state-data nil))) (define-state jabber-connection :sasl-auth |
From: Magnus H. <leg...@us...> - 2008-01-21 21:07:03
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv9948 Modified Files: jabber-logon.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-438 Creator: Magnus Henoch <ma...@fr...> Make sure we always send a resource in legacy authentication Index: jabber-logon.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-logon.el,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- jabber-logon.el 17 Sep 2007 20:25:44 -0000 1.18 +++ jabber-logon.el 21 Jan 2008 21:06:58 -0000 1.19 @@ -1,6 +1,6 @@ ;; jabber-logon.el - logon functions -;; Copyright (C) 2003, 2004, 2007 - Magnus Henoch - ma...@fr... +;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... ;; This file is a part of jabber.el. @@ -54,14 +54,20 @@ ;; If auth is still nil, user cancelled process somewhere (if auth - (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) - "set" - `(query ((xmlns . "jabber:iq:auth")) - (username () ,(plist-get (fsm-get-state-data jc) :username)) - ,auth - (resource () ,(plist-get (fsm-get-state-data jc) :resource))) - #'jabber-process-logon t - #'jabber-process-logon nil) + (progn + ;; For legacy authentication we must specify a resource. + (unless (plist-get (fsm-get-state-data jc) :resource) + ;; Yes, this is ugly. Where is my encapsulation? + (plist-put (fsm-get-state-data jc) :resource "emacs-jabber")) + + (jabber-send-iq jc (plist-get (fsm-get-state-data jc) :server) + "set" + `(query ((xmlns . "jabber:iq:auth")) + (username () ,(plist-get (fsm-get-state-data jc) :username)) + ,auth + (resource () ,(plist-get (fsm-get-state-data jc) :resource))) + #'jabber-process-logon t + #'jabber-process-logon nil)) (fsm-send jc :authentication-failure)))) (defun jabber-process-logon (jc xml-data closure-data) |
From: Magnus H. <leg...@us...> - 2008-01-17 00:54:19
|
Update of /cvsroot/emacs-jabber/tox In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv18495 Modified Files: README Log Message: Mention compilation dependencies Index: README =================================================================== RCS file: /cvsroot/emacs-jabber/tox/README,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- README 17 Jan 2008 00:45:20 -0000 1.1 +++ README 17 Jan 2008 00:54:16 -0000 1.2 @@ -2,6 +2,14 @@ functionality to a Jabber client, primarily voice communication. It interfaces to the Jabber client using DBus. +To actually get it to compile, you need the Farsight library. If you +use Debian, the packages "libfarsight0.1-dev" and +"gstreamer0.10-plugins-farsight" and their dependencies should be +enough. If you need to compile them yourself, look for Farsight at +http://farsight.freedesktop.org/ and Libjingle at +http://tapioca-voip.sourceforge.net/. Do _not_ use Google's +libjingle. + The DBus interface is described below. From this you should be able to piece together a Jingle client. Good luck! |
From: Magnus H. <leg...@us...> - 2008-01-17 00:47:35
|
Update of /cvsroot/emacs-jabber/tox In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv15831 Added Files: jabber-tox.el Log Message: Add elisp interface --- NEW FILE: jabber-tox.el --- ;; jabber-tox.el - Jingle support using TOX ;; Copyright (C) 2008 - Magnus Henoch - ma...@fr... ;; This file is (soon) 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 (require 'dbus) (require 'fsm) (require 'cl) (defconst jingle-ns "http://www.xmpp.org/extensions/xep-0166.html#ns" "Jingle namespace (XEP-0166)") (defconst jingle-error-ns "http://www.xmpp.org/extensions/xep-0166.html#ns-errors" "Jingle error namespace (XEP-0166)") (defconst jingle-audio-ns "http://www.xmpp.org/extensions/xep-0167.html#ns" "Jingle Audio namespace (XEP-0167)") (defconst jingle-ice-udp-ns "http://www.xmpp.org/extensions/xep-0176.html#ns-udp" "Jingle ICE namespace (XEP-0176)") (defconst jingle-udp-ns "http://www.xmpp.org/extensions/xep-0177.html" "Jingle Raw UDP namespace (XEP-0177)") (defvar jingle-acct-sid-map (make-hash-table :test 'equal) "Mapping from pairs of JIDs and Jingle SIDs to FSMs. The JID is the full JID of the account using the session.") (defconst tox-name "net.sourceforge.emacs-jabber.Tox" "Well-known D-BUS name of the tox service.") (defconst tox-path "/net/sourceforge/emacs_jabber/Tox" "Well-known path of the main Tox object.") (defconst tox-interface "net.sourceforge.emacs_jabber.Tox" "Interface of main Tox object.") (defconst tox-session-interface "net.sourceforge.emacs_jabber.ToxSession" "Interface of ToxSession object.") (define-fsm jingle :start ((jc sid role jid) "Start a Jingle FSM. \(Specifically, for Jingle Audio, as that's all we support for now.) JC is the account we're using. SID is a string, the session ID. ROLE is either :initiator or :target. JID is the full JID of the partner." (list :allocate (list :jc jc :jid jid :role role)))) (define-enter-state jingle :allocate (fsm state-data) ;; Allocate a ToxSession object. (let* ((tox-session (dbus-call-method :session tox-name tox-path tox-interface "CreateSession" :byte 3)) ;3=bidirectional stream ;; Find the codecs that we support (our-codecs (dbus-call-method :session tox-name tox-session tox-session-interface "GetLocalCodecs"))) (fsm-debug-output "tox-session: %S, our-codecs: %S" tox-session our-codecs) ;; Set up the pipeline, so we can search for transport candidates. (fsm-debug-output "About to call SetDefaultAudioSink") (dbus-call-method :session tox-name tox-session tox-session-interface "SetDefaultAudioSink") (fsm-debug-output "About to call SetOggVorbisAudioSource") (dbus-call-method :session tox-name tox-session tox-session-interface "SetOggVorbisAudioSource" "/home/magnus/musik/computervirus.ogg") ;; There, now we just wait for the NativeCandidatesPrepared signal... (fsm-debug-output "About to register signal") (dbus-register-signal :session tox-name tox-session tox-session-interface "NativeCandidatesPrepared" (lexical-let ((fsm fsm)) (lambda (components) (fsm-send-sync fsm (cons :native-candidates-prepared components))))) (fsm-debug-output "Waiting") (list (plist-put (plist-put state-data :tox-session tox-session) :our-codecs our-codecs) nil))) (define-state jingle :allocate (fsm state-data event callback) (case (car-safe event) (:native-candidates-prepared (let ((components (cdr event))) (fsm-debug-output "The native candidates are %S" components) (setq state-data (plist-put state-data :native-candidates components)) (list :initiate state-data))))) (define-enter-state jingle :initiate (fsm state-data) (let ((jc (plist-get state-data :jc)) (jid (plist-get state-data :jid)) (sid (plist-get state-data :sid))) (jabber-send-iq jc jid "set" `(jingle ((xmlns . ,jingle-ns) (action . "session-initiate") (initiator . ,(jabber-connection-jid jc)) (sid . ,sid)) (content ((creator . ,(jabber-connection-bare-jid jc)) (name . "foo") (senders . "initiator")) (transport ((xmlns . ,jingle-ice-udp-ns))))) (lambda (jc iq fsm) (fsm-send-sync fsm (cons :iq-result iq))) fsm (lambda (jc iq fsm) (fsm-send-sync fsm (cons :iq-error iq))) fsm) (list state-data nil))) (define-state jingle :initiate (fsm state-data event callback) (case (car-safe event) (:iq-result ;; Receiver provisionally accepted the session request. Move on ;; to PENDING. (list :pending state-data)) (:iq-error (message "Couldn't initiate Jingle audio session: %s" (jabber-parse-error (jabber-iq-error (cdr event)))) (list nil state-data)))) (define-state jingle :wait-for-initiate (fsm state-data event callback) (case (car-safe event) (:iq-set (let* ((jc (plist-get state-data :jc)) (iq (cdr event)) (from (jabber-xml-get-attribute iq 'from)) (id (jabber-xml-get-attribute iq 'id)) (jingle (jabber-iq-query iq)) (contents (car (jabber-xml-get-children jingle 'content))) (audio-content (find jingle-audio-ns (jabber-xml-node-children contents) :test 'string= :key 'jabber-xml-get-xmlns)) (payload-types (jabber-xml-get-children audio-content 'payload-type))) (cond ;; Make sure audio is in the list of contents. We can ;; negotiate away other content types later. ((null audio-content) (jabber-send-iq-error jc from id jingle "cancel" 'feature-not-implemented nil `((unsupported-content ((xmlns . ,jingle-error-ns))))) (list nil state-data)) ;; Make sure ICE is in the list of transports. ((not (member* jingle-ice-udp-ns (jabber-xml-get-children audio-content 'transport) :test 'string= :key 'jabber-xml-get-xmlns)) (jabber-send-iq-error jc from id jingle "cancel" 'feature-not-implemented nil `((unsupported-transports ((xmlns . ,jingle-error-ns))))) (list nil state-data)) (t ;; Allocate a new ToxSession object. (dbus-call-method nil tox-name tox-path tox-interface "CreateSession" (lexical-let ((jingle-fsm fsm)) (lambda (dbus-fsm msg) (ecase (dbus-message-type msg) (:error (fsm-send jingle-fsm (cons :error (dbus-error-to-string msg)))) (:method-return (fsm-send jingle-fsm (cons :ok (first (dbus-message-body-values msg)))))))) 'byte 3) (list :tox-wait (plist-put (plist-put state-data :iq-id id) :payload-types payload-types)))))))) (define-state jingle :tox-wait (fsm state-data event callback) ;; Wait for our ToxSession to be allocated (case (car-safe event) (:error ;; Some error occurred. Bail out. (let ((jc (plist-get state-data :jc)) (jid (plist-get state-data :jid)) (id (plist-get state-data :iq-id))) (jabber-send-iq-error jc jid id nil "wait" 'internal-server-error (cdr event)) (list nil state-data))) (:ok ;; ToxSession created. (let ((tox-session (cdr event))) (setq state-data (plist-put state-data :tox-session tox-session)) ;; Tell tox what codecs the remote side supports (dbus-call-method nil tox-name tox-session tox-session-interface "SetRemoteCodecs" 'ignore '((array (struct int32 string byte uint32 uint32 (array (dict-entry string string))))) (mapcar (lambda (pt) (jabber-xml-let-attributes (id name clockrate channels) pt (list id name 0 clockrate channels (mapcar (lambda (param) (jabber-xml-let-attributes (name value) param (list name value))) (jabber-xml-get-children pt 'parameter))))) (plist-get state-data :payload-types))) ;; Check if we have any codecs in common (dbus-call-method nil tox-name tox-session tox-session-interface "GetCodecIntersection" (lexical-let ((jingle-fsm fsm)) (lambda (dbus-fsm msg) (ecase (dbus-message-type msg) (:error (fsm-send jingle-fsm (cons :error (dbus-error-to-string msg)))) (:method-return (fsm-send jingle-fsm (cons :ok (first (dbus-message-body-values msg))))))))) (list :wait-for-codec-intersection state-data))))) (define-state jingle :wait-for-codec-intersection (fsm state-data event callback) ;; ;; Good enough, provisionally accept. ;; (jabber-send-iq jc from "result" () ;; nil nil nil nil id) ;; (list :pending state-data))))))) ) (add-to-list 'jabber-iq-set-xmlns-alist (cons jingle-ns 'jabber-jingle-incoming-iq)) (defun jabber-jingle-incoming-iq (jc iq) (jabber-xml-let-attributes (sid action) (jabber-iq-query iq) (unless (and sid action) (jabber-signal-error "modify" 'bad-request)) (let ((fsm (gethash (cons (jabber-connection-jid jc) sid) jingle-acct-sid-map))) (cond (fsm (fsm-send-sync fsm (cons :iq-set iq))) ((string= action "session-initiate") (setq fsm (start-jingle jc sid :target (jabber-xml-get-attribute iq 'from))) (puthash (cons (jabber-connection-jid jc) sid) fsm jingle-acct-sid-map) (fsm-send-sync fsm (cons :iq-set iq))) (t (jabber-signal-error "modify" 'unexpected-request (format "Session \"%s\" unknown" sid))))))) (defun jabber-jingle-start-audio-session (jc jid) (interactive (list (jabber-read-account) (jabber-read-jid-completing "Voice call to: " nil nil nil 'full))) (let* ((sid (apply 'format "emacs-sid-%d.%d.%d" (current-time))) (fsm (start-jingle jc sid :initiator jid))) (puthash (cons (jabber-connection-jid jc) sid) fsm jingle-acct-sid-map))) (provide 'jabber-tox) |