diff options
Diffstat (limited to 'lisp/net/tramp.el')
-rw-r--r-- | lisp/net/tramp.el | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 000b0922b5..1835599a1c 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -956,8 +956,10 @@ See also `tramp-yn-prompt-regexp'." :type 'regexp) (defcustom tramp-yn-prompt-regexp - (concat (regexp-opt '("Store key in cache? (y/n)") t) - "\\s-*") + (concat + (regexp-opt '("Store key in cache? (y/n)" + "Update cached key? (y/n, Return cancels connection)") t) + "\\s-*") "Regular expression matching all y/n queries which need to be confirmed. The confirmation should be done with y or n. The regexp should match at end of buffer. @@ -2075,7 +2077,9 @@ If VAR is nil, then we bind `v' to the structure and `multi-method', ;; Enable debugging. (def-edebug-spec with-parsed-tramp-file-name (form symbolp body)) ;; Highlight as keyword. -(font-lock-add-keywords 'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>")) +(when (functionp 'font-lock-add-keywords) + (funcall 'font-lock-add-keywords + 'emacs-lisp-mode '("\\<with-parsed-tramp-file-name\\>"))) (defmacro tramp-let-maybe (variable value &rest body) "Let-bind VARIABLE to VALUE in BODY, but only if VARIABLE is not obsolete. @@ -4526,7 +4530,6 @@ Falls back to normal file name handler if no tramp file name handler exists." "Checks whether method / user name / host name completion is active." (cond (tramp-completion-mode t) - ((not tramp-unified-filenames) t) ((string-match "^/.*:.*:$" file) nil) ((string-match (concat tramp-prefix-regexp @@ -4535,7 +4538,7 @@ Falls back to normal file name handler if no tramp file name handler exists." (member (match-string 1 file) (mapcar 'car tramp-methods))) ((or (equal last-input-event 'tab) ;; Emacs - (and (integerp last-input-event) + (and (wholenump last-input-event) (or ;; ?\t has event-modifier 'control (char-equal last-input-event ?\t) @@ -5104,13 +5107,23 @@ hosts, or files, disagree." (defun tramp-touch (file time) "Set the last-modified timestamp of the given file. TIME is an Emacs internal time value as returned by `current-time'." - (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time t))) + (let* ((utc + ;; With GNU Emacs, `format-time-string' has an optional + ;; parameter UNIVERSAL. This is preferred. + (and (functionp 'subr-arity) + (= 3 (cdr (funcall (symbol-function 'subr-arity) + (symbol-function 'format-time-string)))))) + (touch-time + (if utc + (format-time-string "%Y%m%d%H%M.%S" time t) + (format-time-string "%Y%m%d%H%M.%S" time)))) (if (tramp-tramp-file-p file) (with-parsed-tramp-file-name file nil (let ((buf (tramp-get-buffer multi-method method user host))) (unless (zerop (tramp-send-command-and-check multi-method method user host - (format "TZ=UTC; export TZ; touch -t %s %s" + (format "%s touch -t %s %s" + (if utc "TZ=UTC; export TZ;" "") touch-time (tramp-shell-quote-argument localname)) t)) |