Make sure not to move cursor, when the buffer is frozen and selected.
[riece] / lisp / riece-rdcc.el
index 7c0d86d..cf602ff 100644 (file)
 (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
@@ -76,14 +81,14 @@ if session
 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
@@ -148,17 +153,12 @@ end
                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 "'"))
@@ -173,8 +173,7 @@ end
     (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)
@@ -197,8 +196,7 @@ end
        (set-process-filter process nil))))
 
 (defun riece-rdcc-sentinel (process status)
-  (save-excursion
-    (set-buffer (process-buffer process))
+  (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")