(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.
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>.
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.
(tramp-handle-expand-file-name): Do not allow ".." to
cross file handler boundaries, so that "/user@host:/../foo"
expands to itself, rather than "/foo". This is intended to work
in conjunction with a change in `file-relative-name' which makes
sure to use absolute file names if FILE and DIRECTORY have
different handlers.
(tramp-handle-insert-directory): Comment out XEmacs
kludge. Suggested by Katsumi Yamaoka <yamaoka@jpl.org>.
* Makefile.in (../info/tramp): Compile Emacs, instead of XEmacs,
version of manual.
* tramp.texi (Auto-save and Backup): New node.
Replace term "path" with "localname" unless it is used for a
search path.
(tramp-handle-expand-file-name): Allow ".." to cross host
boundaries.
(tramp-open-connection-setup-interactive-shell): Unset $ENV in
addition to setting $PS1 when starting the Bourne-ish shell. Some
sh implementations (eg, bash when called as sh) read the file
named there on startup, which could clobber $PS1.
(tramp-do-copy-or-rename-file-one-local): New function. Not
implemented. Not used. Should invoke rcp or scp directly to keep
the time.
Version 2.0.29 released.
* net/tramp.el (tramp-send-region): Protect against
tramp-chunksize being nil.
2003-02-04 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-handle-directory-file-name): Handle the case
PATH is "".
(tramp-completion-handle-file-name-all-completions): Define
`tramp-current-user' locally. See `tramp-parse-passwd'.
(tramp-parse-passwd): For su-alike methods it would be desirable
to return "root@localhost" as default. Unfortunately, we have no
information whether any user name has been typed already. So we
(mis-)use tramp-current-user as indication, assuming it is set in
`tramp-completion-handle-file-name-all-completions'.
(tramp-send-region): Handle the case `tramp-chunksize' is equal
0. I did it accidently. Infinite loop ...
* net/tramp-ftp.el (top-level): eval-after-load "ange-ftp"
'(tramp-disable-ange-ftp). Suggested by Kai.
(tramp-ftp-file-name-handler): `tramp-disable-ange-ftp' not needed
any longer.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Apply
`tramp-handle-directory-file-name' in order to profit from Kai's
yesterday changes.
2003-02-03 Kai Gro�ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (tramp-chunksize): Set default to 500 as workaround
for some ssh connections.
(tramp-handle-directory-file-name): New implementation. Not sure
if it works.
2003-01-28 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-get-device): `tramp-make-tramp-file-name'
must not be called with NIL path. It fails in case of
multi-method.
2003-01-27 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-file-name-for-operation): Apply
`expand-file-name' for relative file names only. Otherwise there
might be problems if the default directory is another Tramp
directory as the directory the file is based on.
(tramp-find-foreign-file-name-handler): Check whether FILENAME is
a Tramp file name. It isn't if it comes from an expanded file
name (like "/xx:yy//zz").
2003-01-25 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-devices): New variable. Keeps virtual
device numbers. Devices must distinguish physical file systems.
The device numbers provided by "lstat" aren't unique, because we
operate on different hosts. So we use virtual device numbers,
generated by `tramp-get-device'. Both Ange-FTP and EFS use device
number -1. In order to be different, we use device number (-1 x),
whereby "x" is unique for a given (multi-method method user host).
Suggested by Kai.
(tramp-perl-file-attributes): Always return device number -1.
There will be a virtual device number set in
`tramp-handle-file-attributes', which replaces this one.
(tramp-handle-file-attributes): Set virtual device number.
(tramp-get-device): New function. Returns the virtual device
number. If it doesn't exist, generate a new one.
(tramp-handle-file-regular-p): Use Emacs file name primitives
instead of calling tramp-handle-* equivalents directly. Needed
for tramp-smb.
* net/tramp-smb.el (tramp-smb-devices, tramp-smb-get-device): Removed.
Functionality moved to tramp.el.
(tramp-smb-handle-file-attributes): Apply
`tramp-get-device'. ATIME and CTIME are (0 0) now (= "don't
know"), which is more honest.
(tramp-smb-handle-make-directory): Use Emacs file name primitives
instead of calling tramp-smb-handle-* equivalents directly.
(tramp-smb-read-file-entry): Return size as a number but a string.
2003-01-24 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-function-alist-ssh): Add parsing
of "/etc/ssh_config" and "~/.ssh/config". Suggested by Kai.
(tramp-completion-function-alist, tramp-set-completion-function):
Doc string update.
(tramp-parse-sconfig, tramp-parse-sconfig-group): New functions.
Provide parsing of "~/.ssh/config" style files.
2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-handle-expand-file-name): Apply
`tramp-drop-volume-letter'. Otherwise, there are problems on W32
systems.
2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp-smb.el (tramp-smb-get-device, tramp-smb-get-inode): New
functions. Device number and inode number don't exist for SMB
files. Therefore we must generate virtual ones.
(tramp-smb-devices, tramp-smb-inodes): New variables. Keep
generated virtual device numbers and inodes numbers for SMB files.
(tramp-smb-handle-file-attributes): Apply them.
2003-01-14 Kai Gro�ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (tramp-md5-function): Require md5 before checking
function md5. If using md5-encode, put wrapper around it that
converts vector of bytes to ascii text.
2003-01-13 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-mode): Perform check (integerp
last-input-event) before (event-modifiers last-input-event) -
there might be problems if `last-input-event' is a mouse event.
2003-01-12 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-parse-rhosts, tramp-parse-shosts)
(tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc): Use
`file-readable-p' instead of `file-exists-p'. Otherwise these
functions might block. Reported by <kin@neoscale.com>.
2003-01-02 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp-ftp.el (top-level): Defaults for
`tramp-default-method-alist' must be a list.
* net/tramp-smb.el (top-level): Defaults for
`tramp-default-method-alist' must be a list.
2003-01-02 Kai Gro�ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (top-level): Avoid byte-compiler warnings of unused
variables if the byte-compiler supports this. This is for the
with-parsed-tramp-file-name macro which is wont to produce such
stuff.
* net/tramp-ftp.el: Glue code with Ange-FTP, broken out of
tramp.el. From Michael Albinus.
* net/tramp-smb.el: New file for using smbclient to access
Windows shares with Tramp. From Michael Albinus.