(ange-ftp-file-entry-p, ange-ftp-file-symlink-p): Since the code
has been converted to use hashtables, the relation `nil=none' is
no longer valid, as `nil' is not a hashtable. This patch tries to
reduce the number of resulting errors.
(tramp-handle-verify-visited-file-modtime): Remove
outdated comment.
(tramp-locked, tramp-locker): New variables for implementing a
global lock.
(tramp-sh-file-name-handler): Use them to implement the global
lock.
according to new documentation of `file-remote-p'.
* files.el (file-remote-p): Fix doc to say that return value is
identification of remote system, if not nil.
(file-relative-name): Use new return value of `file-remote-p'.
Version 2.0.40 of Tramp released.
* net/tramp.el (tramp-completion-mode, tramp-md5-function): Use
symbol-function to invoke functions only known on some Emacs
flavors. This avoids byte-compiler warnings. Reported by Kevin
Scaldeferri <kevin@scaldeferri.com>.
(tramp-do-copy-or-rename-file-via-buffer): Renamed from
tramp-do-copy-or-rename-via-buffer (without `file'), to make it
consistent with the other tramp-do-* functions.
(tramp-do-copy-or-rename-file): Calls adjusted.
(tramp-process-initial-commands): Avoid liveness check on shell --
we know that it must be alive since we're opening a connection at
this moment.
(tramp-last-cmd): New internal variable.
(tramp-process-echoes): New tunable.
(tramp-send-command): Set tramp-last-cmd.
(tramp-wait-for-output): Delete echo, if applicable.
(tramp-read-passwd): Construct the key for the password cache in a
way that works for multi methods, too.
(tramp-bug): Add backup-directory-alist and
bkup-backup-directory-info to bug reports, with Tramp
counterparts.
2004-05-01 Michael Albinus <michael.albinus@gmx.de>
* net/tramp*.el: Suppress byte-compiler warnings where possible.
* net/tramp.el (tramp-out-of-band-prompt-regexp)
(tramp-actions-copy-out-of-band): New defcustoms.
(tramp-do-copy-or-rename-file-out-of-band): Asynchronous process
used instead of a synchronous one. Allows password entering.
(tramp-action-out-of-band): New defun.
(tramp-open-connection-rsh, tramp-method-out-of-band-p): Remove
restriction with password from doc string.
(tramp-bug): Add variables `tramp-terminal-prompt-regexp',
`tramp-out-of-band-prompt-regexp',
`tramp-actions-copy-out-of-band', `password-cache' and
`password-cache-expiry'.
(toplevel): Remove todo item wrt ssh-agent. Obsolete due to
password caching.
(tramp-touch): FILE can be a local file, too.
(TODO): Remove items done.
(tramp-handle-insert-directory): Properly quote file name also if
not full-directory-p. Handle wildcard case. Reported by Andreas
Schwab <schwab@suse.de>.
(tramp-do-copy-or-rename-file-via-buffer): Set permissions of the
new file.
(tramp-handle-file-local-copy, tramp-handle-write-region): The
permissions of the temporary file are set if filename exists.
Reported by Ted Stern <stern@cray.com>.
(tramp-backup-directory-alist)
(tramp-bkup-backup-directory-info): New defcustoms.
(tramp-file-name-handler-alist): Add entry for
`find-backup-file-name'.
(tramp-handle-find-backup-file-name): New function. Implements
Tramp's find-backup-file-name.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry
for `find-backup-file-name'.
* net/tramp-vc.el (tramp-vc-workfile-unchanged-p): Correct typo
("file" -> "filename"). Reported by Kim F. Storm <storm@cua.dk>.
(browse-url-mozilla-sentinel, browse-url-galeon-sentinel)
(browse-url-epiphany-sentinel, browse-url-mosaic): Use
browse-url-*-program instead of a literal program name.
Charles Curley <charlescurley@charlescurley.com>.
(tramp-multi-connection-function-alist): Add ssht entry which adds
"-e none -t -t" to the list of ssh args. Suggested by Adrian
Aichner.
(tramp-get-method-parameter): New function to retrieve a method
parameter. This allows for omission of method parameters.
Callers adjusted.
* net/tramp.el (tramp-default-password-end-of-line): Renamed from
tramp-password-end-of-line.
(tramp-password-end-of-line): New method parameter.
(tramp-get-password-end-of-line): Function to access method
parameter `tramp-password-end-of-line', or variable
`tramp-default-password-end-of-line' (default value).
(tramp-methods): Add entries for new parameter
tramp-password-end-of-line.
(tramp-enter-password): Use new function
`tramp-get-password-end-of-line'.
(tramp-handle-insert-file-contents): Do not
unconditionally inhibit the file operation file-local-copy, only
do that when the inhibit-file-name-operation is currently
insert-file-contents. This fixes finding remote CVS-controlled
files. (It would barf on inserting the CVS/Entries file
literally, because the file-local-copy handler wasn't called.)
(tramp-handle-shell-command): Support optional third arg
ERROR-BUFFER.
(tramp-sh-extra-args): Adapt defcustom type to XEmacs.
(tramp-initial-commands): New variable.
(tramp-process-initial-commands): New function, using the variable.
(tramp-open-connection-setup-interactive-shell): Call the new
function.
(tramp-buffer-name, tramp-debug-buffer-name): Always put the
method into the buffer name, never use nil. Reported by Hanak
David <dhanak@inf.bme.hu>.
(tramp-open-connection-setup-interactive-shell): Erase buffer
before sending "stty -onlcr".
* net/tramp-vc.el (vc-workfile-unchanged-p): Add comment.
(browse-url-epiphany-program, browse-url-epiphany-arguments)
(browse-url-epiphany-startup-arguments)
(browse-url-epiphany-new-window-is-tab): New variables.
(browse-url-epiphany, browse-url-epiphany-sentinel): New functions.
* net/tramp.el (tramp-password-end-of-line): Use "xy" with plink.
(tramp-completion-function-alist): Add completion function for
"remcp", "remsh" and "plink1".
Factor out the `regular' file name handling via a remote shell of
some sort into a specific function. Intent is to later put that
part of Tramp into a special file, so that the Tramp `core' is
just a dispatcher that dispatches to various handlers.
(tramp-sh-file-name-handler): New function.
(tramp-foreign-file-name-handler-alist): New default value. Call
tramp-sh-file-name-handler as default case.
(tramp-file-name-handler): Do not invoke the old remote-shell
handler.
(tramp-find-foreign-file-name-handler): Return after first match
is found. From Francis Litterio <franl@world.std.com>.
(tramp-handle-file-newer-than-file-p): `tramp-time-diff' returns
integer, not list. Do not apply `car' to the return value of
`tramp-time-diff'. Reported by David D. Smith
<ultrasoul@ultrasoul.com>.
(tramp-time-diff): Convert return value of subtract-time to a
number of seconds in a correct manner, by applying float-time or
time-to-seconds. Also correct compat code accordingly. The
XEmacs branch for itimer-time-difference didn't need correction,
it returned a float already. Reported by David D. Smith
<ultrasoul@ultrasoul.com>.
(tramp-handle-insert-file-contents): When calling
`file-local-copy', let-bind `inhibit-file-name-operation'
accordingly. This makes sure that jka-compr is not called when
`insert-file-contents-literally' is invoked. From Katsumi Yamaoka
<yamaoka@jpl.org>.
(tramp-do-copy-or-rename-via-buffer): Avoid calling jka-compr when
writing the target file.
(tramp-foreign-file-name-handler-alist): Add comment about default
value having to come last.
(tramp-handle-file-local-copy, tramp-handle-write-region): Add the
"-p" hack.
(tramp-handle-copy-file): Set file modes of target file.
(tramp-handle-file-local-copy)
(tramp-do-copy-or-rename-via-buffer): Use binary coding system,
instead of no-conversion. They are the same on Emacs but
different on XEmacs.
(tramp-shell-prompt-pattern): Allow multiple escape
sequences (each with optional trailing space).
* net/tramp-uu.el:
* net/tramp-util.el:
* net/tramp-efs.el: Use iso-2022-7bit encoding with coding cookie
for XEmacs compatibility.
(tramp-handle-file-symlink-p): If target of symlink is absolute,
return a Tramp filename. (Ie, return "/user@host:/target" instead
of "/target".)
(tramp-handle-file-truename): Deal with new return value from
`file-symlink-p'.
(tramp-handle-expand-file-name): Make default method explicit in
file name.
(tramp-unified-filenames): Move to an earlier spot in the file.
(top-level): If tramp-unified-filenames is set and we're running
on XEmacs, load tramp-efs.
(tramp-wait-for-shell-prompt, tramp-barf-if-no-shell-prompt): New
functions, used by tramp-send-command-internal.
(tramp-open-connection-setup-interactive-shell): Simplify using
`tramp-send-command-internal'.
(tramp-send-command-internal): New function.
(tramp-methods): New entries "remsh" and "remcp" are like "rsh"
and "rcp" but invoke "remsh" instead of "rsh". This is useful on
Cray systems, for instance. Unify tramp-rsh-program,
tramp-telnet-program, tramp-su-program into tramp-login-program.
Likewise with tramp-login-args, tramp-copy-program,
tramp-copy-args, tramp-copy-keep-date-arg. Users changed. New
method plink1; like plink but pass "-1" to force protocol version
1.
(tramp-default-method): Use plink as the default on machines where
the plink program is present.
(tramp-completion-file-name-handler): Add safe-magic property.
(tramp-shell-prompt-pattern): Allow ANSI escapes at
end of prompt. (ANSI escapes elsewhere in the prompt are
recognized properly already.)