* riece-ctlseq.el: Require 'riece-message for riece-message-text;
[riece] / lisp / riece-ndcc.el
index 74b6375..10efdc4 100644 (file)
@@ -23,6 +23,9 @@
 
 ;;; Code:
 
+(require 'riece-globals)
+(require 'riece-options)
+
 (require 'calc)
 
 (defgroup riece-ndcc nil
@@ -71,7 +74,6 @@ Only used for sending files."
               (substring (process-name process) 0 (match-beginning 0)))))
       (save-excursion
        (set-buffer (process-buffer (get-process parent-name)))
-       (delete-process parent-name)
        (goto-char (point-min))
        (while (not (eobp))
          (process-send-region process
@@ -80,18 +82,18 @@ Only used for sending files."
          (message "Sending %s...(%d/%d)"
                   (buffer-file-name) (1- (point)) (buffer-size)))
        (message "Sending %s...done"
-                (buffer-file-name))))
-    (kill-buffer (process-buffer process))
-    (delete-process process)))
+                (buffer-file-name)))
+      (kill-buffer (process-buffer (get-process parent-name))))
+    (kill-buffer (process-buffer process))))
 
 (defun riece-command-dcc-send (user file)
   (interactive
    (let ((completion-ignore-case t))
      (unless riece-ndcc-server-address
        (error "Set riece-ndcc-server-address to your host"))
-     (list (completing-read
+     (list (riece-completing-read-identity
            "User: "
-           (mapcar #'list (riece-get-users-on-server)))
+           (riece-get-users-on-server (riece-current-server-name)))
           (expand-file-name (read-file-name "File: ")))))
   (let* (selective-display
         (coding-system-for-read 'binary)
@@ -108,7 +110,8 @@ Only used for sending files."
                                        :sentinel 'riece-ndcc-server-sentinel))
     (riece-send-string
      (format "PRIVMSG %s :\1DCC SEND %s %s %d %d\1\r\n"
-            user (file-name-nondirectory file)
+            (riece-identity-prefix user)
+            (file-name-nondirectory file)
             (riece-ndcc-encode-address riece-ndcc-server-address)
             (nth 1 (process-contact process))
             (nth 7 (file-attributes file))))))
@@ -170,7 +173,7 @@ Only used for sending files."
                   "DCC" " *DCC*"
                   (riece-ndcc-decode-address (nth 2 request))
                   (nth 3 request))))
-    (setq riece-rdcc-requests (delq request riece-rdcc-requests))
+    (setq riece-ndcc-requests (delq request riece-ndcc-requests))
     (with-current-buffer (process-buffer process)
       (set-buffer-multibyte nil)
       (buffer-disable-undo)
@@ -192,9 +195,8 @@ Only used for sending files."
            (port (string-to-number (match-string 3 message)))
            (size (string-to-number (match-string 4 message)))
            (buffer (if (riece-channel-p target)
-                       (cdr (riece-identity-assoc
-                             (riece-make-identity target)
-                             riece-channel-buffer-alist))))
+                       (riece-channel-buffer (riece-make-identity
+                                              target riece-server-name))))
            (user (riece-prefix-nickname prefix)))
        (setq riece-ndcc-requests
              (cons (list user file address port size)