changeset 106643:9e3bbd77797c

* net/tramp.el (tramp-handle-insert-directory): Quote "'" in the switches. Check also for //SUBDIRED// line.
author Michael Albinus <michael.albinus@gmx.de>
date Sat, 26 Dec 2009 20:04:43 +0000
parents 33320786e55e
children 3e902d81441e
files lisp/ChangeLog lisp/net/tramp.el
diffstat 2 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Dec 26 15:56:43 2009 +0000
+++ b/lisp/ChangeLog	Sat Dec 26 20:04:43 2009 +0000
@@ -1,3 +1,8 @@
+2009-12-26  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-handle-insert-directory): Quote "'" in the
+	switches.  Check also for //SUBDIRED// line.
+
 2009-12-23  Vinicius Jose Latorre  <viniciusjl@ig.com.br>
 
 	* ps-print.el (ps-face-attributes): It was not returning the
--- a/lisp/net/tramp.el	Sat Dec 26 15:56:43 2009 +0000
+++ b/lisp/net/tramp.el	Sat Dec 26 20:04:43 2009 +0000
@@ -38,7 +38,7 @@
 ;;
 ;; This package only works for Emacs 21.1 and higher, and for XEmacs 21.4
 ;; and higher.  For XEmacs 21, you need the package `fsf-compat' for
-;; the `with-timeout' macro.)
+;; the `with-timeout' macro.
 ;;
 ;; Also see the todo list at the bottom of this file.
 ;;
@@ -4079,6 +4079,8 @@
         (setq switches (concat "-d " switches)))
       (when wildcard
         (setq switches (concat switches " " wildcard)))
+      (when (string-match "'" switches)
+	(setq switches (replace-match "\\\\'" nil nil switches)))
       ;; If `full-directory-p', we just say `ls -l FILENAME'.
       ;; Else we chdir to the parent directory, then say `ls -ld BASENAME'.
       (if full-directory-p
@@ -4121,6 +4123,8 @@
 
 	;; Check for "--dired" output.
 	(forward-line -2)
+	(when (looking-at "//SUBDIRED//")
+	  (forward-line -1))
 	(when (looking-at "//DIRED//")
 	  (let ((end (tramp-compat-line-end-position))
 		(linebeg (point)))