]> git.eshelyaron.com Git - emacs.git/commitdiff
* net/tramp.el (tramp-wrong-passwd-regexp): Make the regexp more
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 7 Aug 2007 20:30:20 +0000 (20:30 +0000)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 7 Aug 2007 20:30:20 +0000 (20:30 +0000)
global matching.
(tramp-handle-process-file): Fix bug inserting
resulting output.
(tramp-handle-shell-command): Handle OUTPUT-BUFFER and
ERROR-BUFFER more robust.  Display output.
(tramp-file-name-handler): Add a connection property when we found
a foreign file name handler.  This allows backends like ftp to
profit also from usr/host name completion based on connection
cache.
(tramp-send-command-and-read): Search for trash after the regexp
until eol only.  In XEmacs, there is a problem with \n.

* net/tramp-cache.el (top): Read persistent connection history
when cache is empty.

lisp/ChangeLog
lisp/net/tramp-cache.el
lisp/net/tramp.el
lisp/net/trampver.el

index 8574be35565d43500b390516fcffdb232c62a5e6..96cb0151619c5fb3f2edb21c30bdd0444aadd63d 100644 (file)
@@ -1,3 +1,24 @@
+2007-08-07  Michael Albinus  <michael.albinus@gmx.de>
+
+       * net/tramp.el (tramp-wrong-passwd-regexp): Make the regexp more
+       global matching.
+       (tramp-handle-shell-command): Handle OUTPUT-BUFFER and
+       ERROR-BUFFER more robust.  Display output.
+       (tramp-file-name-handler): Add a connection property when we found
+       a foreign file name handler.  This allows backends like ftp to
+       profit also from usr/host name completion based on connection
+       cache.
+       (tramp-send-command-and-read): Search for trash after the regexp
+       until eol only.  In XEmacs, there is a problem with \n.
+
+       * net/tramp-cache.el (top): Read persistent connection history
+       when cache is empty.
+
+2007-08-07  Nic Ferrier  <nferrier@tapsellferrier.co.uk>  (tiny change)
+
+       * net/tramp.el (tramp-handle-process-file): Fix bug inserting
+       resulting output.
+
 2007-08-07  Sam Steingold  <sds@gnu.org>
 
        * progmodes/compile.el (compilation-start): Pass nil as startfile
 
 2007-07-29  Michael Albinus  <michael.albinus@gmx.de>
 
-       * tramp.el:
-       * tramp-uu.el:
-       * trampver.el: Use utf-8 encoding with coding cookie.
+       * net/tramp.el:
+       * net/tramp-uu.el:
+       * net/trampver.el: Use utf-8 encoding with coding cookie.
 
-       * tramp-cache.el:
-       * tramp-fish.el:
-       * tramp-ftp.el:
-       * tramp-gw.el:
-       * tramp-smb.el: Remove coding cookie.
+       * net/tramp-cache.el:
+       * net/tramp-fish.el:
+       * net/tramp-ftp.el:
+       * net/tramp-gw.el:
+       * net/tramp-smb.el: Remove coding cookie.
 
-       * tramp.el (tramp-handle-verify-visited-file-modtime):
+       * net/tramp.el (tramp-handle-verify-visited-file-modtime):
        Flush buffer file-name's file property.
        (tramp-handle-file-remote-p): The first parameter is FILENAME.
 
-       * trampver.el: Update release number.
+       * net/trampver.el: Update release number.
 
 2007-07-29  Juri Linkov  <juri@jurta.org>
 
 
        Sync with Tramp 2.1.10.
 
-       * tramp.el (tramp-get-ls-command): Fyx typo.
+       * net/tramp.el (tramp-get-ls-command): Fyx typo.
 
-       * trampver.el: Update release number.
+       * net/trampver.el: Update release number.
 
 2007-07-22  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
index 79b0b5378379e332d05c25d5f630b9aa277c9c72..db08fe3b6dfd4d44fad6e7f644cc09ae527c9c35 100644 (file)
@@ -290,9 +290,8 @@ history."
      tramp-cache-data)
     res))
 
-;; Read persistent connection history.  Applied with
-;; `load-in-progress', because it shall be evaluated only once.
-(when load-in-progress
+;; Read persistent connection history.
+(when (zerop (hash-table-count tramp-cache-data))
   (condition-case err
       (with-temp-buffer
        (insert-file-contents tramp-persistency-file-name)
index 5285b87313a6e4d14adad46bb8411e49bab02808..1070d61cba62b319c5e6ea50f2b2885b132250a4 100644 (file)
@@ -1027,7 +1027,7 @@ The `sudo' program appears to insert a `^@' character into the prompt."
                        "Login incorrect"
                        "Login Incorrect"
                        "Connection refused"
-                       "Connection closed by foreign host."
+                       "Connection closed"
                        "Sorry, try again."
                        "Name or service not known"
                        "Host key verification failed."
@@ -3581,8 +3581,11 @@ beginning of local filename are not substituted."
              (tramp-send-command v command)
            ;; We should show the output anyway.
            (when outbuf
-             (with-current-buffer outbuf
-               (insert-buffer-substring (tramp-get-connection-buffer v)))
+             (let ((output-string
+                    (with-current-buffer (tramp-get-connection-buffer v)
+                      (buffer-substring (point-min) (point-max)))))
+               (with-current-buffer outbuf
+                 (insert output-string)))
              (when display (display-buffer outbuf))))
        ;; When the user did interrupt, we should do it also.
        (error
@@ -3614,12 +3617,20 @@ beginning of local filename are not substituted."
   (let* ((asynchronous (string-match "[ \t]*&[ \t]*\\'" command))
         (args (split-string (substring command 0 asynchronous) " "))
         (output-buffer
-         (or output-buffer
-             (if asynchronous
-                 "*Async Shell Command*"
-               "*Shell Command Output*")))
+         (cond
+          ((bufferp output-buffer) output-buffer)
+          ((stringp output-buffer) (get-buffer-create output-buffer))
+          (output-buffer (current-buffer))
+          (t (generate-new-buffer
+              (if asynchronous
+                  "*Async Shell Command*"
+                "*Shell Command Output*")))))
+        (error-buffer
+         (cond
+          ((bufferp error-buffer) error-buffer)
+          ((stringp error-buffer) (get-buffer-create error-buffer))))
         (buffer
-         (if (and (not asynchronous) (bufferp error-buffer))
+         (if (and (not asynchronous) error-buffer)
              (with-parsed-tramp-file-name default-directory nil
                (list output-buffer (tramp-make-tramp-temp-file v)))
            output-buffer)))
@@ -3637,7 +3648,10 @@ beginning of local filename are not substituted."
       (when (listp buffer)
        (with-current-buffer error-buffer
          (insert-file-contents (cadr buffer)))
-       (delete-file (cadr buffer))))))
+       (delete-file (buffer-file-name (cadr buffer))))
+      ;; There's some output, display it.
+      (when (with-current-buffer output-buffer (> (point-max) (point-min)))
+       (display-message-or-buffer output-buffer)))))
 
 ;; File Editing.
 
@@ -4177,8 +4191,12 @@ Falls back to normal file name handler if no tramp file name handler exists."
         ((and completion (zerop (length localname))
               (memq operation '(file-name-as-directory)))
          filename)
-        ;; Call the backend function.
-        (foreign (apply foreign operation args))
+        ;; Call the backend function.  Set a connection property
+        ;; first, it will be reused for user/host name completion.
+        (foreign
+         (unless (zerop (length localname))
+           (tramp-set-connection-property v "started" nil))
+         (apply foreign operation args))
         ;; Nothing to do for us.
         (t (tramp-run-real-handler operation args)))))))
 
@@ -6116,7 +6134,8 @@ In case there is no valid Lisp expression, it raises an error"
     (condition-case nil
        (prog1 (read (current-buffer))
          ;; Error handling.
-         (when (re-search-forward "\\S-" nil t) (error)))
+         (when (re-search-forward "\\S-" (tramp-line-end-position) t)
+           (error)))
       (error (tramp-error
              vec 'file-error
              "`%s' does not return a valid Lisp expression: `%s'"
@@ -6125,7 +6144,7 @@ In case there is no valid Lisp expression, it raises an error"
 ;; It seems that Tru64 Unix does not like it if long strings are sent
 ;; to it in one go.  (This happens when sending the Perl
 ;; `file-attributes' implementation, for instance.)  Therefore, we
-;; have this function which waits a bit at each line.
+;; have this function which sends the string in chunks.
 (defun tramp-send-string (vec string)
   "Send the STRING via connection VEC.
 
@@ -6143,7 +6162,7 @@ the remote host use line-endings as defined in the variable
       ;; Clean up the buffer.  We cannot call `erase-buffer' because
       ;; narrowing might be in effect.
       (let (buffer-read-only) (delete-region (point-min) (point-max)))
-      ;; replace "\n" by `tramp-rsh-end-of-line'
+      ;; Replace "\n" by `tramp-rsh-end-of-line'.
       (setq string
            (mapconcat 'identity
                       (split-string string "\n")
@@ -6151,7 +6170,7 @@ the remote host use line-endings as defined in the variable
       (unless (or (string= string "")
                  (string-equal (substring string -1) tramp-rsh-end-of-line))
        (setq string (concat string tramp-rsh-end-of-line)))
-      ;; send the string
+      ;; Send the string.
       (if (and chunksize (not (zerop chunksize)))
          (let ((pos 0)
                (end (length string)))
index f10f08e1031e1627bfd07e49b771c22cb4985cbe..6e48c3c7f4735fc49d18fd9ea34ed23f85d30ef5 100644 (file)
@@ -4,7 +4,7 @@
 
 ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
-;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
+;; Author: Kai Großjohann <kai.grossjohann@gmx.net>
 ;; Keywords: comm, processes
 
 ;; This file is part of GNU Emacs.