]> code.delx.au - gnu-emacs/commitdiff
* net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors
authorJürgen Hötzel <juergen@archlinux.org>
Mon, 31 Dec 2012 15:29:23 +0000 (16:29 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 31 Dec 2012 15:29:23 +0000 (16:29 +0100)
(No device connected, invalid device name). (Bug #13299)

lisp/ChangeLog
lisp/net/tramp-adb.el

index 88200a2713347fe45c2e1c9f6e67d07c4f7859ef..7e9e9d7738e8fca7b2c3d67b5780cd822f61fee4 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-31  Jürgen Hötzel  <juergen@archlinux.org>
+
+       * net/tramp-adb.el (tramp-adb-maybe-open-connection): Handle errors
+       (No device connected, invalid device name). (Bug #13299)
+
 2012-12-31  Martin Rudalics  <rudalics@gmx.at>
 
        * window.el (window-resizable--p): Rename to window-resizable-p.
index f31bd6b3d2d110a8e7ae638e16f8ad814a11eec3..b418d1982d97a74617668fb657a624b3de36c6f3 100644 (file)
@@ -998,11 +998,24 @@ COMMAND is nil, just sends `echo $?'.  Returns the exit status found."
 Does not do anything if a connection is already open, but re-opens the
 connection if a previous connection has died for some reason."
   (let* ((buf (tramp-get-connection-buffer vec))
-        (p (get-buffer-process buf)))
+        (p (get-buffer-process buf))
+        (devices (mapcar 'cadr (tramp-adb-parse-device-names nil))))
     (unless
        (and p (processp p) (memq (process-status p) '(run open)))
       (save-match-data
        (when (and p (processp p)) (delete-process p))
+       (if (not devices)
+           (tramp-error vec 'file-error "No device connected"))
+       (if (and (tramp-file-name-host vec)
+                (not (member (tramp-file-name-host vec) devices)))
+           (tramp-error
+            vec 'file-error
+            "Device %s not connected" (tramp-file-name-host vec)))
+       (if (and (not (eq (length devices) 1))
+                (not (tramp-file-name-host vec)))
+           (tramp-error
+            vec 'file-error
+            "Multiple Devices connected: No Host/Device specified"))
        (with-tramp-progress-reporter vec 3 "Opening adb shell connection"
          (let* ((coding-system-for-read 'utf-8-dos) ;is this correct?
                 (process-connection-type tramp-process-connection-type)