-;;; riece-rdcc.el --- DCC file sending protocol support (written in Ruby)
+;;; riece-rdcc.el --- DCC file sending protocol support (written in Ruby) -*- lexical-binding: t -*-
;; Copyright (C) 1998-2003 Daiki Ueno
;; Author: Daiki Ueno <ueno@unixuser.org>
(defcustom riece-rdcc-server-address nil
"Local address of the DCC server.
Only used for sending files."
- :type '(choice (string :tag "Address")
- (cons (string :tag "Address") (integer :tag "Port")))
+ :type 'string
+ :group 'riece-rdcc)
+
+(defcustom riece-rdcc-server-port nil
+ "Local port of the DCC server.
+Only used for sending files."
+ :type 'integer
:group 'riece-rdcc)
(defcustom riece-rdcc-send-program
end
")
"Ruby program to send file with DCC."
- :type 'list
+ :type 'sexp
:group 'riece-rdcc)
(defcustom riece-rdcc-decode-address-program
'("\"#{" address " >> 24 & 0xFF}.#{" address " >> 16 & 0xFF}.#{"
address " >> 8 & 0xFF}.#{" address " & 0xFF}\"")
"Ruby program to numeric IP address."
- :type 'list
+ :type 'sexp
:group 'riece-rdcc)
(defcustom riece-rdcc-save-directory nil
(defvar jka-compr-compression-info-list)
(defvar jam-zcat-filename-list)
-(defun riece-rdcc-output-handler (name output time)
+(defun riece-rdcc-output-handler (name output _time)
(if (string-match "\\([0-9]+\\) \\([0-9]+\\)" output)
(let ((address (match-string 1 output))
(port (match-string 2 output)))
(riece-ruby-property name 'riece-rdcc-request-size)))))
(riece-ruby-set-output-handler name #'riece-rdcc-output-handler-2))
-(defun riece-rdcc-output-handler-2 (name output time)
+(defun riece-rdcc-output-handler-2 (name output _time)
(message (riece-mcat "Sending %s...(%s/%d)")
(riece-ruby-property name 'riece-rdcc-request-file)
(string-to-number output)
riece-rdcc-send-program
(list (cons 'address
(if riece-rdcc-server-address
- (if (consp riece-rdcc-server-address)
- (concat "'" (car riece-rdcc-server-address)
- "'")
- (concat "'" riece-rdcc-server-address
- "'"))
+ (concat "'" riece-rdcc-server-address
+ "'")
"nil"))
(cons 'port
- (if (and riece-rdcc-server-address
- (consp riece-rdcc-server-address))
- (number-to-string
- (cdr riece-rdcc-server-address))
+ (if riece-rdcc-server-port
+ (number-to-string riece-rdcc-server-port)
"0"))
(cons 'file
(concat "'" file "'"))
(riece-ruby-set-exit-handler name #'riece-rdcc-exit-handler)))
(defun riece-rdcc-filter (process input)
- (save-excursion
- (set-buffer (process-buffer process))
+ (with-current-buffer (process-buffer process)
(erase-buffer)
(insert input)
(let ((coding-system-for-write 'binary)
(if (= riece-rdcc-received-size riece-rdcc-request-size)
(set-process-filter process nil))))
-(defun riece-rdcc-sentinel (process status)
- (save-excursion
- (set-buffer (process-buffer process))
+(defun riece-rdcc-sentinel (process _status)
+ (with-current-buffer (process-buffer process)
(unless (= riece-rdcc-received-size riece-rdcc-request-size)
(error "Premature end of file"))
(message (riece-mcat "Receiving %s from %s...done")