* riece-server.el (riece-server-keyword-map): `:coding-system' ->
authorDaiki Ueno <ueno@unixuser.org>
Tue, 3 Jun 2003 00:31:33 +0000 (00:31 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Tue, 3 Jun 2003 00:31:33 +0000 (00:31 +0000)
`:coding'.
(riece-open-server): Follow the change.

* riece-ctcp.el (riece-command-ctcp-action): New command.
(riece-ctcp-insinuate): Bind it in riece-dialogue-mode-map.
(riece-handle-ctcp-action-request): New handler.

* riece.el (riece-command-mode): Enclose status indicators with
`{}'; show riece-user-indicator.
(riece-channel-mode): Likewise.
(riece-dialogue-mode): Enclose status indicators with `{}'.
* riece-globals.el (riece-user-indicator): New indicator.
(riece-freeze-indicator): Default to "-".
* riece-display.el (riece-update-channel-indicator): Don't update
modeline.
(riece-update-status-indicators): Set riece-user-indicator.
* riece-300.el (riece-handle-324-message): Update channel indicator.

lisp/ChangeLog
lisp/riece-300.el
lisp/riece-ctcp.el
lisp/riece-display.el
lisp/riece-globals.el
lisp/riece-server.el
lisp/riece.el

index 92fd4f1..1e64db5 100644 (file)
@@ -1,3 +1,24 @@
+2003-06-03  Daiki Ueno  <ueno@unixuser.org>
+
+       * riece-server.el (riece-server-keyword-map): `:coding-system' ->
+       `:coding'.
+       (riece-open-server): Follow the change.
+
+       * riece-ctcp.el (riece-command-ctcp-action): New command.
+       (riece-ctcp-insinuate): Bind it in riece-dialogue-mode-map.
+       (riece-handle-ctcp-action-request): New handler.
+
+       * riece.el (riece-command-mode): Enclose status indicators with
+       `{}'; show riece-user-indicator.
+       (riece-channel-mode): Likewise.
+       (riece-dialogue-mode): Enclose status indicators with `{}'.
+       * riece-globals.el (riece-user-indicator): New indicator.
+       (riece-freeze-indicator): Default to "-".
+       * riece-display.el (riece-update-channel-indicator): Don't update
+       modeline.
+       (riece-update-status-indicators): Set riece-user-indicator.
+       * riece-300.el (riece-handle-324-message): Update channel indicator.
+
 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
 
        * riece.el (riece-command-mode): Don't set riece-freeze-indicator.
 2003-06-02  Daiki Ueno  <ueno@unixuser.org>
 
        * riece.el (riece-command-mode): Don't set riece-freeze-indicator.
index 5846267..7e2b58c 100644 (file)
           (concat
            (riece-concat-server-name
             (format "Mode for %s: %s" channel mode-string))
           (concat
            (riece-concat-server-name
             (format "Mode for %s: %s" channel mode-string))
-           "\n"))))))
+           "\n")))
+       (riece-update-channel-indicator)
+       (force-mode-line-update t))))
 
 (defun riece-handle-set-topic (prefix number name string remove)
   (if (string-match "^\\([^ ]+\\) :" string)
 
 (defun riece-handle-set-topic (prefix number name string remove)
   (if (string-match "^\\([^ ]+\\) :" string)
index f13a1d6..d86eb42 100644 (file)
@@ -35,7 +35,8 @@
   (add-hook 'riece-privmsg-hook 'riece-handle-ctcp-request)
   (add-hook 'riece-notice-hook 'riece-handle-ctcp-response)
   (define-key riece-dialogue-mode-map "\C-cv" 'riece-command-ctcp-version)
   (add-hook 'riece-privmsg-hook 'riece-handle-ctcp-request)
   (add-hook 'riece-notice-hook 'riece-handle-ctcp-response)
   (define-key riece-dialogue-mode-map "\C-cv" 'riece-command-ctcp-version)
-  (define-key riece-dialogue-mode-map "\C-cp" 'riece-command-ctcp-ping))
+  (define-key riece-dialogue-mode-map "\C-cp" 'riece-command-ctcp-ping)
+  (define-key riece-dialogue-mode-map "\C-ca" 'riece-command-ctcp-action))
 
 (defun riece-handle-ctcp-request (prefix string)
   (when (and prefix string
 
 (defun riece-handle-ctcp-request (prefix string)
   (when (and prefix string
               target))
       "\n"))))
 
               target))
       "\n"))))
 
+(defun riece-handle-ctcp-action-request (prefix target string)
+  (let ((buffer (if (riece-channel-p target)
+                   (cdr (riece-identity-assoc-no-server
+                         (riece-make-identity target)
+                         riece-channel-buffer-alist))))
+       (user (riece-prefix-nickname prefix)))
+    (riece-insert-change buffer (concat user " " string "\n"))
+    (riece-insert-change
+     (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 (concat user " " string)) "\n"))))
+
 (defun riece-handle-ctcp-response (prefix string)
   (when (and prefix string
             (riece-prefix-nickname prefix))
 (defun riece-handle-ctcp-response (prefix string)
   (when (and prefix string
             (riece-prefix-nickname prefix))
   (riece-send-string (format "PRIVMSG %s :\1PING\1\r\n" user))
   (setq riece-ctcp-ping-time (current-time)))
 
   (riece-send-string (format "PRIVMSG %s :\1PING\1\r\n" user))
   (setq riece-ctcp-ping-time (current-time)))
 
+(defun riece-command-ctcp-action (channel action)
+  (interactive
+   (list (if current-prefix-arg
+            (completing-read
+             "Channel/User: "
+             (mapcar #'list riece-current-channels))
+          riece-current-channel)
+        (read-string "Action: ")))
+  (if (equal action "")
+      (error "No action"))
+  (riece-send-string (format "PRIVMSG %s :\1ACTION %s\1\r\n"
+                            (riece-identity-prefix channel)
+                            action))
+  (let ((buffer (cdr (riece-identity-assoc-no-server
+                     (riece-make-identity channel)
+                     riece-channel-buffer-alist))))
+    (riece-insert-change
+     buffer
+     (concat (riece-identity-prefix (riece-current-nickname)) " " action "\n"))
+    (riece-insert-change
+     (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
+       (concat (riece-identity-prefix (riece-current-nickname)) " " action))
+      "\n"))))
+
 (provide 'riece-ctcp)
 
 (provide 'riece-ctcp)
 
-;;; riece-ctcp.el ends here
\ No newline at end of file
+;;; riece-ctcp.el ends here
index ee9c090..6da4df6 100644 (file)
                 (concat riece-current-channel ": "
                         (riece-channel-get-topic riece-current-channel))
               riece-current-channel))
                 (concat riece-current-channel ": "
                         (riece-channel-get-topic riece-current-channel))
               riece-current-channel))
-         "None"))
-  (with-current-buffer riece-command-buffer
-    (force-mode-line-update)))
+         "None")))
 
 (defun riece-update-channel-list-indicator ()
   (if (and riece-current-channels
 
 (defun riece-update-channel-list-indicator ()
   (if (and riece-current-channels
     (setq riece-channel-list-indicator "No channel")))
 
 (defun riece-update-status-indicators ()
     (setq riece-channel-list-indicator "No channel")))
 
 (defun riece-update-status-indicators ()
-  (riece-with-server-buffer
-   (setq riece-away-indicator
-        (if (and riece-real-nickname
-                 (riece-user-get-away riece-real-nickname))
-            "A"
-          "-"))
-   (setq riece-operator-indicator
-        (if (and riece-real-nickname
-                 (riece-user-get-operator riece-real-nickname))
-            "O"
-          "-")))
+  (with-current-buffer riece-command-buffer
+    (riece-with-server-buffer
+     (setq riece-away-indicator
+          (if (and riece-real-nickname
+                   (riece-user-get-away riece-real-nickname))
+              "A"
+            "-")
+          riece-operator-indicator
+          (if (and riece-real-nickname
+                   (riece-user-get-operator riece-real-nickname))
+              "O"
+            "-")
+          riece-user-indicator riece-real-nickname)))
   (setq riece-freeze-indicator
        (with-current-buffer (if (and riece-channel-buffer-mode
                                      riece-channel-buffer)
   (setq riece-freeze-indicator
        (with-current-buffer (if (and riece-channel-buffer-mode
                                      riece-channel-buffer)
index fbba31b..6c77e86 100644 (file)
@@ -116,11 +116,11 @@ Local to the channel buffers.")
   "A modeline indicator of the current channel.")
 (defvar riece-channel-list-indicator "No channel"
   "The current joined channels, \"pretty-printed.\".")
   "A modeline indicator of the current channel.")
 (defvar riece-channel-list-indicator "No channel"
   "The current joined channels, \"pretty-printed.\".")
+(defvar riece-user-indicator nil)
 
 (defvar riece-away-indicator "-")
 (defvar riece-operator-indicator "-")
 
 (defvar riece-away-indicator "-")
 (defvar riece-operator-indicator "-")
-(defvar riece-freeze-indicator nil)
-(defvar riece-own-freeze-indicator nil)
+(defvar riece-freeze-indicator "-")
 
 ;;; Buffers:
 (defvar riece-command-buffer "*Commands*"
 
 ;;; Buffers:
 (defvar riece-command-buffer "*Commands*"
index 0bb1eaa..9a47c35 100644 (file)
@@ -39,7 +39,7 @@
       (:username riece-username)
       (:password)
       (:function #'open-network-stream)
       (:username riece-username)
       (:password)
       (:function #'open-network-stream)
-      (:coding-system riece-default-coding-system))
+      (:coding riece-default-coding-system))
     "Mapping from keywords to default values.
 All keywords that can be used must be listed here."))
 
     "Mapping from keywords to default values.
 All keywords that can be used must be listed here."))
 
@@ -138,7 +138,7 @@ the `riece-server-keyword-map' variable."
       (with-current-buffer (process-buffer process)
        (setq riece-last-nickname riece-real-nickname
              riece-nick-accepted 'sent
       (with-current-buffer (process-buffer process)
        (setq riece-last-nickname riece-real-nickname
              riece-nick-accepted 'sent
-             riece-coding-system coding-system))
+             riece-coding-system coding))
       (if server-name
          (setq riece-server-process-alist
                (cons (cons server-name process)
       (if server-name
          (setq riece-server-process-alist
                (cons (cons server-name process)
index ac3c37d..70f069b 100644 (file)
@@ -296,9 +296,14 @@ For a list of the generic commands type \\[riece-command-generic] ? RET.
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
+          "{"
           riece-away-indicator
           riece-operator-indicator
           riece-away-indicator
           riece-operator-indicator
-          "-- " riece-current-channel " " riece-real-nickname)))
+          riece-freeze-indicator
+          "} "
+          riece-user-indicator
+          " "
+          riece-channel-indicator)))
   (riece-simplify-mode-line-format)
   (use-local-map riece-command-mode-map)
 
   (riece-simplify-mode-line-format)
   (use-local-map riece-command-mode-map)
 
@@ -331,11 +336,12 @@ Instead, these commands are available:
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
+          "{"
           riece-away-indicator
           riece-operator-indicator
           riece-freeze-indicator
           riece-away-indicator
           riece-operator-indicator
           riece-freeze-indicator
-          riece-own-freeze-indicator
-          " " riece-channel-list-indicator " "))
+          "} "
+          riece-channel-list-indicator " "))
        buffer-read-only t
        tab-stop-list riece-tab-stop-list)
   (riece-update-status-indicators)
        buffer-read-only t
        tab-stop-list riece-tab-stop-list)
   (riece-update-status-indicators)
@@ -361,10 +367,12 @@ Instead, these commands are available:
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
        (riece-mode-line-buffer-identification
         '("Riece: "
           mode-line-modified
+          "{"
           riece-away-indicator
           riece-operator-indicator
           riece-freeze-indicator
           riece-away-indicator
           riece-operator-indicator
           riece-freeze-indicator
-          riece-own-freeze-indicator
+          "} "
+          riece-user-indicator
           " "
           riece-channel-indicator))))
 
           " "
           riece-channel-indicator))))
 
@@ -389,7 +397,7 @@ Instead, these commands are available:
   (kill-all-local-variables)
   (setq mode-line-modified "--- "
         major-mode 'riece-user-list-mode
   (kill-all-local-variables)
   (setq mode-line-modified "--- "
         major-mode 'riece-user-list-mode
-        mode-name "Riece Channel member"
+        mode-name "User list"
        mode-line-buffer-identification
        (riece-mode-line-buffer-identification
         '("Riece: " riece-channel-indicator " "))
        mode-line-buffer-identification
        (riece-mode-line-buffer-identification
         '("Riece: " riece-channel-indicator " "))
@@ -413,8 +421,7 @@ Instead, these commands are available:
 
 (defun riece-load-and-build-addon-dependencies (addons)
   (let ((load-path (cons riece-addon-directory load-path))
 
 (defun riece-load-and-build-addon-dependencies (addons)
   (let ((load-path (cons riece-addon-directory load-path))
-       dependencies
-       pointer)
+       dependencies)
     (while addons
       (require (car addons))           ;error will be reported here
       (let* ((requires
     (while addons
       (require (car addons))           ;error will be reported here
       (let* ((requires