emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r100857: * net/tramp.el (tramp-file-n


From: Michael Albinus
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100857: * net/tramp.el (tramp-file-name-handler): Trace 'quit.
Date: Tue, 20 Jul 2010 21:15:01 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100857
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Tue 2010-07-20 21:15:01 +0200
message:
  * net/tramp.el (tramp-file-name-handler): Trace 'quit.
  (tramp-open-connection-setup-interactive-shell): Apply
  workaround for IRIX64 bug.  Move argument of last
  `tramp-send-command' where it belongs to.
modified:
  lisp/ChangeLog
  lisp/net/tramp.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-07-20 11:13:25 +0000
+++ b/lisp/ChangeLog    2010-07-20 19:15:01 +0000
@@ -1,5 +1,12 @@
 2010-07-20  Michael Albinus  <address@hidden>
 
+       * net/tramp.el (tramp-file-name-handler): Trace 'quit.
+       (tramp-open-connection-setup-interactive-shell): Apply
+       workaround for IRIX64 bug.  Move argument of last
+       `tramp-send-command' where it belongs to.
+
+2010-07-20  Michael Albinus  <address@hidden>
+
        * net/tramp.el (tramp-perl-file-attributes)
        (tramp-perl-directory-files-and-attributes): Don't pass "$3".
        (tramp-maybe-open-connection): Use `async-args' and `gw-args' in

=== modified file 'lisp/net/tramp.el'
--- a/lisp/net/tramp.el 2010-07-20 10:29:05 +0000
+++ b/lisp/net/tramp.el 2010-07-20 19:15:01 +0000
@@ -5565,12 +5565,23 @@
            (if foreign
                (condition-case err
                    (apply foreign operation args)
+
+                 ;; Trace that somebody has interrupted the
+                 ;; operation.
+                 (quit
+                  (let (tramp-message-show-message)
+                    (tramp-message
+                     v 1 "Interrupt received in operation %s"
+                     (append (list operation) args)))
+                  ;; Propagate the quit signal.
+                  (signal (car err) (cdr err)))
+
+                 ;; When we are in completion mode, some failed
+                 ;; operations shall return at least a default value
+                 ;; in order to give the user a chance to correct the
+                 ;; file name in the minibuffer.
                  (error
                   (cond
-                   ;; When we are in completion mode, some failed
-                   ;; operations shall return at least a default
-                   ;; value in order to give the user a chance to
-                   ;; correct the file name in the minibuffer.
                    ((and completion (zerop (length localname))
                          (memq operation '(file-exists-p file-directory-p)))
                     t)
@@ -5580,6 +5591,7 @@
                     filename)
                    ;; Propagate the error.
                    (t (signal (car err) (cdr err))))))
+
              ;; Nothing to do for us.
              (tramp-run-real-handler operation args)))))
 
@@ -7033,6 +7045,12 @@
   ;; Disable unexpected output.
   (tramp-send-command vec "mesg n; biff n" t)
 
+  ;; IRIX64 bash expands "!" even when in single quotes.  This
+  ;; destroys our shell functions, we must disable it.  See
+  ;; 
<http://stackoverflow.com/questions/3291692/irix-bash-shell-expands-expression-in-single-quotes-yet-shouldnt>.
+  (when (string-match "^IRIX64" (tramp-get-connection-property vec "uname" ""))
+    (tramp-send-command vec "set +H" t))
+
   ;; Set the environment.
   (tramp-message vec 5 "Setting default environment")
 
@@ -7048,7 +7066,7 @@
       (setq env (cdr env)))
     (when unset
       (tramp-send-command
-       vec (format "unset %s" (mapconcat 'identity unset " "))))) t)
+       vec (format "unset %s" (mapconcat 'identity unset " ")) t))))
 
 ;; CCC: We should either implement a Perl version of base64 encoding
 ;; and decoding.  Then we just use that in the last item.  The other


reply via email to

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