changeset 109738:9d0afaf75d12

* net/tramp.el (tramp-vc-registered-read-file-names): Read input as here-document, otherwise the command could exceed maximum length of command line. (tramp-handle-vc-registered): Call script accordingly. Reported by Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>.
author Michael Albinus <michael.albinus@gmx.de>
date Tue, 10 Aug 2010 11:58:15 +0200
parents 997eb61c5b49
children 405e0ceb00e2
files lisp/ChangeLog lisp/net/tramp.el
diffstat 2 files changed, 16 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Aug 10 10:25:16 2010 +0900
+++ b/lisp/ChangeLog	Tue Aug 10 11:58:15 2010 +0200
@@ -1,3 +1,11 @@
+2010-08-10  Michael Albinus  <michael.albinus@gmx.de>
+
+	* net/tramp.el (tramp-vc-registered-read-file-names): Read input
+	as here-document, otherwise the command could exceed maximum
+	length of command line.
+	(tramp-handle-vc-registered): Call script accordingly.  Reported
+	by Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>.
+
 2010-08-10  Kenichi Handa  <handa@m17n.org>
 
 	* language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the
--- a/lisp/net/tramp.el	Tue Aug 10 10:25:16 2010 +0900
+++ b/lisp/net/tramp.el	Tue Aug 10 11:58:15 2010 +0200
@@ -1983,13 +1983,13 @@
 
 (defconst tramp-vc-registered-read-file-names
   "echo \"(\"
-for file in \"$@\"; do
-    if %s $file; then
+while read file; do
+    if %s \"$file\"; then
 	echo \"(\\\"$file\\\" \\\"file-exists-p\\\" t)\"
     else
 	echo \"(\\\"$file\\\" \\\"file-exists-p\\\" nil)\"
     fi
-    if %s $file; then
+    if %s \"$file\"; then
 	echo \"(\\\"$file\\\" \\\"file-readable-p\\\" t)\"
     else
 	echo \"(\\\"$file\\\" \\\"file-readable-p\\\" nil)\"
@@ -1998,7 +1998,9 @@
 echo \")\""
   "Script to check existence of VC related files.
 It must be send formatted with two strings; the tests for file
-existence, and file readability.")
+existence, and file readability.  Input shall be read via
+here-document, otherwise the command could exceed maximum length
+of command line.")
 
 (defconst tramp-file-mode-type-map
   '((0  . "-")  ; Normal file (SVID-v2 and XPG2)
@@ -5419,10 +5421,10 @@
 		 (tramp-send-command-and-read
 		  v
 		  (format
-		   "tramp_vc_registered_read_file_names %s"
+		   "tramp_vc_registered_read_file_names <<'EOF'\n%s\nEOF\n"
 		   (mapconcat 'tramp-shell-quote-argument
 			      tramp-vc-registered-file-names
-			      " "))))
+			      "\n"))))
 
 	      (tramp-set-file-property
 	       v (car elt) (cadr elt) (cadr (cdr elt))))))
@@ -8984,8 +8986,6 @@
 ;; * Load Tramp subpackages only when needed.  (Bug#1529, Bug#5448, Bug#5705)
 ;; * Try telnet+curl as new method.  It might be useful for busybox,
 ;;   without built-in uuencode/uudecode.
-;; * Let `shell-dynamic-complete-*' and `comint-dynamic-complete' work
-;;   on remote hosts.
 ;; * Load ~/.emacs_SHELLNAME on the remote host for `shell'.
 
 ;; Functions for file-name-handler-alist: