;;; Code:
+(require 'riece-globals)
+(require 'riece-options)
+
(require 'calc)
(defgroup riece-ndcc nil
(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
(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)
: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))))))
(car (car requests))
(nth 1 (car requests))
(nth 4 (car requests))))
- (setq requests (cdr requests)))))
+ (setq index (1+ index)
+ requests (cdr requests)))))
(let ((number (read-string "Request#: ")))
(unless (string-match "^[0-9]+$" number)
(error "Not a number"))
"DCC" " *DCC*"
(riece-ndcc-decode-address (nth 2 request))
(nth 3 request))))
+ (setq riece-ndcc-requests (delq request riece-ndcc-requests))
(with-current-buffer (process-buffer process)
(set-buffer-multibyte nil)
(buffer-disable-undo)
(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-no-server
- (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)