efs-1.8(beta) available

sandy@ibm550.sissa.it
Mon, 13 Jun 1994 16:06:01 +0200


efs-1.8 is now available in

Europe: /anonymous@anubis.ethz.ch:sandy/efs/efs-1.8.tar.gz

and

North America: /anonymous@alpha.gnu.ai.mit.edu:efs/efs-1.8.tar.gz

Included is dired-7.1. A dired only distribution is available as

   /anonymous@anubis.ethz.ch:sandy/dired/dired-7.1.tar.gz

This should still be considered to be beta test code.

efs-1.7 never made it past alpha test, because of problems with the
file-name-handler-alist.

reporter.el is no longer bundled with efs.  It seems fairly
widespread.  Reporter 2.5 is available in the efs distribution
directory, for those who need it.  Also, Emacs 18 users need comint.el
to run efs.  We have put a copy of comint V2.03 in the efs
distribution directory as well.

1.8 works with all versions of FSF Emacs up to 19.25 and all versions
of Lucid Emacs up to 19.10.

Changes from 1.6 to 1.8:

dired:

dired has undergone a fairly extensive cleanup.  Note that a few
functions have been obsoleted.

1. dired-kill-line-or-subdir no longer exists.  Instead "k" is bound
   to dired-kill-subdir, which kills the current subdir, regardless
   of whether it's on the subdir header line or not.  Killing a subdir
   means that its listing is removed from the dired buffer.  This can
   be useful for reducing maintenance overhead in a huge buffer.  If
   you give "k" a prefix, it will kill the entire directory subtree
   starting at the current directory.

2. There is a new command dired-do-kill-file-lines, which is on "K".
   It kills marked file lines, or those indicated by the prefix arg.
   In this case, killing means hiding with selective display.  Giving
   a 0 prefix redisplays all killed file lines.  Omitting also works
   by selective display, but the philosophy is different.  Files are
   usually omitted for some a priori reason.  Whereas one would kill a
   file line to get it out of sight for this particular session.  Of
   course, you can use these two concepts of selective display any way
   that you want.  Killed lines, omitted lines, and hidden subdirs,
   all of which work with selective display, toggle independently.

3. The command dired-up-directory, which used to move to the parent of
   the current directory, either in the current buffer, or if
   necessary by starting a new dired buffer has been changed so that
   it never switches buffers.  It always moves to a new subdir in the
   current buffer, even if it has to insert it, and even if it has to
   put a new top-level dir in the buffer and rename the buffer.  In
   the later case, it will prompt for confirmation, unless you add
   'create-top-dir to dired-no-confirm.  Since this command now
   always stays in the same buffer, dired-up-directory-other-buffer
   has been eliminated.

   dired-up-directory pushes the mark before it moves now.

   To actually run dired on the parent of the current subdir use
   dired-jump-back ("\C-x \C-j"), or dired-jump-back-other-window
   ("\C-x 4 \C-j").  These behave just like "C-x d", and create another
   buffer according to the value of dired-find-subdir.

4. dired-tree-up is obsolete. dired-up-directory is now on "\C-\M-u"
   as well as "^".

5. dired-tree-down is now dired-down-directory.  It's still on
   "\C-\M-d".  It now pushes the mark before moving.

6. dired-do-shell-command will now automatically relist any subdirs
   whose modtime has changed as a result of doing the shell command.
   This only applies to subdirs in the dired buffer in which the shell
   command was run.  It doesn't work for remote dired buffers -- too
   much overhead.  Just revert them manually.

7. The command dired-do-redisplay is now on "N", and not "l".  This is
   because it's a command on marked files, and these should use upper
   case letters.  When used in remote directories this command will
   not use local cache, so it can be used to selectively revert a subdir.

8. The help string for dired mode now autoloads.  It was getting too
   long to load all the time.  To get help for dired:
   "?"       for short help
   "h"       for medium, describe-mode style help (recently updated)
   "\C-u h"  to run info (the info file needs updating)
   "\C-h m"  now just tells you how to get help.
   "a"       for dired-apropos
    Both dired-describe-mode and dired-apropos will be electric if
    'ehelp is featurep.  Otherwise, not.

9. For those that caught it, there is a new help command
   dired-apropos.  It's like the normal command-apropos, except with a
   twist.  It applies only to dired commands.  With a prefix, it
   applies to dired user variables.  It shows matches for either the
   command/variable name or the first line of the function/variable
   documentation.  This makes it a bit more powerful for doing keyword
   searches, then the usual command-apropos.  Since it applies to only
   dired commands and variables, this does not cause it to dump out
   lots of crud.

10. dired sort modes / ls switches have been made table-based, for
    easier support of exotic ls switches.

11. dired-sort-toggle-or-edit ("s"), now toggles only the current
    subdir.  Give it a nonzero numeric prefix to edit ls switches for
    the current subdir.  A non-numeric prefix, will allow you to
    specify switches for the entire dired buffer.  All subdirs will be
    relisted to use those switches.  A zero prefix will report on the
    current switches.  The mode line shows the sort mode of the
    current subdir.  It tracks the point, as in file omission.  Still
    no mouse support for modeline tracking.

12. Giving dired-unmark-all-files (M-DEL) a 0 prefix causes it to
    simply report on how many marks are in the dired buffer.

13. Dynamic markers now have a movable pointer.  To add a marker to
    the stack use dired-set-marker-char ("("), and to remove the last
    marker char use dired-restore-marker-char (")").  The pointer
    appears as a cursor in the marker stack on the modeline.  By
    default it's a space.  If you want something that looks nicer, set
    dired-marker-stack-cursor.  Space is the default, because it can
    never be used as a marker.  To move the pointer use
    dired-marker-stack-left ("'"), and dired-marker-stack-right
    ("\\").

14. There is a new prefix key "\M-e" for access to special efs
    functions useful in dired.  The submap is only filled when
    efs-dired loads.  See below for what's in it.

15. New symbols supported in dired-no-confirm:
    'kill-dired-buffer applies to offering to kill dired buffers for
                       directories which have been deleted.
    'kill-file-buffer applies to offering to kill buffers for files
                      that have been deleted.
    'create-top-dir applies to dired-up-directory adding a new
                    top-level directory, and renaming the buffer.
    'sort-revert   If dired-sort-toggle-or-edit is given new subir
                   local switches which are incompatible with current
		   switches used in the dired buffer, it will offer to
		   change the switches for all subdirs.  If this
		   symbol is in dired-no-confirm, it will just do it.
		   Incompatible switches are things like some subdirs
		   using the F-switch, and others not.  If we allowed
		   this, it would hurt dired-get-filename's
		   performance badly.

16. dired-undo now automatically rebuilds dired-subdir-alist if at
    least two lines of the buffer were affected by the undo.

17. Roland has contributed two new functions: dired-do-tags-search
    ("A") and dired-do-tags-query-replace ("Q"), which operate on the
    marked files.  They require the version of tags.el distributed
    with a newish version of FSF Gnu Emacs (19.23).

18. The completion function for dired-goto-file, which completes on
    file lines in the dired buffer has been rewritten again.  Finally
    it seems to be fast enough to be useful.  Both dired-goto-file,
    and dired-goto-subdir, now load the subdir stack of the current
    dired buffer into their histories.

19. The dired file compression code now autoloads.

20. The mode-line-modified string (first few characters of the
    modeline), now shows "-DD-" in dired buffers that have files
    pending deletion.  See dired-mode-line-modified for user 
    customization.

21. Fixed divide by 0 bug in code to format popup buffers.

22. dired-do-uucode now gets the name of the uudecoded file by looking
    at the top of the file to be decoded, rather than simply assuming
    that FILENAME.uu --> FILENAME.  In emacs 19, it uses
    insert-file-contents with the BEG and END args.  In emacs 18, it
    uses head to look at the first line of the uuencoded file.  Hope
    that this is portable enough.  dired-do-uucode will eventually be
    rewritten to use the dired-create-files internals.

23. The config variable dired-shrink-to-fit is now history.  Pop ups
    always shrink the window to fit, now.  If you miss it, complain.

24. Fixed problem with dired-grok-keymap.  Since the term-setup-hook
    is not run until after the command line args are processed, the
    keymap may not be initialized when dired-mode runs as a result of
    giving a directory to emacs on the command line.  Now if
    dired-grok-keymap is run as a result of a command line arg, it
    first runs term-setup-hook itself, and then sets it to nil, so
    that it doesn't run twice.  I found it a bit of a hassle to
    determine if dired-mode is loading as a result of a command line
    arg, because command-line-processed is set to t before processing
    the command line.  Instead, I check boundp
    dired-command-line-args-left.  Really kludgy, but I couldn't find
    a better way, and it does seem to be FSF <-> Lucid and 19 <-> 18
    portable.  At least today...

25. dired-after-write-hook and after-write-region are now history.
    dired now uses the file-name-handler-alist to monitor I/O and keep
    dired buffers up to date.  The file dired-awrh.el is history.
    dired no longer overloads write-region, or anything else for that
    matter.

efs:

1. Fixed stringp nil error when user gives efs a filename of the form
   /@foobar:.  This is now strictly interpreted as user "" on foobar.
   Probably not the most useful interpretation, but at least it's
   consistent.

2. Removed 221 from the list of ignored FTP return codes, and added it
   to the list of fatal ones.  221 is actually the return code for a
   successful QUIT.  efs never sends QUIT, however.  Some FTP servers
   return a 221 for loss of control connection (timeouts, etc.).  They
   should really use 421 for this.  If you happen to be writing an FTP
   server, please take note.

3. Fixed bug in efs-vms, so that t-switch sorting of VMS listings
   should now work for listings with a seconds field.

4. More fixes to efs-mpe were contributed by Corny.  Thanks!

5. The FTP process buffers now always have
   (file-name-directory efs-tmp-name-template) as there
   default-directory, instead of here, there, and wherever.

6. There is a new interactive command, efs-ping-ftp-connection.  It
   simply sends a NOOP to the server, but in doing so tests if the
   connection is alive.  If not, it will attempt to restart it.
   Useful mainly for problem connections.

7. In dired buffers for remote directories, there is now an efs
   sub-keymap, accessible with the prefix \M-e.  Currently it contains
   the following keys

       c = close connection
       k = kill connection
       o = display ftp process buffer
       p = ping connection

8. Functions in the efs-ftp-startup-function-alist and
   efs-ftp-startup-hook now run with the process buffer as the current
   buffer.

9. The code which complains about badly protected .netrc files has
   been made more informative.  In fact, it will draw your attention
   to the variable efs-disable-netrc-security-check.  Is it too chatty?

10. Fixed a bug in the code to handle process buffer pop-ups after
    C-g's. If you sent a C-g to the popup prompt it would go into an
    infinite recursion.  No longer.

11. Fixed some bugs in efs-pc.el.  DOS NCSA server support should now
    work.

12. efs-add-hook is history.  We just use add-hook now.  The 18 -> 19
    compatibilty file, emacs-19.el now has this function defined.

13. Fixed bug in efs-read-passwd that caused it to insert a ^? into
    the password, when DEL was typed at beginning of line.

14. Support for the CMS KNET FTP server contributed to by
    Joerg-Martin Schwarz <schwarz@hal1.physik.uni-dortmund.de>.  Thanks!

15. Support for Frontier Technologies' super tcp FTP server for MS
    Windows contributed to efs-pc.el by Rick Sladkey
    <jrs@world.std.com>.  Thanks!

16. Fixed "Weird timezone" error bug in remote to local copying with
    dired-copy-preserve-time non-nil.

17. Fixed bug that would cause multiple remote to local copies to fail
    when the remote host didn't support MDTM, and dired-copy-preserve-time
    was non-nil.  This was caught by Ken Robinson.  Thanks!

18. Added file fn-handler.el.  This provides emacs 19.23 (lemacs
    19.10) style file-name-handler-alist support to all older versions of
    emacs, including emacs 18.

19. Added a new config variable, efs-debug-ftp-connection.  If this is
    non-nil, efs will allow users to type at the FTP connection after
    a C-g.  Since interrupting the efs process filter without killing
    the connection may cause efs to get out of synch with the FTP
    client, this feature is made available as a "buyer beware".  For
    that reason the default value of this variable is nil.

20. efs-fancy-buffer-names can now be nil for old fashioned buffer
    names, a string to pass to format, or a function to run to compute
    buffer names.  See the variable documentation for details.

21. There is a new variable efs-ftp-prompt-regexp.   It should be a
    regexp to match the prompt used by your FTP client.  Also, there
    is efs-gateway-ftp-prompt-regexp, for your gateway client.  The
    comint-prompt-regexp now gets set to the appropriate one of these
    two variables.

22. Fixed bug that caused efs to get confused when mixed case was used
    for host names.