Add .{hg,git}ignore, rename README, add fork-tag to version.
--HG--
rename : README.ee => README.txt
Chris Pressey
8 years ago
0 | ee⏎ |
0 | Copyright (c) 2009, Hugh Mahon | |
1 | All rights reserved. | |
2 | ||
3 | Redistribution and use in source and binary forms, with or without | |
4 | modification, are permitted provided that the following conditions | |
5 | are met: | |
6 | ||
7 | * Redistributions of source code must retain the above copyright | |
8 | notice, this list of conditions and the following disclaimer. | |
9 | * Redistributions in binary form must reproduce the above | |
10 | copyright notice, this list of conditions and the following | |
11 | disclaimer in the documentation and/or other materials provided | |
12 | with the distribution. | |
13 | ||
14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
15 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |
17 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
18 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
19 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |
20 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
22 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
23 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
24 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
25 | POSSIBILITY OF SUCH DAMAGE. | |
26 | ||
27 | ||
28 | The editor 'ee' (easy editor) is intended to be a simple, easy to use | |
29 | terminal-based screen oriented editor that requires no instruction to | |
30 | use. Its primary use would be for people who are new to computers, or who | |
31 | use computers only for things like e-mail. | |
32 | ||
33 | ee's simplified interface is highlighted by the use of pop-up menus which | |
34 | make it possible for users to carry out tasks without the need to | |
35 | remember commands. An information window at the top of the screen shows | |
36 | the user the operations available with control-keys. | |
37 | ||
38 | ee allows users to use full eight-bit characters. If the host system has | |
39 | the capabilities, ee can use message catalogs, which would allow users to | |
40 | translate the message catalog into other languages which use eight-bit | |
41 | characters. See the file ee.i18n.guide for more details. | |
42 | ||
43 | ee relies on the virtual memory abilities of the platform it is running on | |
44 | and does not have its own memory management capabilities. | |
45 | ||
46 | I am releasing ee because I hate to see new users and non-computer types | |
47 | get frustrated by vi, and would like to see more intuitive interfaces for | |
48 | basic tools (both character-based and graphical) become more pervasive. | |
49 | Terminal capabilities and communication speeds have evolved considerably | |
50 | since the time in which vi's interface was created, allowing much more | |
51 | intuitive interfaces to be used. Since character-based I/O won't be | |
52 | completely replaced by graphical user interfaces for at least a few more | |
53 | years, I'd like to do what I can to make using computers with less | |
54 | glamorous interfaces as easy to use as possible. If terminal interfaces | |
55 | are still used in ten years, I hope neophytes won't still be stuck with | |
56 | only vi. | |
57 | ||
58 | For a text editor to be easy to use requires a certain set of abilities. In | |
59 | order for ee to work, a terminal must have the ability to position the cursor | |
60 | on the screen, and should have arrow keys that send unique sequences | |
61 | (multiple characters, the first character is an "escape", octal code | |
62 | '\033'). All of this information needs to be in a database called "terminfo" | |
63 | (System V implementations) or "termcap" (usually used for BSD systems). In | |
64 | case the arrow keys do not transmit unique sequences, motion operations are | |
65 | mapped to control keys as well, but this at least partially defeats the | |
66 | purpose. The curses package is used to handle the I/O which deals with the | |
67 | terminal's capabilities. | |
68 | ||
69 | While ee is based on curses, I have included here the source code to | |
70 | new_curse, a subset of curses developed for use with ee. 'curses' often | |
71 | will have a defect that reduces the usefulness of the editor relying upon | |
72 | it. | |
73 | ||
74 | The file new_curse.c contains a subset of 'curses', a package for | |
75 | applications to use to handle screen output. Unfortunately, curses | |
76 | varies from system to system, so I developed new_curse to provide | |
77 | consistent behavior across systems. It works on both SystemV and BSD | |
78 | systems, and while it can sometimes be slower than other curses packages, | |
79 | it will get the information on the screen painted correctly more often | |
80 | than vendor supplied curses. Unless problems occur during the building | |
81 | of ee, it is recommended that you use new_curse rather than the curses | |
82 | supplied with your system. | |
83 | ||
84 | If you experience problems with data being displayed improperly, check | |
85 | your terminal configuration, especially if you're using a terminal | |
86 | emulator, and make sure that you are using the right terminfo entry | |
87 | before rummaging through code. Terminfo entries often contain | |
88 | inaccuracies, or incomplete information, or may not totally match the | |
89 | terminal or emulator the terminal information is being used with. | |
90 | Complaints that ee isn't working quite right often end up being something | |
91 | else (like the terminal emulator being used). | |
92 | ||
93 | Both ee and new_curse were developed using K&R C (also known as "classic | |
94 | C"), but it can also be compiled with ANSI C. You should be able to | |
95 | build ee by simply typing "make". A make file which takes into account | |
96 | the characteristics of your system will be created, and then ee will be | |
97 | built. If there are problems encountered, you will be notified about | |
98 | them. | |
99 | ||
100 | ee is the result of several conflicting design goals. While I know that it | |
101 | solves the problems of some users, I also have no doubt that some will decry | |
102 | its lack of more features. I will settle for knowing that ee does fulfill | |
103 | the needs of a minority (but still large number) of users. The goals of ee | |
104 | are: | |
105 | ||
106 | 1. To be so easy to use as to require no instruction. | |
107 | 2. To be easy to compile and, if necessary, port to new platforms | |
108 | by people with relatively little knowledge of C and UNIX. | |
109 | 3. To have a minimum number of files to be dealt with, for compile | |
110 | and installation. | |
111 | 4. To have enough functionality to be useful to a large number of | |
112 | people. | |
113 | ||
114 | Hugh Mahon |___| | |
115 | hugh4242@yahoo.com | | | |
116 | |\ /| | |
117 | | \/ | | |
118 |
0 | Copyright (c) 2009, Hugh Mahon | |
1 | All rights reserved. | |
2 | ||
3 | Redistribution and use in source and binary forms, with or without | |
4 | modification, are permitted provided that the following conditions | |
5 | are met: | |
6 | ||
7 | * Redistributions of source code must retain the above copyright | |
8 | notice, this list of conditions and the following disclaimer. | |
9 | * Redistributions in binary form must reproduce the above | |
10 | copyright notice, this list of conditions and the following | |
11 | disclaimer in the documentation and/or other materials provided | |
12 | with the distribution. | |
13 | ||
14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | |
15 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | |
16 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | |
17 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | |
18 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | |
19 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | |
20 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | |
21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
22 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
23 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | |
24 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
25 | POSSIBILITY OF SUCH DAMAGE. | |
26 | ||
27 | ||
28 | The editor 'ee' (easy editor) is intended to be a simple, easy to use | |
29 | terminal-based screen oriented editor that requires no instruction to | |
30 | use. Its primary use would be for people who are new to computers, or who | |
31 | use computers only for things like e-mail. | |
32 | ||
33 | ee's simplified interface is highlighted by the use of pop-up menus which | |
34 | make it possible for users to carry out tasks without the need to | |
35 | remember commands. An information window at the top of the screen shows | |
36 | the user the operations available with control-keys. | |
37 | ||
38 | ee allows users to use full eight-bit characters. If the host system has | |
39 | the capabilities, ee can use message catalogs, which would allow users to | |
40 | translate the message catalog into other languages which use eight-bit | |
41 | characters. See the file ee.i18n.guide for more details. | |
42 | ||
43 | ee relies on the virtual memory abilities of the platform it is running on | |
44 | and does not have its own memory management capabilities. | |
45 | ||
46 | I am releasing ee because I hate to see new users and non-computer types | |
47 | get frustrated by vi, and would like to see more intuitive interfaces for | |
48 | basic tools (both character-based and graphical) become more pervasive. | |
49 | Terminal capabilities and communication speeds have evolved considerably | |
50 | since the time in which vi's interface was created, allowing much more | |
51 | intuitive interfaces to be used. Since character-based I/O won't be | |
52 | completely replaced by graphical user interfaces for at least a few more | |
53 | years, I'd like to do what I can to make using computers with less | |
54 | glamorous interfaces as easy to use as possible. If terminal interfaces | |
55 | are still used in ten years, I hope neophytes won't still be stuck with | |
56 | only vi. | |
57 | ||
58 | For a text editor to be easy to use requires a certain set of abilities. In | |
59 | order for ee to work, a terminal must have the ability to position the cursor | |
60 | on the screen, and should have arrow keys that send unique sequences | |
61 | (multiple characters, the first character is an "escape", octal code | |
62 | '\033'). All of this information needs to be in a database called "terminfo" | |
63 | (System V implementations) or "termcap" (usually used for BSD systems). In | |
64 | case the arrow keys do not transmit unique sequences, motion operations are | |
65 | mapped to control keys as well, but this at least partially defeats the | |
66 | purpose. The curses package is used to handle the I/O which deals with the | |
67 | terminal's capabilities. | |
68 | ||
69 | While ee is based on curses, I have included here the source code to | |
70 | new_curse, a subset of curses developed for use with ee. 'curses' often | |
71 | will have a defect that reduces the usefulness of the editor relying upon | |
72 | it. | |
73 | ||
74 | The file new_curse.c contains a subset of 'curses', a package for | |
75 | applications to use to handle screen output. Unfortunately, curses | |
76 | varies from system to system, so I developed new_curse to provide | |
77 | consistent behavior across systems. It works on both SystemV and BSD | |
78 | systems, and while it can sometimes be slower than other curses packages, | |
79 | it will get the information on the screen painted correctly more often | |
80 | than vendor supplied curses. Unless problems occur during the building | |
81 | of ee, it is recommended that you use new_curse rather than the curses | |
82 | supplied with your system. | |
83 | ||
84 | If you experience problems with data being displayed improperly, check | |
85 | your terminal configuration, especially if you're using a terminal | |
86 | emulator, and make sure that you are using the right terminfo entry | |
87 | before rummaging through code. Terminfo entries often contain | |
88 | inaccuracies, or incomplete information, or may not totally match the | |
89 | terminal or emulator the terminal information is being used with. | |
90 | Complaints that ee isn't working quite right often end up being something | |
91 | else (like the terminal emulator being used). | |
92 | ||
93 | Both ee and new_curse were developed using K&R C (also known as "classic | |
94 | C"), but it can also be compiled with ANSI C. You should be able to | |
95 | build ee by simply typing "make". A make file which takes into account | |
96 | the characteristics of your system will be created, and then ee will be | |
97 | built. If there are problems encountered, you will be notified about | |
98 | them. | |
99 | ||
100 | ee is the result of several conflicting design goals. While I know that it | |
101 | solves the problems of some users, I also have no doubt that some will decry | |
102 | its lack of more features. I will settle for knowing that ee does fulfill | |
103 | the needs of a minority (but still large number) of users. The goals of ee | |
104 | are: | |
105 | ||
106 | 1. To be so easy to use as to require no instruction. | |
107 | 2. To be easy to compile and, if necessary, port to new platforms | |
108 | by people with relatively little knowledge of C and UNIX. | |
109 | 3. To have a minimum number of files to be dealt with, for compile | |
110 | and installation. | |
111 | 4. To have enough functionality to be useful to a large number of | |
112 | people. | |
113 | ||
114 | Hugh Mahon |___| | |
115 | hugh4242@yahoo.com | | | |
116 | |\ /| | |
117 | | \/ | | |
118 |