Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
A peep into the future.
- X-seq: zsh-users 227
- From: Harmanjit Singh <venus!juno!harman@xxxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxxxxxxxxxx
- Subject: A peep into the future.
- Date: Tue, 4 Jun 96 13:42:52 IST
Hello everybody,
Here's the dream:
Features in zsh 3.0:
1. Fully programmable aliasing (matching regexps, replacing selections).
2. Regular Expression filename generation.
3. Programmable key bindings (a key could be bound to a sequence of
actions, so now you can do things like: dynamic paren matching,
real-time indentation, etc.) Some primitive functions have been
provided (a small (but complete) subset of the EDITING functions
of elisp).
4. Safer redirections: e.g.
if you say "foo > Important_file", zsh checks to see if there
is anything on the stdout of foo, if not (say foo is
non-existent), zsh leaves the Imp_file as it is.
Otherwise, zsh "redirects" the stdout to the file.
(This can be done, I think, by using a socket. zsh gets
the initial few bytes, then starts an "internal" process to
redirect from the socket to the file.)
5. setopt POSIX_COMPLIANT now makes zsh what?
6. Hierarchical option settings. E.g. unsetopt zle automatically
unsetopts's the options dependant on its being set. It itself also
is an option. It's there to make understanding the plethora of
options easier for new users.
zsh 4.0:
1. wzsh (windowing zsh) is now available. Also, zsh now has colour
and menu capabilities on text only terminals.
2. mount/umount is a shell builtin which simulates working with
virtual filesystems e.g. ftpfs, tarfs, libfs, memfs.
Scripts have to be provided to interface the fs with zsh.
(zsh translates the request to: get file, perform op,
send file if changed. The first and last are handled
by the script. Also, the fs interface specifies which attributes
can be changed. (e.g. in ftp you can't change the username). So,
the "send file *if* changed" should really be handled by the script.)
3. zsh can now byte-code its scripts.
4. zsh now supports dynamic files. If a file has a specific magic no,
it can be handled like a normal file of the *output* of that file.
The file is handled as a read-only file.
This feature slows down filename generation considerably (zsh
checks to see if the file is a dynamic file, if it is,
runs it and places its output filename in place of the original
filename).
So, you say elm -f mbox, and your mail is gathered from diverse
hosts, just because the mbox is a dynamic file, which collects all
of them mail messages by ftp'ing etc.
( the feature really belongs in the OS, but zsh already is
half the OS anyway.)
zsh 10.0:
OS_TYPE is a shell variables which can be changed. zsh simulates the
given OS. Everything is a shell builtin.
zsh now works on MS-DOG. Changing OS_TYPE still works perfectly.
--
With Warm Regards,
Harmanjit Singh.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author