summaryrefslogtreecommitdiff
path: root/jabber-muc.el
diff options
context:
space:
mode:
authorMagnus Henoch <mange@freemail.hu>2008-05-18 12:13:57 +0000
committerKirill A. Korinskiy <catap@catap.ru>2008-05-18 12:13:57 +0000
commitdeb35ae20e42cb86480849fe818f3a5bb7e26b6b (patch)
tree005af8d8471a1e050df312952631ea6b5cddf241 /jabber-muc.el
parent9faa17c059ca32e77fb4b19c5fb081548ad2bb04 (diff)
Revision: mange@freemail.hu--2005/emacs-jabber--cvs-head--0--patch-504
Creator: Magnus Henoch <mange@freemail.hu> Read MUC nickname and password from bookmarks
Diffstat (limited to 'jabber-muc.el')
-rw-r--r--jabber-muc.el14
1 files changed, 8 insertions, 6 deletions
diff --git a/jabber-muc.el b/jabber-muc.el
index b00b17d..64de966 100644
--- a/jabber-muc.el
+++ b/jabber-muc.el
@@ -408,7 +408,7 @@ groupchat buffer."
(interactive
(let ((account (jabber-read-account))
(group (jabber-read-jid-completing "group: ")))
- (list account group (jabber-muc-read-my-nickname group (plist-get (fsm-get-state-data account) :username)) t)))
+ (list account group (jabber-muc-read-my-nickname account group) t)))
;; If the user is already in the room, we don't need as many checks.
(if (or (assoc group *jabber-active-groupchats*)
@@ -450,7 +450,9 @@ groupchat buffer."
(let ((password
;; Is the room password-protected?
(when (member "muc_passwordprotected" features)
- (read-passwd (format "Password for %s: " (jabber-jid-displayname group))))))
+ (or
+ (jabber-get-conference-data jc group nil :password)
+ (read-passwd (format "Password for %s: " (jabber-jid-displayname group)))))))
(jabber-groupchat-join-3 jc group nickname password popup)))))
@@ -479,12 +481,12 @@ groupchat buffer."
(let ((buffer (jabber-muc-create-buffer jc group)))
(switch-to-buffer buffer))))
-(defun jabber-muc-read-my-nickname (group default)
+(defun jabber-muc-read-my-nickname (jc group)
"Read nickname for joining GROUP."
(let ((default-nickname (or
- ;; XXX: use bookmarks
+ (jabber-get-conference-data jc group nil :nick)
(cdr (assoc group jabber-muc-default-nicknames))
- default)))
+ (plist-get (fsm-get-state-data jc) :username))))
(jabber-read-with-input-method (format "Nickname: (default %s) "
default-nickname)
nil nil default-nickname)))
@@ -647,7 +649,7 @@ group, else it is a JID."
(let ((action
`(lambda (&rest ignore) (interactive)
(jabber-groupchat-join jabber-buffer-connection ,group
- (jabber-muc-read-my-nickname ,group ,(plist-get (fsm-get-state-data jabber-buffer-connection) :username))))))
+ (jabber-muc-read-my-nickname ,jabber-buffer-connection ,group)))))
(if (fboundp 'insert-button)
(insert-button "Accept"
'action action)