about summary refs log tree commit diff
path: root/Etc
diff options
context:
space:
mode:
Diffstat (limited to 'Etc')
-rw-r--r--Etc/FEATURES60
-rw-r--r--Etc/MACHINES43
2 files changed, 72 insertions, 31 deletions
diff --git a/Etc/FEATURES b/Etc/FEATURES
index 4734d80f8..95a0d617c 100644
--- a/Etc/FEATURES
+++ b/Etc/FEATURES
@@ -9,6 +9,7 @@ can emulate ksh or POSIX sh
 short for loops, ex: for i (*.c) echo $i
 select
 shell functions
+autoloaded functions (loaded from a file when they are first referenced)
 conditional expressions (test builtin, [ ... ], and ksh-style [[ ... ]])
 global aliases (may be expanded anywhere on the line)
 directory stack access with ~num
@@ -22,6 +23,12 @@ advanced globbing:
   ls *.(c|pro)  matches *.c and *.pro
   ls *(R)  matches only world-readable files
   ls *.c~lex.c  matches all .c files except lex.c
+  ls (#a1)README  matches README with one error, e.g. RADME, REEDME, RAEDME
+  ls (#ia1)README same but case insensitive
+qualifiers in parentheses after globbing expression:
+  ls *(*@)  matches executable files/directories or symlinks
+  ls *(L0f.go-w.)  matches all zero-length files not group or world writable
+  ls *(om[2])  matches the two most recently modified files
 null command shorthands:
   "< file" is same as "more <file"
   "> file" is same as "cat >file"
@@ -34,35 +41,52 @@ job control
 csh-style history
 full vi line editing, including "c2w" and "y$" and such things
 full emacs line editing
+line editor is programmable via shell functions
+  - access and manipulate editor state via builtins and parameters
+  - user-defined `widgets' behave like other editor functions
+  - keymap customisation
+  - example functions provided
 incremental history search
 magic-space history
 spelling correction
 array parameters
+associative array parameters
+tie parameters a la path/PATH, e.g. ld_library_path/LD_LIBRARY_PATH
 $MACHTYPE, $VENDOR and $OSTYPE identify the host machine
 $LINENO, $RANDOM, $SECONDS, $cdpath, $COLUMNS, $fignore, $HISTCHARS, $mailpath
 $UID, $EUID, $GID, $EGID and $USERNAME can be assigned to
 with autocd option, typing a directory name by itself is the same as
   typing "cd dirname"
-menu completion: pressing TAB repeatedly cycles through the possible matches
 incremental path hashing
 automatic process time reporting for commands that run over a certain limit
-full tcsh-style prompt substitution
+full tcsh-style prompt substitution plus conditional prompt expressions
 utmp login/logout reporting
 with histverify option, performing csh-style history expansions causes the
   input line to be brought up for editing instead of being executed
 with sunkeyboardhack option, accidentally typed trailing ` characters
   are removed from the input line (for those of you with Sun keyboards :-) )
-autoloaded functions (loaded from a file when they are first referenced)
 "cd old new" replaces "old" with "new" in directory string
-generalized argument completion, including:
-  - command name completion
-  - filename and path completion
-  - hostname completion
-  - key binding completion
-  - option completion
-  - variable name completion
-  - user-specified keyword completion
-  - anything else you can think of
+generalized argument completion, new system based on shell functions:
+  - highly context sensitive
+  - large (and I mean large) set of completions supplied, from a2ps to zstyle
+  - partial file path completion
+  - spelling correction and approximate completion of any completable word
+  - highly configurable expansion of shell arguments
+  - completion list colouring [`colorizing' for you lot over there]
+  - selection of completion elements with the cursor
+  - full scrolling of lists (in optional module)
+  - completion of words from the history list
+  - `styles' feature for versatile configuration
+  - `tags' feature for choosing completions preferentially
+  - `match' specifications, allowing e.g.
+    - variant forms:  NO_glob, noglob, _NOGLOB_ all from the keyword glob
+    - partial-word matches with arbitrary anchors, e.g.
+      z_t.c -> zle_tricky.c
+      c.u.s -> comp.unix.shell
+    - complete control over case-insensitive matching
+    - can be defined globally or for individual completions
+  - bindable special completion functions
+menu completion: pressing TAB repeatedly cycles through the possible matches
 prompt on right side of screen
 directory stacks
 history datestamps and execution time records
@@ -71,4 +95,14 @@ tty mode freezing
 up to 9 startup files (but you only need 1 or 2)
 really 8-bit clean, and we mean it this time
 which -a cmd lists all occurrences of "cmd" in the path
-dynamically loadable binary modules
+floating point support
+dynamically loadable binary modules, supplied modules include
+  - an FTP client which runs in the shell, with function suite
+  - math functions
+  - builtin interface to the `stat' system command
+  - builtin versions of standard commands (mv, ln, etc.) for emergencies
+  - special parameters to access internal state of hash tables etc.
+  - special associative array to access contents of files directly
+  - profiler for shell functions
+  - a pseudo-terminal handler, for purposes like `expect'
+  - builtins for interaction with termcap and terminfo
diff --git a/Etc/MACHINES b/Etc/MACHINES
index 6a1f2c527..5ccbb3c45 100644
--- a/Etc/MACHINES
+++ b/Etc/MACHINES
@@ -1,4 +1,3 @@
-
 -----------------------------
 ZSH ON SPECIFIC ARCHITECTURES
 -----------------------------
@@ -18,13 +17,6 @@ The format of entries is thus:
 Machines
 --------
 
-Apple/NeXT OpenStep 4.2 for i386.
-	Reported to work at least with gcc 2.8.1 and gawk 2.15 patchlevel
-	6, but not with the bundled cc 2.7.2.1 and awk.
-
-Cray: Unicos (C90 and T90)
-	Should build `out-of-the-box'.
-
 Red Hat Inc.: Cygwin
 	Should build `out-of-the-box'.  The compilation directory should
 	be on a file system mounted as binary (the mount command shows
@@ -44,9 +36,6 @@ Red Hat Inc.: Cygwin
 	Path completion will fail inside these mounts; make sure that
 	every mount point really exists.
 
-Data General: DG/UX 5.4R3.10 MU01 (various AViiONs)
-	Should build `out-of-the-box'.
-
 DEC: Ultrix (Alpha or DECstation)
 DEC: Mach 3.0 (DECstation 5000/25)
 DEC: OSF/1 1.2, 1.3, 2.0, 3.*, DEC Unix 4.* (Alpha)
@@ -117,16 +106,9 @@ Linux: Linux 2.* (various 32-bit and 64-bit processors)
 NetBSD: NetBSD 1.*
 	Should build `out-of-the-box'.
 
-Next: NextStep 3.*
-	Should build `out-of-the-box', but the zsh malloc routines are
-	not recommended.
-
 OpenBSD: OpenBSD 2.6
 	Should build `out-of-the-box'.
 
-SCO: UnixWare 2.1.3
-	Builds `out-of-the-box'.
-
 SIEMENS: Reliant UNIX
 	Builds `out-of-the-box'. Dynamic loading is supported. 
 	Large Files and 64-bit integers are supported as of version 5.44
@@ -180,3 +162,28 @@ Sun: Solaris 2.*
 	is not feasible, configure with --disable-lfs.  We would be
 	grateful for more detailed information.  The most problems seem
 	to occur on Solaris 2.6, where --disable-lfs is recommended.
+
+Other machines
+--------------
+
+Zsh has previously been compiled on the following machines, but the
+developers do not have direct access to them and the reports may be out of
+date.  We would be glad to receive any reports of success or failure on
+these OS's --- and, of course, any others not mentioned in this file.
+
+Apple/NeXT OpenStep 4.2 for i386.
+	Reported to work at least with gcc 2.8.1 and gawk 2.15 patchlevel
+	6, but not with the bundled cc 2.7.2.1 and awk.
+
+Cray: Unicos (C90 and T90)
+	Should build `out-of-the-box'.
+
+Data General: DG/UX 5.4R3.10 MU01 (various AViiONs)
+	Should build `out-of-the-box'.
+
+Next: NextStep 3.*
+	Should build `out-of-the-box', but the zsh malloc routines are
+	not recommended.
+
+SCO: UnixWare 2.1.3
+	Builds `out-of-the-box'.