Anonymous avatar Anonymous committed eb0ce08

EFS 1.17

Comments (0)

Files changed (44)

-1998-03-21  SL Baur  <steve@altair.xemacs.org>
+1998-08-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
-	* efs-fnh.el (efs-handle-emacs-version): Fix emacs-version search
-	string.  Fix test for XEmacs 2x.
+	* RELEASE: 1.17.
+
+	* efs.el: (efs-guardian-path-template): Last component may have up
+ 	to 8 characters.
+
+	* efs.el (efs-backup-buffer): Respect `backup-inhibited'.
+
+	* efs.el (efs-use-remote-shell-internally): Introduced and used.
+  	Set *this* to nil instead of `efs-remote-shell-file-name' which
+ 	was a silly idea in the first place.
+
+1998-08-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el (efs-dumb-unix-listing-regexp): Added experimental "dumb"
+ 	recognition of NCFtpd.
+
+	* efs.el, efs-report.el, LISTS, efs.texi: Updated mailing list
+ 	addresses.
+
+	* efs.el (efs-shell-call-process): A nil
+ 	`efs-remote-shell-file-name' now means that no remote shell is to
+ 	be used instead on nonexistent ftp commands.
+
+1998-05-06  Raymond Toy  <toy@rtp.ericsson.se>
+
+	* efs-kerberos.el: Fixed a typo in efs-kerberos-login (eror -> error).
+
+1998-08-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-19.23.el, efs-19.34.el, efs-19.el, efs-fnh.el,
+ 	efs-l19.11.el, fn-handler.el: Lucid -> XEmacs renamings.
+
+	* Makefile.efs: Added IGNORE_CUSTOM variable to control inclusion
+ 	of cust-stub.el.
+
+	* cust-stub.el: Added, courtesy of Noah Friedman <friedman@prep.ai.mit.edu>.
+
+1998-08-22  Jerry Quinn <jquinn@nortel.ca>
+
+	* efs.el (efs-process-handle-hash): Added display of transfer rate.
+
+1998-08-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el (efs-barf-or-query-if-file-exists): Added legible error messages.
+	Added declaration for 'file-already-exists error.
+
+	* efs.el (efs-copy-remote-to-remote): Fixed complete brokenness.
+
+	* dumped-lisp.el: Removed---it was a dumb idea in the first place.
+
+1998-03-20  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* RELEASE: 1.16.
+
+	* INSTALL: Adjustments.
 
 1998-03-14  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
 
 1997-12-12  Alastair Burt <alastair.burt@dfki.de>
 
 	* efs-dired.el: EFS now confirms overwrites.
+
+	Tue Dec  9 08:05:29 1997  Michael Sperber [Mr. Preprocessor]  <sperber@brabantio>
+
+	* Attic/custom-load.el, Attic/auto-autoloads.el:
+	Automatically generated.
+
+1997-12-02  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el:
+	EFS now short-circuits filenames only when the underlying Emacs also
+	does so.
+
+	* efs.el:
+	expand-file-name can now be handled via file-name-handler-alist.
+	Small dumb-unix extension.
+
+	* efs-19.23.el, efs-19.el, efs-l19.11.el, efs-18.el:
+	expand-file-name can now be handled via file-name-handler-alist.
+
+	* efs.el: Suspected Netware patch.
+
+	* efs-defun.el, efs-dos-distinct.el: Version number fix.
+
+	* efs.texi, fixup.el, efs.el, efs-x19.15.el, efs-vos.el, efs-vm.el, efs-vms.el, efs-tops-20.el, efs-ti-twenex.el, efs-ti-explorer.el, efs-report.el, efs-plan9.el, efs-pc.el, efs-nos-ve.el, efs-ovwrt.el, efs-netrc.el, efs-netware.el, efs-mvs.el, efs-mts.el, efs-ms-unix.el, efs-kerberos.el, efs-mpe.el, efs-ka9q.el, efs-gwp.el, efs-hell.el, efs-fnh.el, efs-guardian.el, efs-dos-distinct.el, efs-dump.el, efs-dired.el, efs-dl.el, efs-defun.el, efs-dired-mule.el, efs-cu.el, efs-coke.el, efs-cp-p.el, efs-cms.el, efs-auto.el, efs-cms-knet.el, Attic/auto-autoloads.el, Attic/custom-load.el, README, default-dir.el, Makefile:
+	Import of XEmacs 20.4b7
+
+	* Makefile: Preliminary shot at customization.
+
+1997-12-02  Karl M. Hegbloom <karlheg@inetarena.com>
+
+	* efs.el, efs-tops-20.el, efs-vos.el, efs-pc.el, efs-netware.el, efs-nos-ve.el, efs-mts.el, efs-mvs.el, efs-netrc.el, efs-mpe.el, efs-ms-unix.el, efs-hell.el, efs-ka9q.el, efs-dos-distinct.el, efs-guardian.el, efs-dired.el, efs-dl.el, efs-cms.el:
+	Remove preceding-char & following-char.
+
+	
+1997-04-25  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.texi: Directory entry.
+
+	* efs.el: Passive mode support.
+
+1997-04-22  Jamie Zawinski <jwz@netscape.com>
+
+	* auto-save.el: Bug fixes.
+
+1997-04-22  Bill Clark <bclark@pixel.cirrus.com>,
+
+1997-04-04  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el: rsh magic for chmod.
+
+	* efs-fnh.el: Moved in allow-remote-paths.
+
+	* efs-dump.el: Moved out allow-remote-paths.
+
+	* efs-dired.el: rsh magic for chmod.
+
+	* efs-cu.el: Autoload for efs-ftp-path.
+
+	* efs-auto.el: More autoloads.
+
+	* default-dir.el: Shell commands now complete filenames in XEmacs.
+
+	* Makefile: PC compilation flags.
+
+1997-03-24  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el: Added conditional variable for remote access.
+
+	* efs-ovwrt.el: Correct inclusion of advice.
+
+	* efs-fnh.el, efs-dump.el:
+	Added conditional variable for remote access.
+
+	* Makefile: Adjustments for XEmacs 20.
+
+	* efs.texi: Bug fixes, so it runs through Makeinfo.
+
+1997-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.texi: First stab; very rough but runs through.
+
+1997-03-21  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-auto.el: Reverted to 1.15 version.
+
+	* efs.el, efs-report.el, efs-netrc.el: Added autoloads.
+
+	* efs-ovwrt.el: Fixed potential conflict with advice.el.
+
+	* efs-cu.el: Adaptations for XEmacs 20.1.
+
+	* efs-x19.15.el, efs-l19.11.el, efs-19.23.el, efs-19.el, efs-18.el:
+	Removed (require 'default-dir).
+
+	* default-dir.el: Support for Latin1 XEmacs 20.
+	Removed advice.el references.
+
+	* Makefile: Source installation and diffing support.
+
+	* efs-dump.el: Created.
+
+1997-03-09  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el, efs-netrc.el, efs-cu.el, efs-auto.el:
+	So's EFS support can be dumped safely.
+
+1997-03-09  Martin Buchholz <martin@xemacs.org>
+
+	* efs.el, efs-pc.el: Typo fixes.
+
+1997-02-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* emacs-19.el, efs.el, efs-x19.15.el, efs-vms.el, efs-tops-20.el, efs-ti-explorer.el, efs-ti-twenex.el, efs-report.el, efs-plan9.el, efs-ovwrt.el, efs-pc.el, efs-nos-ve.el, efs-netrc.el, efs-netware.el, efs-mvs.el, efs-ms-unix.el, efs-mpe.el, efs-l19.11.el, efs-ka9q.el, efs-kerberos.el, efs-gwp.el, efs-guardian.el, efs-dl.el, efs-dired.el, efs-defun.el, efs-cu.el, efs-cp-p.el, efs-cms.el, efs-cms-knet.el, efs-auto.el, default-dir.el, Makefile:
+	Merged with XEmacs 19.15b95.
+
+1997-02-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el: Comments.
+
+	* Makefile: Various stuff.
+
+	* default-dir.el: Support for view-less.
+
+1997-02-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-x19.15.el, efs-vos.el, efs-vms.el, efs-report.el, efs.el, efs-netware.el, efs-nos-ve.el, efs-mvs.el, efs-mpe.el, efs-kerberos.el, efs-ka9q.el, efs-guardian.el, efs-fnh.el, efs-dl.el, efs-dired.el, efs-cu.el, efs-cms.el, default-dir.el, auto-save.el, Makefile:
+	Merged with XEmacs 20.1b1.
+
+1997-02-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* MANIFEST: Removed.
+
+	* README: Updated for the version bundled with XEmacs.
+
+	* efs.el: Respects file name extension on remote file insertion.
+
+	* efs-cu.el: Fixed password seed stuff again.
+
+	* default-dir.el: Bug fix for XEmacs/MULE.
+
+	* auto-save.el: Merged with auto-save.el in XEmacs.
+
+1997-02-04  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-fnh.el: Version check bug fix so it works under XEmacs 19.15.
+
+	* reporter.el: Resurrected; it's not in Emacs 18
+
+	* Makefile: Resurrected reporter.el.
+
+1997-02-02  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-fnh.el, Makefile: Cleanup.
+
+	* reporter.el, efs-l19.6.el, efs-l19.8.el, efs-l19.10.el, PATCHES_FOR_LEMACS_19.10:
+	Removed.
+
+1997-02-01  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-cu.el: Made efs-code-string really work with XEmacs 20.0.
+
+1997-01-27  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-cu.el: Fix for the broken compatibility fix.
+
+1997-01-25  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el, efs-guardian.el:
+	Bug fix from mailing list.
+
+1997-01-25  Christoph Wedler <wedler@fmi.uni-passau.de>
+
+	* auto-save.el:	Bug fix.
+
+1997-01-20  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs-cu.el: XEmacs 20 compatibility fix in efs-code-string.
+
+1997-01-03  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* all:
+	Merged with EFS 1.15 from ange.
+
+	* Makefile, efs-fnh.el: Added support for efs-x19.15.
+
+	* efs-x19.15.el: Created.
+
+1996-12-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* efs.el, efs-vos.el, efs-report.el, efs-vms.el, efs-netware.el, efs-nos-ve.el, efs-mvs.el, efs-ka9q.el, efs-mpe.el, efs-guardian.el, efs-dl.el, efs-fnh.el, efs-cms.el:
+	Port to XEmacs 20.
+
+1996-12-09  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
+
+	* all: Merged with EFS 1.14 from Sandy.
 There are several mailing lists relevant to efs.  If you wish to join
 a list, send e-mail to their -request address.
 
-  efs-bugs@cuckoo.hpl.hp.com
+  efs-bugs@hplb.hpl.hp.com
 
 This is where all bug reports should go.  M-x efs-report-bug is the
 recommended way of sending bug reports about efs, and this will send by
 default to this address.
 
-  efs-help@cuckoo.hpl.hp.com
+  efs-help@hplb.hpl.hp.com
 
 This is where general discussions about efs should go.  For beta-testing
 discussions, use efs-testers instead.
 
-  efs-testers@cuckoo.hpl.hp.com
+  efs-testers@hplb.hpl.hp.com
 
 This is where discussions about beta testing efs should go.  Bugs should
 however be reported to efs-bugs. Patches for beta test bugs will be
 sent to this list.
 
-  efs-announce@cuckoo.hpl.hp.com
+  efs-announce@hplb.hpl.hp.com
 
 This is where announcements such as new generally available releases of efs
 should go.
 
 include Makefile.efs
 
-VERSION = 1.08
-AUTHOR_VERSION = 1.16x1
+VERSION = 1.09
+AUTHOR_VERSION = 1.17
 MAINTAINER = Mike Sperber <sperber@informatik.uni-tuebingen.de>
 PACKAGE = efs
 PKG_TYPE = regular
 ###############################################################################
 #
 # File:         Makefile
-# Release:      $EFS release: 1.16 $
+# Release:      $EFS release: 1.17 $
 # Release:      $dired release: 7.9 $
-# Version:      $Revision$
+# Version:      #Revision: 1.8 $
 # RCS:
 # Description:  Makefile for byte-compiling EFS (primarily) and dired.
 # Author:       Andy Norman, HPLabs, Bristol, UK.
 EMACS_VERSION=x19.15
 # Current working directory
 CWD=`pwd`
+# Load custom stubs instead of the real thing.
+# You may want to do this if your Emacs (say, GNU Emacs 19.34) supports
+# only the old custom interface, in which case EFS won't be able to
+# use customization, but at least, other software won't break.
+# IGNORE_CUSTOM=-l $(CWD)/cust-stub.el
 # Directory in which to install the lisp files
 LISPDIR=
 # Directory in which to install the info files
 XEPACKAGESRC_EFS = $(EFSSRC) efs-x19.15.el $(XESRC_EFS) $(MULESRC_EFS)
 XEPACKAGEMISC_EFS = README ChangeLog LISTS efs.texi \
 	            Makefile Makefile.efs \
-	            dumped-lisp.el package-info.in
+	            package-info.in
 XEPACKAGESRC_DIRED = $(DSRC) $(XESRC_DIRED) $(MULESRC_DIRED)
 XEPACKAGEMISC_DIRED = README ChangeLog LISTS \
 	            Makefile Makefile.dired \
        efs-18.el efs-19.el efs-19.23.el efs-19.34.el \
        efs-l19.11.el efs-x19.15.el \
        emacs-19.el fn-handler.el \
-       reporter.el fixup.el
+       reporter.el fixup.el cust-stub.el
 DISTSRC_DIRED = $(DSRC) $(GESRC_DIRED) $(XESRC_DIRED) \
 	fn-handler.el \
-	reporter.el fixup.el
+	reporter.el fixup.el cust-stub.el
 DISTMISC_EFS = README RELEASE INSTALL ChangeLog LISTS efs.texi \
 	       Makefile.efs
 DISTMISC_DIRED = README RELEASE INSTALL ChangeLog LISTS \
 
 .el.elc:
 	BDIR=$(BDIR) CWD=$(CWD) DIREDDIR=$(DIREDDIR) VMDIR=$(VMDIR) CUSTOMDIR=$(CUSTOMDIR)\
-  $(EMACS) -batch -no-site-file -l $(CWD)/fixup -f batch-byte-compile $(CWD)/$<
+  $(EMACS) -batch -no-site-file -l $(CWD)/fixup $(IGNORE_CUSTOM) -f batch-byte-compile $(CWD)/$<
 
 .texi.info:
 	$(EMACS) -batch -f batch-texinfo-format $(CWD)/$<
-This is EFS 1.16
+This is EFS 1.17
 ================
 
 EFS is a system for transparent file-transfer between remote VMS, CMS,

dumped-lisp.el

-(setq package-lisp
-        '("efs-dump")
-)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-auto.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.8 $
 ;; RCS:          
 ;; Description:  Simple way of autoloading efs
 (require 'efs-fnh)
 
 (defconst efs-auto-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.8 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-cms-knet.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  CMS support for efs using KNET/VM server
 (require 'efs)
 
 (defconst efs-cms-knet-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-cms.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.9 $
 ;; RCS:          
 ;; Description:  CMS support for efs
 (require 'efs)
 
 (defconst efs-cms-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.9 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-coke.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Coke Machine support for efs
 (require 'efs)
 
 (defconst efs-coke-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-cp-p.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Support for preserving file modtimes with copies. i.e. cp -p
 ;;;; Internal Variables
 
 (defconst efs-cp-p-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-cu.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.12 $
 ;; RCS:          
 ;; Description:  Common utilities needed by efs files.
 ;;;; -------------------------------------------------------------
 
 (defconst efs-cu-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.12 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-defun.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  efs-defun allows for OS-dependent coding of functions
 ;;; Variables
 
 (defconst efs-defun-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 

efs-dired-mule.el

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-dired.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:          
 ;; Description:  Makes efs-dired.el work with MULE.
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defconst efs-dired-mule-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.1 $" 11 -2)))
+	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;; Keep the byte-compiler happy
 (defvar efs-version-host-types)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-dired.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.32 $
 ;; RCS:          
 ;; Description:  Extends much of Dired to work under efs.
 (autoload 'dired-shell-call-process "dired-shell")
 
 (defconst efs-dired-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.32 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-dl.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.3 $
 ;; RCS:          
 ;; Description:  Unix descriptive listing support for efs
 (require 'efs)
 
 (defconst efs-dl-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.3 $" 11 -2)))
 

efs-dos-distinct.el

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-dos-distinct.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Distinct's DOS FTP server support for efs
 (require 'efs)
 
 (defconst efs-dos-distinct-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-dump.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:
 ;; Description:  Install a bare-bones EFS hook into file-name-handler-alist
 (provide 'efs-dump)
 
 (defconst efs-dump-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-fnh.el
-;; Release:      $efs release: 1.16 $
-;; Version:      #Revision: 1.3 $
+;; Release:      $efs release: 1.17 $
+;; Version:      #Revision: 1.4 $
 ;; RCS:
 ;; Description:  Look for the emacs version, and install into
 ;;               the file-name-handler-alist
 (provide 'efs-fnh)
 
 (defconst efs-fnh-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.3 $" 11 -2)))
+	  (substring "#Revision: 1.4 $" 11 -2)))
 
 ;;;###autoload
 (defvar allow-remote-paths t
   ;; Load appropriate files for the current emacs version
   (let ((ehev-match-data (match-data)))
     (unwind-protect
-	(let ((lucidp (string-match "XEmacs\\|Lucid" emacs-version))
+	(let ((xemacsp (string-match "XEmacs" emacs-version))
 	      ver subver)
 	  (or (string-match "^\\([0-9]+\\)\\.\\([0-9]+\\)" emacs-version)
 	      (error "efs does not work with emacs version %s" emacs-version))
 						 (match-end 2))))
 	  (cond
 	   
-	   ;; Lucid XEmacs (emacs-version looks like \"19.xx XEmacs Lucid\")
-	   (lucidp
+	   ;; XEmacs (emacs-version looks like \"19.xx XEmacs\")
+	   (xemacsp
 	    (cond
 	     ((and (= ver 19) (>= subver 11) (< subver 15))
 	      (require 'efs-l19\.11))
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-guardian.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.7 $
 ;; RCS:          
 ;; Description:  Guardian support for efs
 ;;; and debugging. Thanks.
 
 (defconst efs-guardian-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.7 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-gwp.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Support for efs to use an interactive gateway.
 ;;; Internal Variables
 
 (defconst efs-gwp-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-hell.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Hellsoft FTP server support for efs
 (require 'efs)
 
 (defconst efs-hell-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-ka9q.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:          
 ;; Description:  KA9Q support for efs
 (require 'efs)
 
 (defconst efs-ka9q-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-kerberos.el
-;; Release:      $efs release: 1.16 $
-;; Version:      #Revision: 1.0 $
+;; Release:      $efs release: 1.17 $
+;; Version:      #Revision: 1.1 $
 ;; RCS:
 ;; Description:  Support for Kerberos gateways.
 ;; Author:       Sandy Rutherford <sandy@gandalf.sissa.it>
 (require 'efs)
 
 (defconst efs-kerberos-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.0 $" 11 -2)))
+	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;; Internal Variables
 
     (setq efs-kerberos-passwd-failed nil
 	  efs-kerberos-passwd-sent nil
 	  efs-kerberos-output "")
-    (condition-case nil (delete-process "*efs kerberos*") (eror nil))
+    (condition-case nil (delete-process "*efs kerberos*") (error nil))
     (let* ((program (or (nth 3 efs-gateway-type) "kinit"))
 	   (args (nth 4 efs-gateway-type))
 	   (proc (apply 'start-process
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-mpe.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.8 $
 ;; RCS:          
 ;; Description:  MPE (HP3000) support for efs.
 ;;; Internal Variables
 
 (defconst efs-mpe-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.8 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-ms-unix.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  efs support for the Microsoft PC FTP server in unix mode.
 (require 'efs)
 
 (defconst efs-ms-unix-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-mts.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  MTS support for efs
 (require 'efs)
 
 (defconst efs-mts-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-mvs.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.4 $
 ;; RCS:          
 ;; Description:  MVS support for efs
 (require 'efs)
 
 (defconst efs-mvs-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.4 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-netrc.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:          
 ;; Description:  Parses ~/.netrc file, and does completion in /.
 ;;;; ------------------------------------------------------------
 
 (defconst efs-netrc-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-netware.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.5 $
 ;; RCS:          
 ;; Description:  efs support for the Novell Netware FTP server
 (require 'efs)
 
 (defconst efs-netware-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.5 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-nos-ve.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:          
 ;; Description:  efs support for NOS/VE
 ;;; providing imformation and testing.
 
 (defconst efs-nos-ve-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-ovwrt.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.3 $
 ;; RCS:
 ;; Description:  Utilities for overwriting functions with new definitions.
     (error)))
 
 (defconst efs-ovwrt-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.2 $" 11 -2)))
+	  (substring "#Revision: 1.3 $" 11 -2)))
 
 (defvar efs-overwrite-fmt
   "Note: This function has been modified to work with %s.")
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-pc.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  PC support for efs
 (require 'efs)
 
 (defconst efs-pc-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-plan9.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  efs support for the Plan 9 FTP Server
 (require 'efs)
 
 (defconst efs-plan9-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-report.el
-;; Release:      $efs release: 1.16 $
-;; Version:      #Revision: 1.9 $
+;; Release:      $efs release: 1.17 $
+;; Version:      #Revision: 1.10 $
 ;; RCS:          
 ;; Description:  Function to report efs bugs in a usable way.
 ;; Author:       Andy Norman, Dawn
 ;;; Variables
 
 (defconst efs-report-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.9 $" 11 -2)))
+	  (substring "#Revision: 1.10 $" 11 -2)))
 
 (defconst efs-report-salutations
   ["Dear bug team:"
    "Fellow efs'ers:"
    "Greetings earthlings:"])
 
-(defvar efs-bug-address "efs-bugs@cuckoo.hpl.hp.com")
+(defvar efs-bug-address "efs-bugs@hplb.hpl.hp.com")
 
 (defconst efs-report-other-vars
   ;; List of variables needed for efs-report, that aren't generated below.

efs-ti-explorer.el

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-ti-explorer.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Explorer support for efs
 (require 'efs)
 
 (defconst efs-ti-explorer-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-ti-twenex.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Support for a TI lisp machine in Twenex emulation mode.
 (require 'efs)
 
 (defconst efs-ti-twenex-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-tops-20.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  TOPS-20 support for efs
 (provide 'efs-tops-20)
 
 (defconst efs-tops-20-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-vm.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Description:  Allows the VM  mail reader to access folders using efs.
 ;;; Internal variables
 
 (defconst efs-vm-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-vms.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.13 $
 ;; RCS:          
 ;; Description:  VMS support for efs
 (require 'efs)
 
 (defconst efs-vms-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.13 $" 11 -2)))
 
 ;;
 ;; File:         efs-vos.el
 ;; Description:  VOS support for efs
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.1 $
 ;; RCS:          
 ;; Author:       Sandy Rutherford <sandy@ibm550.sissa.it>
 (require 'efs)
 
 (defconst efs-vos-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.1 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs-x19.15.el
-;; Release:      $efs release: 1.16 $
+;; Release:      $efs release: 1.17 $
 ;; Version:      #Revision: 1.2 $
 ;; RCS:          
 ;; Description:  efs support for XEmacs, versions 19.15, and later.
 (require 'efs-ovwrt)
 
 (defconst efs-x19\.15-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
 	  (substring "#Revision: 1.2 $" 11 -2)))
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;
 ;; File:         efs.el
-;; Release:      $efs release: 1.16 $
-;; Version:      #Revision: 1.56 $
+;; Release:      $efs release: 1.17 $
+;; Version:      #Revision: 1.57 $
 ;; RCS:          
 ;; Description:  Transparent FTP support for the original GNU Emacs
 ;;               from FSF and XEmacs
 ;;; The goal is to make the entire internet accessible as a virtual
 ;;; file system.
 
-;;; Configuration variables:
-;;;
-;;; It is important that you read through the section on user customization
-;;; variables (search forward for the string ">>>"). If your local network
-;;; is not fully connected to the internet, but accesses the internet only
-;;; via a gateway, then it is vital to set the appropriate variables to
-;;; inform efs about the geometry of your local network. Also, see the
-;;; paragraph on gateways below.
-
 ;;; -----------------------------------------------------------
 ;;; Technical information on this package:
 ;;; -----------------------------------------------------------
 ;;;    efs|Andy Norman and Sandy Rutherford
 ;;;    |ange@hplb.hpl.hp.com and sandy@ibm550.sissa.it
 ;;;    |transparent FTP Support for GNU Emacs
-;;;    |$Date$|$efs release: 1.16 $|
+;;;    |$Date$|$efs release: 1.17 $|
 
 ;;; Host and listing type notation:
 ;;;
 ;;;; ------------------------------------------------------------
 
 (defconst efs-version
-  (concat (substring "$efs release: 1.16 $" 14 -2)
+  (concat (substring "$efs release: 1.17 $" 14 -2)
 	  "/"
-	  (substring "#Revision: 1.56 $" 11 -2)))
+	  (substring "#Revision: 1.57 $" 11 -2)))
 
 (defconst efs-time-zero 1970) ; we count time from midnight, Jan 1, 1970 GMT.
 
   :type 'string
   :group 'efs-programs)
 
+(defcustom efs-use-remote-shell-internally t
+  "Set to non-nil if efs is to use remote shell commands internally.
+If non-nil, efs will attempt to use remote shell commands to implement
+certain commands the ftp server lacks such as chmod."
+  :type 'boolean
+  :group 'efs-programs)
+
 (defcustom efs-remote-shell-takes-user
   (null (null (memq system-type '(aix aix-v3 hpux silicon-graphics-unix
 				      berkeley-unix))))
 (defvar efs-process-hash-mark-unit nil)
 (make-variable-buffer-local 'efs-process-hash-mark-unit)
 
+;; History of hash-mark counts and times to compute transfer rate
+(defvar efs-process-hash-mark-history (list (list 0 (current-time))))
+(make-variable-buffer-local 'efs-process-hash-mark-history)
+
 (defvar efs-process-last-percent -1)
 (make-variable-buffer-local 'efs-process-last-percent)
 
 			       (ash efs-process-hash-mark-count -6))
 			  (ash (* efs-process-hash-mark-unit
 				  efs-process-hash-mark-count)
-			       -6))))
+			       -6)))
+		;; dkbytes is the number of kbytes since previous call
+		(oldhashcnt (car (car efs-process-hash-mark-history)))
+		(oldtime (nth 1 (car efs-process-hash-mark-history)))
+		(diffcount (- efs-process-hash-mark-count oldhashcnt))
+		(dkbytes (if big
+			     (* efs-process-hash-mark-unit
+				(ash diffcount -6))
+			   (ash (* efs-process-hash-mark-unit
+				   diffcount)
+				-6)))
+		(curtime (current-time))
+		dtime rate)
+
+	   (setq efs-process-hash-mark-history
+		 (append efs-process-hash-mark-history (list (list efs-process-hash-mark-count curtime))))
+	   (if (> (length efs-process-hash-mark-history) 20)
+	       (setq efs-process-hash-mark-history (cdr efs-process-hash-mark-history)))
+
+	   ;; We'll assume there aren't 18 hours between hash updates
+	   (setq dtime (nth 1 (efs-time-minus curtime oldtime)))
+	   (setq dtime (- (+ dtime (/ (nth 2 curtime) 1000000.0))
+			  (/ (nth 2 oldtime) 1000000.0)))
+	   (setq rate (round (* 1000.0 (/ (float dkbytes) dtime))))
+	   (if (< rate 1000)
+	       (setq rate (format "(%d B/s)" rate))
+	     (setq rate (number-to-string (round (/ rate 100.0))))
+	     (setq rate (format "(%s.%s KB/s)"
+				(substring rate 0 -1)
+				(substring rate -1 nil))))
+
 	   (if (zerop efs-process-xfer-size)
 	       (or (zerop kbytes)
-		   (efs-message "%s...%dk" efs-process-msg kbytes))
+		   (efs-message "%s...%dk %s" efs-process-msg kbytes rate))
 	     (let ((percent (if big
 				(/ (* 100 (ash kbytes -7))
 				   (ash efs-process-xfer-size -7))
 	       (or (eq percent efs-process-last-percent)
 		   (progn
 		     (setq efs-process-last-percent percent)
-		     (efs-message "%s...%d%%" efs-process-msg percent)))))))
+		     (efs-message "%s...%d%% %s" efs-process-msg percent rate)))))))
 	(concat (substring str 0 (match-beginning 0))
 		(and (/= (length str) (match-end 0))
 		     (substring str (1+ (match-end 0))))))
 	      efs-process-server-confused nil
 	      efs-process-nowait nowait
 	      efs-process-hash-mark-count 0
+	      efs-process-hash-mark-history (list (list 0 (current-time)))
 	      efs-process-last-percent -1
 	      efs-process-xfer-size 0
 	      efs-process-cmd-counter (% (1+ efs-process-cmd-counter) 16))
 (defconst efs-dumb-unix-listing-regexp
   (concat
    "^[Uu]sage: +ls +-[a-zA-Z0-9]+[ \n]\\|"
+   "^Only ls flags accepted are\\|"
    ;; Unitree server
    "^Error getting stats for \"-[a-zA-Z0-9]+\""))
 
 
 (efs-define-fun efs-set-buffer-file-name (filename)
   ;; Sets the buffer local variables for filename appropriately.
-  ;; A special function because Lucid and FSF do this differently.
+  ;; A special function because XEmacs and FSF do this differently.
   ;; This default behaviour is the lowest common denominator.
   (setq buffer-file-name filename))
 
 
 (defun efs-backup-buffer ()
   ;; Version of backup-buffer for buffers visiting remote files.
-  (if efs-make-backup-files
+  (if (and efs-make-backup-files
+	   (not backup-inhibited))
       (let* ((parsed (efs-ftp-path buffer-file-name))
 	     (host (car parsed))
 	     (host-type (efs-host-type (car parsed))))
   
 (defun efs-shell-call-process (command dir &optional in-background)
   ;; Runs shell process on remote hosts.
-  (let* ((parsed (efs-ftp-path dir))
-	 (host (car parsed))
-	 (user (nth 1 parsed))
-	 (rdir (nth 2 parsed))
-	 (file-name-handler-alist nil))
-    (or (string-equal (efs-internal-directory-file-name dir)
-		      (efs-expand-tilde "~" (efs-host-type host) host user))
-	(string-match "^cd " command)
-	(setq command (concat "cd " rdir "; " command)))
-    (setq command
-	  (format  "%s %s%s \"%s\""	; remsh -l USER does not work well
+  (if (not efs-use-remote-shell-internally)
+      -1
+    (let* ((parsed (efs-ftp-path dir))
+	   (host (car parsed))
+	   (user (nth 1 parsed))
+	   (rdir (nth 2 parsed))
+	   (file-name-handler-alist nil))
+      (or (string-equal (efs-internal-directory-file-name dir)
+			(efs-expand-tilde "~" (efs-host-type host) host user))
+	  (string-match "^cd " command)
+	  (setq command (concat "cd " rdir "; " command)))
+      (setq command
+	    (format  "%s %s%s \"%s\""	; remsh -l USER does not work well
 					; on a hp-ux machine I tried
-		   efs-remote-shell-file-name host
-		   (if efs-remote-shell-takes-user
-		       (concat " -l " user)
-		     "")
-		   command))
-    (message "Doing shell command on %s..." host)
-    ;; do it
-    (let ((process-connection-type ; don't waste pty's
+		     efs-remote-shell-file-name host
+		     (if efs-remote-shell-takes-user
+			 (concat " -l " user)
+		       "")
+		     command))
+      (message "Doing shell command on %s..." host)
+      ;; do it
+      (let ((process-connection-type	; don't waste pty's
 	     (null (null in-background))))
 	(setq default-directory (file-name-directory efs-tmp-name-template))
 	(if in-background
 	      (setq mode-line-process '(": %s"))
 	      (start-process "Shell" (current-buffer)
 			     shell-file-name "-c" command))
-	  (call-process shell-file-name nil t nil "-c" command)))))
+	  (call-process shell-file-name nil t nil "-c" command))))))
 
 (defun efs-set-file-modes (file mode)
   ;; set-file-modes for remote files.
 then it should be adequate to simply remove the \(require 'ange-ftp\)
 line and let efs handle remote file access.  Otherwise, it will need to
 be ported to efs.  This may already have been done, and you can find out
-by sending an enquiry to efs-help@cuckoo.hpl.hp.com.
+by sending an enquiry to efs-help@hplb.hpl.hp.com.
 
 Signalling an error with backtrace will allow you to determine which
 package was requiring ange-ftp.\n"))
 ;;;  - and again 14/4/93
 ;;;  - and again 17/8/93
 
+(if (not (get 'file-already-exists 'error-conditions))
+    (let ((conds (get 'file-error 'error-conditions)))
+      (put 'file-already-exists (cons 'file-already-exists conds))))
+
 (defun efs-barf-or-query-if-file-exists (absname querystring interactive)
   (if (file-exists-p absname)
       (if (not interactive)
-	  (signal 'file-already-exists (list absname))
+	  (signal 'file-already-exists
+		  (list (format "File %s already exists." absname)))
 	(if (not (yes-or-no-p (format "File %s already exists; %s anyway? "
 				      absname querystring)))
-	    (signal 'file-already-exists (list absname))))))
+	    (signal 'file-already-exists
+		    (list (format "File %s already exists." absname)))))))
 
 (defun efs-concatenate-files (file1 file2)
   ;; Concatenates file1 to file2. Both must be local files.
 		   msg nil
 		   (efs-cont (retr-result retr-line retr-cont-lines)
 		       (cont f-host f-user f-path)
-		     (and retr-result
-			  (null cont)
-			  (efs-error
-			   f-host f-user
-			   (format "RETR failed for %s: %s"
-				   f-path retr-line)))
-		     (if cont (efs-call-cont
-			       cont retr-result retr-line retr-cont-lines)))
-		   (if (eq nowait t) 1 nowait))))
-	      1) ; can't ever wait on this command.
-	     (efs-send-cmd
-	      t-host t-user
-	      (list 'quote (if append 'appe 'stor) t-path xfer-type)
-	      nil nil
-	      (efs-cont (stor-result stor-line stor-cont-lines)
-		  (t-host t-user t-path t-host-type newname filename
-			  append)
-		(if stor-result
-		    (efs-error
-		     t-host t-user (format "%s failed for %s: %s"
-					   (if append "APPE" "STOR")
-					   t-path stor-line))
-		  (efs-copy-add-file-entry
-		   newname t-host-type t-user
-		   (nth 1 (efs-get-file-entry filename)) append)))
-	      (if (eq nowait t) 1 nowait))))))
-     nowait)))
+		     (if retr-result
+			 (if cont
+			     (efs-call-cont
+			       cont retr-result retr-line retr-cont-lines)
+			   (efs-error
+			    f-host f-user
+			    (format "RETR failed for %s: %s"
+				    f-path retr-line)))
+		       (efs-send-cmd
+			t-host t-user
+			(list 'quote (if append 'appe 'stor) t-path xfer-type)
+			nil nil
+			(efs-cont (stor-result stor-line stor-cont-lines)
+			    (t-host t-user t-path t-host-type newname filename
+				    append)
+			  (if stor-result
+			      (efs-error
+			       t-host t-user (format "%s failed for %s: %s"
+						     (if append "APPE" "STOR")
+						     t-path stor-line))
+			    (efs-copy-add-file-entry
+			     newname t-host-type t-user
+			     (nth 1 (efs-get-file-entry filename)) append)))
+			(if (eq nowait t) 1 nowait))))))
+		nowait)))))))))
 
 (defun efs-copy-on-remote (host user host-type filename newname filename-parsed
 				newname-parsed keep-date append-p msg cont
    "\\\\[A-Z0-9][A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?\\."
    "\\)?"
    "\\$[A-Z0-9][A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?\\."
-   "[A-Z][A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?$"))
+   "[A-Z][A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?[A-Z0-9]?$"))
 ;; guardian and cms are very close to overlapping (they don't). Be careful.
 (defconst efs-vms-path-template
   "^[-A-Z0-9_$]+:\\[[-A-Z0-9_$]+\\(\\.[-A-Z0-9_$]+\\)*\\]$")
 This file documents EFS, a system for transparent file-transfer
 between remote hosts using the FTP protocol within Emacs.
 
-This info is for version 1.16 of EFS.
+This info is for version 1.17 of EFS.
 
-Documentation version: 1.1
+Documentation version: 1.2
 
 Copyright @copyright{} 1991, 1992 Free Software Foundation, Inc.
 
 @titlepage
 @sp5
 @center @titlefont{EFS}
-@center version 1.16
+@center version 1.17
 @sp2
 @center A transparent remote file system, by Sandy Rutherford and Andy Norman
 @sp7
 
 This documentation preliminary.
 
-@center Info Version 1.1
+@center Info Version 1.2
 @page
 @vskip 0pt plus 1filll
 Copyright @copyright{} 1991, 1992 Free Software Foundation, Inc.
 
 The authors of EFS are Sandy Rutherford (@code{sandy@@math.ubc.ca}) and
 Andy (Ange) Norman (@code{ange@@hplb.hpl.hp.com}).  EFS is partly based
-on an earlier package called ange-ftp.  The integration of EFS 1.16 into
+on an earlier package called ange-ftp.  The integration of EFS 1.17 into
 XEmacs and numerous bug fixes were done by Mike Sperber
 (@code{sperber@@informatik.uni-tuebingen.de}).
 
 list, please mail one of the following addresses:
 
 @example
-efs-help-request@@cuckoo.hpl.hp.com
-@end example
-or
-@example
-efs-help-request%cuckoo.hpl.hp.com@@hplb.hpl.hp.com
+efs-help-request@@hplb.hpl.hp.com
 @end example
 
 Please don't forget the @t{-request} part.
 following addresses:
 
 @example
-efs-help@@cuckoo.hpl.hp.com
-@end example
-or
-@example
-efs-help%cuckoo.hpl.hp.com@@hplb.hpl.hp.com
+efs-help@@hplb.hpl.hp.com
 @end example
 
 Alternatively, there is a mailing list that only gets
 or send mail to
 
 @example
-efs-bugs@@cuckoo.hpl.hp.com
+efs-bugs@@hplb.hpl.hp.com
 @end example
 
 EFS is a ``free'' program. This means that you didn't (or shouldn't
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.