You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(13) |
Jun
(3) |
Jul
(4) |
Aug
(30) |
Sep
(17) |
Oct
(2) |
Nov
(6) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(9) |
Feb
(30) |
Mar
(22) |
Apr
(23) |
May
(25) |
Jun
(25) |
Jul
(4) |
Aug
(21) |
Sep
(16) |
Oct
(44) |
Nov
(15) |
Dec
(3) |
2009 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(3) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
(3) |
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
(3) |
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2013 |
Jan
(3) |
Feb
(4) |
Mar
|
Apr
(4) |
May
(2) |
Jun
(1) |
Jul
(3) |
Aug
(3) |
Sep
(1) |
Oct
(1) |
Nov
(10) |
Dec
|
2014 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(3) |
May
(8) |
Jun
(5) |
Jul
(2) |
Aug
(6) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(2) |
2015 |
Jan
(1) |
Feb
(2) |
Mar
(2) |
Apr
(6) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2016 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Magnus H. <leg...@us...> - 2008-03-20 12:20:56
|
Update of /cvsroot/emacs-jabber/tox In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv28436 Modified Files: tox.c Log Message: s/g_printf/g_debug/ Index: tox.c =================================================================== RCS file: /cvsroot/emacs-jabber/tox/tox.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tox.c 17 Jan 2008 00:45:23 -0000 1.1 +++ tox.c 20 Mar 2008 12:20:51 -0000 1.2 @@ -104,7 +104,7 @@ *ret = g_strdup_printf("/net/sourceforge/emacs_jabber/Tox/%u", session_number); dbus_g_connection_register_g_object(connection, *ret, G_OBJECT(session)); - g_printf("CreateSession called, returning %s\n", *ret); + g_debug("CreateSession called, returning %s\n", *ret); return TRUE; } |
From: Magnus H. <leg...@us...> - 2008-03-20 12:20:15
|
Update of /cvsroot/emacs-jabber/tox In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv28295 Modified Files: jabber-tox.el Log Message: Use new signal Index: jabber-tox.el =================================================================== RCS file: /cvsroot/emacs-jabber/tox/jabber-tox.el,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- jabber-tox.el 17 Jan 2008 00:47:30 -0000 1.1 +++ jabber-tox.el 20 Mar 2008 12:20:10 -0000 1.2 @@ -84,6 +84,8 @@ "SetOggVorbisAudioSource" "/home/magnus/musik/computervirus.ogg") ;; There, now we just wait for the NativeCandidatesPrepared signal... + ;; NO! Don't do like those dead people do! That signal will never + ;; come. I don't know why, though... (fsm-debug-output "About to register signal") (dbus-register-signal :session tox-name tox-session tox-session-interface "NativeCandidatesPrepared" @@ -92,6 +94,15 @@ (fsm-send-sync fsm (cons :native-candidates-prepared components))))) + ;; This is more like it. At least it will provide us with some + ;; debugging information. + (dbus-register-signal :session tox-name tox-session tox-session-interface + "NewNativeCandidate" + (lexical-let ((fsm fsm)) + (lambda (components) + (fsm-send-sync + fsm + (cons :new-native-candidate components))))) (fsm-debug-output "Waiting") (list (plist-put (plist-put @@ -100,10 +111,26 @@ :our-codecs our-codecs) nil))) +(define-enter-state jingle nil + (fsm state-data) + ;; clean up + (let ((tox-session (plist-get state-data :tox-session))) + (when tox-session + (ignore-errors + (dbus-call-method :session tox-name tox-session tox-session-interface + "Destroy")))) + (list nil nil)) + (define-state jingle :allocate (fsm state-data event callback) (case (car-safe event) + (:new-native-candidate + (setq state-data (plist-put state-data :native-candidates (list (cdr event)))) + (list :initiate state-data)) + (:native-candidates-prepared + ;; this code is currently unnecessary, as we never get the + ;; native-candidates-prepared signal (let ((components (cdr event))) (fsm-debug-output "The native candidates are %S" components) (setq state-data (plist-put state-data :native-candidates components)) |
From: Magnus H. <leg...@us...> - 2008-03-20 12:19:27
|
Update of /cvsroot/emacs-jabber/tox In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv27869 Modified Files: tox-session.xml tox-session.c Log Message: Add new signal "NewNativeCandidate" Index: tox-session.xml =================================================================== RCS file: /cvsroot/emacs-jabber/tox/tox-session.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tox-session.xml 17 Jan 2008 00:45:23 -0000 1.1 +++ tox-session.xml 20 Mar 2008 12:19:23 -0000 1.2 @@ -33,6 +33,11 @@ --> </method> + <signal name="NewNativeCandidate"> + <arg name="candidates" type="a(susqsssyyss)"/> + <!-- Argument as to AddRemoteCandidate --> + </signal> + <signal name="NativeCandidatesPrepared"> <arg name="candidates" type="a(susqsssyyss)"/> <!-- Argument as to AddRemoteCandidate --> Index: tox-session.c =================================================================== RCS file: /cvsroot/emacs-jabber/tox/tox-session.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- tox-session.c 17 Jan 2008 00:45:22 -0000 1.1 +++ tox-session.c 20 Mar 2008 12:19:23 -0000 1.2 @@ -35,6 +35,7 @@ /* signals */ enum { + NEW_NATIVE_CANDIDATE, NATIVE_CANDIDATES_PREPARED, LAST_SIGNAL }; @@ -48,6 +49,8 @@ static GstElement *prepare_sink(void); static void stream_done(ToxSession *); +static GValueArray * candidate_list_to_dbus_array(const GList *candidates); + static void tox_session_native_candidates_prepared(FarsightStream *stream, gpointer user_data); static void tox_session_new_native_candidate(FarsightStream *stream, gchar *candidate_id, ToxSession *self); @@ -77,7 +80,7 @@ if (self->priv->dispose_has_run) { return; } - g_printf("in tox_session_dispose\n"); + g_debug("in tox_session_dispose\n"); self->priv->dispose_has_run = TRUE; if (self->priv->stream) @@ -96,7 +99,7 @@ { ToxSession *self = (ToxSession *)obj; - g_printf("in tox_session_finalize\n"); + g_debug("in tox_session_finalize\n"); g_free(self->priv); G_OBJECT_CLASS(parent_class)->finalize(obj); @@ -124,6 +127,17 @@ DIRECTION, direction_param_spec); + signals[NEW_NATIVE_CANDIDATE] = + g_signal_new("new-native-candidate", + G_OBJECT_CLASS_TYPE(klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, + 0, + NULL, NULL, + tox_marshal_VOID__BOXED, + G_TYPE_NONE, + 1, + G_TYPE_VALUE_ARRAY); + signals[NATIVE_CANDIDATES_PREPARED] = g_signal_new("native-candidates-prepared", G_OBJECT_CLASS_TYPE(klass), @@ -133,7 +147,7 @@ tox_marshal_VOID__BOXED, G_TYPE_NONE, 1, - G_TYPE_POINTER); + G_TYPE_VALUE_ARRAY); dbus_g_object_type_install_info(TOX_TYPE_SESSION, &dbus_glib_tox_session_object_info); @@ -172,7 +186,7 @@ } /* start preparing native candidates */ - g_print("About to prepare native candidates...\n"); + g_debug("About to prepare native candidates...\n"); g_signal_connect(self->priv->stream, "new-native-candidate", (GCallback)tox_session_new_native_candidate, (gpointer)self); g_signal_connect(self->priv->stream, "native-candidates-prepared", @@ -475,6 +489,8 @@ g_assert(codec_struct->n_values == 6); g_ptr_array_add(*codecs, codec_struct); + + g_debug("Local codec: %s\n", codec->encoding_name); } return TRUE; @@ -542,124 +558,147 @@ { ToxSession *self = (ToxSession *)user_data; const GList *candidates; - GPtrArray *array; + GValueArray *array; candidates = farsight_stream_get_native_candidate_list(stream); - array = g_ptr_array_new(); + + array = candidate_list_to_dbus_array(candidates); + + g_debug("Sending signal NativeCandidatesPrepared!\n"); + g_signal_emit(self, signals[NATIVE_CANDIDATES_PREPARED], 0, array); +} + +static void +tox_session_new_native_candidate(FarsightStream *stream, gchar *candidate_id, ToxSession *self) +{ + GList *candidate = + farsight_stream_get_native_candidate (stream, candidate_id); + FarsightTransportInfo *trans = candidate->data; + GValueArray *array; + + g_debug ("tox_session_new_native_candidate: New native candidate" + " with %d components, the first being: " + "<id: %s, " + "component: %d, " + "ip: %s port: %d " + "proto: %d, " + "proto_subtype: %s, " + "proto_profile: %s, " + "preference: %f, " + "type: %d " + "username: %s password: %s>", + g_list_length(candidate), + trans->candidate_id, trans->component, + trans->ip, trans->port, trans->proto, trans->proto_subtype, + trans->proto_profile, trans->preference, + trans->type, trans->username, trans->password); + + array = candidate_list_to_dbus_array(candidate); + g_debug("Sending signal NewNativeCandidate!\n"); + g_signal_emit(self, signals[NEW_NATIVE_CANDIDATE], 0, array); +} + +static GValueArray * +candidate_list_to_dbus_array(const GList *candidates) +{ + GValueArray *array; + + array = g_value_array_new(1); for (; candidates; candidates = g_list_next(candidates)) { GValueArray *candidate; FarsightTransportInfo *info; - GValue *value; + GValue value; info = (FarsightTransportInfo*)candidates->data; - candidate = g_value_array_new(10); + candidate = g_value_array_new(11); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->candidate_id); - g_value_array_append(candidate, value); + memset(&value, 0, sizeof value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_UINT); - g_value_set_uint(value, info->component); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->candidate_id); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->ip); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_UINT); + g_value_set_uint(&value, info->component); + g_value_array_append(candidate, &value); + g_value_unset(&value); + + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->ip); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_UINT); - g_value_set_uint(value, info->port); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_UINT); + g_value_set_uint(&value, info->port); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); + g_value_init(&value, G_TYPE_STRING); switch(info->proto) { case FARSIGHT_NETWORK_PROTOCOL_UDP: - g_value_set_static_string(value, "udp"); + g_value_set_static_string(&value, "udp"); break; case FARSIGHT_NETWORK_PROTOCOL_TCP: - g_value_set_static_string(value, "tcp"); + g_value_set_static_string(&value, "tcp"); break; default: g_error("Unknown protocol value %u\n", info->proto); } - g_value_array_append(candidate, value); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->proto_subtype); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->proto_subtype); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->proto_profile); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->proto_profile); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_UINT); - g_value_set_uint(value, (guint)(info->preference * 100)); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_UINT); + g_value_set_uint(&value, (guint)(info->preference * 100)); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_UINT); + g_value_init(&value, G_TYPE_UINT); switch(info->type) { case FARSIGHT_CANDIDATE_TYPE_LOCAL: - g_value_set_uint(value, 0); + g_value_set_uint(&value, 0); break; case FARSIGHT_CANDIDATE_TYPE_DERIVED: - g_value_set_uint(value, 1); + g_value_set_uint(&value, 1); break; case FARSIGHT_CANDIDATE_TYPE_RELAY: - g_value_set_uint(value, 2); + g_value_set_uint(&value, 2); break; default: g_error("Unknown candidate type %u\n", info->proto); } - g_value_array_append(candidate, value); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->username); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->username); + g_value_array_append(candidate, &value); + g_value_unset(&value); - value = g_new(GValue, 1); - g_value_init(value, G_TYPE_STRING); - g_value_set_string(value, info->password); - g_value_array_append(candidate, value); + g_value_init(&value, G_TYPE_STRING); + g_value_set_string(&value, info->password); + g_value_array_append(candidate, &value); + g_value_unset(&value); g_assert(candidate->n_values == 11); - - g_ptr_array_add(array, candidate); - } - g_print("Sending signal NativeCandidatesPrepared!\n"); - g_signal_emit(self, signals[NATIVE_CANDIDATES_PREPARED], 0, array); -} - -static void -tox_session_new_native_candidate(FarsightStream *stream, gchar *candidate_id, ToxSession *self) -{ - GList *candidate = - farsight_stream_get_native_candidate (stream, candidate_id); - FarsightTransportInfo *trans = candidate->data; - FarsightMediaType type; + g_value_init(&value, G_TYPE_VALUE_ARRAY); + /* apparently GValueArray is a "boxed" type */ + g_value_set_boxed(&value, candidate); + g_value_array_append(array, &value); + g_value_unset(&value); + } - g_message ("tox_session_new_native_candidate: New native candidate: " - "<id: %s, " - "component: %d, " - "ip: %s port: %d " - "proto: %d, " - "proto_subtype: %s, " - "proto_profile: %s, " - "preference: %f, " - "type: %d " - "username: %s password: %s>", - trans->candidate_id, trans->component, - trans->ip, trans->port, trans->proto, trans->proto_subtype, - trans->proto_profile, trans->preference, - trans->type, trans->username, trans->password); + return array; } |
From: Evgenii T. <evg...@us...> - 2008-03-08 12:42:31
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv26921 Modified Files: jabber-history.el Log Message: jabber-chat-display-more-backlog fixed Index: jabber-history.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-history.el,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- jabber-history.el 30 Aug 2007 09:24:37 -0000 1.29 +++ jabber-history.el 8 Mar 2008 12:42:24 -0000 1.30 @@ -32,6 +32,7 @@ ;; enough backlog entries. (require 'jabber-core) +(require 'jabber-util) (defgroup jabber-history nil "Customization options for Emacs Jabber history files." @@ -181,7 +182,19 @@ (when (file-readable-p history-file) (with-temp-buffer (let ((coding-system-for-read 'utf-8)) - (insert-file-contents history-file)) + (if jabber-use-global-history + (insert-file-contents history-file) + (let* ((lines-collected nil) + (matched-files (directory-files jabber-history-dir t (file-name-nondirectory history-file))) + (matched-files (cons (car matched-files) (sort (cdr matched-files) 'string>-numerical)))) + (while (not lines-collected) + (if (null matched-files) + (setq lines-collected t) + (let ((file (pop matched-files))) + (progn + (insert-file-contents file) + (if (>= (count-lines (point-min) (point-max)) number) + (setq lines-collected t))))))))) (let (collected current-line) (goto-char (point-max)) (catch 'beginning-of-file |
From: Evgenii T. <evg...@us...> - 2008-03-08 12:41:28
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv26494 Modified Files: jabber-util.el Log Message: Function string>-numerical added Index: jabber-util.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-util.el,v retrieving revision 2.56 retrieving revision 2.57 diff -u -d -r2.56 -r2.57 --- jabber-util.el 24 Feb 2008 11:13:34 -0000 2.56 +++ jabber-util.el 8 Mar 2008 12:41:16 -0000 2.57 @@ -629,6 +629,15 @@ ;; url package might lose information. (jabber-handle-uri (url-recreate-url url))) +(defun string>-numerical (s1 s2) + "Return t if first arg string is more than second in numerical order." + (cond ((string= s1 s2) nil) + ((> (length s1) (length s2)) t) + ((< (length s1) (length s2)) nil) + ((< (string-to-number (substring s1 0 1)) (string-to-number (substring s2 0 1))) nil) + ((> (string-to-number (substring s1 0 1)) (string-to-number (substring s2 0 1))) t) + (t (string>-numerical (substring s1 1) (substring s2 1))))) + (provide 'jabber-util) ;;; arch-tag: cfbb73ac-e2d7-4652-a08d-dc789bcded8a |
From: Magnus H. <leg...@us...> - 2008-03-08 11:13:58
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv19576 Modified Files: fsm.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-469 Creator: Magnus Henoch <ma...@fr...> Try to make state machines debuggable Index: fsm.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/fsm.el,v retrieving revision 2.4 retrieving revision 2.5 diff -u -d -r2.4 -r2.5 --- fsm.el 12 Aug 2007 22:00:29 -0000 2.4 +++ fsm.el 8 Mar 2008 11:13:48 -0000 2.5 @@ -1,6 +1,6 @@ ;;; fsm.el --- state machine library -;; Copyright (C) 2006, 2007 Magnus Henoch +;; Copyright (C) 2006, 2007, 2008 Magnus Henoch ;; Author: Magnus Henoch <ma...@fr...> ;; Version: 0.1ttn4 @@ -335,7 +335,7 @@ (fsm-debug-output "Using data from enter function") (plist-put (cddr fsm) :state-data newer-state-data) (fsm-maybe-change-timer fsm newer-timeout)) - (error + ((debug error) (fsm-debug-output "Didn't work: %S" e))))) (let ((deferred (nreverse (plist-get (cddr fsm) :deferred)))) @@ -360,7 +360,7 @@ (let ((result (condition-case e (funcall state-fn fsm state-data event (or callback 'ignore)) - (error (cons :error-signaled e))))) + ((debug error) (cons :error-signaled e))))) ;; Special case for deferring an event until next state change. (cond ((eq result :defer) |
From: Evgenii T. <evg...@us...> - 2008-03-05 14:32:00
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv15644 Modified Files: jabber-muc-nick-completion.el Log Message: Fix for in-line nick completion (dirty hacks...) Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- jabber-muc-nick-completion.el 4 Mar 2008 15:27:51 -0000 1.7 +++ jabber-muc-nick-completion.el 5 Mar 2008 14:31:10 -0000 1.8 @@ -123,8 +123,9 @@ (defun jabber-muc-beginning-of-line () "Return position of line begining." (save-excursion + (if (looking-back jabber-muc-completion-delimiter) + (backward-char (+ (length jabber-muc-completion-delimiter) 1))) (skip-syntax-backward "^-") - (unless (looking-at "^") (error "Can't find beginning of line!")) (point))) ;;; One big hack: @@ -133,9 +134,9 @@ (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)))))) + (delete-char (length last-tried)) + (ignore-errors (delete-char (length jabber-muc-completion-delimiter))) + ))) (defun try-expand-jabber-muc (old) "Try to expand target nick in MUC according to last speaking time. @@ -160,11 +161,19 @@ (jabber-muc-completion-delete-last-tried) (he-reset-string))) ()) - (let ((subst (concat (car he-expand-list) jabber-muc-completion-delimiter))) + (let ((subst (if (eq (line-beginning-position) (jabber-muc-beginning-of-line)) + (concat (car he-expand-list) jabber-muc-completion-delimiter) + (car he-expand-list)))) (if (not (string= he-search-string "")) (he-substitute-string subst) (jabber-muc-completion-delete-last-tried) - (insert subst))) + (progn + (insert subst) + (if (looking-back (concat "^" (car he-expand-list))) + (unless (looking-back (concat "^" (car he-expand-list) jabber-muc-completion-delimiter)) + (insert jabber-muc-completion-delimiter))) + ) + )) (setq he-tried-table (cons (car he-expand-list) (cdr he-tried-table))) (setq he-expand-list (cdr he-expand-list)) t))) |
From: Magnus H. <leg...@us...> - 2008-03-05 12:05:59
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv20294 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-468 Creator: Magnus Henoch <ma...@fr...> Fix :roster-update return value Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.85 retrieving revision 1.86 diff -u -d -r1.85 -r1.86 --- jabber-core.el 4 Mar 2008 07:23:27 -0000 1.85 +++ jabber-core.el 5 Mar 2008 12:05:49 -0000 1.86 @@ -696,8 +696,8 @@ (if pending-updates (progn (unless (memq jid-symbol-to-update pending-updates) - (nconc pending-updates (list jid-symbol-to-update)) - (list :session-established state-data :keep))) + (nconc pending-updates (list jid-symbol-to-update))) + (list :session-established state-data :keep)) ;; Otherwise, we need to create the list and start the timer. (setq state-data (plist-put state-data |
From: Evgenii T. <evg...@us...> - 2008-03-04 16:59:32
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv30042 Modified Files: jabber-muc-nick-completion.el Log Message: Wrong type definition fix. Index: jabber-muc-nick-completion.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc-nick-completion.el,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- jabber-muc-nick-completion.el 21 Feb 2008 13:12:09 -0000 1.6 +++ jabber-muc-nick-completion.el 4 Mar 2008 15:27:51 -0000 1.7 @@ -28,7 +28,7 @@ (defcustom jabber-muc-looks-personaling-symbols '("," ":" ">") "Symbols for personaling messages" - :type 'string + :type '(repeat string) :group 'jabber-chat) (defcustom jabber-muc-personal-message-bonus (* 60 20) |
From: Evgenii T. <evg...@us...> - 2008-03-04 16:58:47
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv17600 Modified Files: jabber.texi Log Message: Document jabber-my-jid-p changes (which affets ad-hoc commands) Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- jabber.texi 25 Feb 2008 15:31:57 -0000 1.84 +++ jabber.texi 4 Mar 2008 15:01:53 -0000 1.85 @@ -766,7 +766,7 @@ Currently, jabber.el uses ad-hoc commands for setting presence remotely. If you realize that you forgot to set your client to ``away'' with a low -priority, you can do it remotely.@footnote{Most Jabber servers also +priority, you can do it remotely from any JID from @code{jabber-account-list}. So, you can add disabled JIDs in @code{jabber-account-list} to allow them control your presence.@footnote{Most Jabber servers also support kicking a client off the net by logging in with another client with exactly the same resource.} |
From: Magnus H. <leg...@us...> - 2008-03-04 07:23:39
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv6055 Modified Files: jabber-core.el jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-466 Creator: Magnus Henoch <ma...@fr...> Move roster update batch processing to jabber-connection FSM Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- jabber-core.el 28 Feb 2008 22:11:26 -0000 1.84 +++ jabber-core.el 4 Mar 2008 07:23:27 -0000 1.85 @@ -665,6 +665,9 @@ #'jabber-report-success "Roster retrieval") (list (plist-put state-data :ever-session-established t) nil)) +(defvar jabber-pending-presence-timeout 0.5 + "Wait this long before doing presence packet batch processing.") + (define-state jabber-connection :session-established (fsm state-data event callback) (case (or (car-safe event) event) @@ -672,7 +675,7 @@ (let ((process (cadr event)) (string (car (cddr event)))) (jabber-pre-filter process string fsm) - (list :session-established state-data))) + (list :session-established state-data :keep))) (:sentinel (jabber-fsm-handle-sentinel state-data event)) @@ -682,14 +685,39 @@ (jabber-process-stream-error (cadr event) state-data) (progn (jabber-process-input fsm (cadr event)) - (list :session-established state-data)))) + (list :session-established state-data :keep)))) + + (:roster-update + ;; Batch up roster updates + (let* ((jid-symbol-to-update (cdr event)) + (pending-updates (plist-get state-data :roster-pending-updates))) + ;; If there are pending updates, there is a timer running + ;; already; just add the new symbol and wait. + (if pending-updates + (progn + (unless (memq jid-symbol-to-update pending-updates) + (nconc pending-updates (list jid-symbol-to-update)) + (list :session-established state-data :keep))) + ;; Otherwise, we need to create the list and start the timer. + (setq state-data + (plist-put state-data + :roster-pending-updates + (list jid-symbol-to-update))) + (list :session-established state-data jabber-pending-presence-timeout)))) + + (:timeout + ;; Update roster + (let ((pending-updates (plist-get state-data :roster-pending-updates))) + (setq state-data (plist-put state-data :roster-pending-updates nil)) + (jabber-roster-update fsm nil pending-updates nil) + (list :session-established state-data))) (:send-if-connected ;; This is the only state in which we respond to such messages. ;; This is to make sure we don't send anything inappropriate ;; during authentication etc. (jabber-send-sexp fsm (cdr event)) - (list :session-established state-data)) + (list :session-established state-data :keep)) (:do-disconnect (jabber-send-string fsm "</stream:stream>") Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- jabber-presence.el 2 Mar 2008 16:36:38 -0000 1.45 +++ jabber-presence.el 4 Mar 2008 07:23:27 -0000 1.46 @@ -113,16 +113,6 @@ (when (eq closure-data 'initial) (run-hook-with-args 'jabber-post-connect-hooks jc))) -(defvar jabber-pending-presence-updates nil - "List of presence updates waiting to be displayed in roster. -Each element is (JC . JID-SYMBOL).") - -(defvar jabber-pending-presence-timer nil - "Timer for running `jabber-handle-pending-presence-updates'.") - -(defvar jabber-pending-presence-timeout 0.5 - "Wait this long before doing presence packet batch processing.") - (add-to-list 'jabber-presence-chain 'jabber-process-presence) (defun jabber-process-presence (jc xml-data) "process incoming presence tags" @@ -215,13 +205,7 @@ (put buddy 'resources (cons (cons resource resource-plist) (get buddy 'resources)))) (jabber-prioritize-resources buddy)) - (push (cons jc buddy) jabber-pending-presence-updates) - (unless jabber-pending-presence-timer - (setq jabber-pending-presence-timer - (run-with-idle-timer - jabber-pending-presence-timeout - nil - 'jabber-handle-pending-presence-updates))) + (fsm-send jc (cons :roster-update buddy)) (dolist (hook '(jabber-presence-hooks jabber-alert-presence-hooks)) (run-hook-with-args hook @@ -235,20 +219,6 @@ newstatus (plist-get resource-plist 'status))))))))))) -(defun jabber-handle-pending-presence-updates () - (let (updates-by-account x) - (while (setq x (pop jabber-pending-presence-updates)) - (let* ((jc (car x)) - (jid (cdr x)) - (entry (assq (car x) updates-by-account))) - (if entry - (push jid (cdr entry)) - (push (list jc jid) updates-by-account)))) - - (dolist (account-jids updates-by-account) - (jabber-roster-update (car account-jids) nil (cdr account-jids) nil))) - (setf jabber-pending-presence-timer nil)) - (defun jabber-process-subscription-request (jc from presence-status) "process an incoming subscription request" (with-current-buffer (jabber-chat-create-buffer jc from) |
From: Magnus H. <leg...@us...> - 2008-03-02 16:36:41
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14337 Modified Files: jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-465 Creator: Magnus Henoch <ma...@fr...> Add more types to jabber-send-directed-presence. Extend docstring. Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- jabber-presence.el 2 Mar 2008 16:13:32 -0000 1.44 +++ jabber-presence.el 2 Mar 2008 16:36:38 -0000 1.45 @@ -366,7 +366,24 @@ jabber-presence-element-functions)))) (defun jabber-send-directed-presence (jc jid type) - "Send a directed presence stanza to JID." + "Send a directed presence stanza to JID. +TYPE is one of: +\"online\", \"away\", \"xa\", \"dnd\", \"chatty\": + Appear as present with the given status. +\"unavailable\": + Appear as offline. +\"probe\": + Ask the contact's server for updated presence. +\"subscribe\": + Ask for subscription to contact's presence. + (see also `jabber-send-subscription-request') +\"unsubscribe\": + Cancel your subscription to contact's presence. +\"subscribed\": + Accept contact's request for presence subscription. + (this is usually done within a chat buffer) +\"unsubscribed\": + Cancel contact's subscription to your presence." (interactive (list (jabber-read-account) (jabber-read-jid-completing "Send directed presence to: ") @@ -377,10 +394,16 @@ ("dnd") ("chatty") ("probe") - ("unavailable")) + ("unavailable") + ("subscribe") + ("unsubscribe") + ("subscribed") + ("unsubscribed")) nil t nil nil "online"))) (cond - ((member type '("probe" "unavailable")) + ((member type '("probe" "unavailable" + "subscribe" "unsubscribe" + "subscribed" "unsubscribed")) (jabber-send-sexp jc `(presence ((to . ,jid) (type . ,type))))) |
From: Magnus H. <leg...@us...> - 2008-03-02 16:13:37
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv5304 Modified Files: jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-464 Creator: Magnus Henoch <ma...@fr...> Run only one pending-presence timer Why didn't this explode on me earlier? Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- jabber-presence.el 2 Mar 2008 04:19:48 -0000 1.43 +++ jabber-presence.el 2 Mar 2008 16:13:32 -0000 1.44 @@ -217,10 +217,11 @@ (push (cons jc buddy) jabber-pending-presence-updates) (unless jabber-pending-presence-timer - (run-with-idle-timer - jabber-pending-presence-timeout - nil - 'jabber-handle-pending-presence-updates)) + (setq jabber-pending-presence-timer + (run-with-idle-timer + jabber-pending-presence-timeout + nil + 'jabber-handle-pending-presence-updates))) (dolist (hook '(jabber-presence-hooks jabber-alert-presence-hooks)) (run-hook-with-args hook |
From: Magnus H. <leg...@us...> - 2008-03-02 04:20:00
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv18162 Modified Files: jabber-presence.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-462 Creator: Magnus Henoch <ma...@fr...> Optimization: batch roster update from presence packets Index: jabber-presence.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-presence.el,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- jabber-presence.el 13 Jan 2008 18:13:15 -0000 1.42 +++ jabber-presence.el 2 Mar 2008 04:19:48 -0000 1.43 @@ -113,6 +113,16 @@ (when (eq closure-data 'initial) (run-hook-with-args 'jabber-post-connect-hooks jc))) +(defvar jabber-pending-presence-updates nil + "List of presence updates waiting to be displayed in roster. +Each element is (JC . JID-SYMBOL).") + +(defvar jabber-pending-presence-timer nil + "Timer for running `jabber-handle-pending-presence-updates'.") + +(defvar jabber-pending-presence-timeout 0.5 + "Wait this long before doing presence packet batch processing.") + (add-to-list 'jabber-presence-chain 'jabber-process-presence) (defun jabber-process-presence (jc xml-data) "process incoming presence tags" @@ -205,7 +215,12 @@ (put buddy 'resources (cons (cons resource resource-plist) (get buddy 'resources)))) (jabber-prioritize-resources buddy)) - (jabber-roster-update jc nil (list buddy) nil) + (push (cons jc buddy) jabber-pending-presence-updates) + (unless jabber-pending-presence-timer + (run-with-idle-timer + jabber-pending-presence-timeout + nil + 'jabber-handle-pending-presence-updates)) (dolist (hook '(jabber-presence-hooks jabber-alert-presence-hooks)) (run-hook-with-args hook @@ -219,6 +234,20 @@ newstatus (plist-get resource-plist 'status))))))))))) +(defun jabber-handle-pending-presence-updates () + (let (updates-by-account x) + (while (setq x (pop jabber-pending-presence-updates)) + (let* ((jc (car x)) + (jid (cdr x)) + (entry (assq (car x) updates-by-account))) + (if entry + (push jid (cdr entry)) + (push (list jc jid) updates-by-account)))) + + (dolist (account-jids updates-by-account) + (jabber-roster-update (car account-jids) nil (cdr account-jids) nil))) + (setf jabber-pending-presence-timer nil)) + (defun jabber-process-subscription-request (jc from presence-status) "process an incoming subscription request" (with-current-buffer (jabber-chat-create-buffer jc from) |
From: Evgenii T. <evg...@us...> - 2008-03-01 21:58:18
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv29190 Modified Files: jabber-chat.el Log Message: Fix for fix for /me. Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.89 retrieving revision 1.90 diff -u -d -r1.89 -r1.90 --- jabber-chat.el 1 Mar 2008 21:28:48 -0000 1.89 +++ jabber-chat.el 1 Mar 2008 21:58:08 -0000 1.90 @@ -350,10 +350,10 @@ (jabber-xml-path (cadr data) '(("jabber:x:delay" . "x"))))) (internal-time (plist-get (cddr data) :time)) - (body (car + (body (ignore-errors (car (jabber-xml-node-children (car - (jabber-xml-get-children (cadr data) 'body))))) + (jabber-xml-get-children (cadr data) 'body)))))) (/me-p (and (> (length body) 4) (string= (substring body 0 4) "/me ")))) |
From: Evgenii T. <evg...@us...> - 2008-03-01 21:28:54
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv16840 Modified Files: jabber-chat.el Log Message: Fix for /me handing (message body requesting) Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- jabber-chat.el 1 Mar 2008 20:42:46 -0000 1.88 +++ jabber-chat.el 1 Mar 2008 21:28:48 -0000 1.89 @@ -350,7 +350,10 @@ (jabber-xml-path (cadr data) '(("jabber:x:delay" . "x"))))) (internal-time (plist-get (cddr data) :time)) - (body (jabber-xml-path (cadr data) '(body ""))) + (body (car + (jabber-xml-node-children + (car + (jabber-xml-get-children (cadr data) 'body))))) (/me-p (and (> (length body) 4) (string= (substring body 0 4) "/me ")))) |
From: Magnus H. <leg...@us...> - 2008-03-01 20:42:51
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv30400 Modified Files: jabber-chat.el jabber-muc.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-460 Creator: Magnus Henoch <ma...@fr...> Don't print nickname for /me messages Index: jabber-chat.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-chat.el,v retrieving revision 1.87 retrieving revision 1.88 diff -u -d -r1.87 -r1.88 --- jabber-chat.el 6 Feb 2008 16:19:03 -0000 1.87 +++ jabber-chat.el 1 Mar 2008 20:42:46 -0000 1.88 @@ -349,7 +349,11 @@ (original-timestamp (when (listp (cadr data)) (jabber-xml-path (cadr data) '(("jabber:x:delay" . "x"))))) (internal-time - (plist-get (cddr data) :time))) + (plist-get (cddr data) :time)) + (body (jabber-xml-path (cadr data) '(body ""))) + (/me-p + (and (> (length body) 4) + (string= (substring body 0 4) "/me ")))) ;; Print prompt... (let ((delayed (or original-timestamp (plist-get (cddr data) :delayed)))) @@ -357,20 +361,22 @@ (:local (jabber-chat-self-prompt (or (jabber-x-delay original-timestamp) internal-time) - delayed)) + delayed + /me-p)) (:foreign ;; For :error and :notice, this might be a string... beware (jabber-chat-print-prompt (when (listp (cadr data)) (cadr data)) (or (jabber-x-delay original-timestamp) internal-time) - delayed)) + delayed + /me-p)) ((:error :notice :subscription-request) (jabber-chat-system-prompt (or (jabber-x-delay original-timestamp) internal-time))) (:muc-local - (jabber-muc-print-prompt (cadr data) t)) + (jabber-muc-print-prompt (cadr data) t /me-p)) (:muc-foreign - (jabber-muc-print-prompt (cadr data))) + (jabber-muc-print-prompt (cadr data) nil /me-p)) ((:muc-notice :muc-error) (jabber-muc-system-prompt)))) @@ -439,13 +445,14 @@ (jabber-message-time data)))) (ewoc-enter-before jabber-chat-ewoc node (list :rare-time (jabber-message-time data)))))) -(defun jabber-chat-print-prompt (xml-data timestamp delayed) +(defun jabber-chat-print-prompt (xml-data timestamp delayed dont-print-nick-p) "Print prompt for received message in XML-DATA. TIMESTAMP is the timestamp to print, or nil to get it from a jabber:x:delay element. If DELAYED is true, print long timestamp \(`jabber-chat-delayed-time-format' as opposed to -`jabber-chat-time-format')." +`jabber-chat-time-format'). +If DONT-PRINT-NICK-P is true, don't include nickname." (let ((from (jabber-xml-get-attribute xml-data 'from)) (timestamp (or timestamp (car (delq nil (mapcar 'jabber-x-delay (jabber-xml-get-children xml-data 'x))))))) @@ -457,7 +464,7 @@ jabber-chat-delayed-time-format jabber-chat-time-format) timestamp)) - (cons ?n (jabber-jid-displayname from)) + (cons ?n (if dont-print-nick-p "" (jabber-jid-displayname from))) (cons ?u (or (jabber-jid-username from) from)) (cons ?r (jabber-jid-resource from)) (cons ?j (jabber-jid-user from)))) @@ -479,12 +486,13 @@ 'help-echo (concat (format-time-string "System message on %Y-%m-%d %H:%M:%S" timestamp))))) -(defun jabber-chat-self-prompt (timestamp delayed) +(defun jabber-chat-self-prompt (timestamp delayed dont-print-nick-p) "Print prompt for sent message. TIMESTAMP is the timestamp to print, or nil for now. If DELAYED is true, print long timestamp \(`jabber-chat-delayed-time-format' as opposed to -`jabber-chat-time-format')." +`jabber-chat-time-format'). +If DONT-PRINT-NICK-P is true, don't include nickname." (let* ((state-data (fsm-get-state-data jabber-buffer-connection)) (username (plist-get state-data :username)) (server (plist-get state-data :server)) @@ -498,7 +506,7 @@ jabber-chat-delayed-time-format jabber-chat-time-format) timestamp)) - (cons ?n nickname) + (cons ?n (if dont-print-nick-p "" nickname)) (cons ?u username) (cons ?r resource) (cons ?j (concat username "@" server)))) Index: jabber-muc.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-muc.el,v retrieving revision 1.73 retrieving revision 1.74 diff -u -d -r1.73 -r1.74 --- jabber-muc.el 8 Feb 2008 19:11:57 -0000 1.73 +++ jabber-muc.el 1 Mar 2008 20:42:47 -0000 1.74 @@ -765,7 +765,7 @@ (jabber-xml-node-attributes (car (jabber-xml-get-children x-muc 'item)))))) -(defun jabber-muc-print-prompt (xml-data &optional local) +(defun jabber-muc-print-prompt (xml-data &optional local dont-print-nick-p) "Print MUC prompt for message in XML-DATA." (let ((nick (jabber-jid-resource (jabber-xml-get-attribute xml-data 'from))) (timestamp (car (delq nil (mapcar 'jabber-x-delay (jabber-xml-get-children xml-data 'x)))))) @@ -778,7 +778,7 @@ jabber-chat-delayed-time-format jabber-chat-time-format) timestamp)) - (cons ?n nick) + (cons ?n (if dont-print-nick-p "" nick)) (cons ?u nick) (cons ?r nick) (cons ?j (concat jabber-group "/" nick)))) |
From: Magnus H. <leg...@us...> - 2008-02-28 22:11:30
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv19347 Modified Files: jabber-core.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-459 Creator: Magnus Henoch <ma...@fr...> jabber-connect: fix default value for connection type in interactive form Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.83 retrieving revision 1.84 diff -u -d -r1.83 -r1.84 --- jabber-core.el 23 Feb 2008 17:51:27 -0000 1.83 +++ jabber-core.el 28 Feb 2008 22:11:26 -0000 1.84 @@ -189,7 +189,7 @@ (setq connection-type (car (read-from-string - (let ((default (or connection-type jabber-default-connection-type))) + (let ((default (symbol-name (or connection-type jabber-default-connection-type)))) (completing-read (format "Connection type: (default `%s') " default) (mapcar (lambda (type) |
From: Evgenii T. <evg...@us...> - 2008-02-25 15:32:05
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv30786 Modified Files: jabber.texi Log Message: Document xscreensaver-emacs-jabber usage Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.83 retrieving revision 1.84 diff -u -d -r1.83 -r1.84 --- jabber.texi 23 Feb 2008 17:54:25 -0000 1.83 +++ jabber.texi 25 Feb 2008 15:31:57 -0000 1.84 @@ -900,9 +900,20 @@ If you are using the X Window System, you can use the @uref{http://www.dtek.chalmers.se/~henoch/text/xprintidle.html, xprintidle} program. Make sure that @code{jabber-xprintidle-program} is -set to the correct file name. This uses the same method as XScreensaver +set to the correct file name. This uses the same method as @uref{http://www.jwz.org/xscreensaver,XScreensaver} to find your idle time. +If you use xscreensaver program, you can use +``xscreensaver-emacs-jabber'' perl-script for syncronize xscreensaver +and jabber.el status. It is are simple perl-daemon that watch for +xscreensaver status and set jabber.el's presence when needed. I.e.: +its set XA presence when screen is blanked or locked (by hands or by +idle timeout) and default presence when its unlocked/unblanked. To use +it, just run ``xscreensaver-emacs-jabber'' after xscreensaver and make +sure that your Emacs run in server mode (that you run (server-start) +in init files. Alternativetily, you can add turn on and off +server-mode by jabber.el's hooks). + If you are using Emacs on a GNU/Linux terminal, the function @code{jabber-termatime-get-idle-time} is used by default. |
From: Evgenii T. <evg...@us...> - 2008-02-24 11:13:39
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv25568 Modified Files: jabber-util.el Log Message: Accepting ad-hoc commands from all jids from jabber-account-list. Index: jabber-util.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-util.el,v retrieving revision 2.55 retrieving revision 2.56 diff -u -d -r2.55 -r2.56 --- jabber-util.el 23 Feb 2008 17:45:16 -0000 2.55 +++ jabber-util.el 24 Feb 2008 11:13:34 -0000 2.56 @@ -180,9 +180,8 @@ (intern (downcase (jabber-jid-user string)) jabber-jid-obarray))) (defun jabber-my-jid-p (jc jid) - "Return non-nil if the specified JID is equal to the user's JID, modulo resource." - (equal (jabber-jid-user jid) - (jabber-connection-bare-jid jc))) + "Return non-nil if the specified JID is in jabber-account-list (modulo resource). JC arg placed for compatibility and may be removed in future." + (member (jabber-jid-user jid) (mapcar (lambda (x) (jabber-jid-user (car x))) jabber-account-list))) (defun jabber-read-jid-completing (prompt &optional subset require-match default resource) "read a jid out of the current roster from the minibuffer. |
From: Evgenii T. <evg...@us...> - 2008-02-23 17:54:29
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv5782 Modified Files: jabber.texi Log Message: Document C-u C-x C-j C-d Index: jabber.texi =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber.texi,v retrieving revision 1.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- jabber.texi 17 Feb 2008 18:09:26 -0000 1.82 +++ jabber.texi 23 Feb 2008 17:54:25 -0000 1.83 @@ -155,7 +155,7 @@ C-j C-p}. @xref{Presence}, for more information. To disconnect, type @kbd{M-x jabber-disconnect} or @kbd{C-x C-j C-d}. -Use @kbd{M-x jabber-disconnect-one} to disconnect just one account. +Use @kbd{M-x jabber-disconnect-one} to disconnect just one account (or just type @kbd{C-u C-x C-j C-d}). @node Chatting, Presence, Connecting, Basic operation @section Chatting |
From: Evgenii T. <evg...@us...> - 2008-02-23 17:51:31
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv4582 Modified Files: jabber-core.el Log Message: Fix for C-u C-x C-j C-c C-u C-x C-j C-d now call jabber-disconnect-one Index: jabber-core.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-core.el,v retrieving revision 1.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- jabber-core.el 20 Feb 2008 01:48:46 -0000 1.82 +++ jabber-core.el 23 Feb 2008 17:51:27 -0000 1.83 @@ -134,7 +134,7 @@ (cdr (assq :disabled (cdr account)))) jabber-account-list))) (if (or (null accounts) arg) - (call-interactively 'jabber-connect) + (progn (setq current-prefix-arg nil) (call-interactively 'jabber-connect)) ;; Only connect those accounts that are not yet connected. (let ((already-connected (mapcar #'jabber-connection-bare-jid jabber-connections)) (connected-one nil)) @@ -696,10 +696,12 @@ (list nil (plist-put state-data :disconnection-expected t))))) -(defun jabber-disconnect () - "Disconnect from all Jabber servers." - (interactive) - (unless *jabber-disconnecting* ; avoid reentry +(defun jabber-disconnect (&optional arg) + "Disconnect from all Jabber servers. If ARG supplied, disconnect one account." + (interactive "P") + (if arg + (jabber-disconnect-one (jabber-read-account)) + (unless *jabber-disconnecting* ; avoid reentry (let ((*jabber-disconnecting* t)) (dolist (c jabber-connections) (jabber-disconnect-one c t)) @@ -707,7 +709,7 @@ (jabber-disconnected) (when (interactive-p) - (message "Disconnected from Jabber server(s)"))))) + (message "Disconnected from Jabber server(s)")))))) (defun jabber-disconnect-one (jc &optional dont-redisplay) "Disconnect from one Jabber server. |
From: Evgenii T. <evg...@us...> - 2008-02-23 17:45:22
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv2139 Modified Files: jabber-util.el Log Message: Make jabber-read-account use account at point by default Index: jabber-util.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-util.el,v retrieving revision 2.54 retrieving revision 2.55 diff -u -d -r2.54 -r2.55 --- jabber-util.el 20 Feb 2008 01:22:18 -0000 2.54 +++ jabber-util.el 23 Feb 2008 17:45:16 -0000 2.55 @@ -2,6 +2,7 @@ ;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - ma...@fr... ;; Copyright (C) 2002, 2003, 2004 - tom berger - ob...@in... +;; Copyright (C) 2008 - Terechkov Evgenii - ev...@al... ;; This file is a part of jabber.el. @@ -286,40 +287,41 @@ "Ask for which connected account to use. If ALWAYS-ASK is nil and there is only one account, return that account." - (cond - ((null jabber-connections) - (error "Not connected to Jabber")) - ((and (null (cdr jabber-connections)) (not always-ask)) - ;; only one account - (car jabber-connections)) - (t - (let* ((completions - (mapcar (lambda (c) - (cons - (jabber-connection-bare-jid c) - c)) - jabber-connections)) - (default - (or - ;; if there is a jabber-account property at point, - ;; present it as default value - (let ((at-point (get-text-property (point) 'jabber-account))) - (when (and at-point - (memq at-point jabber-connections)) - (jabber-connection-bare-jid at-point))) - ;; if the buffer is associated with a connection, use it - (when (and jabber-buffer-connection - (memq jabber-buffer-connection jabber-connections)) - (jabber-connection-bare-jid jabber-buffer-connection)) - ;; else, use the first connection in the list - (caar completions))) - (input (completing-read - (concat "Select Jabber account (default " - default - "): ") - completions nil t nil nil - default))) - (cdr (assoc input completions)))))) + (let ((completions + (mapcar (lambda (c) + (cons + (jabber-connection-bare-jid c) + c)) + jabber-connections))) + (cond + ((null jabber-connections) + (error "Not connected to Jabber")) + ((and (null (cdr jabber-connections)) (not always-ask)) + ;; only one account + (car jabber-connections)) + (t + (or + ;; if there is a jabber-account property at point, + ;; present it as default value + (cdr (assoc (let ((at-point (get-text-property (point) 'jabber-account))) + (when (and at-point + (memq at-point jabber-connections)) + (jabber-connection-bare-jid at-point))) completions)) + (let* ((default + (or + ;; if the buffer is associated with a connection, use it + (when (and jabber-buffer-connection + (memq jabber-buffer-connection jabber-connections)) + (jabber-connection-bare-jid jabber-buffer-connection)) + ;; else, use the first connection in the list + (caar completions))) + (input (completing-read + (concat "Select Jabber account (default " + default + "): ") + completions nil t nil nil + default))) + (cdr (assoc input completions)))))))) (defun jabber-iq-query (xml-data) "Return the query part of an IQ stanza. |
From: Magnus H. <leg...@us...> - 2008-02-21 15:29:52
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv14783 Modified Files: jabber-activity.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-456 Creator: Magnus Henoch <ma...@fr...> Avoid recursive loading of jabber-activity Reported by Tom Tromey. Index: jabber-activity.el =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/jabber-activity.el,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- jabber-activity.el 17 Feb 2008 18:09:26 -0000 1.32 +++ jabber-activity.el 21 Feb 2008 15:29:45 -0000 1.33 @@ -48,12 +48,17 @@ "activity tracking options" :group 'jabber) +;; All the (featurep 'jabber-activity) is so we don't call a function +;; with an autoloaded cookie while the file is loading, since that +;; would lead to endless load recursion. + (defcustom jabber-activity-make-string 'jabber-activity-make-string-default "Function to call, for making the string to put in the mode line. The default function returns the nick of the user." :set #'(lambda (var val) (custom-set-default var val) - (when (fboundp 'jabber-activity-make-name-alist) + (when (and (featurep 'jabber-activity) + (fboundp 'jabber-activity-make-name-alist)) (jabber-activity-make-name-alist) (jabber-activity-mode-line-update))) :type 'function @@ -70,7 +75,8 @@ JIDs." :set #'(lambda (var val) (custom-set-default var val) - (when (fboundp 'jabber-activity-make-name-alist) + (when (and (featurep 'jabber-activity) + (fboundp 'jabber-activity-make-name-alist)) (jabber-activity-make-name-alist) (jabber-activity-mode-line-update))) :type '(choice (function-item :tag "Keep strings" @@ -86,7 +92,8 @@ :group 'jabber-activity :set #'(lambda (var val) (custom-set-default var val) - (when (bound-and-true-p jabber-activity-mode) + (when (and (featurep 'jabber-activity) + (bound-and-true-p jabber-activity-mode)) (jabber-activity-mode -1) (jabber-activity-mode 1)))) @@ -97,7 +104,7 @@ :type 'sexp :group 'jabber-activity :set #'(lambda (var val) - (if (not (bound-and-true-p jabber-activity-mode)) + (if (not (and (featurep 'jabber-activity) (bound-and-true-p jabber-activity-mode))) (custom-set-default var val) (jabber-activity-mode -1) (custom-set-default var val) |
From: Magnus H. <leg...@us...> - 2008-02-21 15:16:31
|
Update of /cvsroot/emacs-jabber/emacs-jabber In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv9451 Modified Files: AUTHORS NEWS Added Files: jabber-gmail.el Log Message: Revision: ma...@fr...--2005/emacs-jabber--cvs-head--0--patch-455 Creator: Magnus Henoch <ma...@fr...> Add jabber-gmail.el >From Valery V. Vorotyntsev. Index: NEWS =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/NEWS,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -r1.65 -r1.66 --- NEWS 17 Feb 2008 18:09:26 -0000 1.65 +++ NEWS 21 Feb 2008 15:16:23 -0000 1.66 @@ -42,6 +42,9 @@ ** Option: hide avatar in chat buffer `jabber-chat-buffer-show-avatar'. (not documented yet) +** Gmail notifications +(Not documented nor autoloaded) + * New features in jabber.el 0.7.1 ** STARTTLS --- NEW FILE: jabber-gmail.el --- ;;; jabber-gmail.el --- Gmail notifications via emacs-jabber ;; Copyright (C) 2008 Magnus Henoch <ma...@fr...> ;; Copyright (C) 2007 Valery V. Vorotyntsev <val...@gm...> ;; 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., 51 Franklin Street, Fifth Floor, ;; Boston, MA 02110-1301, USA. ;;; Usage: ;; Add the following line to your ~/.emacs: ;; ;; (require 'jabber-gmail) ;; ;; If you prefer on demand loading ;; [http://a-nickels-worth.blogspot.com/2007/11/effective-emacs.html]: ;; ;; (autoload 'jabber-gmail-query "jabber-gmail") ;; (autoload 'jabber-gmail-subscribe "jabber-gmail") ;; (add-hook 'jabber-post-connect-hook 'jabber-gmail-subscribe) ;; ;; You may wish to bind a shortcut for `jabber-gmail-query' ;; ;; (global-set-key (kbd "<f9> g") 'jabber-gmail-query) ;; ;; or to customize `jabber-gmail-dothreads' ;; ;; (defun jabber-gmail-dothreads (ts) ;; (let ((msg (format "%d new messages in gmail inbox" (length ts)))) ;; (message msg) ;; (jabber-screen-message msg))) ;;;###autoload (defun jabber-gmail-subscribe (jc) "Subscribe to gmail notifications. See http://code.google.com/apis/talk/jep_extensions/usersettings.html#4" (interactive (list (jabber-read-account))) (jabber-send-iq jc (jabber-connection-bare-jid jc) "set" '(usersetting ((xmlns . "google:setting")) (mailnotifications ((value . "true")))) #'jabber-report-success "Gmail subscription" #'jabber-process-data "Gmail subscription") ;; Looks like "one shot" request is still needed to activate ;; notifications machinery. (jabber-gmail-query jc)) (add-to-list 'jabber-iq-set-xmlns-alist (cons "google:mail:notify" #'jabber-gmail-process-new-mail)) (defun jabber-gmail-process-new-mail (jc xml-sexp) "Process new gmail notification. See http://code.google.com/apis/talk/jep_extensions/gmail.html#notifications" (let ((from (jabber-xml-get-attribute xml-sexp 'from)) (id (jabber-xml-get-attribute xml-sexp 'id))) ;; respond to server (jabber-send-iq jc from "result" nil nil nil nil nil id)) (jabber-gmail-query jc)) ;;;###autoload (defun jabber-gmail-query (jc) "Request mail information from the Google Talk server (a.k.a. one shot query). See http://code.google.com/apis/talk/jep_extensions/gmail.html#requestmail" (interactive (list (jabber-read-account))) (jabber-send-iq jc (jabber-connection-bare-jid jc) "get" '(query ((xmlns . "google:mail:notify"))) #'jabber-gmail-process-mailbox nil #'jabber-process-data "Gmail query" "gmail-query")) (defun jabber-gmail-process-mailbox (jc xml-sexp &rest ignore) "Process gmail query response. See http://code.google.com/apis/talk/jep_extensions/gmail.html#response" (let ((ts (jabber-xml-node-children (car (jabber-xml-get-children xml-sexp 'mailbox))))) (when ts (jabber-gmail-dothreads ts)))) (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" (message "%d new messages in gmail inbox" (length threads))) (provide 'jabber-gmail) ;; arch-tag: 102bc8e4-e08f-11dc-ab66-000a95c2fcd0 Index: AUTHORS =================================================================== RCS file: /cvsroot/emacs-jabber/emacs-jabber/AUTHORS,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- AUTHORS 21 Feb 2008 13:22:57 -0000 1.14 +++ AUTHORS 21 Feb 2008 15:16:23 -0000 1.15 @@ -17,6 +17,7 @@ Carl Henrik Lunde Olivier Ramonat Andrey Slusar +Valery V. Vorotyntsev Milan Zamazal Xavier Maillard |