2004-10-12  Michael Albinus  <michael.albinus@gmx.de>

	Version 2.0.45 released.

	* tramp-smb.el (tramp-smb-advice-PC-do-completion): Don't activate
	advice during definition.  This is done later on, depending on
	test result of `substitute-in-file-name'.  Suggested by Stefan
	Monnier <monnier@iro.umontreal.ca>.

2004-10-10  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (top): Apply `def-edebug-spec' only if function is
	defined.  This is not the case for XEmacs without package
	"edebug".
	(tramp-set-auto-save-file-modes): Set permissions of autosaved
	remote files to the permissions of the original file.  This is not
	the case for Emacs < 21.3.50 and XEmacs < 21.5.  Add function to
	`auto-save-hook'.  Reported by Thomas Prokosch <thomas@nadev.net>.

2004-09-08  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-perl-decode): Fixed an error in Perl
	implementation.  $pending must be cleared every loop.  Reported by
	Benjamin Place <benjaminplace@sprintmail.com>

2004-08-10  Michael Albinus  <michael.albinus@gmx.de>

	Version 2.0.44 released.
	
2004-08-06  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-post-connection): Quote $1 and $2 of shell
	function "tramp_file_attributes".  Otherwise, file names
	containing spaces are misinterpreted.  Reported by Magnus Henoch
	<mange@freemail.hu>.

2004-08-05  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-handle-file-truename): FILENAME must be expanded
	first.  Otherwise, parameters like "/ssh:deego@gnufans.net:~" will
	return obscure results.  Reported by D. Goel <deego@gnufans.org>.

2004-07-25  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-handle-verify-visited-file-modtime): If file
	does not exist, say it is not modified if and only if that agrees
	with the buffer's record.
	(tramp-handle-write-region): Pass modtime explicitely to
	`set-visited-file-modtime', because filename can be different
	from (buffer-file-name) if `file-precious-flag' is set.
	All changes suggested by Luc Teirlinck <teirllm@auburn.edu>.

2004-07-24  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-handle-set-visited-file-modtime): If `time-list'
	is not nil, don't apply the whole body.  If the file doesn't
	exists, set modtime to '(-1 65535).
	(tramp-handle-verify-visited-file-modtime): Check whether a file
	is visiting the buffer, or the buffer has no recorded last
	modification time.  Return t in case the visiting file doesn't
	exist.
	(tramp-handle-write-region): `set-visited-file-modtime' must be
	called always when `visit' is t or a string.
	All changes suggested by Luc Teirlinck <teirllm@auburn.edu>.

2004-07-22  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-handle-write-region): `set-visited-file-modtime'
	must be called always if `visit' is non-nil. Emacs Lisp
	documentation is not clear in this point, `write-region'
	implementation clarifies.

2004-07-17  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Version 2.0.43 released.

	* tramp.el (tramp-handle-verify-visited-file-modtime): Remove
	outdated comment.

2004-07-14  Luc Teirlinck  <teirllm@auburn.edu>

	* tramp.el (tramp-handle-verify-visited-file-modtime):
	`visited-file-modtime' now returns a list of two integers, instead
	of a cons.

2004-07-13  Michael Albinus  <michael.albinus@gmx.de>

	Sync with trunk.

	* tramp.el (all): Code cleanup.  Change all `tramp-handle-xxx'
	calls to respective `xxx` calls.
	(tramp-process-alive-regexp): Precise doc string.
	(tramp-multi-action-process-alive): New defun.
	(tramp-multi-actions): Use it.
	(tramp-handle-find-backup-file-name): `copy-tree' is available
	since Emacs 21.4 only (XEmacs has it).  Implementation rewritten
	in order to avoid this function.
	(tramp-handle-write-region): Set current buffer.  If connection
	wasn't open, `file-modes' has changed it accidently.  Reported by
	David Kastrup <dak@gnu.org>.
	(tramp-enter-password, tramp-read-passwd): New arguments USER and
	HOST.
	(tramp-action-password, tramp-multi-action-password): Apply it.
	(tramp-open-connection-rsh): If a port is given, the Tramp buffer
	name must still contain the port number.  Otherwise, we have two
	Tramp buffers, with all the confusion.  Reported by Myron Selby
	<myron@xytech.com> and Rolf Dubitzky
	<Dubitzky@physi.uni-heidelberg.de>.

	* tramp-smb.el (tramp-smb-open-connection): Apply USER and HOST to
	`tramp-enter-passwd'.

	* tramp-vc.el (all): Code cleanup.  Change all `tramp-handle-xxx'
	calls to respective `xxx` calls.

2004-07-13  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Sync with trunk.

	* tramp.el (tramp-locked, tramp-locker): New variables for
	implementing a global lock.
	(tramp-sh-file-name-handler): Use them to implement the global
	lock.

2004-06-26  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Merge from trunk.

	* tramp.el (tramp-handle-file-remote-p): New implementation to
	agree with new return value of `file-remote-p'.

2004-05-30  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Sync with trunk.

	* tramp.el (tramp-let-maybe): ReportReverse args of `get'.
	(tramp-let-maybe): Move to an earlier spot in the file.  Patch by
	Andreas Schwab.

2004-05-29  Michael Albinus  <michael.albinus@gmx.de>

	Version 2.0.41 released.

	Sync with trunk.

	* tramp.el (tramp-wait-for-regexp, tramp-wait-for-output): Throw
	away if process has died.  Reported by Luc Teirlinck
	<teirllm@dms.auburn.edu>.
	(tramp-out-of-band-prompt-regexp): Renamed to
	`tramp-process-alive-regexp', because its usage is widen.
	(tramp-actions-copy-out-of-band): Apply it.
	(tramp-actions-before-shell, tramp-multi-actions): Add
	`tramp-action-process-alive' action.
	(tramp-action-process-alive): New defun.
	(tramp-file-name-handler-alist, tramp-file-name-for-operation):
	Add entry for `file-remote-p'.
	(tramp-handle-file-remote-p): New defun.
	(top): Remove setting of `file-remote-p'.  Don't set
	`inhibit-file-name-handlers' and `inhibit-file-name-operation'.

	* tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
	`file-remote-p'.

	* tramp-uu.el (tramp-uuencode-region): Padding characters aren't
	counted for (last) line.  Reported by Aaron Ucko
	<ucko@ncbi.nlm.nih.gov>.

2004-05-29  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Sync with trunk.

	* tramp.el (tramp-initial-commands): Add "unset HISTFILE"; this is
	not really necessary but seems to keep the shell history smaller
	in some cases.  It is no substitute for setting HISTFILE and
	HISTSIZE from tramp-open-connection-setup-interactive-shell,
	though.  Suggested by Luc Teirlinck.
	(tramp-open-connection-setup-interactive-shell): Export variables
	HISTFILE and HISTSIZE, do not just set them.  From Luc Teirlinck.
	(tramp-set-process-query-on-exit-flag): New compat function.
	(tramp-open-connection-multi, tramp-open-connection-su)
	(tramp-open-connection-rsh, tramp-open-connection-telnet)
	(tramp-do-copy-or-rename-file-out-of-band): Use it.
	(tramp-let-maybe): New macro, let-binds a variable only if it
	isn't obsolete.
	(tramp-check-ls-commands, tramp-handle-expand-file-name)
	(tramp-handle-file-truename): Use it.

	* tramp-smb.el (tramp-smb-open-connection): Use
	tramp-set-process-query-on-exit-flag compat function.

2004-05-26  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-completion-file-name-regexp-unified): Fix
	cut'n'waste error.

2004-05-16  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Merge from trunk.

	* tramp.el (tramp-completion-file-name-regexp-unified): Avoid
	matching filenames starting with "/:" -- those are reserved for
	file-name-non-special.

2004-05-02  Kai Grossjohann  <kgrossjo@eu.uu.net>

	Version 2.0.40 released.

2004-05-01  Michael Albinus  <michael.albinus@gmx.de>

	Suppress byte-compiler warnings were possible.

	* tramp.el (toplevel): Call of `byte-compiler-options' pacified.
	`directory-sep-char' set to not obsolete (we need it for XEmacs).
	Define `last-coding-system-used' in XEmacs case.  Pacify
	declarations of `backup-directory-alist',
	`bkup-backup-directory-info' and
	`tramp-save-PC-expand-many-files'.
	(tramp-feature-write-region-fix): Pacify funcall of
	`find-operation-coding-system'.
	(tramp-line-end-position): Pacify funcall of `line-end-position'
	and `point-at-eol'.
	(tramp-handle-dired-compress-file): Pacify funcall of
	`dired-remove-file'.
	(tramp-handle-find-backup-file-name): Pacify access to
	`tramp-backup-directory-alist' and
	`tramp-bkup-backup-directory-info'.
	(tramp-touch): `error' needs just one parameter if there is no
	string substitution.
	(tramp-bug): `tramp-backup-directory-alist',
	`tramp-bkup-backup-directory-info', `backup-directory-alist' and
	`bkup-backup-directory-info' must be quoted as symbols.

	* tramp-efs.el (toplevel): Suppress byte-compiler warnings.

	* tramp-smb.el (toplevel): Suppress byte-compiler warnings.
	Define `last-coding-system-used' in XEmacs case.
	
	* tramp-vc.el (toplevel): Suppress byte-compiler warnings.
	(tramp-vc-do-command-new): Pacify funcall of `vc-setup-buffer' and
	`vc-exec-after'.
	(tramp-vc-workfile-unchanged-p): Pacify funcall of
	`vc-default-workfile-unchanged-p'.
	(tramp-handle-vc-user-login-name): Pacify funcall of
	`subr-arity'. `let' must be `let*' because of `file'.

2004-04-29  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* tramp.el (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-04-25  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (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.

	* tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
	`find-backup-file-name'.

2004-04-09  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (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>.

2004-04-07  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* tramp.el (tramp-open-connection-setup-interactive-shell):
	Revert weird EOL setting for first stty command (change from
	2004-03-30).

2004-04-02  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-insert-directory): Properly quote file
	name also if not full-directory-p.  Handle wildcard case.
	Reported by Andreas Schwab <schwab@suse.de>.

2004-03-30  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* tramp.el (tramp-open-connection-setup-interactive-shell):
	First stty command needs weird EOL setting -- it is for setting
	EOL setting...  Due to the weird EOL, we might receive garbage
	from the remote end which b0rks the next command.  So we add a
	placeholder command for this.

2004-03-28  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* tramp.el (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.

2004-03-21  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-touch): FILE can be a local file, too.
	(TODO): Remove items done.

2004-03-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in: New environment variables $(CONTRIB_FILES) and
	$(INSTALL_FILES).  Don't check for $(USE_CONTRIB) any longer.
	(all): Depends on $(CONTRIB_FILES), too.
	(install): Copy $(INSTALL_FILES) but $?.
	(distclean): Remove also $(CONTRIB_FILES).
	
2004-03-13  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* tramp.el (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.

2004-03-08  Michael Albinus  <Michael.Albinus@alcatel.de>

	* 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.

2004-03-05  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in (.PHONY): Remove unused targets.
	(install): Depends on "all".

	* tramp-vc.el (tramp-vc-workfile-unchanged-p): Correct typo
	("file" -> "filename").  Reported by Kim F. Storm <storm@cua.dk>.

2004-03-02  Kai Grossjohann  <kgrossjo@eu.uu.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>.

2004-02-29  Kai Grossjohann  <kgrossjo@eu.uu.net>

	* Makefile.in (install-ftp, site-lisp): Remove unused targets.

	Version 2.0.39 released.

2004-02-29  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (top-level): Require password.el if visible.  Should be
	mandatory once No Gnus has found its way into (X)Emacs.
	(tramp-read-passwd): Invoke `password-read' if available,
	`read-passwd' otherwise. `ange-ftp-read-passwd' isn't used as
	fallback any longer.
	(tramp-clear-passwd): New function.
	(tramp-process-actions, tramp-process-multi-actions): Clear
	password cache if login has failed.

	* tramp-smb.el (tramp-smb-open-connection): Clear password cache
	if login has failed.

2004-02-23  Kai Grossjohann  <kai@emptydomain.de>

	* tramp.el (tramp-handle-write-region): Say which function is used
	when encoding.

2004-02-16  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-async-proc): New variable.
	(tramp-handle-shell-command): Adding asynchronous processes.  They
	are far from being perfect, but it works at least for
	`find-grep-dired' and `find-name-dired' in Emacs 21.4.

2004-02-09  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-dired-compress-file): Added XEmacs
	implementation.
	(tramp-handle-dired-compress-file-for-emacs)
	(tramp-handle-dired-compress-file-for-xemacs): Not needed
	anymore.  Implementation not so different as expected.

2004-02-08  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-file-name-handler-alist): Add
	`dired-compress-file' entry.
	(tramp-handle-dired-compress-file)
	(tramp-handle-dired-compress-file-for-emacs)
	(tramp-handle-dired-compress-file-for-xemacs): New functions.
	`tramp-handle-dired-compress-file-for-xemacs' not implemented yet.

2004-01-24  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el (tramp-ftp-file-name-handler): Unset
	`ange-ftp-ftp-name-arg' and `ange-ftp-ftp-name-res'.  There could
	be incorrect values from previous calls in case the "ftp" method
	is used in the Tramp file name.  Reported by Katsumi Yamaoka
	<yamaoka@jpl.org>.

2004-01-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-function-alist-ssh): Add
	`tramp-parse-shostkeys' and `tramp-parse-sknownhosts'.
	(tramp-completion-function-alist): It's a defvar now, because we
	want to apply the optimized `tramp-set-completion-function'
	instead of a static list.
	(tramp-set-completion-function): Implementation tuned.  Avoid
	double entries, and entries where the function or the
	file/directory doesn't exist.
	(tramp-parse-shostkeys, tramp-parse-sknownhosts): New functions
	for SSH2.

2004-01-18  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-do-copy-or-rename-file): Handle out-of-band
	methods.  Call `tramp-do-copy-or-rename-file-out-of-band' this
	case.
	(tramp-do-copy-or-rename-file-out-of-band): Renamed from
	`tramp-do-copy-or-rename-file-one-local', because it handles also
	the case both files use the same out-of-band method.
	Implementation added.
	(tramp-handle-file-local-copy, tramp-handle-write-region):
	Out-of-band handling removed.  `copy-file' called instead, which
	calls `tramp-do-copy-or-rename-file-out-of-band'.
	(tramp-action-password): Check for out-of-band method removed.
	This function is used for 'login-program.
	(tramp-post-connection): Use `tramp-method-out-of-band-p' when
	appropriate.

2004-01-18  Kai Grossjohann  <kai@slowfox.dyndns.org>

	* tramp.el (tramp-do-copy-or-rename-via-buffer): Handle KEEP-DATE
	arg, if possible.
	(tramp-touch): Set last-modified time of a remote file.

2004-01-10  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-get-file-entries): In case of XEmacs,
	apply a short sleep-for.  Otherwise it returns an empty list.
	No idea what happens.

2004-01-08  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-buffer-name): Buffer name must contain the user
	if exists.  Reported by Adrian Phillips <a.phillips@met.no>.

2004-01-06  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode): Make test for XEmacs
	explicitely.  `event-to-character' can exists in Emacs packages
	too.  Reported by Matt Swift <swift@alum.mit.edu>.

2004-01-05  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-maybe-open-connection): Use
	`tramp-process-connection-type'.

2004-01-03  Kai Grossjohann  <kai@slowfox.dyndns.org>

	* tramp.el (tramp-process-connection-type): New variable.
	(tramp-maybe-open-connection): Use it.

2004-01-03  Kai Grossjohann  <kai@emptydomain.de>

	* tramp.el (tramp-handle-file-local-copy)
	(tramp-handle-write-region, tramp-open-connection-rsh): Variable
	name typo.  Small change.  From Patrick Tullmann
	<tullmann@flux.utah.edu>.

2003-12-27  Michael Albinus <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode): Add XEmacs input
	events. Until now it was not necessary, because they are
	evaluated in case of unified filenames only.

	* tramp-efs.el (top): Add all XEmacs download sites to
	`tramp-default-method-alist'.  The existing settings should be
	sufficient already, but it's better to make it explicitely.
	(tramp-efs-method-given, tramp-efs-method-regexp): New variables.
	(tramp-efs-path-regexp, tramp-efs-path-format-string)
	(tramp-efs-path-format-without-user)
	(tramp-efs-path-user-at-host-format)
	(tramp-efs-path-host-format, tramp-efs-path-root-regexp): Changed
	to a function.  Their values depend on the existence of the method
	tag in filename.
	(tramp-efs-file-name-handler): Check first whether the method tag
	is given in a filename.
	(tramp-efs-file-name-p): A syntax check must be performed first,
	otherwise `tramp-dissect-file-name' returns with an error.

	* tramp-ftp.el (Commentary): Removing pointer to EFS.  It has its
	own module.

	* tramp-smb.el (top): Setting default value in
	`tramp-default-method-alist' corrected.  Order of USER and HOST
	have been wrong.  Nobody claimed for months ...
	
2003-12-25  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode) Don't check for 'xemacs but
	`tramp-unified-filenames'.

2003-12-21  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-errors): Add "NT_STATUS_WRONG_PASSWORD"
	and "NT_STATUS_NETWORK_ACCESS_DENIED".
	(tramp-smb-maybe-open-connection): Set `process-connection-type'
	to 'pty.  Suggested by Piet van Oostrum <piet@cs.uu.nl>.

2003-12-19  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-process-running): Removed.  Since we
	acknowledge the virtual prompt for shares, there's no need for
	distinction of reading shares (process ends afterwards) and
	interactive mode of smblient.
	(tramp-smb-open-connection): Setting process sentinel removed.
	(tramp-smb-wait-for-output): Algorithm simplified, again.  Hope it
	is more robust, too.

2003-12-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-prompt): Add virtual prompt from
	listing shares, too.
	(tramp-smb-errors): Add "NT_STATUS_ACCOUNT_LOCKED_OUT".
	(tramp-smb-wait-for-output): Optimize algorithm getting pending
	output.  If it was received chunkwise, there have been problems.
	Remove the "prompt not found" error message; it is obvious.

2003-12-06  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-handle-file-writable-p): Handle the case
	of non-existing filename, too.  Reported by Christoph Bauer
	<c_bauer@informatik.uni-kl.de>.
	(tramp-smb-get-file-entries): The directory in question should
	have permissions "drwxrwxrwx".  Just virtual, because we don't
	know the real permissions.  Don't we know?

2003-11-30  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Version 2.0.38 released.

2003-11-30  Kai Grossjohann  <kai.grossjohann@gmx.net>

	* tramp-ftp.el, tramp-smb.el, tramp-util.el, tramp-uu.el:
	* tramp-vc.el, tramp.el, trampver.el.in: Add arch tagline.

2003-11-29  Kai Grossjohann  <kai.grossjohann@gmx.net>

	Version 2.0.37 released.

2003-11-25  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el: Add new optional parameter ID-FORMAT to
	`file-attributes'.  Calls of `file-attributes' won't use this
	parameter for backward compatibility reasons.
	(tramp-perl-file-attributes): Add a new parameter to Perl script
	in order to handle uid/gid as strings, if desired.
	(tramp-handle-file-truename, tramp-handle-file-symlink-p): Apply
	`file-attributes' instead of `tramp-handle-file-attributes' in
	order to make the function more general.
	(tramp-handle-file-attributes): Replace proprietary optional
	parameter NONNUMERIC by the recently (Emacs 21.4) introduced
	ID-FORMAT.
	(tramp-handle-file-attributes-with-perl): Handle parameter
	NONNUMERIC if set. This wasn't done in the past.
	(tramp-post-connection): Apply second parameter "$2" if
	`tramp-remote-perl' is called.

	* tramp-smb.el (tramp-smb-handle-delete-file): Correct cut'n'waste
	error (`filename' instead of `directory').
	(tramp-smb-handle-directory-files-and-attributes)
	(tramp-smb-handle-file-attributes): Add recently (Emacs 21.4)
	introduced parameter ID-FORMAT.
	(tramp-smb-handle-make-directory-internal): Correct cut'n'waste
	error (`directory' instead of `ldir').

	* tramp-vc.el (tramp-handle-vc-user-login-name): Check if
	`file-attributes' has a second parameter.  If yes, apply it with
	value "'integer".  Otherwise, don't use that parameter (default
	is integer format).
	
2003-11-02  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el, tramp.el: Add new Todo item.

2003-08-09  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-get-connection-function, tramp-get-remote-sh)
	(tramp-get-login-program, tramp-get-login-args)
	(tramp-get-copy-program, tramp-get-copy-args)
	(tramp-get-copy-keep-date-arg, tramp-get-password-end-of-line):
	Functions removed.  Use `tramp-get-method-parameter' instead.
	(tramp-get-method-parameter): New function to retrieve a method
	parameter.  This allows for omission of method parameters.
	(tramp-handle-file-local-copy, tramp-handle-write-region)
	(tramp-find-shell, tramp-open-connection-telnet)
	(tramp-open-connection-rsh, tramp-open-connection-su)
	(tramp-enter-password)
	(tramp-open-connection-setup-interactive-shell)
	(tramp-post-connection, tramp-maybe-open-connection)
	(tramp-method-out-of-band-p): Use new function
	`tramp-get-method-parameter'.

2003-08-08  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-multi-connection-function-alist): Add ssht
	entry which adds "-e none -t -t" to the list of ssh args.
	Suggested by Adrian Aichner.

2003-07-30  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-chunksize): Extend docstring.  Suggested by
	Charles Curley <charlescurley@charlescurley.com>.

2003-07-26  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in (.PHONY): Add `xemacs'.

2003-07-26  Kai Grojohann  <kai.grossjohann@gmx.net>

	* Makefile.in (xemacs): New target to copy files to XEmacs
	working dir.  (For use by Kai only.)

2003-07-20  Kai Grojohann  <kai.grossjohann@gmx.net>
	Version 2.0.36 released.

	* 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'.

2003-07-15  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in (LISP_FILES): tramp-ftp.el is conditional, too.
	(install): Install only files belonging to the respective Emacs
	flavour.

2003-07-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in (LISP_FILES): New variable.  Used to distinguish
	collection of *.el files for Emacs and XEmacs.
	Reported by Sven Utcke <utcke@informatik.uni-hamburg.de>.
	(EM): Use `-vanilla' option for XEmacs call.
	(all): Depends on $(LISP_FILES).

2003-07-14  Kai Grojohann  <kai.grossjohann@gmx.net>

	* Makefile.in (MKDIR): New variable.
	(install): Create installation directory, if necessary.

2003-07-03  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (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-vc.el (vc-workfile-unchanged-p): Add comment.

2003-06-30  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-sh-extra-args): Test whether widget type
	`alist' is available (instead of testing (featurep 'xemacs)).

2003-06-27  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-sh-extra-args): Adapt defcustom type to XEmacs.

2003-06-24  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (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".  Maybe this leads to just one
	prompt on a line.

2003-06-17  Kai Grojohann  <kai.grossjohann@gmx.net>
	Version 2.0.35 released.

	* tramp.el (tramp-shell-prompt-pattern): Allow space after escape
	sequence.

2003-06-16  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-shell-prompt-pattern): Allow multiple escape
	sequences.

	* tramp-uu.el: 
	* tramp-util.el: 
	* tramp-efs.el: Use iso-2022-7bit encoding with coding cookie for
	XEmacs compatibility.

2003-06-12  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (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.

2003-06-08  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (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.

2003-06-08  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-find-foreign-file-name-handler): Return after
	first match is found.  From Francis Litterio <franl@world.std.com>.

2003-05-31  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el: 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.

2003-05-24  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile.in (EM): Use `--no-site-file' option for Emacs call, in
	order to avoid loading of Tramp in site specific init files.
	Reported by Harry Putnam <reader@newsguy.com>.
	(.PHONY): New target.
	(all): "trampver.el" and "tramp.el" must be handled first due to
	dependencies.

	* tramp.el (tramp-completion-function-alist): Add completion
	function for "remcp", "remsh" and "plink1".

2003-05-24  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-password-end-of-line): Use "xy" with plink.

2003-05-21  Kai Grojohann  <kai.grossjohann@gmx.net>

	Version 2.0.34 released.

	* tramp.el (tramp-shell-prompt-pattern): Allow ANSI escapes at
	end of prompt.  (ANSI escapes elsewhere in the prompt are
	recognized properly already.)

2003-05-18  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-methods): New method plink1.  Like plink but
	pass "-1" to force protocol version 1.

2003-05-14  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-completion-file-name-handler): Add safe-magic
	property.

2003-05-06  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-default-method): Use plink as the default on
	machines where the plink program is present.

2003-05-03  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-methods): 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.

2003-05-03  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-methods): Old entries "rsh" and "rcp"
	unconditionally invoke rsh now.  New entries "remsh" and "remcp"
	unconditionally invoke remsh now.
	(tramp-real-rsh-program): Remove.
	(tramp-multi-connection-function-alist): Old entry "rsh"
	unconditionally invokes rsh now.  New entry "remsh" invokes remsh.

2003-04-27  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-real-rsh-program): Explain strategy for
	choosing default value.

2003-04-25  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-real-rsh-program): "remsh" is used on Cray
	machines, too.  Suggested by Ted Stern
	<stern+tramp-devel@cray.com>.
	(tramp-methods, tramp-multi-connection-function-alist): The list
	must be backquoted, because the value of `tramp-real-rsh-program'
	is needed.  No trailing space needed in the password argument of
	sudo `tramp-su-args'.  Reported by my friendly supervisor Kai
	Grojohann <kai.grossjohann@gmx.net>.

2003-04-24  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-real-rsh-program): New constant.  On HP-UX, the
	"rsh" program is called "remsh".
	(tramp-methods, tramp-multi-connection-function-alist): Apply
	`tramp-real-rsh-program'.  Use "-p Password:\ " for "sudo" method,
	because password prompt might be changed by either passprompt
	option in /etc/sudoers, or SUDO_PROMPT environment variable.
	Suggested by Peter Oliver <peter.oliver@aquila-networks.co.uk>.

2003-04-18  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp-efs.el: New file.

	* tramp.el (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.

2003-04-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-file-truename): `sym' shouldn't be quoted.

2003-04-08  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (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'.

2003-04-08  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	Version 2.0.33 released.
	Version 2.0.32 released.

2003-04-04  Andreas Schwab  <schwab@suse.de>

	* tramp.el (tramp-send-string): Handle empty string.

2003-04-04  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el (tramp-ftp-file-name-handler):
	'ange-ftp-file-directory-p` calls 'file-directory-p` as
	well.  Disabling of file-name-handler not appropriate, too.

2003-04-02  Kai Grojohann  <kai.grossjohann@gmx.net>

	* tramp.el: Change actual encoding of file to match coding cookie.

2003-04-02  Steve Youngs  <youngs@xemacs.org>

	* tramp.el: Change coding cookie to 'iso-2022-7bit' to get around
	a bug in non-Mule XEmacs 21.5.

2003-03-30  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el (tramp-ftp-file-name-handler): In
	'ange-ftp-file-exists-p`, 'file-exists-p` is called in case of
	symlinks.  So we cannot disable the file-name-handler this case.

2003-03-29  Kai Grojohann  <kai.grossjohann@gmx.net>

	Version 2.0.31 released.

	* tramp.el (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.

2003-03-13  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-handle-insert-directory): Comment out XEmacs
	kludge.  Suggested by Katsumi Yamaoka <yamaoka@jpl.org>.

2003-03-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* .cvsignore (Makefile, trampver.el): Added.

	* Makefile.in: New file.  Derived from Makefile, which will be
	generated now.
	(EMACS, prefix, datadir, lispdir, CLEAN_FILES: Generated by configure.
	(all): Depends on wildcard.
	(install-ftp): Renamed from install.
	(install, distclean): New targets.
	(prepversion): Removed.

	* Makefile: Removed from CVS.

	* trampver.el.in: New file.  Provides `tramp-version' and
	`tramp-bug-report-address', which are generated by configure.

	* tramp.el (tramp-version, tramp-bug-report-address): Moved to
	trampver.el, which is required now.

2003-03-06  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-read-file-entry): Make reading size of a
	listing entry more robust.  Ranges from 10 chars (Samba 1) to 7-9
	chars (Samba 2).

2003-03-02  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-chunksize): Type can be nil as well.  Reported
	by Markus Rost <rost@math.ohio-state.edu>.

2003-02-28  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-version): Bump.
	(tramp-handle-expand-file-name): Protect against short localnames
	when comparing with "/../".

2003-02-27  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-handle-expand-file-name): Allow ".." to cross
	host boundaries.

2003-02-20  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (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.

2003-02-16  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el: Replace term `path' with `localname' unless it is
	used for a search path.  In GNU, the word `path' is reserved for
	search paths.

	* tramp.el (tramp-send-linewise, tramp-send-region): Removed.
	(tramp-send-string): New function.  Takes over the role of the
	functions above, in order to have a unique place handling
	`tramp-chunksize'.  Same implementation as `tramp-send-region'.

2003-02-15  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp-vc.el, tramp.el: Replace term `path' with `localname'
	unless it is used for a search path.  In GNU, the word `path' is
	reserved for search paths.

	* tramp.el (tramp-do-copy-or-rename-file-one-local): New
	function.  Not implemented.  Not used.  Should invoke rcp or scp
	directly to keep the time.
	
2003-02-09  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-chunksize): It's now a defcustom.  Set to 500 on
	systems only known to have a buggy `process-send-string'
	implementation.  First black-listed constellation is GNU Emacs/
	hpux.
	(tramp-send-region): Correct debug message.
	(tramp-bug): Add `tramp-chunksize'.

2003-02-05  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	Version 2.0.29 released.

	* tramp.el (tramp-send-region): Protect against tramp-chunksize
	being nil.

2003-02-04  Michael Albinus  <Michael.Albinus@alcatel.de>

	* 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 ...

	* 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.

	* 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 Grojohann  <kai.grossjohann@uni-duisburg.de>

	* 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>

	* 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>

	* 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>

	* 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.

	* 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>

	* 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>

	* 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>

	* 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 Grojohann  <kai.grossjohann@uni-duisburg.de>

	* 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>

	* 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>

	* 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>

	* tramp-ftp.el (top-level): Defaults for
	`tramp-default-method-alist' must be a list.

	* tramp-smb.el (top-level): Defaults for
	`tramp-default-method-alist' must be a list.

2003-01-02  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* 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.

2002-12-23  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	Version 2.0.28 released.

2002-12-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (top-level): Discard tramp-smb.el also for Cygwin.  No
	"smbclient" available there.
	(tramp-completion-dissect-file-name):
	`tramp-completion-file-name-structure1',
	`tramp-completion-file-name-structure2',
	`tramp-completion-file-name-structure3' and
	`tramp-completion-file-name-structure4' changed from "defconst" to
	"let*", because they are function local (but nevertheless
	constants).  Suggested by David Kastrup
	<David.Kastrup@t-online.de> and Kai Grojohann
	<kai.grossjohann@uni-duisburg.de>.  The value "9" has changed to
	"nil" (meaning there's nothing to match), because Emacs 21.3 seems
	to be more sensible on `match-string'.
	(tramp-completion-dissect-file-name1): In case of a "nil" position
	don't call `match-string'.

	* tramp-smb.el (tramp-smb-file-name-handler-alist):
	`add-name-to-file' is handled by `tramp-smb-handle-copy-file',
	because there are no hardlinks under Windows.

2002-12-21  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-default-method-alist): Defaults setting for FTP
	method has moved to tramp-smb.el.  The remaining default for the
	SU method is available for both Emacs and XEmacs now.

	* tramp-ftp.el (top-level): Set defaults for
	`tramp-default-method-alist'.  Taken over from tramp.el.

	* tramp-smb.el (top-level): Set default for
	`tramp-default-method-alist'.  If the user name contains a domain
	(visible via the "%" char), it must be the SMB method.
	(tramp-smb-wait-for-output): Use `tramp-smb-process-running' where
	appropriate.  Last time I've changed this function I forgot one
	place.

2002-12-05  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	Version 2.0.27 released.

2002-12-05  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-process-running) New buffer local
	variable.  Flag whether a corresponding process is still running.
	(tramp-smb-open-connection): Set a process sentinel.  It disables
	`tramp-smb-process-running'.
	(tramp-smb-wait-for-output): Use `tramp-smb-process-running' for
	several checks.

2002-12-05  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-run-real-handler) 
	(tramp-completion-run-real-handler): Disable cygwin-mount, too.
	All files handled by Tramp are on Unix systems, where
	cygwin-mount is not useful.  (Ie, remote Cygwin systems are not
	supported.)

	* tramp-vc.el (tramp-vc-do-command): Ensure that `okstatus' is an
	integer before using `<' on it.
	(tramp-vc-do-command-new): Pass relative filename as arg to remote
	process.  This helps with CVS.  Suggested by Francis Litterio.

2002-11-30  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-end-of-output): Do not use directory listing as
	input to `md5' function.  The current time is deemed to be good
	enough.

	* tramp-vc.el (tramp-vc-do-command-new): `okstatus' can be async.
	From Francis Litterio <franl@world.std.com>.
	(tramp-vc-simple-command): Comment on potential `okstatus'
	problem with it being `async'.  No code change.

2002-11-28  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	Version 2.0.26 released.

	* tramp.el (tramp-version): Bump.

2002-11-28  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (top-level): Require tramp-smb.el only if local
	Operating System is not MS Windows.  There's no need for the SMB
	method there, because those Emacsen support UNC file names.
	(tramp-handle-file-modes): Use Emacs file name primitives instead
	of calling tramp-handle-* equivalents directly.  Needed for
	tramp-smb.

	* tramp-smb.el (tramp-smb-errors): List of error strings extended.
	(tramp-smb-not-handled-yet): Function removed.  All I/O primitives
	are handled now.  All places where used updated accordingly.
	(tramp-smb-handle-copy-file, tramp-smb-handle-delete-file)
	(tramp-smb-handle-file-local-copy, tramp-smb-handle-rename-file)
	(tramp-smb-handle-write-region, tramp-smb-open-connection): Error
	handling improved.
	(tramp-smb-handle-delete-directory)
	(tramp-smb-handle-directory-files)
	(tramp-smb-handle-directory-files-and-attributes)
	(tramp-smb-handle-make-directory)
	(tramp-smb-handle-make-directory-internal): New file name
	primitive functions implemented.
	(tramp-smb-handle-insert-directory): In case parameter is not a
	directory, the result of "dir filename*" will return too many
	results.  They are filtered out now.
	(tramp-smb-send-command): Returns nil if there has been an error
	message from smbclient.  Used for improved error handling
	mentioned above.
	(tramp-smb-wait-for-output): Timeouts removed.  Too much trouble
	with.
	(tramp-smb-time-less-p, tramp-smb-time-subtract): Handle the case
	when T1 or T2 is nil.  It shouldn't happen ever, but it did once.

2002-11-27  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp-uu.el (tramp-uu-b64-char-to-byte, tramp-uuencode-region):
	Abstain from `incf'.

2002-11-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-handle-substitute-in-file-name):
	Removed.  The default handler is good enough for us now.
	(tramp-smb-advice-PC-do-completion): Advice for
	`PC-do-completion'.  Corrects the inconvenient usage of
	`substitute-in-file-name' there.

2002-11-21  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-use-smb): Remove variable.  "smb" method is
	active now; beta test can start.
	(tramp-smb-handle-file-newer-than-file-p): Apply
	`tramp-smb-time-less-p' but `tramp-time-diff'.  Seems to be more
	general.
	(tramp-smb-handle-insert-directory): Use SWITCHES in order to
	decide how to sort (but obscure dired variables).  Don't apply
	`save-excursion'; the cursor must be at the end of the buffer
	after insertion.  I should have it done from the beginning ...
	(tramp-smb-handle-write-region): Remove unused variable
	`trampbuf'.  Thanx to XEmacs compiler warning.
	(tramp-smb-read-file-entry): Simplify handling of the dont-know
	mtime value.
	(tramp-smb-maybe-open-connection): Remove unused variable
	`last-cmd-time'.  Thanx to XEmacs compiler warning.

2002-11-20  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (top-level): Autoload of "time-date" removed.
	Needed functions snarfed from there.
	(tramp-smb-handle-insert-directory): Dummy user renamed to
	"nobody".
	(tramp-smb-read-file-entry): Return list shortened; just MTIME is
	used for all time strings and calculations.
	(tramp-smb-open-connection): Test of anonymous USER introduced.
	Also an empty HOST is tested, but does it makes sense?
	(tramp-smb-half-a-year): New constant, in order to decide whether
	to display time or year in dired buffers.
	(tramp-smb-parse-time-months ): Snarfed from "time-date".  Alist
	mapping month names to integers.
	(tramp-smb-time-less-p): Snarfed from "time-date".  Replaces
	`time-less-p'.
	(tramp-smb-time-subtract): Snarfed from "time-date".  Replaces
	`tramp-time-diff', which returns just an integer only.

2002-11-19  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (top-level): Autoload "time-date".  Just a
	work-around, until I have replaced the corresponding functions by
	own implementation.
	(tramp-smb-errors): List of error strings extended.
	(tramp-smb-share-cache): New buffer local variable.  Holds the
	share names of the respective host.
	(tramp-smb-file-name-handler-alist): `vc-registered' changed to be
	not-handled.  If default handler is used, there are problems with
	version control files of shares themselves ...
	(tramp-smb-handle-copy-file): Error handling improved, check for
	shares is performed.
	(tramp-smb-handle-file-attributes)
	(tramp-smb-handle-file-directory-p)
	(tramp-smb-handle-file-directory-p)
	(tramp-smb-handle-file-exists-p)
	(tramp-smb-handle-file-name-all-completions)
	(tramp-smb-handle-file-writable-p)
	(tramp-smb-handle-insert-directory): `tramp-smb-get-file-entries'
	used instead of own scenario.
	(tramp-smb-get-share): Replace nil in case the share name isn't
	completed.
	(tramp-smb-get-path): Handling for "$" and "$$" added.  But I
	still have the feeling it isn't trustworthy yet.  Too complex.
	(tramp-smb-get-file-entries): New function.  Replaces
	`tramp-smb-get-file-entry'.
	(tramp-smb-read-file-entry): Reads share names as well now.
	(tramp-smb-send-command): Erases always buffer.
	(tramp-smb-maybe-open-connection): Check for being alive is
	removed.  Instead of, `process-status' is applied.  Erasing the
	buffer is removed, because it disturbs exited processes if just
	the share names should be retrieved.
	(tramp-open-connection-smb): Renamed to
	`tramp-smb-open-connection' for uniqueness.  Acknowledges now
	domains in user names ("USER%DOMAIN"), and port numbers in host
	names ("HOST#PORT").  Erasing the buffer is removed, because it
	disturbs exited processes if just the share names should be
	retrieved.
	(tramp-smb-wait-for-output): Handling for exited processes
	incorporated.
	(tramp-smb-check-shares): Removed.  Functionality moved to
	`tramp-smb-open-connection' and `tramp-smb-get-file-entries',
	respectively.
	

2002-11-10  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-file-name-completion): Use Emacs file
	name primitives instead of calling tramp-handle-* equivalents
	directly.  Needed for tramp-smb.

	* tramp-smb.el (tramp-smb-errors): List of error strings extended.
	(tramp-smb-not-handled, tramp-smb-not-handled-yet):
	`tramp-smb-not-handled' renamed to `tramp-smb-not-handled-yet'.
	The new `tramp-smb-not-handled' returns nil for als primitives
	which don't make sense for SMB servers.  All callers adapted.
	(tramp-smb-handle-copy-file)
	(tramp-smb-handle-file-name-all-completions)
	(tramp-smb-handle-file-newer-than-file-p)
	(tramp-smb-handle-rename-file)
	(tramp-smb-handle-substitute-in-file-name)
	(tramp-smb-handle-write-region): New file name primitive functions
	implemented.
	(tramp-smb-handle-delete-file): In the `let' clause, `path' must
	be declared but `share'.  Found during compilation.
	(tramp-smb-handle-file-symlink-p)
	(tramp-smb-handle-set-visited-file-modtime)
	(tramp-smb-handle-verify-visited-file-modtime): Replaced by
	`tramp-smb-not-handled'.
	(tramp-smb-handle-insert-directory): Handling of copyied files
	added.
	(tramp-smb-maybe-open-connection): Are-you-alive command changed
	from "help" to "dir .".
	(tramp-smb-wait-for-output): In case of finished process return
	immediately.
	(tramp-smb-check-shares): New function.  Reads share names.

2002-11-05  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-errors): List of error strings extended.
	(tramp-smb-share): New buffer local variable.  Holds the share
	name associated with the buffer process.
	(tramp-smb-handle-delete-file, tramp-smb-handle-file-attributes)
	(tramp-smb-handle-set-visited-file-modtime)
	(tramp-smb-handle-verify-visited-file-modtime):
	New file name primitive functions implemented.  The latter two do
	nothing (yet).
	(tramp-smb-handle-file-local-copy): `save-excursion' added.  I'm
	not fully sure if it's needed here, but it is better in case of.
	(tramp-smb-handle-insert-directory): Mode string adapted.
	(tramp-smb-read-file-entry): Block introduced for better return
	handling.  Return list values changed.  Callers	adapted.
	

2002-11-04  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-smb.el (tramp-smb-line): Defconst deleted.  Useless due to
	nature of smbclient output.  More sophisticated handling in
	`tramp-smb-read-file-entry'.
	(tramp-smb-errors): List of error strings extended.
	(tramp-smb-get-path): Additional parameter CONVERT for conversion
	of "/" path separator into "\\".
	(tramp-smb-get-file-entry): Top directory handling included.
	(tramp-smb-read-file-entry): Reimplemented.  No chance to handle
	smbclient output lines by a single regexp.
	(tramp-smb-send-command): Parameters of commands enclosed in
	\"...\".
	
2002-11-03  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-insert-file-contents): Use Emacs file
	name primitives instead of calling tramp-handle-* equivalents
	directly.  Needed for tramp-smb.

	* tramp-smb.el: First usefull version.  Directory traversing and
	file displaying work.

2002-11-03  Kai Grossjohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-end-of-output): Fix last change.

2002-11-02  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-md5-function): New variable.
	(tramp-end-of-output): Use it.

2002-10-27  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el (top-level): Require some basic packages in order
	to pacify byte-compiler.

	* tramp-smb.el (top-level): Ditto.

2002-10-27  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (top-level): Load tramp-smb.el.  Remove autoload of
	`tramp-ftp-file-name-p'; not needed anymore.
	(tramp-foreign-file-name-handler-alist): New variable.  Foreign
	methods shall plug in.
	(tramp-file-name-for-operation): Relative file names are checked
	via `expand-file-name'.  If no absolute file name is given,
	default directory of current-buffer is used.
	(tramp-find-foreign-file-name-handler): New function.  Parses
	`tramp-foreign-file-name-handler-alist' in order to find foreign
	file name handlers.
	(tramp-file-name-handler): Apply
	`tramp-find-foreign-file-name-handler' instead of simply looking
	for FTP foreign method.

	* tramp-ftp.el (top-level): Plug into
	`tramp-foreign-file-name-handler-alist'.

	* tramp-smb.el: New file.  Functionality disabled by
	`tramp-use-smb' during development.

	* Makefile (tramp): Add tramp-smb.elc.

2002-10-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-file-name-for-operation): Even more file
	primitives.  Sort them alphabetically.

2002-10-22  Kai Grojohann  <kai.grossjohann@uni-duisburg.de>

	* tramp.el (tramp-action-yn): Erase the buffer when the user has
	said yes, don't erase it when they said no.

2002-10-20  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-file-name-for-operation): Complete file
	primitives.  Lots of undocumented found.

2002-10-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-sh-extra-args): Use "-norc -noprofile" instead
	of "--norc" for bash.  The single dash is for old versions, and
	the additional option might help more.  Suggested by Tim Connors
	<tconnors@astro.swin.edu.au>.

2002-10-15  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-end-of-output): Emulate
	directory-files-and-attributes if it does not exist.  (It does
	not exist on XEmacs.)

2002-10-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-dissect-file-name): Check for multi-method
	syntax before raising an error.
	(tramp-primitive-file-name): Renamed to
	`tramp-file-name-for-operation'.  Docstring enhanced.  List of
	file primitives completed in order to be signalled when a new one
	appears.  All changes suggested by Kai.
	(tramp-file-name-handler): `save-match-data' global.

2002-10-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-end-of-output): Use a random value which
	includes "///".  The "///" makes sure that the string can't occur
	during normal operation, the random value makes it unlikely that
	it occurs in random shell-command output.

2002-10-13  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-advice-find-file-name-handler): Remove defadvice
	because it might be not a good idea to hook into Emacs built-in
	subroutiones. Suggested by RMS.
	(tramp-primitive-file-name): Handle all primitives now.
	(tramp-file-name-handler): Allow call of
	`tramp-ftp-file-name-handler' only for functions defined in
	`tramp-file-name-handler-alist'.  Strange.

2002-10-12  Michael Albinus  <Michael.Albinus@alcatel.de>

	* Makefile (tramp): Add tramp-uu.elc and tramp-ftp.elc.

	* tramp.el (top-level): Require `tramp-ftp' after load in order to
	avoid infloop. Autoload `tramp-ftp-file-name-p' for compiler
	satisfaction.
	(tramp-primitive-file-name): Add handling of `expand-file-name'
	and `file-newer-than-file-p'.
	(tramp-file-name-handler): Call `tramp-primitive-file-name' via
	`apply'.

	* tramp-ftp.el (top-level): Require `tramp'.
	

2002-10-11  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp-ftp.el: New file.

	* tramp.el (tramp-default-method): Adapt doc string.
	(tramp-ftp-method, tramp-completion-function-alist-ftp)
	(tramp-disable-ange-ftp, tramp-invoke-ange-ftp)
	(tramp-ange-ftp-file-name-p, tramp-make-ange-ftp-file-name): Moved
	to tramp-ftp.el or removed (if not needed any longer).  Callers
	adapted.
	(tramp-completion-function-alist): "ftp" entry removed.  Will be
	added from within tramp-ftp.el.
	(tramp-set-completion-function ): Allow setting of methods not
	defined yet.
	(tramp-run-real-handler, tramp-completion-run-real-handler):
	Remove `ange-ftp-hook-function' handling.  Make
	`inhibit-file-name-handlers' a cons but a list.
	(tramp-advice-find-file-name-handler): Advice for
	`find-file-name-handler'.  Check for Ange-FTP file names,
	applicable for NON built-in primitives only.
	(tramp-primitive-file-name): New function.  Returns filename for
	some built-in primitives.
	(tramp-file-name-handler): Check for Ange-FTP file names (built-in
	primitives only).  Forward to Ange-FTP in case of.
	(tramp-completion-file-name-handler): Remove catch for
	`tramp-forward-to-ange-ftp'.  Not necessary any longer.
	(tramp-flatten-list): Remove function.  Never used.
	(tramp-completion-mode, tramp-get-completion-methods): Special
	handling of `tramp-ftp-method' removed.  It's part of
	`tramp-methods' now (as foreign method).

2002-10-11  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-shell-command): Don't switch to the
	output buffer, just display it.  From Francis Litterio
	<franl@world.std.com>.

2002-10-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-newer-than-file-p): Use
	tramp-time-diff instead of subtract-time.  Reported by Angus Lees.

2002-10-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.25 released.

2002-10-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): If it's a directory,
	append slash only if result doesn't end in a slash already.

2002-10-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Restructure logic.  If
	list of steps is nil, return "/" as the real name.

2002-10-03  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode): Add "\\(" and
	"\\)". Otherwise, `match-string' doesn't make sense.
	(tramp-host-with-port-regexp): New defcustom. Equal to previous
	`tramp-host-regexp'.
	(tramp-host-regexp): Taken off hashes in host names. Otherwise,
	scanning files like .rhosts would take comments as host names.
	(tramp-file-name-structure, tramp-multi-file-name-hop-structure):
	Replace `tramp-host-regexp' by `tramp-host-with-port-regexp'.

2002-10-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-action-terminal): New function.
	(tramp-terminal-prompt-regexp): New variable, matches "tset"
	prompts.
	(tramp-actions-before-shell): Use them.

2002-09-30  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-shell-command): Logic error.  From Ivan
	Zakharyaschev <imz@altlinux.org>.

2002-09-29  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.24 released.

	* tramp.el (tramp-host-regexp): Allow hashes in host names (for
	the "#port" feature).

2002-09-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell):
	Explicitly set tramp-last-cmd-time before invoking
	tramp-send-command the first time.  Otherwise, tramp-send-command
	would issue "echo are you awake" right at the first time, which
	is not what we want.  Reported by Douglas Gray Stephens.

2002-09-27  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-methods, tramp-completion-function-alist):
	Rename "scp1-old", "scp2-old", "ssh1-old", "ssh2-old" to
	"*_old". There have been problems in method name completion,
	because "-" is a word delimeter for partial completion mode.
	(tramp-completion-function-alist): Set
	`tramp-completion-function-alist-ssh' as completion function for
	"fcp".

2002-09-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.23 released.

2002-09-26  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-local-copy): More local bindings.
	Bind results of tramp-get-{remote,local}-{de,en}coding earlier to
	avoid nasty "are you awake" problem.

2002-09-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-action-password): Protect against clobbered
	match data.
	(tramp-maybe-open-connection): Don't send "are you awake" if
	process has died.

2002-09-24  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Eliminate unused
	variable.
	(tramp-version): Bump.

2002-09-24  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-find-inline-encoding): Don't redirect stdout to
	/dev/null to avoid "chmode go-rwx" operation from "mimencode
	>/dev/null" as root(!), and to check the output of the decoding
	command.
	(tramp-ange-ftp-file-name-p): If METHOD is nil, find the right
	default method.  Require additional args USER and HOST for this.
	Callers changed.

2002-09-23  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-unified-filenames): Autoload cookie.  Reported
	by Vin Shelton <acs@xemacs.org>.

2002-09-22  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	Version 2.0.22 released.

2002-09-22  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-parse-rhosts, tramp-parse-shosts)
	(tramp-parse-hosts, tramp-parse-passwd): Apply `push' but
	`add-to-list' for performance reasons.
	(tramp-get-completion-user-host): Return `nil' in case both `user'
	and 'host' are empty (not necessarily `nil'.
	(tramp-parse-netrc, tramp-parse-netrc-group): New functions.
	(tramp-user-regexp): " \t" are not user regexp characters.
	(tramp-completion-handle-file-name-all-completions): Remove
	Ange-FTP cmpletion. It has a bug not handling the "/ftp:" prefix
	completely, and it returns local completions as well.
	(tramp-completion-function-alist-ftp): New constant.
	(tramp-completion-function-alist): Add completion function for
	"ftp".

2002-09-22  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.21 released.

	* tramp.el (tramp-handle-file-newer-than-file-p): If mtime of
	both files is known, return a useful result.  Better error
	message in case one is a Tramp file and one isn't.
	(tramp-handle-file-local-copy, tramp-handle-write-region) 
	(tramp-find-shell, tramp-open-connection-telnet) 
	(tramp-open-connection-rsh, tramp-open-connection-su) 
	(tramp-open-connection-setup-interactive-shell) 
	(tramp-post-connection, tramp-maybe-open-connection) 
	(tramp-method-out-of-band-p): Correct number of args for
	`tramp-get-rsh-program' and similar functions.

2002-09-22  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	Version 2.0.20 released.

2002-09-20  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-method-out-of-band-p): Add missing ")".
	* tramp.el (tramp-method-out-of-band-p): Remove superfluous ")".

2002-09-20  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-completion-function-alist): Escape open paren in
	docstring.
	(tramp-user-regexp, tramp-host-regexp): Allow empty strings.
	(tramp-handle-insert-file-contents): Call tramp-message-for-buffer
	instead of tramp-message.
	(tramp-open-connection-rsh): Handle empty string as user name.
	(tramp-open-connection-su): Handle empty string as host name.
	Handle nil user name.
	(tramp-handle-file-local-copy, tramp-handle-write-region)
	(tramp-completion-handle-file-name-all-completions)
	(tramp-open-connection-telnet, tramp-open-connection-rsh)
	(tramp-open-connection-su, tramp-post-connection)
	(tramp-maybe-open-connection, tramp-method-out-of-band-p)
	(tramp-get-connection-function, tramp-get-remote-sh)
	(tramp-get-rsh-program, tramp-get-rsh-args)
	(tramp-get-rcp-program, tramp-get-rcp-args)
	(tramp-get-rcp-keep-date-arg, tramp-get-su-program)
	(tramp-get-su-args, tramp-get-telnet-program)
	(tramp-get-telnet-args): Use `tramp-find-method', perhaps require
	additional args USER, HOST.
	(tramp-action-password, tramp-open-connection-telnet)
	(tramp-open-connection-su, tramp-open-connection-multi)
	(tramp-method-out-of-band-p): `tramp-method-out-of-band-p' now
	takes USER and HOST arguments, to be able to use
	`tramp-find-method'.  Update callers.
	(tramp-find-method): New function.

2002-09-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-insert-directory): Handle "--dired" in
	SWITCHES (by removing it).

2002-09-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-handler): Add `file-remote-p'
	property.

2002-09-17  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (top-level): Maybe autoload uudecode-decode-region.

2002-09-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-bug): Add tramp-methods.

2002-09-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Update docstring:
	tramp-encoding-command, tramp-decoding-command,
	tramp-encoding-function and tramp-decoding-function are not
	parameters anymore.
	(tramp-uuencode-region): Autoload it.

2002-09-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.19 released.

	* tramp-uu.el: New file.

	* tramp.el (tramp-coding-commands): Use `tramp-uuencode-region'
	as local encoder for the uuencode based entries.

2002-09-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-write-region): Wrong parens.

2002-09-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.18 released.

	* tramp.el (tramp-perl-decode): Perl changes to accomodate older
	versions of Perl.  Now tested with 5.004.  Suggestion from
	Michael Albinus.

2002-09-12  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-find-inline-encoding): Call
	tramp-call-local-coding-command with nil for INPUT and OUTPUT.
	(tramp-call-local-coding-command): OUTPUT equals nil means to
	discard the output.  INPUT equals nil means /dev/null.

2002-09-12  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-encoding-shell): Default to environment
	variable COMSPEC on Windows.
	(tramp-handle-write-region): More debugging output.
	(tramp-find-inline-encoding): Ditto.

2002-09-11  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-handle-file-name-all-completions):
	Define `result1'.
	(tramp-parse-hosts-group): Discard IPv6 entries.

2002-09-11  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el: Next todo item. The list shall decrease, but it
	doesn't :(

2002-09-11  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: New todo item.

2002-09-11  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-post-connection): Only send Perl
	mime-encode/decode implementations when using inline method.
	(tramp-handle-file-local-copy)
	(tramp-handle-write-region, tramp-post-connection)
	(tramp-coding-commands, tramp-find-inline-encoding): For the
	inline encodings, distinguish between local and remote commands,
	instead of between commands and functions.  (The local commands
	can be functions, too.)  If the local host is a Windows machine,
	we can't expect the same commands to work there as on the remote
	host.
	(tramp-call-local-coding-command): New function for calling local
	encoding and decoding commands.
	(tramp-set-remote-encoding, tramp-get-remote-encoding) 
	(tramp-set-remote-decoding, tramp-get-remote-decoding) 
	(tramp-set-local-encoding, tramp-get-local-encoding) 
	(tramp-set-local-decoding, tramp-get-local-decoding): New functions.
	(tramp-get-encoding-command, tramp-set-encoding-command) 
	(tramp-get-decoding-command, tramp-set-decoding-command) 
	(tramp-get-encoding-function, tramp-set-encoding-function) 
	(tramp-get-decoding-function, tramp-set-decoding-function): Old
	functions, removed.

2002-09-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell):
	Change command to invoke /bin/sh slightly to make it compatible
	with the `rc' shell.  Suggested by Daniel Pittman.

2002-09-10  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-handle-write-region): Added missing `)'. Hope
	it's the right place.

2002-09-09  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Do
	"exec env PS1='$ ' /bin/sh" instead of just "exec /bin/sh" in
	order to get a sane shell prompt.  If people have ${CWD}, say, in
	their shell prompt, then the default login shell might display
	something harmless, but the /bin/sh will display a dollar sign
	which confused the subsequent prompt recognition.
	(tramp-multi-action-password): More debugging output.
	(tramp-encoding-shell): Renamed from tramp-sh-program.  More
	documentation.  Default to cmd.exe on Windows NT.
	(tramp-encoding-command-switch): New variable.  Use instead of
	hard-wired "-c" which is only good for /bin/sh.
	(tramp-encoding-reads-stdin): New variable.  If t, commands are
	called like "/bin/sh -c COMMAND <INPUT", if nil, they are called
	like "/bin/sh -c COMMAND INPUT", ie the input file is the last
	argument.
	(tramp-multi-sh-program): Always default to tramp-encoding-shell.
	(tramp-handle-file-local-copy, tramp-handle-write-region): Respect
	tramp-encoding-shell and friends.
	(tramp-find-inline-encoding): Use new-style calls for checking if
	the local commands work.

2002-09-07  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-methods): Remove `tramp-completion-function'
	entries. They are handled now by `tramp-completion-function-alist'.
	(tramp-completion-function): Defvar removed. I've never used
	it. Hmm.
	(tramp-get-completion-function)
	(tramp-get-completion-rsh, tramp-get-completion-ssh)
	(tramp-get-completion-telnet, tramp-get-completion-su): Functions
	removed as well. Not necessary any longer due to extended
	customization means.
	(tramp-completion-function-alist): New defcustom. Holds all
	FUNCTION FILE pairs used for user and host name completion
	relevant for METHOD.
	(tramp-completion-function-alist-rsh)
	(tramp-completion-function-alist-ssh)
	(tramp-completion-function-alist-telnet)
	(tramp-completion-function-alist-su): Defconst for initializing
	`tramp-completion-function-alist'. Unfortunately, mainly UNIX-like
	values are known for me until now. Needs to be completed for at
	least VMS++ like operating systems.
	(tramp-set-completion-function)
	(tramp-get-completion-function): New functions for configuration
	of `tramp-completion-function-alist'. The old definition of
	`tramp-get-completion-function' has been discarded.
	(tramp-completion-handle-file-name-all-completions): Change
	function call for user/host completion according to definition in
	`tramp-completion-function-alist'.
	(tramp-parse-passwd): Added exception handling for "root", because
	`tramp-get-completion-su' (the previous place for this stuff)
	doesn't exist any longer.
	
2002-09-07  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-enter-password): Use
	`tramp-password-end-of-line' to terminate the line.
	(tramp-bug): Include new variable `tramp-password-end-of-line'.
	(tramp-password-end-of-line): New variable.  People who use plink
	under Windows might have to issue "\r\n" after the password, but
	they need to send just "\n" after the other commands.  So this
	variable was introduced to complement `tramp-rsh-end-of-line'.
	(tramp-wait-for-output, tramp-post-connection): Allow "\r" at end
	of line of the output delimiter.

2002-09-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-local-copy, tramp-find-shell) 
	(tramp-open-connection-setup-interactive-shell): Add some
	comments about Douglas Grey Stephen's suggestions to make Tramp
	work better with plink under Windows.  I'm not sure what to think
	of them, but now I have a guinea pig to try it out on.  Said
	guinea pig is having other problems, though...
	Also remove some commented-out code.

2002-09-06  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-get-completion-methods): Algorithm slightly
	tuned.
	(tramp-get-completion-user-host): Accept user names as they are if
	typed until "@".
	(tramp-completion-mode): Replace `last-input-char' by modern
	`last-input-event'. Check for `event-modifiers'.

2002-09-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (file-expand-wildcards): Corrected check to see if
	advising is necessary.

2002-09-05  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-postfix-single-method-format)
	(tramp-postfix-multi-method-format)
	(tramp-postfix-multi-hop-format)
	(tramp-postfix-user-format): New format strings.
	(tramp-postfix-single-method-regexp)
	(tramp-postfix-multi-method-regexp)
	(tramp-postfix-multi-hop-regexp)
	(tramp-postfix-user-regexp)
	(tramp-make-multi-tramp-file-format)
	(tramp-make-tramp-file-name): Apply them.
	(tramp-completion-handle-file-name-all-completions): Fix for
	invoking ange-ftp in case of "/ftp:xxx" file names.

2002-09-04  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-prefix-format)
	(tramp-postfix-host-format): New format strings.
	(tramp-prefix-regexp, tramp-method-regexp)
	(tramp-postfix-single-method-regexp)
	(tramp-postfix-multi-method-regexp)
	(tramp-postfix-multi-hop-regexp)
	(tramp-user-regexp, tramp-postfix-user-regexp)
	(tramp-host-regexp, tramp-postfix-host-regexp)
	(tramp-path-regexp): New atomar regular expressions. If
	corresponding format strings exist, derived from them.
	(tramp-file-name-structure)
	(tramp-multi-file-name-structure)
	(tramp-multi-file-name-hop-structure)
	(tramp-make-multi-tramp-file-format)
	(tramp-completion-mode)
	(tramp-completion-dissect-file-name)
	(tramp-parse-rhosts-group)
	(tramp-parse-shosts-group)
	(tramp-parse-hosts-group)
	(tramp-parse-passwd-group): Apply these expressions.
	(tramp-file-name-structure-unified)
	(tramp-file-name-structure-separate)
	(tramp-make-tramp-file-format-unified)
	(tramp-make-tramp-file-format-separate)
	(tramp-make-tramp-file-format)
	(tramp-make-tramp-file-user-nil-format-unified)
	(tramp-make-tramp-file-user-nil-format-separate)
	(tramp-make-tramp-file-user-nil-format)
	(tramp-multi-file-name-structure-unified)
	(tramp-multi-file-name-structure-separate)
	(tramp-multi-file-name-hop-structure-unified)
	(tramp-multi-file-name-hop-structure-separate)
	(tramp-make-multi-tramp-file-format-unified)
	(tramp-make-multi-tramp-file-format-separate): Removed.
	(tramp-make-tramp-file-name): Allow partial tramp file
	names. Generate tramp file format on-the-fly depending on
	parameters. Apply atomar format strings resp expressions.
	(tramp-get-completion-methods)
	(tramp-get-completion-user-host): Apply
	`tramp-make-tramp-file-name'.
	(tramp-parse-hosts-group): Take all host names and IP addresses
	into account.
	(tramp-bug): Remove `tramp-make-tramp-file-format'.

2002-09-01  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-methods): Add `tramp-completion-function' for
	"su" and "sudo".
	(tramp-get-completion-telnet): Implement it.
	(tramp-parse-hosts)
	(tramp-parse-hosts-group)
	(tramp-get-completion-su)
	(tramp-parse-passwd)
	(tramp-parse-passwd-group): New functions.

2002-08-31  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode): Check for `last-input-char'.
	(tramp-completion-file-name-handler-alist): Add handler
	for `file-exists-p.
	(tramp-completion-handle-file-exists-p): New function.
	(tramp-completion-handle-file-name-completion): Simplified.
	(tramp-completion-dissect-file-name): Regexp's reorganised.
	(tramp-completion-handle-file-name-all-completions): Call
	completion-function only if `user' or `host' is given.
	(tramp-get-completion-user-host): New function.
	(tramp-get-completion-rsh)
	(tramp-get-completion-ssh): Apply it.
	
2002-08-29  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-file-name-handler-alist): Add handler
	for `expand-file-name'.
	(tramp-completion-handle-expand-file-name): New function.

2002-08-26  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-mode): New function.
	(tramp-completion-handle-file-name-directory)
	(tramp-completion-handle-file-name-all-completions): Apply it.
	(tramp-methods): Remove double definition of `ssh1-old' and
	`ssh2-old'.
	(tramp-point-at-eol): New defalias.
	(tramp-parse-rhosts-group)
	(tramp-parse-shosts-group):: Apply it.

2002-08-25  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-get-completion-methods)
	(tramp-get-completion-rsh)
	(tramp-get-completion-ssh): Add "[" for Xemacs.
	(tramp-completion-file-name-regexp-separate): Expression adapted.
	(tramp-completion-file-name-handler-alist): Add handler for
	`file-name-directory' and `file-name-nondirectory'.
	(tramp-completion-handle-file-name-directory)
	(tramp-completion-handle-file-name-nondirectory)
	(tramp-completion-run-real-handler): New functions.
	(tramp-completion-file-name-handler)
	(tramp-completion-handle-file-name-all-completions): Apply
	`tramp-completion-run-real-handler'.
	(tramp-parse-rhosts)
	(tramp-parse-shosts): Use `with-temp-buffer'. `result renamed to
	`res' (otherwise side effects in XEmacs).

2002-08-24  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-file-name-regexp)
	(tramp-completion-file-name-handler-alist)
	(tramp-flatten-list)
	(tramp-completion-dissect-file-name)
	(tramp-get-completion-rsh)
	(tramp-parse-rhosts)
	(tramp-parse-rhosts-group)
	(tramp-get-completion-ssh): Doc string tuned.
	(tramp-methods): Doc string and custom type extended for
	`tramp-completion-function'.
	(tramp-completion-function): Variable added. Is it really used?
	Other variables like `tramp-completion-function' aren't used.
	(tramp-completion-file-name-handler-alist): Add handler for
	`file-name-completion'.
	(tramp-completion-handle-file-name-completion): New function.

2002-08-20  Michael Albinus  <Michael.Albinus@alcatel.de>

	Branch "completion" created. Version named (temporarily)
	"2.0.completion".

2002-08-18  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-parse-rhosts)
	(tramp-parse-rhosts-group)
	(tramp-parse-shosts)
	(tramp-parse-shosts-group): New functions.

2002-08-17  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-dissect-file-name)
	(tramp-completion-dissect-file-name1): New functions.

2002-08-16  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-get-completion-function)
	(tramp-get-completion-rsh)
	(tramp-get-completion-ssh)
	(tramp-get-completion-telnet): New functions.
	(tramp-methods): Add `tramp-completion-function' for
	all methods.

2002-08-15  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-get-completion-methods): New function.
	(tramp-find-default-method): Allow host to be nil (like user).

2002-08-14  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-completion-file-name-regexp-unified)
	(tramp-completion-file-name-regexp-separate)
	(tramp-completion-file-name-regexp)
	(tramp-completion-file-name-handler-alist): New defcustoms.
	(tramp-completion-file-name-handler): New function. Add
	`tramp-completion-file-name-handler' to `file-name-handler-alist'.
	(tramp-run-real-handler): Add `tramp-completion-file-name-handler'
	to `inhibit-file-name-handlers'.
	(tramp-completion-handle-file-name-all-completions)
	(tramp-completion-handle-file-name-completion): New functions.
	
2002-08-12  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-invoke-ange-ftp): `tramp-disable-ange-ftp' must
	be called again after activating `ange-ftp'.
	(tramp-ange-ftp-file-name-p): Check for Xemacs.

2002-08-08  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-do-copy-or-rename-file): Don't pass KEEP-DATE to
	tramp-invoke-ange-ftp 'rename.
	(tramp-handle-write-region): Don't pass LOCKNAME and CONFIRM to
	tramp-invoke-ange-ftp 'write-region.
	(tramp-handle-set-file-modes): Change order of FILENAME and MODE
	passing to tramp-invoke-ange-ftp 'set-file-modes.
	(tramp-flatten-list): New function. Maybe this functionality does
	exist already elsewhere in the libraries.
	(tramp-invoke-ange-ftp): Apply `tramp-flatten-list' to parameter
	list in order to avoid nested lists, f.e. when invoked from
	`tramp-handle-dired-call-process'.

2002-09-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-chunksize): New kluge variable.
	(tramp-send-region): If tramp-chunksize is non-nil, send region
	in parts and sleep 0.1 seconds between chunks.

2002-09-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-insert-directory): Use
	`insert-buffer-substring' instead of `insert-buffer', which is not
	supposed to be used from Lisp.  Remember old point in a variable
	instead of using `mark'.  Suggestion from Stefan Monnier.
	(tramp-unified-filenames): New variable.  Use it in default value
	of other filename variables.
	(file-expand-wildcards): Don't advise unless "[" and "]" are used
	in the filename format.

2002-09-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Remove duplicate definition of
	ssh1-old and ssh2-old.

2002-09-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.15 released.

	* tramp.el (require 'base64): Add explanatory comment to Steve's
	change.
	(tramp-feature-write-region-fix): Make sure that variable is
	always defined, even on XEmacs (where it is nil).

2002-08-31  Steve Youngs  <youngs@xemacs.org>

	* tramp.el (require 'base64): Most modern Emacsen have the base64
	encode/decode functions built in, so test to see if they are bound
	before we go blindly requiring base64.el.
	(tramp-feature-write-region-fix): XEmacs doesn't have a
	'find-operation-coding-system' and this variable doesn't seem to
	be used anywhere so wrap it in (unless (featurep 'xemacs)).

2002-08-29  Michael Albinus  <Michael.Albinus@alcatel.de>

	* tramp.el (tramp-invoke-ange-ftp): 
	(tramp-ange-ftp-file-name-p): Check for Xemacs.
	(tramp-do-copy-or-rename-file): Don't pass KEEP-DATE to
	tramp-invoke-ange-ftp 'rename.
	(tramp-handle-write-region): Don't pass LOCKNAME and CONFIRM to
	tramp-invoke-ange-ftp 'write-region.
	(tramp-handle-set-file-modes): Change order of FILENAME and MODE
	passing to tramp-invoke-ange-ftp 'set-file-modes.
	(tramp-invoke-ange-ftp): `tramp-disable-ange-ftp' must be called
	again after activating `ange-ftp'.

2002-08-22  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-su): Use user name "root" if no
	user name is given. 

2002-08-22  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.14 released.

	* tramp.el (tramp-shell-prompt-pattern): New variable.
	(tramp-actions-before-shell, tramp-multi-actions)
	(tramp-find-shell, tramp-open-connection-multi)
	(tramp-open-connection-setup-interactive-shell): Use it.
	(tramp-open-connection-telnet, tramp-open-connection-rsh)
	(tramp-open-connection-su): Mention `tramp-shell-prompt-pattern'
	in the docstring.
	(tramp-bug): Report `tramp-shell-prompt-pattern'.
	(tramp-process-one-multi-action, tramp-process-one-action): Make
	message clearer so people don't confuse it with Emacs asking them
	a question if the regexp happens to end with "?".
	(tramp-verbose): Change default value from 10 to 9.  Also change
	some logging levels so that 10 is reserved for stuff which is
	needed for debugging only, but 9 catches everything that people
	might like to see in order to see that Tramp is actually working.

2002-08-21  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.13 released.

	* tramp.el (tramp-handle-write-region): Don't check to see if
	remote end is awake after sending data to remote host: we want to
	send "EOF" not "echo are you awake"...
	(tramp-maybe-open-connection): Swap args for tramp-time-diff.

2002-08-17  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-yn-prompt-regexp): New variable.
	(tramp-action-yn): New function, using it.

2002-08-08  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-feature-write-region-fix): New internal
	variable.  Not yet used.  Should be used in
	`tramp-handle-write-region'.

2002-08-07  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.12 released.

	* tramp.el (tramp-find-shell)
	(tramp-open-connection-setup-interactive-shell): Comment out
	possibly obsolete "echo hello" commands.
	(tramp-run-real-handler): If operation is
	`ange-ftp-hook-function', use first arg as the real operation.
	(tramp-check-ls-commands): Use / instead of \ as directory
	separator.  (Relevant for XEmacs on Windows.)
	(tramp-maybe-open-connection): Use tramp-wait-for-output when
	waiting for the "are you awake" command.  Use a different string
	for the "are you awake" command.
	(tramp-send-command): New optional arg NEVEROPEN means to never
	invoke tramp-maybe-open-connection.
	(tramp-maybe-open-connection): Use it.

2002-08-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.11 released.
	
	* tramp.el (tramp-invoke-ange-ftp): Avoid infloop by Ange-FTP
	calling Tramp again: use tramp-run-real-handler to invoke
	Ange-FTP.
	(tramp-post-connection): Erase buffer after finding a remote
	shell.
	(tramp-find-file-exists-command): Try "test -e" and its variants
	before "ls -d".
	(tramp-bug): Report `tramp-terminal-type'.

2002-08-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.10 released.
	
	* tramp.el (tramp-perl-encode-with-module,
	tramp-perl-decode-with-module)
	(tramp-perl-encode, tramp-perl-decode): Doc fix.  From Andreas
	Schwab.
	(tramp-bug): New variables to report.
	(tramp-post-connection): After finding shell, wait a bit.  I have
	no idea why it is necessary, but Daniel also thinks it's
	necessary.
	(tramp-uudecode): New variable.  Shell function `tramp_uudecode'
	for decoding to standard output for those Unices that don't have
	it.
	(tramp-post-connection): Install the function on the remote host.
	(tramp-coding-commands): Add an alternative for using the
	`tramp_uudecode' shell function.
	(tramp-perl-file-attributes): Print uid and gid as signed
	integers, not unsigned ones.

2002-08-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.9 released.

	* tramp.el (tramp-bug): Add wording about additional info to
	include in bug report.
	(tramp-find-shell): Set $PS1 for invocation of second shell (for
	tilde expansion).
	(tramp-find-shell): Shell prompt must match at end of buffer.  Do
	this also for fallback shell prompt.
	(tramp-find-shell): More debugging output.
	(tramp-find-inline-encoding): When checking the decoding command,
	some commands fail when reading from /dev/null.  So we pass a
	known string through the encoding command and pass that through
	the decoding command.  So we know whether the decoding command can
	deal with some real input.

2002-08-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.8 released.

	* tramp.el (tramp-perl-encode, tramp-perl-encode): Double the
	backslashes in the string.

2002-08-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.6 released.

	* tramp.el (tramp-handle-make-directory): save-excursion.
	(tramp-default-method): Change to "ssh".
	(tramp-perl-encode, tramp-perl-decode): New (faster) versions.
	From Juanma Barranquero <lektu@terra.es>.
	(tramp-perl-encode-with-module, tramp-perl-decode-with-module) 
	(tramp-perl-encode, tramp-perl-encode): Strings are passwd
	through `format', so double all percent characters and document.

2002-07-31  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-wrong-passwd-regexp): Restructure.  Add
	additional alternative.
	(tramp-action-permission-denied): Show *tramp/foo* buffer so that
	the user knows why.
	(tramp-su-program): Add defvar for this method parameter.  From
	Juanma Barranquero <lektu@terra.es>.
	(tramp-perl-encode-with-module): Rename from tramp-perl-encode.
	(tramp-perl-decode-with-module): Rename from tramp-perl-decode.
	(tramp-perl-encode, tramp-perl-decode): New implementations that
	do not use any Perl modules.  From Juanma Barranquero
	<lektu@terra.es>.
	(tramp-post-connection): Create shell functions tramp_encode,
	tramp_decode, tramp_encode_with_module, tramp_decode_with_module
	for the new Perl snippets.
	(tramp-coding-commands): Add entries for the two
	implementations (one with module, one without module).
	(tramp-handle-file-truename): Invoke Ange-FTP properly.
	(tramp-handle-expand-many-files): Don't try to invoke Ange-FTP
	twice.

2002-07-30  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-attributes): Restructure logic.
	(tramp-handle-file-attributes-with-ls) 
	(tramp-handle-file-attributes-with-perl): Debugging output.
	(tramp-coding-commands): Provide base64 encoding with recode.

2002-07-29  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* Makefile (prepversion): Edit tramp.el instead of creating new
	file tramp-version.el.
	(clean): Don't remove tramp-version.el, the file doesn't exist
	anymore.

	* tramp.el (tramp-perl-encode, tramp-perl-decode): Very simple
	implementations requiring the Perl module MIME::Base64.
	(tramp-coding-commands): Use them.
	(tramp-version): Move back here from tramp-version.el.  The
	variable is automatically edited from the Makefile.
	(tramp-login-prompt-regexp, tramp-password-prompt-regexp)
	(tramp-wrong-passwd-regexp): Remove "$" from regexp, it must match
	at end of buffer anyway.
	(tramp-action-login, tramp-action-succeed)
	(tramp-action-permission-denied, tramp-multi-action-login)
	(tramp-multi-action-succeed)
	(tramp-multi-action-permission-denied): Erase buffer when
	finished.
	(tramp-process-one-action, tramp-process-one-multi-action):
	Always search from point-min.
	(tramp-enter-password): Erase buffer.
	(tramp-action-yesno): New function.
	(tramp-yesno-prompt-regexp): New variable.
	(tramp-actions-before-shell): Use them.

2002-07-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-actions): New variable, like
	tramp-actions-before-shell, but for multi-hop connections.
	(tramp-perl-encode, tramp-perl-decode): New variables.  Contain
	Perl code for uuencode, uudecode.
	(tramp-post-connection): Use new Perl encode/decode implementation.
	(tramp-coding-commands): Ditto.
	(tramp-perl-mime-encode, tramp-perl-mime-decode): Remove.  This
	code does not work.
	(tramp-invoke-ange-ftp): Require ange-ftp to avoid binding
	ange-ftp-name-format when it is unbound.
	(tramp-coding-commands): Remove Perl alternative.  Fix doc.

2002-07-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-insert-directory): Expand file name.
	(tramp-actions-before-shell): New variable of actions to perform
	before we get a shell prompt.
	(tramp-action-login, tramp-action-password, tramp-action-succeed)
	(tramp-action-permission-denied): New functions, used in above
	variable.
	(tramp-process-one-action, tramp-process-actions): Process the
	actions.
	(tramp-open-connection-telnet, tramp-open-connection-rsh): Use new
	action mechanism, call tramp-process-actions.
	(tramp-methods): Replace a lot of methods because of autodetection
	of mimencode/uuencode.  The new names are a bit longer but more
	mnemonic.
	(tramp-maybe-open-connection): Look to see if process is really
	still alive.
	(tramp-handle-file-attributes): Make sure to call Ange-FTP in all
	cases, not only for existing files.  Make sure not to call
	tramp-handle-file-exists-p on an Ange-FTP filename.

2002-07-26  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-local-copy)
	(tramp-handle-write-region): Call
	`tramp-get-{de,en}coding-{function,command}' with four args.
	(tramp-post-connection): Always send Perl implementation of
	mimencode and mimedecode when Perl is available.
	(tramp-get-encoding-command, tramp-get-decoding-command)
	(tramp-get-encoding-function, tramp-get-decoding-function): New
	implementation, uses auto-detected connection properties.

2002-07-26  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-coding-commands): New variable.
	(tramp-find-inline-encoding): New function.
	(tramp-handle-make-directory, tramp-handle-delete-directory)
	(tramp-handle-delete-file): Do expand-file-name on arg.

2002-07-24  Steve Youngs  <youngs@xemacs.org>

	* Makefile (prepversion): New target to create tramp-version.el.
	(all): Use it.
	(clean): Add tramp-version.el.

	* tramp.el (tramp-version): Removed, we create it on the fly from
	the Makefile.

2002-07-23  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Release 2.0.3.
	
	* tramp.el (tramp-open-connection-su, tramp-multi-connect-telnet) 
	(tramp-multi-connect-rlogin, tramp-multi-connect-su) 
	(tramp-make-tramp-file-name, tramp-make-tramp-multi-file-name):
	Correct alist for `format-spec', use (a . b) instead of (a b).
	(tramp-handle-directory-files): Handle fifth, XEmacs-specific,
	arg FILES-ONLY.
	(tramp-version): Bump version to 2.0.3.

2002-07-21  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-su, tramp-multi-connect-telnet)
	(tramp-multi-connect-rlogin, tramp-multi-connect-su)
	(tramp-make-tramp-file-name, tramp-make-tramp-multi-file-name):
	Use backticks in format-spec for brevity and to avoid
	character/number confusion in XEmacs.

2002-07-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-do-copy-or-rename-via-buffer): New function.
	(tramp-do-copy-or-rename-file): Use it.  Change and simplify
	logic.  Omit special case of invoking rcp directly to copy the
	files.

2002-07-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-sh-program): New variable.
	(tramp-open-connection-multi): Use it.
	Bump version to 2.0.2.

2002-07-19  Steve Youngs  <youngs@xemacs.org>

	* tramp.el: Revert my previous patch.  It's better to work around
	the colour prompt problem outside of Tramp, eg in ~/.bashrc or
	similar. 

2002-07-19  Steve Youngs  <youngs@xemacs.org>

	* tramp.el (tramp-find-shell): Remove "\\'" from regexp so we can
	deal with shell prompts that have colour control characters in
	them. 
	(tramp-open-connection-telnet): Ditto.
	(tramp-open-connection-rsh): Ditto.
	(tramp-open-connection-su): Ditto.
	(tramp-open-connection-multi): Ditto.
	(tramp-multi-connect-telnet): Ditto.
	(tramp-multi-connect-rlogin): Ditto.
	(tramp-multi-connect-su): Ditto.
	(tramp-open-connection-setup-interactive-shell): Ditto.

2002-07-18  Steve Youngs  <youngs@xemacs.org>

	* tramp.el (tramp-multi-file-name-structure-separate): Typo, it's
	name was set to 'tramp-file-name-structure-separate'.
	

2002-07-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Rename methods invoking "ssh1" or
	"ssh2" to longer names.  Use old names sm1, sm2, su1, su2 and so
	on for methods invoking "ssh -1" or "ssh -2".

2002-07-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-file-name-structure-unified): Add missing
	initial slash.  Colon is moved from start to end of hop regexp,
	adjust this regexp accordingly.
	(tramp-file-name-structure-separate): Bug fix.
	(tramp-multi-file-name-hop-structure-unified): Move colon from
	beginning to end.  

2002-07-11  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-make-symbolic-link): Complete implementation.

2002-07-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-structure): Add missing paren.
	(tramp-file-name-regexp-unified, tramp-file-name-regexp-separate):
	Add autoload cookies.
	(tramp-default-method): New default value "sm" for all Emacsen.
	(tramp-default-method-alist): Invoke Ange-FTP for some user/host
	combinations on Emacs.

2002-07-09  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-name-directory): Don't return "/"
	for the root directory on a remote host.
	(tramp-file-name-structure-unified)
	(tramp-file-name-structure-separate)
	(tramp-file-name-regexp-unified)
	(tramp-make-tramp-file-format-unified)
	(tramp-make-tramp-file-format-separate)
	(tramp-make-tramp-file-user-nil-format-unified)
	(tramp-make-tramp-file-user-nil-format-separate)
	(tramp-multi-file-name-structure-unified)
	(tramp-multi-file-name-structure-separate)
	(tramp-file-name-structure-unified)
	(tramp-file-name-structure-separate)
	(tramp-multi-file-name-hop-structure-unified)
	(tramp-multi-file-name-hop-structure-separate)
	(tramp-make-multi-tramp-file-format-unified)
	(tramp-make-multi-tramp-file-format-separate): New constants.
	(tramp-file-name-structure, tramp-file-name-regexp)
	(tramp-make-tramp-file-format)
	(tramp-make-tramp-file-user-nil-format)
	(tramp-multi-file-name-structure)
	(tramp-file-name-structure)
	(tramp-multi-file-name-hop-structure)
	(tramp-make-multi-tramp-file-format): Use them as default values.
	On Emacs, use the *-unified variants, on XEmacs, use the
	*-separate variants.  Tramp and Ange-FTP share a common filename
	syntax on Emacs, but Tramp and EFS use separate filename syntaxes
	on XEmacs.	
	(tramp-handle-ange-ftp): Removed.
	(tramp-disable-ange-ftp): New function to disable Ange-FTP if
	enabled.  Unconditionally call it at top level when file is
	loaded.  This should be safe since XEmacs uses EFS.
	(tramp-default-method): New default value "ftp" on Emacs, "sm" on
	XEmacs.

2002-07-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-ange-ftp): Move interactive spec after
	docstring.  From Andreas Schwab.

2002-07-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-eof): Doc string typo.
	(tramp-kill-process): Likewise.
	From Juanma Barranquero <lektu@terra.es>.

2002-07-02  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-ange-ftp): Add todo items for handling
	EFS, too.

2002-06-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-ange-ftp): New function to set up Tramp
	configuration suitable for replacing Ange-FTP.
	(tramp-repair-jka-compr): Factor out some previously top-level
	code into an extra function.  Also call it at top-level.

2002-06-26  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-structure, tramp-file-name-regexp) 
	(tramp-make-tramp-file-format) 
	(tramp-make-tramp-file-user-nil-format) 
	(tramp-multi-file-name-structure) 
	(tramp-multi-file-name-hop-structure) 
	(tramp-make-multi-tramp-file-format): Change to an Ange-FTP-like
	filename syntax.
	(tramp-handle-ange-ftp, toplevel): Remove Ange-FTP from filename
	handler alist if tramp-handle-ange-ftp is non-nil.
	(tramp-handle-delete-file) 
	(tramp-handle-verify-visited-file-modtime) 
	(tramp-handle-make-symbolic-link): Fix typos.
	(tramp-wait-for-regexp, tramp-wait-for-output): Convert int to
	string before passing it to `insert'.

2002-06-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-rsh): Provide a hack for a "-p"
	argument to specify a port number.

	Version 2.0.1 released.
	
	* lisp/tramp.el (tramp-version): New version 2.0.1.

2002-06-24  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Don't invoke Ange-FTP.
	(tramp-invoke-ange-ftp): Remove superfluous IDX-LIST argument.
	Callers changed.

2002-06-24  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-ftp-method): New user option.
	(with-parsed-tramp-file-name): New macro for the usual big `let'
	statement to dissect a file-name.
	(tramp-handle-make-symbolic-link, tramp-handle-load) 
	(tramp-handle-file-name-directory) 
	(tramp-handle-file-name-nondirectory, tramp-handle-file-truename) 
	(tramp-handle-file-truename, tramp-handle-file-directory-p) 
	(tramp-handle-file-regular-p, tramp-handle-file-symlink-p) 
	(tramp-handle-file-writable-p, tramp-handle-file-writable-p): Use
	the new macro and forward call to Ange-FTP if applicable.
	(tramp-make-ange-ftp-file-name): New helper function to convert a
	file name into an Ange-FTP file name, used by
	`tramp-invoke-ange-ftp'.
	(tramp-invoke-ange-ftp): New function to forward calls to
	Ange-FTP.

2002-06-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-default-method-alist): New user option.
	(tramp-find-default-method): Use it.

2002-06-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-sh-extra-args): New variable.
	(tramp-find-shell): Use it.

2002-06-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: New todo item.

2002-06-15  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Lower numchase-limit
	(max number of symlink traversals) from 30 to 20.

2002-06-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-bug-report-address): Change bug reporting
	address to Savannah.

2002-06-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): New method "fcp".  Suggested by
	graydon@redhat.com. 

2002-06-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Allow nil where strings are allowed.
	(tramp-handle-file-truename): Decrease limit on chasing symlinks
	to provide earlier error message in case of failure.  People might
	think that Emacs is hanging.

2002-05-22  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-find-shell, tramp-open-connection-telnet) 
	(tramp-open-connection-rsh, tramp-open-connection-su) 
	(tramp-open-connection-multi, tramp-multi-connect-telnet) 
	(tramp-multi-connect-rlogin) 
	(tramp-open-connection-setup-interactive-shell): Shell prompt
	must match at end of buffer.	

2002-05-21  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-linewise): Use sleep-for instead of sit-for
	to wait 0.1s.  sit-for does not wait if the user types ahead.

2002-05-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-linewise): Wait 0.1s instead of 0.001s.

2002-05-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-linewise): New function.
	(tramp-post-connection): Use it for sending long strings.

2002-04-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-shell-quote-argument): Todo item: don't use
	`shell-quote-argument'.

2002-04-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): New method "pscp".  Suggestion from
	lawrence mitchell.

2002-04-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (file-expand-wildcards): Advise it even on Emacs 21.
	(tramp-methods): New methods "plinku" and "plinkm".
	"plinku" was suggested by Adam Przepirkowski.

2002-04-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-shell-quote-argument): When calling
	shell-quote-argument internally, make sure it uses Unix-like
	behavior, not Windows-like behavior.  (This is done by binding
	system-type, which is certainly not the right way to do it!)

2002-03-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-add-name-to-file): Use "ln" connection
	property instead of literal "ln" in command.
	(tramp-post-connection): Only set "ln" connection property if that
	program could be found.  Erase buffer when done.
	(tramp-handle-expand-file-name): Erase buffer before and after
	expanding tilde.

2002-03-12  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-post-connection): Make sure to leave an empty
	connection buffer on exit.

2002-03-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-make-symbolic-link)
	(tramp-handle-directory-files)
	(tramp-handle-file-name-all-completions)
	(tramp-handle-dired-call-process, tramp-handle-insert-directory)
	(tramp-handle-expand-file-name, tramp-handle-shell-command): Make
	sure to "cd" back to the home dir.  Otherwise, previous commands
	could affect future commands because of the wrong cwd.
	(tramp-shell-quote-argument): Don't invoke substring on short
	strings.

2002-03-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-shell-quote-argument): If the argument starts
	with "~", don't quote that.  Reported by Martin Guertler.

2002-03-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp-util.el (top-level): Require cl when compiling.  This
	fixes problems with byte-compiling under Emacs 20.  Reported by
	Yoichi NAKAYAMA <yoichi@eken.phys.nagoya-u.ac.jp>.

2002-03-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-post-connection): Issue message when checking
	encoding/decoding commands is finished.

2002-02-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (file-expand-wildcards): Make sure that the return
	value is always a list.

2002-02-12  Steve Youngs  <youngs@xemacs.org>

	* tramp.el (tramp-handle-insert-directory): Change "#'identity" to
	"'identity" it was causing a invalid read syntax error that edebug
	brought to the surface.
	Add a "." after directory name so that symlinked directories
	display properly on platforms that have breakage on symlinks like
	Solaris. 

2002-02-08  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (file-expand-wildcards): Improve the kludge by looking
	if the path name part of the filename contains wildcard
	characters at all.  If this is not the case, we avoid calling the
	original function at all.

2002-02-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-verify-visited-file-modtime): When the
	file does not exist, it is not modified.

2002-01-31  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-verify-visited-file-modtime): Don't use
	modtime from `file-attributes' if it is nil.

2002-01-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* Makefile: Define a flag USE_CONTRIB which adds the local contrib
	directory to the load-path if set.  Use suffix rules.  From
	Norbert Koch <nk@LF.net>.

2002-01-22  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-set-visited-file-modtime): Save
	`last-coding-system-used' in a way that works even if the
	variable is not defined.
	(tramp-handle-insert-file-contents): Use
	tramp-message-for-buffer, not tramp-message.
	(tramp-message): Prefix all messages with "tramp:".
	(tramp-handle-file-local-copy): Use tramp-message-for-buffer, not
	tramp-message.
	(tramp-handle-insert-file-contents): Remove debug message
	referring to `last-coding-system-used' -- it does not exist on
	all Emacsen.
	(toplevel): New todo item.
	(tramp-kill-process): New function.
	(tramp-post-connection): Kill connection process if something
	goes wrong.

2002-01-21  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (top-level, tramp-run-real-handler, efs-ftp-path):
	Disable special handling for ange-ftp and EFS.  This was only
	needed when Tramp names also matched the ange-ftp filename regexp.
	This experimental change only comments out the relevant sections.

2002-01-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: Remove some todo items which are done.
	(tramp-methods): Use doubled `-t -t' for `scpx' and `smx'
	methods.

2002-01-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-write-region): When calling
	`write-region' to write the temp file, pass `no-message' for
	VISIT.  If our own VISIT arg is true, we explicitly call
	`set-visited-file-modtime' later on.  If we pass VISIT=t when
	writing the temp file, the visited-file-modtime information of
	the buffer is clobbered by a local time, which will bite us when
	the local and remote times are out of sync.
	(tramp-handle-write-region): Make sure to set
	`last-coding-system-used' at the very end of the function.  In
	particular, don't allow `set-visited-file-modtime' to clobber it.
	(tramp-handle-set-visited-file-modtime): Take care to not clobber
	`last-coding-system-used' -- it would confuse jka-compr.

2002-01-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (clear-visited-file-modtime): Advise this function; it
	does not support filename handlers.  Set the Lisp variable that
	we use for emulating modtime back to nil.
	(tramp-handle-set-visited-file-modtime): If time-list is
	provided, call real handler with that data.
	(tramp-handle-verify-visited-file-modtime): Allow 1 sec
	difference between times.
	(tramp-time-diff): `itimer-time-difference' expects three-element
	lists; pad short lists when calling that function.  Reported by
	Skip Montanaro <skip@pobox.com>.
	Also swap preference order of `itimer-time-difference' and
	`subtract-time': prefer the latter.
	
2002-01-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-expand-file-name): Bind
	directory-sep-char to "/" so that XEmacs on Windows does the
	right thing.
	(tramp-handle-file-truename): Return trailing "/" if input had
	trailing "/".

2002-01-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Use
	`tramp-method-for-buffer' to make sure that log messages end up
	in the right buffer.  Correct braino in symlink handling.

2002-01-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-split-string): New compat function.
	(tramp-handle-file-truename): Use it.

2002-01-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-find-shell): If starting bash for tilde
	expansion, provide `--norc' argument.
	(tramp-handle-file-truename): More debugging output.  More Obiwan
	errors.

2002-01-03  Steve Youngs  <youngs@xemacs.org>

	* tramp.el (tramp-find-shell): Change order for choice of shell,
	put bash first.

2002-01-02  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-truename): Another Obiwan error.
	For relative symlinks "/a/b" pointing to "c/d", the "b" part
	should not be part of the truename.

2002-01-01  Kai Grossjohann  <kai@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-handle-file-truename): Obiwan error.
	(tramp-process-actions): New function.  Doesn't do anything yet.

2001-12-30  Kai Grojohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* base64.el: Moved to contrib directory.
	* format-spec.el: Ditto.

2001-12-30  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-post-connection): Use parens around "test / -nt
	/" command to find out if `test' supports the `-nt' switch.
	Without the parens, /bin/sh as of BSD/OS 4.x crashes.
	Reported by Jason Mastaler.
	(tramp-remote-path): Add /usr/contrib/bin.
	Reported by Jason Mastaler.

2001-12-29  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* Makefile (tramp.elc): Remove superfluous dependencies.

	* tramp-vc.el (tramp-vc-workfile-unchanged-p): Supply two args to
	vc-default-workfile-unchanged-p.

	* tramp-util.el (tramp): Require tramp.

	* tramp.el (tramp-check-ls-command): Return status of command to
	check if ls supports the `-n' option should be zero, not non-nil.
	(tramp-find-ls-command): Look for `gls' in addition to `ls' and
	`gnuls' binaries.

2001-12-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-post-connection): Move comment.  Check to see if
	decoding and encoding commands work, if given in method
	definition.

2001-12-28  Kai Grossjohann  <kai@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-file-name-handler-alist): New entry for
	`file-truename'.
	(tramp-handle-file-truename): New function.

2001-12-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (toplevel): Don't barf if jka-compr is already loaded.
	Instead, make sure that jka-compr comes first in
	file-name-handler-alist.
	(tramp-handle-set-visited-file-modtime): More error checking.  If
	`file-attributes' returns modtime (0 0), then assume modtime isn't
	known and revert to using `ls -ild'.  Previously, we checked if
	Perl was available.
	(tramp-handle-verify-visited-file-modtime): Check for modtime
	being (0 0), rather than Perl being available.
	(tramp-handle-write-region): Some sanity checking: make sure that
	current buffer isn't changed while the function runs.  (Maybe this
	is not necessary now?)  Only set-visited-file-modtime if VISIT is
	t (used to check for non-nil).
	(tramp-make-auto-save-file-name): Construct a local filename, then
	run `make-auto-save-file-name' on it.  This makes sure that no
	filename handlers will be run on that file.  (Specifically, this
	avoids jka-compr -- we want auto-save files to be saved quickly.
	This fixes the change from 2001-12-07 which aimed at doing the
	same thing, but failed.)

2001-12-26  Kai Grossjohann  <kai@ls6.informatik.uni-dortmund.de>

	* tramp.el (tramp-buffer-file-attributes): Doc string fix.
	(tramp-handle-set-visited-file-modtime): Don't barf if called
	without arguments.  Use output of "ls -ild", not return value of
	file-attributes, for tramp-buffer-file-attributes.
	(tramp-handle-verify-visited-file-modtime): Use output of "ls
	-ild", not return value of file-attributes, for
	tramp-buffer-file-attributes. 
	(tramp-handle-insert-file-contents): Call set-visited-file-modtime
	without args.
	(tramp-handle-insert-file-contents): Ditto.
	(tramp-handle-write-region): Pass VISIT arg on to call of real
	handler.  (The old code of passing the `no-message' symbol instead
	was a little strange -- an XEmacsism?)
	(tramp-handle-write-region): Call set-visited-file-modtime, if
	VISIT.
	Remove some todo items.

2001-12-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-buffer-file-attributes): New variable.
	(tramp-handle-set-visited-file-modtime): Use it in case the
	remote end does not give us the right modtime.
	(tramp-handle-verify-visited-file-modtime): Implementation.

2001-12-07  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-make-auto-save-file-name): Append "~" to
	auto-save file name; this avoids jka-compr when auto-saving.

2001-11-30  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-name-all-completions): Return nil
	if filename contains a slash.
	(tramp-handle-directory-file-name): New implementation.  From
	Philippe Troin <phil@fifi.org>.

2001-11-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (toplevel): Emit an error message if jka-compr is
	already loaded.

2001-11-08  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp-util.el (tramp-compile): Use
	`tramp-handle-shell-command', not `shell-command'.

2001-11-07  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp-util.el (tramp-compile): Make sure default-directory is
	set correctly.

	* tramp.el (tramp-post-connection): Don't send Perl `mime-encode'
	and `mime-decode' implementations unless really needed.

2001-11-02  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (file-expand-wildcards): Advise this function to work
	around a problem in Emacs 20.x.  This is just a kludge!

2001-10-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-su): Make sure that user name is
	given.

2001-10-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-name-directory): Return "/" if
	`path' component is empty.

2001-10-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-structure): Allow dot in host names.

2001-09-29  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-structure): Make regexp less
	restrictive to allow multi-hop filenames.

2001-09-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-bug): Report more info about multi-hop methods.

2001-09-24  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp-util.el (tramp-compile): require compile.

2001-09-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-bug-report-address): Update to reflect move to
	SourceForge.

2001-09-09  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (Module): Add a todo item.

2001-08-31  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp2.el (tramp2-setup-coding-system): Find a good coding
	system in extra function so it can be customized via
	tramp2-setup-functions.
	(tramp2-execute-local): Set TERM to dumb, just to be on the safe
	side.

2001-08-12  Kai Grossjohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp.el: Default file name format changed again.  This time,
	it's like /[method/user@host]/path/to/file.  The user@ part is
	optional.  Multihop files are like
	/[multiu/telnet:user@host/ssh:user2@host2]/path/to/file.

2001-08-05  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: Default file name format changed!  File names with
	default method have changed from /r:user@host:/path/to/file to
	/./user@host:/path/to/file.  Files with explicitly specified
	method have changed from /r@meth:user@host:/path/to/file to
	/./@meth:user@host:/path/to/file.  (Note one more colon for method
	spec!)

2001-07-31  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-barf-unless-okay): Add new arg `signal' and
	signal that signal rather than calling `error'.

2001-07-11  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-file-name-hop-structure): Allow digits and
	underscore in name of hop connection method.  Suggested by Alan
	D. Salewski.
	(tramp-multi-connect-su): Thinko in logic.  Reported by Alan
	D. Salewski.

2001-06-03  Kai Grossjohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	* tramp2.el (tramp2-execute-local): Set TERM environment variable
	to dumb.

2001-06-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-eof): Always send a literal Ctrl-D, even if
	client is Windows.
	(tramp-find-executable): Remove superfluous newline.
	(tramp-handle-write-region): Remove superfluous `echo hello'
	command which clobbers the exit status.
	(tramp-handle-delete-file): Signal file error if deletion failed.
	This depends on `rm -f' on the remote end to set the exit status
	correctly.  This does not provide a meaningful message.  How do we
	extract the error message from `rm -f' from the buffer?
	(tramp-handle-write-region): Use "<<EOF" style of sending file
	contents on standard input.  It seems the old way of omitting
	"<<EOF" from the command, then using process-send-eof to indicate
	end of file, sent an `exit' command to the shell.  This also
	happens when sending an explicit Ctrl-D character.  This appears
	to be needed for the `suu' method (while it is not needed for the
	`sm' method).  Go figure.

2001-05-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-telnet): `tramp-read-passwd'
	called with result of `tramp-wait-for-regexp'.  But the return
	value of the latter changed, so adjust call of former accordingly.
	(tramp-open-connection-su): Ditto.

2001-05-28  Mark A. Hershberger  <mah@everybody.org>

	*tramp.el (tramp-methods): Add new entry for smp method.
	(tramp-perl-mime-encode): New variable to implement mime-encode.
	(tramp-perl-mime-decode): New variable to implement mime-decode.
	(tramp-post-connection): Send perl mime-{encode,decode} implementation.

2001-05-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Do
	`stty kill ^U' in case some system sets it to `@'.  Remove the
	`stty erase ^?' from yesterday.
	(tramp-open-connection-telnet): `tramp-wait-for-regexp' returns
	list of strings, not just one string.  Adjust call of
	`tramp-read-passwd' accordingly.
	(tramp-open-connection-su): Ditto.

2001-05-27  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Do
	`stty erase ^?' in case some system sets it to `@'.  Suggested by
	Stefan Monnier.

2001-05-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-command-and-check): Add a space in the
	shell command.  Suggested by Yuji Yamao.  (I don't really
	understand this.)
	New todo item.

2001-05-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-bug): Typo in variables list.  Only include
	backup-by-copying-when-privileged-mismatch if bound.
	(tramp-file-name-structure): Allow uppercase characters in file
	names.  [Would it have been better to bind case-fold-search?]

2001-04-24  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-do-copy-or-rename-file): When moving, be sure to
	delete the old file in all cases.

2001-04-23  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-command-and-check): `2>/dev/null'
	(tramp-check-ls-command): Don't `2>/dev/null', this is done in
	tramp-send-command-and-check.

2001-04-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Posix
	shells don't allow you to turn off the history, so we redirect it
	to an innocuous file and limits that file's size as much as
	possible.
	(tramp-find-executable): Be extra careful when searching for
	executables, include sentinel string to search for.

2001-04-12  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-write-region): Don't use here document,
	just send encoded file on stdin.  Suggested by Stefan Monnier.

2001-03-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-connect-su): Don't clobber `found'.

2001-03-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods, tramp-telnet-args): New method
	parameter `tramp-telnet-args'.
	(tramp-get-telnet-args): New function.
	(tramp-open-connection-telnet): Use it.

2001-03-07  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-line-end-position): New implementation, moved to
	beginning of file.
	(tramp-multi-connect-rlogin): Unused variable `pw' deleted.
	(tramp-discard-garbage-erase-buffer): More args.
	(tramp-open-connection-setup-interactive-shell): Pass more args.
	(tramp-wait-for-output): Unused variable `result' deleted.
	(tramp-wait-for-output): Wrong variable.
	(tramp-octal-to-decimal): Use `x'.
	(tramp-get-rcp-args): Error message typo.
	(tramp-temporary-file-directory): Pacify byte-compiler, use funcall.

2001-03-04  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-directory-p): Use `test -d' rather
	than `cd' to check if a file is a directory.  Suggested by Stefan
	Monnier.
	(tramp-get-rcp-args): Typo in error message.  This should be
	`didn't specify rcp args' rather than `didn't specify tramp
	args'...  A relic of the Great Renaming from RCP to Tramp, no
	doubt. 

2001-03-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-find-shell): Allow `$ ' as shell prompt after
	starting a shell for tilde expansion.
	(tramp-methods): Expand documentation for `tramp-methods'.
	(tramp-methods): New method `smx' which is like `sm' but
	unconditionally starts /bin/sh on the remote end.  This might
	avoid shell startup overhead.  Patch by Michael Kifer.
	(tramp-verbose): New default value `10', it seems most people need
	to set it to this value, anyway, to see what's happening.
	Suggested by Michael Kifer.

2001-02-28  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-rsh): Doc bug.  Reported by Tom
	Roche. 

2001-02-25  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-run-test2): Allow user1 and user2 to be nil.
	Reported by Michael Kifer.

2001-02-23  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el:  Patch by Francesco Potort, slightly modified.
	(tramp-discard-garbage): New variable.  When non-nil,
	expect that remote shell sends some garbage on startup, and delete
	it. 
	(tramp-discard-garbage-erase-buffer): New function.
	(tramp-open-connection-setup-interactive-shell): Use it.
	(tramp-methods): New method for Kerberos and mimencode.
	(tramp-find-executable): Avoid mentioning all directories on the
	command line, instead send directory names on stdin.  Reported by
	Paul Stevenson.

2001-02-21  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Wait a
	bit at the very beginning, in case the remote end feels like
	sending some junk.  Reported by Francesco Potort.

2001-02-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Also
	`unset CDPATH' for the ksh users.  Reported by Jim Greer.

2001-02-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-wait-for-output): Clearer message when prompt is
	not found.  Suggestion from Francesco Potort.
	(tramp-wait-for-regexp): Clearer message when regexp is not
	found.  Suggestion from Francesco Potort.

2001-02-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-find-executable): Use "test -x $f -a -f $f" to
	find out whether it's an executable.  Suggestion from Francesco
	Potort.

2001-02-17  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp-vc.el: Require vc-rcs for `vc-rcs-release' if necessary.
	(tramp-vc-workfile-unchanged-p): Compatibility with old and new VC.
	(vc-checkout): Avoid byte-compiler warning.

	* tramp.el (tramp-find-executable): Make sure that file is not a
	directory.  Reported by Ed Sabol.
	(tramp-open-connection-telnet): Remote login default to local
	login, but only when actually sending the login name.  The other
	functions (for buffer name and stuff) continue to pass `nil' for
	the user.

2001-02-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: New todo item.
	(tramp-terminal-type): Don't hardwire $TERM value when
	opening a connection to the remote host.  Suggestion from rand at
	meridian-enviro dot com.
	(tramp-find-executable): Use a shell-based implementation for
	tramp-find-executable.  Suggestion from Francesco Potort.
	(tramp-buffer-name, tramp-buffer-name-multi-method,
	tramp-debug-buffer-name): Better buffer name format for omitted
	user names.

2001-01-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-load): Call `load' on local copy with
	fewer args for XEmacs compatibility.

2001-01-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-telnet,
	tramp-open-connection-rsh, tramp-open-connection-su,
	tramp-open-connection-multi): Locally bind TERM env var to "dumb"
	before starting the login on the remote host.

2001-01-13  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-name-all-completions): Local
	variable `dirs' not necessary anymore.  Kudos to Bruce Ingalls for
	pointing this out.

2001-01-10  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): `unset
	HISTFILE' rather than `set -o history' to turn off the history.
	Pete Forman says this works on bash1 and bash2, but not for ksh or
	a Posix sh.  He also says there's no way to turn history off for
	ksh and Posix shells, except by invoking non-interactively.  I
	won't do that, though, because I need the prompts.

2001-01-03  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* base64.el: New version from Oort Gnus as of today.

2000-12-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-post-connection): Search for a shell before
	finding a command to check if a file exists.

2000-11-18  Daniel Pittman  <daniel@rimspace.net>

	* tramp-vc.el (tramp-handle-vc-user-login-name): Support the case
	where the user name is `nil'

2000-11-17  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-send-command-and-check): Send command and "echo
	$?" as two separate commands.

2000-11-15  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-shell-command): Return exit status.

	* tramp-vc.el (tramp-vc-do-command): Return exit status.
	(tramp-vc-do-command-new): For the new VC that comes with Emacs
	21.
	(tramp-handle-vc-user-login-name): User part of a Tramp file name
	structure might be empty.
	(vc-user-login-name): Protect against `file' unbound.  (Assumes
	local call in this case!)  Kudos to Hannu Koivisto for reporting
	this.

2000-11-09  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Change tramp-remote-sh to "/bin/sh"
	from "" for the sudu and sudm methods.

2000-11-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-dos-coding-system): New variable.
	(tramp-open-connection-telnet, tramp-open-connection-rsh,
	tramp-open-connection-su, tramp-open-connection-multi): Use it.
	(tramp-coding-system-change-eol-conversion): New compat function.
	(tramp-open-connection-setup-interactive-shell): Use it.

2000-10-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-telnet): Missed occurrences of
	match-string. 
	(tramp-open-connection-rsh): Dito.
	(tramp-open-connection-su): Dito.
	(tramp-multi-connect-telnet): Dito.
	(tramp-multi-connect-rlogin): Dito.
	(tramp-multi-connect-su): Dito.

2000-10-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-telnet): Don't bind
	`coding-system-for-read' on Emacs 21.
	(tramp-open-connection-rsh): Dito.
	(tramp-open-connection-su): Dito.
	(tramp-open-connection-multi): Dito.

2000-10-20  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-wait-for-regexp): Return list of match-strings.
	This way, communication with callers isn't done via global state.
	(tramp-open-connection-telnet): Use it.
	(tramp-open-connection-rsh): Dito.
	(tramp-open-connection-su): Dito.
	(tramp-multi-connect-telnet): Dito.
	(tramp-multi-connect-rlogin): Dito.
	(tramp-multi-connect-su): Dito.
	(tramp-wait-for-output): From match data, compute list of
	match-strings.  Used by tramp-wait-for-regexp.

2000-10-06  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-load): Tentative first implementation.

2000-09-26  Henrik Holm  <henrik@ece.umn.edu>

	* tramp.el (tramp-make-tramp-file-user-nil-format): New variable.
	(tramp-open-connection-telnet): Work when USER is nil.
	(tramp-open-connection-rsh): dito.
	(tramp-open-connection-su): dito.
	(tramp-multi-connect-telnet): dito.
	(tramp-multi-connect-rlogin): dito.
	(tramp-multi-connect-su): dito.
	(tramp-make-rcp-program-file-name): dito.
	(tramp-open-connection-multi): Don't grok default USER.
	(tramp-pre-connection): Not changed.  tramp-current-user will be
	set to nil when no user is given in the file name.
	(tramp-dissect-multi-file-name): dito.
	(tramp-dissect-file-name): Return nil when no user is given in
	file name.

2000-09-25  Henrik Holm  <henrik@ece.umn.edu>

	* tramp.el: `An rcp file' --> `a tramp file', in various places.
	(tramp-buffer-name): Correct typo.

2000-09-17  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-exists-command): New Variable.
	(tramp-handle-file-exists-p): Use it.
	(tramp-find-file-exists-command): New function to initialize new
	variable.
	(tramp-post-connection): Use it.
	(tramp-get-file-exists-command): Access variable.
	(tramp-bug): Report a few more variable settings.

2000-09-16  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-open-connection-setup-interactive-shell): Set
	TERM=dumb as suggested by V. Balaji <vb@gfdl.gov>.

2000-09-14  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-methods): Method `scpx' was missing a setting
	for `tramp-remote-sh'.

2000-09-09  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-insert-directory): Try to improve the
	logic as to what exactly is displayed.  The `/.' idea was snarfed
	from the standard `insert-directory'.

2000-09-01  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-file-name-structure): Move `-' to beginning of
	[...].  Is this really necessary?  Well, it won't hurt.

2000-08-31  Hilko Bengen  <bengen@vdst-ka.inka.de>

	* tramp.el (tramp-file-name-structure): Allow `-' in user names.

2000-08-29  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* Makefile (tramp.elc): Wrap long line.
	(tramp-vc.elc): Frob load-path for byte-compilation because of
	required libraries.

	* tramp-vc.el: Move `provide' to end of file.
	Require some needed libraries to avoid byte-compiler errors.

	* tramp.el (tramp-handle-file-name-all-completions): Expand
	DIRECTORY so that this also works with abbreviated file names.
	(tramp-handle-file-newer-than-file-p): Bug with `signal'.
	(tramp-handle-make-symbolic-link): Check that method, user, and
	host are the same when making symlinks.
	(tramp-bug): Report on more variables, change intro msg.

2000-08-25  Yuji Yamano <yyamano@kt.rim.or.jp>

	* tramp.el (tramp-perl-file-attributes): Use 0170000 as the right 
	value of Bitwise And instead of 0120000 and 040000. It works fine
	with block devices and sockets now.

2000-08-25  Yuji Yamano <yyamano@kt.rim.or.jp>

	* tramp.el (tramp-remote-path): Add "/usr/pkg/bin" to 
	tramp-remote-path for the NetBSD packages.

2000-08-19  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-multi-connect-su): Defer (erase-buffer) until
	after the buffer contents are used.

2000-08-18  Paul D. Smith  <pausmith@nortelnetworks.com>

	* tramp.el (tramp-pre-connection): Locally (to the connection
	buffer) set inhibit-eol-conversion to nil.

2000-08-18  KOIE Hidetaka  <hide@koie.org>

	* tramp.el (tramp-handle-insert-file-contents): Don't use
	`no-conversion' coding system on the local copy.

2000-08-18  Kai Grojohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el (tramp-handle-file-exists-p): Use `test -e', not `ls
	-d'.
	(tramp-open-connection-setup-interactive-shell)
	(tramp-open-connection-telnet)
	(tramp-open-connection-rsh)
	(tramp-open-connection-su)
	(tramp-open-connection-multi)
	(tramp-multi-connect-telnet)
	(tramp-multi-connect-telnet)
	(tramp-multi-connect-rlogin)
	(tramp-multi-connect-su): Erase buffer before sending next
	command.
	(tramp-handle-make-directory): Correct order of arguments for
	tramp-barf-unless-okay.  Maybe I should be using keyword arguments
	in this case...
	(tramp-handle-insert-directory): Make it work with wildcards, too.

