efs 1.13 (beta) available

sandy@gandalf.sissa.it
Mon, 7 Nov 1994 16:02:35 +0100


efs-1.13 is now available at

Switzerland:

  /anonymous@itp.ethz.ch:/sandy/efs/efs-1.13.tar.gz

Massachusetts, USA:

  /anonymous@alpha.gnu.ai.mit.edu:/efs/efs-1.13.tar.gz

California, USA:

  /anonymous@ftp.hmc.edu:/pub/emacs/packages/efs/efs-1.13.tar.gz
  (After a new release, will be updated at 2:00 PST)

For HP people, it's on the HP internet:

  /anonymous@cuckoo.hpl.hp.com:pub/tools/efs-1.13.tar.gz

I.P. addresses are:  alpha.gnu.ai.mit.edu = 128.52.46.18
                     itp.ethz.ch = 129.132.61.1
                     ftp.hmc.edu = 134.173.32.18

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

   /anonymous@itp.ethz.ch:/sandy/dired/dired-7.6.tar.gz

efs 1.13 is still beta test code.

Version 2.12 of reporter.el is back being bundled with efs.  Older
versions do not deal with references to unbound variables.

Also, Emacs 18 users need comint.el to run efs.  We have put copies of
comint V2.03 on all the efs distribution sites, as well.  Note that
comint V2.03 is for Emacs 18 only.  Emacs 19 users neither need it,
nor should they install it.

We have also made archie-3.0.2 available at all the usual efs sites.
This version of archie should work with efs.  At least that's what
Jack tells me.

Changes from 1.12 to 1.13:

auto-save:

1.  Fixed a bug where auto-save files were sometimes not getting
    deleted.  It was caused by auto-save.el getting confused when
    buffer-file-name was unexpanded.


dired:

1.  dired-do-background-shell-command now allows you to run more than
    one command at once.  It still re-uses buffers of completed
    commands, but if a command is still running in a buffer, it
    generates a new output buffer using the standard <2>... paradigm.

2.  Support for marking files according to sexpressions has been
    branched out to dired-sex.el.  It autoloads.  Trying to get the
    size of dired.el down to improve load time.

3.  Fixed typo bug in dired.uu.el that could cause an infinite
    recursion.  Thanks to Ishikawa Ichiro for spotting it.

4.  In dired-fsf.el, we now do not use text properties for all versions 
    of Emacs before 19.26.  Bugs in the text property support were
    causing headaches.

5.  Fixed typo in how we called term-setup-hook in dired.el.  Thanks
    to Loren Schall for the patch.

6.  Rewrote dired-find-file-place to use a binary rather than a linear
    search algorithm.  Should result in a big speedup in dired buffer
    maintenance.  If you also are using a new enough version of Emacs
    so that dired can cache file names with text properties, this
    function should now fly.

7.  We no longer miss-parse recursive listings which contain file
    names ending in a colon.

8.  Rewrote the way that emacs version compatibility is done in dired.
    The variables dired-emacs-19-p and dired-lucid-p are history.
    Instead, parts of the code that depend on emacs version are
    encapsulated in utility functions which get fset to the right
    thing at load time (as opposed to run time which was the previous
    way this was handled.)

9.  New variable, dired-setup-keys-hook.  This is run when dired sets
    up the keymap, which is the first time that dired-mode runs.  You
    can use it to alter the dired keymap.  However, note that dired
    uses it internally too, so add to it with add-hook.  Do not setq
    it.

10. Dired menus and mouse support have been expanded.

    The number and length of the dired items on the menu-bar has been
    reduced.

    mouse-3 on a file line pops up a menu of ways to visit the moused
    file.

    C-mouse-2 on a file line pops up a menu of operations to do on the
    moused file.

    M-mouse-2 puts a copy of the moused dired subdirectory in an
    active minibuffer, if one exists.  C-mouse-2 followed by M-mouse-2
    is sort of like a drag and drop, with better user control.

    mouse-2 now does find-file on the moused file, and not
    find-file-other-window.

    S-mouse-1 marks the moused file if it is currently unmarked.
    If it is marked, it unmarks it.  If a file is marked with (say)
    "C", then clicking twice (at your leisure) on it will change
    the mark to the default marker character (say "*").  You can use
    this with dynamic markers (see "(" and ")") to mouse-modify a bunch
    of marks.

    C-S-mouse-1 flags the moused file for deletion.  If the file is
    already flagged, it unflags it.

    The help menu has a bunch of dired-specific stuff added to it.

    The dired help popped up by "h" has been expanded a bit.

    I got lots of help with this from Mark James, Roland, and Jerry
    Quinn.  Thanks a lot. 

11. vc.el seems to want to be able to put file lines like "foo/bar"
    into the dired buffer.  Our dired wasn't allowing this.  
    Further, allowing file lines to point to files further down the
    directory tree really makes it complicated to find file lines in
    buffers.  This will hurt bad with the automagic buffer updating
    code.  Instead, I have added a frob which looks at any file lists
    passed to dired to make sure they represent just one subdir.  If
    not, it tries to build a tree out of it, and gives you a tree
    dired buffer for that tree.

    Even with this we don't work with the V19 vc.el.  This is because
    vc-dired-reformat-line gratuitously replaces the file name on each line
    with a new string that is an exact copy.  This clobbers dired's
    text properties.  Hopefully this will be fixed in vc.el soon.  If
    there are any vc users interested in patching vc.el, it looks
    easy.

12. dired-mark-files-regexp (% m) now supports the following prefixes:
    
    A prefix argument C-u means to unmark them instead.
    A prefix argument 0 means to mark the files that would me omitted by C-o.
    A prefix argument 1 means to unmark the files that would be omitted by C-o.

13. dired-do-redisplay (N) used to redisplay the current subdir if on
    a subdir header.  It now does not do this to be consistent with
    other commands that act on marked files.  It always redisplays the
    marked file line, regardless of the position of the point.  If
    there are no marked files, it redisplays the current file line.

14. There is a new command, dired-redisplay-subdir.  This redisplays
    the current subdirectory.  The point is not required to be on the
    header line.  It is bound to "|n".  The idea is to use "|" as a
    prefix for commands that do things to all the files of the current
    subdirectory. 

15. Two more commands are in the "|" sub-keymap so far.
    "|m" marks all the files in the current subdirectory.
    "|d" flags all the files in the current subdirectory for deletion.

     Typing "m" or "d" on a subdirectory header also still work to
     mark or flag all the files in the subdirectory.

     Suggestions for other things that people would like to see in
     this keymap?

16.  Rewrote dired's handling of prefixes for file marking commands.
     With a numeric prefix, it used to mark file line then move if the
     prefix was positive, and move then mark file line if the prefix
     was negative.  So for example, "-m" would move to the previous
     line, then mark it.  I found this confusing.  Now it always marks
     then moves.  Therefore, "-d" will flag the current file, then
     move up.  Followed a suggestion of Jared's (thanks) to make "C-d"
     a synonym for "-d".  This is consistent with VM and GNUS.

17.  Dired should do a better job of updating the sort and omit
     entries on the modeline when the mouse is used to move the point.

efs:

1.  Ahemm...  efs no longer overloads substitute-in-file-name to avoid
    blindsiding apollos.  Instead it runs substitute-in-file-name
    using the file-name-handler-alist.  I think that we still play
    fair with apollo's.  Let me know if I broke this, as it is our
    intention to maintain this support.

    The result of doing this should be less performance intrusion by
    efs into ordinary work on local files.  It may also of course
    tickle the file-name-handler-alist/GCPRO problems, and crash
    emacs.  Let's hope for the best.

2.  Beefed up the auto rec. code for KA9Q.  Thanks to Joe Reinhardt
    for reporting problems with this.

3.  For Emacs 18, fixed some problems with undo and buffer-modified-p.
    Don't think this is relevant to Emacs 19.

4.  Updated the docs at the top of efs.el about the new gateway
    support.  How do people like this?

5.  Fixed a bug in the CMS support that was introduced with the dired
    changes of 1.12.

6.  Fixed a typo-bug in the code for compressing remote files.

7.  Fixed a typo bug in the code for making remote soft and hard
    links.

8.  In dired buffers on remote case-insenitive hosts, the functions
    which maintain listing order no longer get confused by
    case-folding.

9.  Fixed a bug in the directory listing parser for the Microsoft FTP
    server running in unix emulation mode (efs calls this ms-unix).

10. Added support for a new gateway type, raptor (from a company called
    Eagle), to efs-gatway-type.  See the documentation of
    efs-gateway-type for how to set this up.

11. Fixed a bug in the netrc file parser that would cause it to ignore
    a machine token if it followed a default token, and had no
    corresponding login token.  (No guff.)  Terry Stroup spotted it.
    Thanks.

12. Added alphabetic sorting of listings for the NCSA DOS FTP server.

13. Added test for "Too many users" after the USER command as well as
    the PASS command.  Further, there is now a variable
    efs-too-many-users-msgs, instead of hard-coding this regexp.
    Suggested by Joerg-Martin.  Thanks.

14. Fixed a bug in the netrc file parser in which it neglected to
    intern an entry for "/<user>@<host>:" in the hashtables used for
    file name completion, if no password token was given.  It was only
    interning "/<host>:".  Spotted by Joerg-Martin.  Thanks.

15. Outgoing file transfers now grab the first few bytes of the file,
    in order to decide on file type (binary vs text), instead of using
    the various regexps to decide based on the file name.

16. Fixed a bug where efs-close-ftp-process would sometimes not update
    the mode-line display of FTP activity.

17. Support for the MIT's COKE FTP server added.  This is for fetching
    items from a beverage vending machine using FTP.

18. Fixed a bug that was causing the modeline identification of FTP
    activity to lose track sometimes for long command queues.  This is
    relevant if you use `efs-display-ftp-activity'.

19. Trimming of *ftp ...* buffers now happens every 16th FTP command,
    rather than every FTP command.  The variable
    `efs-max-ftp-buffer-size' is still supported.  The idea of only
    trimming every 16th FTP command is to avoid getting fooled by
    large MOTD's.

20. `efs-report-bug' now inserts a default host and user when called
    from a *ftp ...* buffer.
    
21. When USER, or multiple attempts at PASS fail, we now clear the
    default user for the host from cache.  This is because such a
    failure may be because of a miss-typed username.  The cache will
    get reset upon a successful login.  Roland pointed out that we
    should do this.  Thanks.

22. t-switch sorting was not working correctly for the VMS UCX FTP server.
    This is fixed now.  Thanks to Roberto Mazzoni for reporting this.

23. The variable `efs-default-user' has been extended.  Here's the new
    version. 

    (defvar efs-default-user nil
       "*User name to use when none is specied in a pathname.

    If a string, than this string is used as the default user name.
    If nil, then the name under which the user is logged in is used.
    If t, then the user is prompted for a name.
    If an association list of the form

       '((REGEXP1 . USERNAME1) (REGEXP2 . USERNAME2) ...)

    then the host name is tested against each of the regular expressions
    REGEXP in turn, and the default user name is the corresponding value
    of USERNAME.  USERNAME may be either a string, nil, or t, and these
    values are interpreted as above.  If there are no matches, then the
    user's current login name is used.")

    This new behaviour follows a suggestion of Joerg-Martin's.
    Thanks.