-> 'riece-naming-assert-join.
(riece-naming-assert-part): Rename signal 'part ->
'riece-naming-assert-part.
(riece-naming-assert-rename): Rename signal 'rename ->
'riece-naming-assert-rename.
(riece-naming-assert-channel-users): Rename from
riece-naming-assert-users; rename signal 'users ->
'riece-naming-assert-channel-users.
* riece-handle.el (riece-handle-topic-message): Emit
'riece-channel-set-topic signal.
(riece-parse-channel-modes): Emit 'riece-channel-toggle-operator,
'riece-channel-toggle-speaker, and 'riece-channel-toggle-modes signals.
* riece-display.el (riece-display-connect-signals): Rename some
signals; connect more signals.
* riece-300.el (riece-handle-302-message): Emit
'riece-user-toggle-away, and 'riece-user-toggle-operator signals;
don't update status indicators manually.
(riece-handle-301-message): Emit 'riece-user-toggle-away signal;
don't update status indicators manually.
(riece-handle-305-message): Ditto.
(riece-handle-306-message): Ditto.
(riece-handle-353-message): Follow the name change of
riece-naming-assert-users.
(riece-handle-324-message): Emit 'riece-channel-toggle-modes
signal; don't update status indicators manually.
(riece-handle-set-topic): Emit 'riece-channel-set-topic signal;
don't update channel indicator manually.
(riece-handle-352-message): Emit 'riece-user-toggle-away, and
'riece-user-toggle-operator signals; don't update status
indicators manually.
2004-02-27 Daiki Ueno <ueno@unixuser.org>
+ * riece-naming.el (riece-naming-assert-join): Rename signal 'join
+ -> 'riece-naming-assert-join.
+ (riece-naming-assert-part): Rename signal 'part ->
+ 'riece-naming-assert-part.
+ (riece-naming-assert-rename): Rename signal 'rename ->
+ 'riece-naming-assert-rename.
+ (riece-naming-assert-channel-users): Rename from
+ riece-naming-assert-users; rename signal 'users ->
+ 'riece-naming-assert-channel-users.
+
+ * riece-handle.el (riece-handle-topic-message): Emit
+ 'riece-channel-set-topic signal.
+ (riece-parse-channel-modes): Emit 'riece-channel-toggle-operator,
+ 'riece-channel-toggle-speaker, and 'riece-channel-toggle-modes signals.
+
+ * riece-display.el (riece-display-connect-signals): Rename some
+ signals; connect more signals.
+
+ * riece-300.el (riece-handle-302-message): Emit
+ 'riece-user-toggle-away, and 'riece-user-toggle-operator signals;
+ don't update status indicators manually.
+ (riece-handle-301-message): Emit 'riece-user-toggle-away signal;
+ don't update status indicators manually.
+ (riece-handle-305-message): Ditto.
+ (riece-handle-306-message): Ditto.
+ (riece-handle-353-message): Follow the name change of
+ riece-naming-assert-users.
+ (riece-handle-324-message): Emit 'riece-channel-toggle-modes
+ signal; don't update status indicators manually.
+ (riece-handle-set-topic): Emit 'riece-channel-set-topic signal;
+ don't update channel indicator manually.
+ (riece-handle-352-message): Emit 'riece-user-toggle-away, and
+ 'riece-user-toggle-operator signals; don't update status
+ indicators manually.
+
+2004-02-27 Daiki Ueno <ueno@unixuser.org>
+
* riece-display.el (riece-connect-signal): Create slot object
internally.
(if operator
(setq status (cons "operator" status)))
(riece-user-toggle-away user away)
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-away
+ (riece-make-identity
+ user
+ riece-server-name)
+ away))
(riece-user-toggle-operator user operator)
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-operator
+ (riece-make-identity
+ user
+ riece-server-name)
+ operator))
(riece-insert-info
(list riece-dialogue-buffer riece-others-buffer)
(concat
t)
(riece-strip-user-at-host user-at-host))))
"\n"))))
- (setq replies (cdr replies)))
- (riece-update-status-indicators)
- (force-mode-line-update t)))
+ (setq replies (cdr replies)))))
(defun riece-handle-303-message (prefix number name string)
(riece-insert-info
(let ((user (match-string 1 string))
(message (substring string (match-end 0))))
(riece-user-toggle-away user t)
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-away
+ (riece-make-identity
+ user
+ riece-server-name)
+ t))
(riece-insert-info
(list riece-dialogue-buffer riece-others-buffer)
(concat
(riece-make-identity user riece-server-name)
t)
message))
- "\n"))))
- (riece-update-status-indicators)
- (force-mode-line-update t))
+ "\n")))))
(defun riece-handle-305-message (prefix number name string)
(riece-user-toggle-away riece-real-nickname nil)
- (riece-update-status-indicators)
- (force-mode-line-update t))
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-away
+ (riece-make-identity
+ riece-real-nickname
+ riece-server-name)
+ nil)))
(defun riece-handle-306-message (prefix number name string)
(riece-user-toggle-away riece-real-nickname t)
- (riece-update-status-indicators)
- (force-mode-line-update t))
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-away
+ (riece-make-identity
+ riece-real-nickname
+ riece-server-name)
+ t)))
(defun riece-handle-311-message (prefix number name string)
(if (string-match
(list (match-string 2 string) ?v)))
(list (match-string 2 string)))
users (cons user users)))
- (riece-naming-assert-names (nreverse users) channel)
+ (riece-naming-assert-channel-users (nreverse users) channel)
(let* ((channel-identity (riece-make-identity channel
riece-server-name))
(buffer (riece-channel-buffer channel-identity)))
(while modes
(riece-channel-toggle-mode channel (car modes) (eq toggle ?+))
(setq modes (cdr modes)))
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-toggle-modes
+ (riece-make-identity
+ channel
+ riece-server-name)
+ modes (eq toggle ?+)))
(let* ((channel-identity (riece-make-identity channel
riece-server-name))
(buffer (riece-channel-buffer channel-identity)))
(format "Mode for %s: %s"
(riece-format-identity channel-identity t)
mode-string))
- "\n")))
- (riece-update-channel-indicator)
- (force-mode-line-update t))))
+ "\n"))))))
(defun riece-handle-set-topic (prefix number name string remove)
(if (string-match "^\\([^ ]+\\) :" string)
(if remove
(riece-channel-set-topic (riece-get-channel channel) nil)
(riece-channel-set-topic (riece-get-channel channel) message)
- (riece-insert-info buffer (concat "Topic: " message "\n"))
- (riece-insert-info
- (if (and riece-channel-buffer-mode
- (not (eq buffer riece-channel-buffer)))
- (list riece-dialogue-buffer riece-others-buffer)
- riece-dialogue-buffer)
- (concat
- (riece-concat-server-name
- (format "Topic for %s: %s"
- (riece-format-identity channel-identity t)
- message))
- "\n"))
- (riece-update-channel-indicator)))))
+ (riece-insert-info buffer (concat "Topic: " message "\n"))
+ (riece-insert-info
+ (if (and riece-channel-buffer-mode
+ (not (eq buffer riece-channel-buffer)))
+ (list riece-dialogue-buffer riece-others-buffer)
+ riece-dialogue-buffer)
+ (concat
+ (riece-concat-server-name
+ (format "Topic for %s: %s"
+ (riece-format-identity channel-identity t)
+ message))
+ "\n")))
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-set-topic
+ channel-identity
+ (unless remove
+ message))))))
(defun riece-handle-331-message (prefix number name string)
(riece-handle-set-topic prefix number name string t))
(setq status (nreverse status)))
(riece-naming-assert-join nick channel)
(riece-user-toggle-away user away)
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-away
+ (riece-make-identity
+ user
+ riece-server-name)
+ away))
(riece-user-toggle-operator user operator)
+ (riece-emit-signal (riece-make-signal
+ 'riece-user-toggle-operator
+ (riece-make-identity
+ user
+ riece-server-name)
+ operator))
(riece-insert-info buffer (concat (riece-concat-user-status
status info)
"\n"))
(defun riece-display-connect-signals ()
(riece-connect-signal
- 'switch-to-channel
+ 'riece-switch-to-channel
(lambda (signal handback)
(riece-update-status-indicators)
(riece-update-channel-indicator)
(riece-update-long-channel-indicator)
+ (force-mode-line-update t)
(save-excursion
(set-buffer riece-user-list-buffer)
(run-hooks 'riece-update-buffer-functions))
(save-excursion
(riece-redraw-layout))))
(riece-connect-signal
- 'names
+ 'riece-naming-assert-channel-users
(lambda (signal handback)
(save-excursion
(set-buffer riece-user-list-buffer)
(run-hooks 'riece-update-buffer-functions))))
(riece-connect-signal
- 'join
+ 'riece-naming-assert-join
(lambda (signal handback)
(save-excursion
(set-buffer riece-user-list-buffer)
(not (riece-identity-equal (car (riece-signal-args signal))
(riece-current-nickname))))))
(riece-connect-signal
- 'part
+ 'riece-naming-assert-part
(lambda (signal handback)
(save-excursion
(set-buffer riece-user-list-buffer)
(not (riece-identity-equal (car (riece-signal-args signal))
(riece-current-nickname))))))
(riece-connect-signal
- 'rename
+ 'riece-naming-assert-rename
(lambda (signal handback)
(save-excursion
(set-buffer riece-user-list-buffer)
riece-current-channel))
t)))))
(riece-connect-signal
- 'rename
+ 'riece-naming-assert-rename
(lambda (signal handback)
(riece-update-status-indicators)
- (riece-update-channel-indicator))
+ (riece-update-channel-indicator)
+ (force-mode-line-update t))
+ (lambda (signal)
+ (riece-identity-equal (nth 1 (riece-signal-args signal))
+ (riece-current-nickname))))
+ (riece-connect-signal
+ 'riece-user-toggle-away
+ (lambda (signal handback)
+ (riece-update-status-indicators)
+ (force-mode-line-update t))
+ (lambda (signal)
+ (riece-identity-equal (nth 1 (riece-signal-args signal))
+ (riece-current-nickname))))
+ (riece-connect-signal
+ 'riece-user-toggle-operator
+ (lambda (signal handback)
+ (riece-update-status-indicators)
+ (force-mode-line-update t))
(lambda (signal)
(riece-identity-equal (nth 1 (riece-signal-args signal))
- (riece-current-nickname)))))
+ (riece-current-nickname))))
+ (riece-connect-signal
+ 'riece-channel-set-topic
+ (lambda (signal handback)
+ (riece-update-long-channel-indicator)
+ (force-mode-line-update t))
+ (lambda (signal)
+ (riece-identity-equal (car (riece-signal-args signal))
+ riece-current-channel)))
+ (riece-connect-signal
+ 'riece-channel-toggle-modes
+ (lambda (signal handback)
+ (riece-update-status-indicators)
+ (force-mode-line-update t))
+ (lambda (signal)
+ (riece-identity-equal (car (riece-signal-args signal))
+ riece-current-channel)))
+ (riece-connect-signal
+ 'riece-channel-toggle-operator
+ (lambda (signal handback)
+ (save-excursion
+ (set-buffer riece-user-list-buffer)
+ (run-hooks 'riece-update-buffer-functions)))
+ (lambda (signal)
+ (riece-identity-equal (car (riece-signal-args signal))
+ riece-current-channel)))
+ (riece-connect-signal
+ 'riece-channel-toggle-speaker
+ (lambda (signal handback)
+ (save-excursion
+ (set-buffer riece-user-list-buffer)
+ (run-hooks 'riece-update-buffer-functions)))
+ (lambda (signal)
+ (riece-identity-equal (car (riece-signal-args signal))
+ riece-current-channel))))
(defun riece-update-user-list-buffer ()
(save-excursion
(setq riece-current-channel identity
riece-channel-buffer (riece-channel-buffer riece-current-channel))
(run-hook-with-args 'riece-after-switch-to-channel-functions last)
- (riece-emit-signal (riece-make-signal 'switch-to-channel))))
+ (riece-emit-signal (riece-make-signal 'riece-switch-to-channel))))
(defun riece-join-channel (identity)
(unless (riece-identity-member identity riece-current-channels)
(let ((last riece-current-channel))
(run-hook-with-args 'riece-after-switch-to-channel-functions last)
(setq riece-current-channel nil)
- (riece-emit-signal (riece-make-signal 'switch-to-channel))))))
+ (riece-emit-signal (riece-make-signal 'riece-switch-to-channel))))))
(defun riece-part-channel (identity)
(let ((pointer (riece-identity-member identity riece-current-channels)))
(user-identity (riece-make-identity user riece-server-name))
(channel-identity (riece-make-identity channel riece-server-name)))
(riece-channel-set-topic (riece-get-channel channel) topic)
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-set-topic
+ channel-identity
+ topic))
(let ((buffer (riece-channel-buffer channel-identity)))
(riece-insert-change
buffer
(cond
((eq (car modes) ?o)
(riece-channel-toggle-operator channel parameter
- (eq toggle ?+)))
+ (eq toggle ?+))
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-toggle-operator
+ (riece-make-identity
+ channel
+ riece-server-name)
+ (riece-make-identity
+ parameter
+ riece-server-name)
+ (eq toggle ?+))))
((eq (car modes) ?v)
(riece-channel-toggle-speaker channel parameter
- (eq toggle ?+)))
+ (eq toggle ?+))
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-toggle-speaker
+ (riece-make-identity
+ channel
+ riece-server-name)
+ (riece-make-identity
+ parameter
+ riece-server-name)
+ (eq toggle ?+))))
((eq (car modes) ?b)
(riece-channel-toggle-banned channel parameter
(eq toggle ?+)))
(eq toggle ?+)))))
(riece-channel-toggle-mode channel (car modes)
(eq toggle ?+)))
- (setq modes (cdr modes))))))
+ (setq modes (cdr modes)))
+ (riece-emit-signal (riece-make-signal
+ 'riece-channel-toggle-modes
+ (riece-make-identity
+ channel
+ riece-server-name)
+ modes toggle)))))
(defun riece-handle-mode-message (prefix string)
(let* ((user (riece-prefix-nickname prefix))
(riece-join-channel channel-identity)
(riece-switch-to-channel channel-identity)
(setq riece-join-channel-candidate nil))
- (riece-emit-signal (riece-make-signal 'join
+ (riece-emit-signal (riece-make-signal 'riece-naming-assert-join
user-identity
channel-identity))))
riece-server-name)))
(if (riece-identity-equal-no-server user-name riece-real-nickname)
(riece-part-channel channel-identity))
- (riece-emit-signal (riece-make-signal 'part
+ (riece-emit-signal (riece-make-signal 'riece-naming-assert-part
user-identity
channel-identity))))
riece-channel-buffer-alist))))
(if (riece-identity-equal old-identity riece-current-channel)
(riece-switch-to-channel new-identity)))
- (riece-emit-signal (riece-make-signal 'rename old-identity new-identity))))
+ (riece-emit-signal (riece-make-signal 'riece-naming-assert-rename
+ old-identity new-identity))))
-(defun riece-naming-assert-names (users channel-name)
+(defun riece-naming-assert-channel-users (users channel-name)
(let ((channel-identity (riece-make-identity channel-name
riece-server-name))
user-identity-list)
(riece-user-toggle-channel (car (car users)) channel-name t)
(riece-channel-toggle-user channel-name (car (car users)) t)
(if (memq ?o (cdr (car users)))
- (riece-channel-toggle-operator channel-name
- (car (car users))
- t)
+ (riece-channel-toggle-operator channel-name (car (car users)) t)
(if (memq ?v (cdr (car users)))
- (riece-channel-toggle-speaker channel-name
- (car (car users))
- t)))
+ (riece-channel-toggle-speaker channel-name (car (car users)) t)
+ (riece-channel-toggle-operator channel-name (car (car users)) nil)
+ (riece-channel-toggle-speaker channel-name (car (car users)) nil)))
(setq user-identity-list
- (cons (riece-make-identity (car (car users))
- riece-server-name)
+ (cons (cons (riece-make-identity (car (car users))
+ riece-server-name)
+ (cdr (car users)))
user-identity-list))
(when (riece-identity-equal-no-server (car (car users))
riece-real-nickname)
(riece-switch-to-channel channel-identity)
(setq riece-join-channel-candidate nil))
(setq users (cdr users)))
- (riece-emit-signal (riece-make-signal 'names
+ (riece-emit-signal (riece-make-signal 'riece-naming-assert-channel-users
(nreverse user-identity-list)
channel-identity))))