<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Tue, 29 Jul 1986 09:48:59 EDT
From   : SAGE@LL.ARPA
Subject: Text Editors

   Urs Zurbuchen asked for information about a public-domain text editor for 
CP/M with a rather impressive list of requirements.  The only public-domain 
editors I know of are rather simple beasts, and the only programs that come 
close to Zurbuchen's list of requirements are two commercial programs, PMATE 
and VEDIT.  I am familiar with PMATE, the original editor of this type.  
VEDIT is quite similar.  Here is how it matches up to those requirements:
 
1. small and fast: PMATE is a little over 20K long (exact size depends on 
   user configuration choices, principally the size of the permanent macro 
   area.  PMATE is particularly fast, since it gives proper priority to 
   keyboard input over its own screen output.
 
2. support for memory-mapped video: PMATE does this very nicely (that is how 
   I use it).
 
3. multiple file editing: PMATE has a total of 11 editing buffers, all of 
   which can contain text from files or macro commands.  Commands allow text 
   to be transfered in various ways between the buffers.
 
4. arbitrary file size: The main text buffer in PMATE supports disk buffering 
   of files and thus can handle files of arbitrary length (limited by disk 
   space).  Source, destination, and temporary files can each be on a 
   separate drive so that the longest file that can be edited is limited to 
   the full capacity of a drive.
 
5. key-to-command binding: Here PMATE really shines.  First, PMATE not only 
   binds individual keys but recognizes sequences of keys and assigns them to 
   commands.  Secondly, the commands to which key sequences are bound include 
   not only the built-in functions that PMATE comes with but also user-
   written functions, written using the interpreted macro command language 
   (TECO-like).  These user-written macros are stored in what is called the 
   permanent macro area (PMA).  After the PMA has been updated, PMATE's clone 
   function is used to save a new version of the editor.
 
6. macros: PMATE has an unbelievably complete macro capability.  There are 
   user variables and system variables that tell one almost everything about 
   the environment (current line and column, current buffer number, the value 
   of the character under the cursor, the next tab stop, the amount of memory 
   left, the absolute memory address of the cursor, and many, many more).  
   Fully structured iteration is supported (if-then-else, do-until, do-while, 
   repeat).  I cannot begin to describe all the features here.  Suffice it to 
   say that the hooks are present to do just about anything one can imagine.  
   Without access to any source code, I made a version of PMATE that is 
   ZCPR3-compatible (supports file access using the DU: -- drive/user -- 
   format).
 
7. auto-indent: PMATE supports automatic indentation for writing in languages 
   such as C and Pascal.  The macro languages give full support and control 
   to auto-indentation.
 
8. overlays: PMATE is complete in one COM file.
 
9. clean screen: PMATE shows only the information you really need to know -- 
   the names of open files, the current editing buffer, the value of a 
   numerical argument returned by a macro, and the cursor position (line and 
   column).
 
If anyone wants more information about PMATE, I would welcome their 
inquiries, since I am probably the most active supporter around of the 8-bit 
version of PMATE (there are 16-bit versions, too).  A special section (with 
restricted access) of my remote access system, the Newton Z-Node 
(617-965-7259, pw=DDT), is devoted to PMATE support.  It includes a bulletin 
board with suggestions and tips on exploiting PMATE's capabilities and an 
extensive collection of macros.
 
                                        Jay Sage (SAGE @ LL)
 
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>