2005-01-16  Michael Albinus  <michael.albinus@gmx.de>

	Version 2.1.3 released.

	* tramp.el (TODO): Remove some items which are solved or obsolete.

2005-01-15  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-operation-not-permitted-regexp) New defcustom,
	catching keep-date problems in cp/scp operations.
	(tramp-handle-copy-file): Don't call `set-file-modes'
	unconditionally.  Specialized functions should know better what is
	necessary.  This improves performance a little bit, and the
	functions could catch errors with `cp -p' and `scp -p'.
	(tramp-do-copy-or-rename-file-via-buffer)
	(tramp-do-copy-or-rename-file-out-of-band): Call `set-file-modes'
	when appropriate.
	(tramp-do-copy-or-rename-file-directly): Mask `cp -p' error.  Call
	`set-file-modes' when appropriate.
	(tramp-action-out-of-band): Mask `scp -p' error.
	Reported by Isak Johnsson <isak@hypergene.com>

2005-01-09  Michael Albinus  <michael.albinus@gmx.de>

	* tramp-util.el (tramp-remap-command): New defun.
	(top): Remove `define-key' calls.  They are replaced by respective
	`tramp-remap-command' and `add-menu-button' calls.  Add
	`tramp-minor-mode' to `dired-mode-hook'.
	(tramp-compile, tramp-recompile): Call the commands
	asynchronously.  Add `compilation-mode' to *Compilation* buffer.

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

	* tramp.el: Fix copyright years.

	* tramp-smb.el: Fix copyright years.  Adapt author address.

	* tramp-util.el: Fix copyright years.  Adapt author address.
	(tramp-minor-mode): Mode must toggle.
	
2005-01-04  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-maybe-open-connection): If the local host does
	not run a UNIX derivate, the local shell cannot handle command
	sequences separated with ";".  Reported by Takashi Tsunakawa
	<tuna@is.s.u-tokyo.ac.jp>.

	* tramp-smb.el (tramp-smb-open-connection): Check existence of
	`tramp-smb-program'.

	* tramp-util.el (tramp-compile, tramp-recompile): Enable
	`tramp-minor-mode' in buffer "*Compilation*".
	
2004-12-29  Michael Albinus  <michael.albinus@gmx.de>

	* tramp-smb.el: Add new Todo item.

	* tramp-util.el (tramp-minor-mode): New minor mode.  Add it to
	`find-file-hooks'.
	(tramp-minor-mode-map): Respective map.  Add remapping for
	`compile' and `recompile'.
	(tramp-recompile): New defun.

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

	* tramp.el (tramp-get-buffer, tramp-get-debug-buffer): Discard the
	undo list of both Tramp buffer and debug buffer.  Reported by
	Joakim Verona <joakim@verona.se>

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

	* tramp.el (tramp-file-name-for-operation): Mark `shell-command'
	as magic for Emacs only.
	(tramp-wait-for-output): Fix error in deleting region.  From Kai
	Grossjohann <kai.grossjohann@gmx.net>.

	* tramp-vc.el (tramp-vc-do-command, tramp-vc-do-command-new)
	(tramp-vc-simple-command): Call `tramp-handle-shell-command' but
	`shell-command', because it isn't magic in XEmacs.  Reported by
	Adrian Aichner <adrian@xemacs.org>.

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

	* tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
	`substitute-in-file-name.
	(tramp-smb-handle-substitute-in-file-name): New defun.
	(tramp-smb-advice-PC-do-completion): Delete advice.

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

	* tramp.el (tramp-maybe-send-perl-script): Change order of
	parameters wrt Tramp convention.
	(tramp-handle-file-attributes-with-perl)
	(tramp-handle-directory-files-and-attributes): Apply it.

2004-11-26  Lars Hansen  <larsh@math.ku.dk>

	Sync with Emacs CVS (Michael Albinus <michael.albinus@gmx.de>)
	
	* tramp.el (tramp-handle-directory-files-and-attributes): New function.
	(tramp-perl-directory-files-and-attributes): New constant.
	(tramp-file-name-handler-alist): Delete file-directory-files, add
	directory-files-and-attributes.
	(tramp-perl-file-attributes): Surround uid and gid by double
	quotes. Change parameter id-format from nonnumeric.
	(tramp-convert-file-attributes): New function.
	(tramp-handle-file-attributes): Use it.
	(tramp-maybe-send-perl-script): New function.
	(tramp-handle-file-attributes-with-perl): Use it. Don't convert
	file mode. Change parameter id-format from nonnumeric.
	(tramp-handle-file-attributes-with-ls): Change parameter id-format
	from nonnumeric.
	(tramp-post-connection): Don't send tramp-perl-file-attributes
	script. Reset connection property "perl-scripts".
	(tramp-handle-insert-directory): Run real handler when ls-lisp is
	in use.

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

	* tramp.el (tramp-do-copy-or-rename-file-out-of-band): Check for
	existence of `copy-program'.  Reported by Zack Weinberg
	<zack@codesourcery.com>.

2004-11-06  Richard M. Stallman  <rms@gnu.org>

	* tramp.el (tramp group): Add :version.

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

	* tramp.el (tramp-coding-commands): Additionally try "uudecode -o
	/dev/stdout" before trying "uudecode -o -".  Suggested by Han
	Boetes.
	(tramp-uudecode): Mention `uudecode -o /dev/stdout'.

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

	* tramp.el (tramp-handle-file-newer-than-file-p): Reverse logic.
	From Andrew J. Korty <ajk@iu.edu>.

2004-10-23  Kai Grossjohann  <kai.grossjohann@gmx.net>

	* tramp-vc.el (vc-do-command): Do not advise it if
	process-file is fboundp.
	* tramp.el (tramp-file-name-handler-alist): Add entry for
	process-file.
	(tramp-handle-process-file): New function.
	(tramp-file-name-for-operation): Support process-file.

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

	* tramp-smb.el (tramp-smb-advice-PC-do-completion): Make the
	advice less fragile.  Surround temporary redefinition of
	`substitute-in-file-name' with `unwind-protect'.  Suggested by
	Matt Hodges <MPHodges@member.fsf.org>.

2004-10-15  John Paul Wallington  <jpw@gnu.org>

	* tramp.el (top): Set `edebug-form-spec' property directly rather
	than calling `def-edebug-spec'.

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

	* 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-10-10  Kai Grossjohann  <kai.grossjohann@gmx.net>

	* tramp.el (tramp-coding-commands): New entry, uses built-in uu
	encoding provided by Perl.  Contributed by Slaven Rezic.  (2
	lines.)

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

	Version 2.1.2 released.

	* tramp.el (tramp-handle-substitute-in-file-name): Implementation
	reworked.  It handles now both "//" and "/~" for URL syntax.
	(top): Undefine also "~" in `read-file-name-map' when syntax is
	'url.  Needed for XEmacs.

	* tramp-efs.el, tramp-ftp.el (top): Add
	`tramp-handle-substitute-in-file-name' to respective file name
	handler.  Doesn't seem to work for EFS yet.

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-09-05  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (top): Undefine "/" in `read-file-name-map' when syntax
	is 'url.  Otherwise, XEmacs would break the syntax with
	`minibuffer-electric-separator'.

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

	* tramp-efs.el (all): Rename `tramp-postfix-single-method-*' to
	`tramp-postfix-method-*'.

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

	* tramp.el (tramp-maybe-open-connection): The echo command
	encloses every single word with '\"'.  Otherwise, the message
	could be detected during connection already, and Tramp raises a
	false error.

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

	Adding URL syntax.

	* tramp.el (tramp-unified-filenames): Renamed to `tramp-syntax'.
	(tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
	(tramp-postfix-method-regexp, tramp-user-regexp)
	(tramp-postfix-user-format, tramp-postfix-user-regexp)
	(tramp-host-regexp, tramp-host-with-port-regexp)
	(tramp-postfix-host-format, tramp-postfix-host-regexp)
	(tramp-localname-regexp, tramp-file-name-structure)
	(tramp-file-name-regexp, tramp-completion-file-name-regexp):
	Defcustom changed to defconst.  Partly syntax clarified, e.g. no
	regexp is optional any longer.
	(tramp-postfix-single-method-format): Renamed to
	`tramp-postfix-method-format'.
	(tramp-prefix-port-format, tramp-prefix-port-regexp)
	(tramp-port-regexp, tramp-file-name-regexp-url)
	(tramp-completion-file-name-regexp-url): New defconst.
	(tramp-file-name-handler-alist): Add entry for
	`substitute-in-file-name'.
	(tramp-handle-substitute-in-file-name): New defun.
	(tramp-do-copy-or-rename-file)
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-maybe-open-connection): Apply
	`tramp-host-with-port-regexp'.
	(top): Delete autoloaded handlers from file name handler alist
	before adding them.  Useful if another syntax is chosen.
	(tramp-completion-mode): Some adaptations due to URL syntax.  I'm
	not sure whether this is the final implementation.
	(tramp-completion-dissect-file-name): Some adaptations due to URL
	syntax.  Mainly because `tramp-postfix-method-regexp' matches more
	than one char in URL syntax.
	(tramp-completion-dissect-file-name1): Simplification of
	implementation.

	* tramp-smb.el (tramp-smb-file-name-handler-alist): Add entry for
	`substitute-in-file-name'.
	
2004-08-15  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-handle-rename-file): Apply t for KEEP-DATE when
	calling `tramp-do-copy-or-rename-file'.
	(tramp-do-copy-or-rename-file-out-of-band): If KEEP-DATE is true,
	and the method doesn't provide a keep-date argument, call
	`set-file-times' after copying.

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

	* tramp.el (tramp-methods): "sftp" has nil
	`tramp-copy-keep-date-arg'.
	(tramp-do-copy-or-rename-file-out-of-band): Handle it.

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

	Version 2.1.1 released.

	* tramp.el (tramp-methods): "sftp", "psftp": new external methods.
	"plink", "plink1" and "pscp": parameter for port specification is
	"-P".

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-08-03  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-methods): Change custom definition of log-args
	to the new syntax.
	(tramp-wrong-passwd-regexp): Add "Tramp connection closed" string.
	(tramp-maybe-open-connection): Add "echo \"Tramp connection
	closed\"" to connection command.  By this, we will see easily when
	a connection has failed.

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

	* tramp.el (tramp-methods): Add "(-p" "%p)" in login-args where
	applicable for the port kludge.  Arrange login-args as list of
	lists, in order to discard a sublist when the corresponding
	parameter is not set (like user name, port number).  Adapt
	docstring.
	(tramp-maybe-open-connection): Change evaluation of login-args
	according the the changes above.
	(tramp-make-tramp-file-name): Use "%l" as placeholder for the
	localname part.  "%p" is used for port numbers now, and we want to
	avoid headaches.

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

	* tramp.el (tramp-default-method-alist)
	(tramp-default-proxies-alist): Correcting doc string.
	(tramp-default-user, tramp-default-user-alist)
	(tramp-default-host): New defcustom.
	(tramp-do-copy-or-rename-file-out-of-band)
	(tramp-handle-expand-file-name, tramp-action-login)
	(tramp-buffer-name, tramp-debug-buffer-name)
	(tramp-maybe-open-connection)
	(tramp-read-passwd, tramp-clear-passwd): Apply `tramp-find-user'
	and `tramp-find-host'.
	(tramp-find-default-method): Allow nil regexps.
	(tramp-find-default-user, tramp-find-user)
	(tramp-find-default-host, tramp-find-host): New defun.

	* tramp-smb.el (top): Add empty (anonymous) user to
	`tramp-default-user-alist' for smb method.
	
2004-07-31  Michael Albinus  <michael.albinus@gmx.de>

	* tramp.el (tramp-maybe-open-connection): Foreign and out-of-band
	methods are not supported for multi-hops.

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

	* trampver.el.in (top): Check for (X)Emacs version.  Code is from
	macro AC_EMACS_INFO of aclocal.m4.

	* tramp.el (top): Remove (X)Emacs version check.
	(tramp-maybe-open-connection): Handle nil values in
	`tramp-default-proxies-alist'.

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

	* tramp.el (tramp-maybe-open-connection): Set
	`coding-system-for-read'.  It was lost last patch.

	* tramp-smb.el (all): Don't load "cl-seq", Emacs 19 is out of
	scope.  Remove `with-parsed-tramp-file-name' kludge.  Debugging
	spec set in tramp.el is sufficient.  Remove multi-method parameter
	from `tramp-message-for-buffer' calls.
	(tramp-smb-open-connection): Set `coding-system-for-read' to nil.
	Check for Emacs 20 is not necessary any longer.

	* tramp-ftp.el (top): Don't load "cl-seq", Emacs 19 is out of
	scope.

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

	Removing multi-hop methods.  Incorporating proxies.

	* tramp.el (all): Check for (X)Emacs version.  Remove (X)Emacs
	20.x or 19.x kludges.  Pacify byte-compiler where possible.
	Remove all MULTI-METHOD parameters.
	(tramp-multi-sh-program, tramp-multi-methods)
	(tramp-multi-connection-function-alist)
	(tramp-postfix-multi-method-format)
	(tramp-postfix-multi-method-regexp)
	(tramp-postfix-multi-hop-format, tramp-postfix-multi-hop-regexp)
	(tramp-multi-file-name-structure)
	(tramp-multi-file-name-hop-structure)
	(tramp-make-multi-tramp-file-format, tramp-multi-actions)
	(tramp-current-multi-method, tramp-dos-coding-system)
	(tramp-buffer-name-multi-method, tramp-multi-action-login)
	(tramp-multi-action-password, tramp-multi-action-succeed)
	(tramp-multi-action-permission-denied)
	(tramp-multi-action-process-alive, tramp-process-one-multi-action)
	(tramp-process-multi-actions, 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-multi-connect-su)
	(tramp-dissect-multi-file-name, tramp-make-tramp-multi-file-name):
	Removed.
	(tramp-methods): Remove all `tramp-connection-function'
	parameters.  Expand `tramp-login-args' parameters instead of.
	Remove "multi" method.
	(tramp-default-proxies-alist): New defcustom.
	(tramp-maybe-open-connection): Completely rewritten.
	(tramp-bug): `tramp-current-multi-method',
	`tramp-multi-file-name-structure',
	`tramp-multi-file-name-hop-structure', `tramp-multi-methods',
	`tramp-multi-connection-function-alist' and `tramp-multi-actions'
	removed.  `tramp-default-method-alist' and
	`tramp-default-proxies-alist' added.

	* tramp-efs.el (all): Remove all MULTI-METHOD parameters.

	* tramp-ftp.el (all): Remove all MULTI-METHOD parameters.

	* tramp-smb.el (all): Remove all MULTI-METHOD parameters.

	* tramp-vc.el (all): Remove all MULTI-METHOD parameters.

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
	exist, 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
	exists.
	(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>

	* tramp.el (tramp-handle-verify-visited-file-modtime): Remove
	outdated comment.
	(tramp-handle-verify-visited-file-modtime): New docstring.  From
	Luc Teirlinck.

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-04  Michael Albinus  <michael.albinus@gmx.de>

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

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

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

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

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

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

	* tramp.el (tramp-sh-file-name-handler): Leaving this function,
	`tramp-locked' must be reset to the same value as during entering.

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

	* tramp.el (tramp-enter-password, tramp-read-passwd): New
	arguments USER and HOST.
	(tramp-action-password, tramp-multi-action-password): Apply it.

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

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

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

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

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

	* tramp.el (tramp-process-alive-regexp): Precise doc string.
	(tramp-multi-action-process-alive): New defun.
	(tramp-multi-actions): Use it.

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

	* 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.
	(tramp-let-maybe): ReportReverse args of `get'.
	(tramp-let-maybe): Move to an earlier spot in the file.  Patch by
	Andreas Schwab.
	(tramp-handle-file-local-copy-hook): New hook.
	(tramp-handle-file-local-copy): Run it.
	(tramp-handle-write-region-hook): New hook.
	(tramp-handle-write-region): Run it.

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

	* tramp.el (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'.
	
2004-05-28  Kai Grossjohann  <kai.grossjohann@gmx.net>

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

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

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

	* tramp.el (top): Add `tramp-completion-file-name-handler' to
	`inhibit-file-name-handlers', and `file-local-copy' to
	`inhibit-file-name-operation'.  Needed for proper working of
	`file-remote-p'.

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

	* tramp.el (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-process-one-action, tramp-process-one-multi-action): Remove
	check for process status.  Will be performed by the respective
	action now.  Reported by Ted Stern <stern+tramp-devel@cray.com>.

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

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

	* Makefile.in (TODO): New item, inspired by Kai's change.

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

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

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

	* tramp.el (tramp-process-one-action)
	(tramp-process-one-multi-action, tramp-wait-for-regexp)
	(tramp-wait-for-output): Throw away if process has died. Reported
	by Luc Teirlinck <teirllm@dms.auburn.edu>.

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

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

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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <kai.grossjohann@gmx.net>

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

2003-07-03  Kai Großjohann  <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 Großjohann  <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 Großjohann  <kai.grossjohann@gmx.net>

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

2003-06-24  Kai Großjohann  <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 Großjohann  <kai.grossjohann@gmx.net>
	Version 2.0.35 released.

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

2003-06-16  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <kai.grossjohann@gmx.net>

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

2003-05-21  Kai Großjohann  <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 Großjohann  <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 Großjohann  <kai.grossjohann@gmx.net>

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

2003-05-06  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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
	Großjohann <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <kai.grossjohann@uni-duisburg.de>

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

2003-02-20  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann
	<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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 useful 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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.25 released.

2002-10-05  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-29  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	Version 2.0.23 released.

2002-09-26  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-24  Kai Großjohann  <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 Großjohann  <grossjoh@ls6.informatik.uni-dortmund.de>

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

2002-09-22  Kai Großjohann  <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 Großjohann  <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 Großjohann  <grossjoh@ls6.informatik.uni-dortmund.de>

	Version 2.0.20 released.

2002-09-20  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-18  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-17  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-16  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-16  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-13  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: New todo item.

2002-09-11  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-09-01  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-07-10  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-07-03  Kai Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-06-27  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-06-16  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

	* tramp.el: New todo item.

2002-06-15  Kai Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-06-10  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-06-04  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-05-19  Kai Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-04-14  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-04-14  Kai Großjohann  <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 Przepiórkowski.

2002-04-10  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-02-18  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2002-01-04  Kai Großjohann  <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 Großjohann  <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 Großjohann  <grossjoh@ls6.informatik.uni-dortmund.de>

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

2001-12-30  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-11-08  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-11-07  Kai Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-10-10  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-10-01  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-09-29  Kai Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-09-24  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-09-20  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-09-09  Kai Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-08-31  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-03-14  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2001-02-25  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2000-12-16  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>

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

2000-09-09  Kai Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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 Großjohann  <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.

