emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master e243da2: Some minor Tramp changes


From: Michael Albinus
Subject: [Emacs-diffs] master e243da2: Some minor Tramp changes
Date: Wed, 11 Apr 2018 10:57:04 -0400 (EDT)

branch: master
commit e243da257d05c95be7373c37fedc6cc3b35aca9c
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Some minor Tramp changes
    
    * lisp/net/tramp-sh.el (tramp-get-ls-command-with):
    New defun, replacing ...
    (tramp-get-ls-command-with-dired)
    (tramp-get-ls-command-with-quoting-style)
    (tramp-get-ls-command-with-w-option): Removed.
    (tramp-do-file-attributes-with-ls)
    (tramp-do-directory-files-and-attributes-with-stat)
    (tramp-sh-handle-insert-directory): Adapt callees.
    
    * lisp/net/tramp-smb.el (tramp-smb-errors):
    Add "NT_STATUS_CONNECTION_RESET".
---
 lisp/net/tramp-gvfs.el | 21 +++++++++++---------
 lisp/net/tramp-sh.el   | 53 ++++++++++++++------------------------------------
 lisp/net/tramp-smb.el  |  1 +
 3 files changed, 28 insertions(+), 47 deletions(-)

diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 33af124..b3d5339 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -47,13 +47,12 @@
 ;; discovered during development time, is given in respective
 ;; comments.
 
-;; The custom option `tramp-gvfs-methods' contains the list of
-;; supported connection methods.  Per default, these are "afp", "dav",
-;; "davs", "gdrive", "obex", "owncloud", "sftp" and "synce".  Note
-;; that with "obex" it might be necessary to pair with the other
-;; bluetooth device, if it hasn't been done already.  There might be
-;; also some few seconds delay in discovering available bluetooth
-;; devices.
+;; The user option `tramp-gvfs-methods' contains the list of supported
+;; connection methods.  Per default, these are "afp", "dav", "davs",
+;; "gdrive", "obex", "owncloud", "sftp" and "synce".  Note that with
+;; "obex" it might be necessary to pair with the other bluetooth
+;; device, if it hasn't been done already.  There might be also some
+;; few seconds delay in discovering available bluetooth devices.
 
 ;; "gdrive" and "owncloud" connection methods require a respective
 ;; account in GNOME Online Accounts, with enabled "Files" service.
@@ -77,6 +76,8 @@
 ;;    :session tramp-gvfs-service-daemon tramp-gvfs-path-mounttracker
 ;;    tramp-gvfs-interface-mounttracker "ListMountableInfo")))
 
+;; See also /usr/share/gvfs/mounts
+
 ;; Note that all other connection methods are not tested, beside the
 ;; ones offered for customization in `tramp-gvfs-methods'.  If you
 ;; request an additional connection method to be supported, please
@@ -87,7 +88,7 @@
 ;; "synce" method), or from the zeroconf daemon (for the "afp", "dav",
 ;; "davs", and "sftp" methods).  The zeroconf daemon is pre-configured
 ;; to discover services in the "local" domain.  If another domain
-;; shall be used for discovering services, the custom option
+;; shall be used for discovering services, the user option
 ;; `tramp-gvfs-zeroconf-domain' can be set accordingly.
 
 ;; Restrictions:
@@ -2365,7 +2366,7 @@ They are retrieved from the hal daemon."
 ;; * (Customizable) unmount when exiting Emacs.  See tramp-archive.el.
 
 ;; * Host name completion for existing mount points (afp-server,
-;;   smb-server, google-drive, owncloud) or via smb-network.
+;;   smb-server, google-drive, owncloud) or via smb-network or network.
 ;;
 ;; * Check, how two shares of the same SMB server can be mounted in
 ;;   parallel.
@@ -2374,5 +2375,7 @@ They are retrieved from the hal daemon."
 ;;   capability.
 ;;
 ;; * Implement obex for other serial communication but bluetooth.
+;;
+;; * What's up with ftps dns-sd afc admin computer?
 
 ;;; tramp-gvfs.el ends here
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 6327544..3ba3d95 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -1301,10 +1301,8 @@ component is used as the target of the symlink."
                ;; On systems which have no quoting style, file names
                ;; with special characters could fail.
                (cond
-                ((tramp-get-ls-command-with-quoting-style vec)
-                 "--quoting-style=c")
-                ((tramp-get-ls-command-with-w-option vec)
-                 "-w")
+                ((tramp-get-ls-command-with vec "--quoting-style=c"))
+                ((tramp-get-ls-command-with vec "-w"))
                 (t ""))
                (tramp-shell-quote-argument localname)))
       ;; Parse `ls -l' output ...
@@ -1338,7 +1336,7 @@ component is used as the target of the symlink."
           (when symlinkp
             (search-forward "-> ")
             (setq res-symlink-target
-                  (if (tramp-get-ls-command-with-quoting-style vec)
+                  (if (looking-at "\"")
                       (read (current-buffer))
                     (buffer-substring (point) (point-at-eol)))))
           ;; Return data gathered.
@@ -1835,10 +1833,8 @@ be non-negative integers."
     ;; On systems which have no quoting style, file names with special
     ;; characters could fail.
     (cond
-     ((tramp-get-ls-command-with-quoting-style vec)
-      "--quoting-style=shell")
-     ((tramp-get-ls-command-with-w-option vec)
-      "-w")
+     ((tramp-get-ls-command-with vec "--quoting-style=shell"))
+     ((tramp-get-ls-command-with vec "-w"))
      (t ""))
     (tramp-get-remote-stat vec)
     tramp-stat-marker tramp-stat-marker
@@ -2639,10 +2635,9 @@ The method used must be an out-of-band method."
         filename switches wildcard full-directory-p)
       (when (stringp switches)
         (setq switches (split-string switches)))
-      (when (tramp-get-ls-command-with-quoting-style v)
+      (when (tramp-get-ls-command-with v "--quoting-style=literal")
        (setq switches (append switches '("--quoting-style=literal"))))
-      (when (and (member "--dired" switches)
-                (not (tramp-get-ls-command-with-dired v)))
+      (unless (tramp-get-ls-command-with v "--dired")
        (setq switches (delete "--dired" switches)))
       (when wildcard
         (setq wildcard (tramp-run-real-handler
@@ -5350,36 +5345,18 @@ Nonexistent directories are removed from spec."
             (setq dl (cdr dl))))))
      (tramp-error vec 'file-error "Couldn't find a proper `ls' command"))))
 
-(defun tramp-get-ls-command-with-dired (vec)
-  "Check, whether the remote `ls' command supports the --dired option."
+(defun tramp-get-ls-command-with (vec option)
+  "Return OPTION, if the remote `ls' command supports the OPTION option."
   (save-match-data
-    (with-tramp-connection-property vec "ls-dired"
-      (tramp-message vec 5 "Checking, whether `ls --dired' works")
+    (with-tramp-connection-property vec (concat "ls" option)
+      (tramp-message vec 5 "Checking, whether `ls %s' works" option)
       ;; Some "ls" versions are sensible wrt the order of arguments,
       ;; they fail when "-al" is after the "--dired" argument (for
       ;; example on FreeBSD).
-      (tramp-send-command-and-check
-       vec (format "%s --dired -al /dev/null" (tramp-get-ls-command vec))))))
-
-(defun tramp-get-ls-command-with-quoting-style (vec)
-  "Check, whether the remote `ls' command supports the --quoting-style option."
-  (save-match-data
-    (with-tramp-connection-property vec "ls-quoting-style"
-      (tramp-message vec 5 "Checking, whether `ls --quoting-style=shell' 
works")
-      (tramp-send-command-and-check
-       vec (format "%s --quoting-style=shell -al /dev/null"
-                  (tramp-get-ls-command vec))))))
-
-(defun tramp-get-ls-command-with-w-option (vec)
-  "Check, whether the remote `ls' command supports the -w option."
-  (save-match-data
-    (with-tramp-connection-property vec "ls-w-option"
-      (tramp-message vec 5 "Checking, whether `ls -w' works")
-      ;; Option "-w" is available on BSD systems.  No argument is
-      ;; given, because this could return wrong results in case "ls"
-      ;; supports the "-w NUM" argument, as for busyboxes.
-      (tramp-send-command-and-check
-       vec (format "%s -alw" (tramp-get-ls-command vec))))))
+      (and
+       (tramp-send-command-and-check
+       vec (format "%s %s -al /dev/null" (tramp-get-ls-command vec) option))
+       option))))
 
 (defun tramp-get-test-command (vec)
   "Determine remote `test' command."
diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el
index 6982787..0e7386b 100644
--- a/lisp/net/tramp-smb.el
+++ b/lisp/net/tramp-smb.el
@@ -133,6 +133,7 @@ call, letting the SMB client use the default one."
         "NT_STATUS_CANNOT_DELETE"
         "NT_STATUS_CONNECTION_DISCONNECTED"
         "NT_STATUS_CONNECTION_REFUSED"
+        "NT_STATUS_CONNECTION_RESET"
         "NT_STATUS_DIRECTORY_NOT_EMPTY"
         "NT_STATUS_DUPLICATE_NAME"
         "NT_STATUS_FILE_IS_A_DIRECTORY"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]