]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - usr.bin/ee/README
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / usr.bin / ee / README
1           THIS MATERIAL IS PROVIDED "AS IS".  THERE ARE NO WARRANTIES OF 
2           ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT 
3           LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 
4           FITNESS FOR A PARTICULAR PURPOSE.  Neither Hewlett-Packard nor 
5           Hugh Mahon shall be liable for errors contained herein, nor for 
6           incidental or consequential damages in connection with the 
7           furnishing, performance or use of this material.  Neither 
8           Hewlett-Packard nor Hugh Mahon assumes any responsibility for 
9           the use or reliability of this software or documentation.  This 
10           software and documentation is totally UNSUPPORTED.  There is no 
11           support contract available.  Hewlett-Packard has done NO 
12           Quality Assurance on ANY of the program or documentation.  You 
13           may find the quality of the materials inferior to supported 
14           materials. 
15
16       This software may be distributed under the terms of Larry Wall's 
17       Artistic license, a copy of which is included in this distribution. 
18
19       This notice must be included with this software and any 
20       derivatives. 
21
22       Any modifications to this software by anyone but the original author 
23       must be so noted. 
24
25
26 The editor 'ee' (easy editor) is intended to be a simple, easy to use 
27 terminal-based screen oriented editor that requires no instruction to 
28 use.  Its primary use would be for people who are new to computers, or who 
29 use computers only for things like e-mail.
30
31 ee's simplified interface is highlighted by the use of pop-up menus which 
32 make it possible for users to carry out tasks without the need to 
33 remember commands.  An information window at the top of the screen shows 
34 the user the operations available with control-keys.
35
36 ee allows users to use full eight-bit characters.  If the host system has 
37 the capabilities, ee can use message catalogs, which would allow users to 
38 translate the message catalog into other languages which use eight-bit 
39 characters.  See the file ee.i18n.guide for more details.
40
41 ee relies on the virtual memory abilities of the platform it is running on 
42 and does not have its own memory management capabilities.
43
44 I am releasing ee because I hate to see new users and non-computer types 
45 get frustrated by vi, and would like to see more intuitive interfaces for 
46 basic tools (both character-based and graphical) become more pervasive.
47 Terminal capabilities and communication speeds have evolved considerably 
48 since the time in which vi's interface was created, allowing much more 
49 intuitive interfaces to be used.  Since character-based I/O won't be 
50 completely replaced by graphical user interfaces for at least a few more 
51 years, I'd like to do what I can to make using computers with less 
52 glamorous interfaces as easy to use as possible.  If terminal interfaces 
53 are still used in ten years, I hope neophytes won't still be stuck with 
54 only vi.  
55
56 For a text editor to be easy to use requires a certain set of abilities.  In 
57 order for ee to work, a terminal must have the ability to position the cursor 
58 on the screen, and should have arrow keys that send unique sequences 
59 (multiple characters, the first character is an "escape", octal code 
60 '\033').  All of this information needs to be in a database called "terminfo" 
61 (System V implementations) or "termcap" (usually used for BSD systems).  In 
62 case the arrow keys do not transmit unique sequences, motion operations are 
63 mapped to control keys as well, but this at least partially defeats the 
64 purpose.  The curses package is used to handle the I/O which deals with the 
65 terminal's capabilities.  
66
67 While ee is based on curses, I have included here the source code to 
68 new_curse, a subset of curses developed for use with ee.  'curses' often  
69 will have a defect that reduces the usefulness of the editor relying upon 
70 it.  
71
72 The file new_curse.c contains a subset of 'curses', a package for 
73 applications to use to handle screen output.  Unfortunately, curses 
74 varies from system to system, so I developed new_curse to provide 
75 consistent behavior across systems.  It works on both SystemV and BSD 
76 systems, and while it can sometimes be slower than other curses packages, 
77 it will get the information on the screen painted correctly more often 
78 than vendor supplied curses.  Unless problems occur during the building 
79 of ee, it is recommended that you use new_curse rather than the curses 
80 supplied with your system.
81
82 If you experience problems with data being displayed improperly, check 
83 your terminal configuration, especially if you're using a terminal 
84 emulator, and make sure that you are using the right terminfo entry 
85 before rummaging through code.  Terminfo entries often contain 
86 inaccuracies, or incomplete information, or may not totally match the 
87 terminal or emulator the terminal information is being used with.  
88 Complaints that ee isn't working quite right often end up being something 
89 else (like the terminal emulator being used).  
90
91 Both ee and new_curse were developed using K&R C (also known as "classic 
92 C"), but it can also be compiled with ANSI C.  You should be able to 
93 build ee by simply typing "make".  A make file which takes into account 
94 the characteristics of your system will be created, and then ee will be 
95 built.  If there are problems encountered, you will be notified about 
96 them. 
97
98 ee is the result of several conflicting design goals.  While I know that it 
99 solves the problems of some users, I also have no doubt that some will decry 
100 its lack of more features.  I will settle for knowing that ee does fulfill 
101 the needs of a minority (but still large number) of users.  The goals of ee 
102 are: 
103
104         1. To be so easy to use as to require no instruction.
105         2. To be easy to compile and, if necessary, port to new platforms 
106            by people with relatively little knowledge of C and UNIX.
107         3. To have a minimum number of files to be dealt with, for compile 
108            and installation.
109         4. To have enough functionality to be useful to a large number of 
110            people.
111
112 Hugh Mahon              |___|     
113 h_mahon@fc.hp.com       |   |     
114                             |\  /|
115                             | \/ |
116