From: Glenn Morris Date: Fri, 16 Aug 2013 07:13:48 +0000 (-0700) Subject: * lisp/net/ange-ftp.el (ange-ftp-good-msgs, ange-ftp-get-pwd): X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1686^2~208 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e8bedf5a8836cdcb74b881eadba12564ca8de9ef;p=emacs.git * lisp/net/ange-ftp.el (ange-ftp-good-msgs, ange-ftp-get-pwd): Handle "Remote Directory" response of some clients. Fixes: debbugs:15058 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c35252b184c..9e77d51c815 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2013-08-16 Glenn Morris + * net/ange-ftp.el (ange-ftp-good-msgs, ange-ftp-get-pwd): + Handle "Remote Directory" response of some clients. (Bug#15058) + * emacs-lisp/bytecomp.el (byte-compile-make-variable-buffer-local): Tweak warning. (Bug#14926) diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index c3adb7208e9..b8e279be91b 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -1,7 +1,6 @@ ;;; ange-ftp.el --- transparent FTP support for GNU Emacs -;; Copyright (C) 1989-1996, 1998, 2000-2013 Free Software Foundation, -;; Inc. +;; Copyright (C) 1989-1996, 1998, 2000-2013 Free Software Foundation, Inc. ;; Author: Andy Norman (ange@hplb.hpl.hp.com) ;; Maintainer: FSF @@ -700,7 +699,7 @@ parenthesized expressions in REGEXP for the components (in that order)." "Regular expression matching the start of a multiline FTP reply.") (defvar ange-ftp-good-msgs - "^220 \\|^230 \\|^226 \\|^25. \\|^221 \\|^200 \\|^[Hh]ash mark" + "^220 \\|^230 \\|^226 \\|^25. \\|^221 \\|^200 \\|^[Hh]ash mark\\|^Remote directory:" "Regular expression matching FTP \"success\" messages.") ;; CMS and the odd VMS machine say 200 Port rather than 200 PORT. @@ -3021,6 +3020,9 @@ and LINE is the relevant success or fail line from the FTP-client." (if (car result) (save-match-data (and (or (string-match "\"\\([^\"]*\\)\"" line) + ;; Some clients cache the value and return it in + ;; this way without asking the server. (Bug#15058) + (string-match "^Remote directory: \\(.*\\)" line) (string-match " \\([^ ]+\\) " line)) ; stone-age VMS servers! (setq dir (match-string 1 line))))) (cons dir line)))