*** ange-ftp.el 2007/03/09 09:14:19 1.84 --- ange-ftp.el 2008/02/19 19:22:28 1.97 *************** *** 1523,1541 **** (defun ange-ftp-quote-string (string) "Quote any characters in STRING that may confuse the ftp process." ! (apply 'concat ! (mapcar (lambda (char) ! ;; This is said to be wrong; ftp is said to ! ;; need quoting only for ", and that by doubling it. ! ;; But experiment says this kind of quoting is correct ! ;; when talking to ftp on GNU/Linux systems. ! (if (or (<= char ? ) ! (> char ?\~) ! (= char ?\") ! (= char ?\\)) ! (vector ?\\ char) ! (vector char))) ! string))) (defun ange-ftp-barf-if-not-directory (directory) (or (file-directory-p directory) --- 1523,1535 ---- (defun ange-ftp-quote-string (string) "Quote any characters in STRING that may confuse the ftp process." ! ;; This is said to be wrong; ftp is said to need quoting only for ", ! ;; and that by doubling it. But experiment says UNIX-style kind of ! ;; quoting is correct when talking to ftp on GNU/Linux systems, and ! ;; W32-style kind of quoting on, yes, W32 systems. ! (if (stringp string) ! (shell-quote-argument string) ! "")) (defun ange-ftp-barf-if-not-directory (directory) (or (file-directory-p directory) *************** *** 3766,3772 **** (ange-ftp-send-cmd t-host t-user ! (list 'put (or temp2 filename) t-name) (or msg (if (and temp2 f-parsed) (format "Putting %s" newname) --- 3760,3766 ---- (ange-ftp-send-cmd t-host t-user ! (list 'put (or temp2 (ange-ftp-quote-string filename)) t-name) (or msg (if (and temp2 f-parsed) (format "Putting %s" newname)