# HG changeset patch # User Michael Albinus # Date 1123621239 0 # Node ID 15e2ef5c7c16caa7ed14905286f04d9919a47342 # Parent 7a8556a711934e2c259915dc0fd3843021ef8570 * lisp/net/ange-ftp.el (ange-ftp-send-cmd): Make it work properly with uploading files. (ange-ftp-canonize-filename): Handle file names beginning with ~ correctly. diff -r 7a8556a71193 -r 15e2ef5c7c16 lisp/ChangeLog --- a/lisp/ChangeLog Tue Aug 09 20:38:35 2005 +0000 +++ b/lisp/ChangeLog Tue Aug 09 21:00:39 2005 +0000 @@ -1,3 +1,10 @@ +2005-08-09 Katsumi Yamaoka (tiny change) + + * net/ange-ftp.el (ange-ftp-send-cmd): Make it work properly with + uploading files. + (ange-ftp-canonize-filename): Handle file names beginning with ~ + correctly. + 2005-08-09 Juanma Barranquero * textmodes/fill.el (canonically-space-region) @@ -23,7 +30,7 @@ 2005-08-09 Magnus Henoch * textmodes/ispell.el (ispell-find-aspell-dictionaries): New command. - (ispell-have-aspell-dictionaries): New variable. + (ispell-have-aspell-dictionaries): New variable. (ispell-aspell-data-dir, ispell-aspell-dict-dir): New variables. (ispell-get-aspell-config-value): New function. (ispell-aspell-find-dictionary): New function. @@ -31,7 +38,7 @@ (ispell-valid-dictionary-list): Call ispell-find-aspell-dictionaries if appropriate. Don't look for ispell dictionaries if we use aspell. (ispell-menu-map): Don't build a submenu of dictionaries. - + 2005-08-09 Richard M. Stallman * progmodes/sql.el (sql-interactive-mode-map): Use fboundp. diff -r 7a8556a71193 -r 15e2ef5c7c16 lisp/net/ange-ftp.el --- a/lisp/net/ange-ftp.el Tue Aug 09 20:38:35 2005 +0000 +++ b/lisp/net/ange-ftp.el Tue Aug 09 21:00:39 2005 +0000 @@ -2328,8 +2328,13 @@ ;; We cd and then use `ls' with no directory argument. ;; This works around a misfeature of some versions of netbsd ftpd. (unless (equal cmd1 ".") - (setq result (ange-ftp-cd host user (nth 1 cmd) 'noerror))) - (setq cmd1 cmd3))) + (setq result (ange-ftp-cd host user + ;; Make sure the target to which + ;; `cd' is performed is a directory. + (file-name-directory (nth 1 cmd)) + 'noerror))) + ;; Concatenate the switches and the target to be used with `ls'. + (setq cmd1 (concat "\"" cmd3 " " cmd1 "\"")))) ;; First argument is the remote name ((progn @@ -3122,8 +3127,12 @@ (rest (substring name (match-end 0))) (dir (ange-ftp-expand-dir host user tilda))) (if dir - (setq name (if (string-equal dir "/") - rest (concat dir rest))) + (setq name (cond ((string-equal rest "") + dir) + ((string-equal dir "/") + rest) + (t + (concat dir rest)))) (error "User \"%s\" is not known" (substring tilda 1)))))