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.