This repository has been archived by the owner on Oct 21, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a11ab58
Showing
14 changed files
with
10,942 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
|
||
|
||
|
||
|
||
The "Artistic License" | ||
|
||
Preamble | ||
|
||
The intent of this document is to state the conditions under which a | ||
Package may be copied, such that the Copyright Holder maintains some | ||
semblance of artistic control over the development of the package, | ||
while giving the users of the package the right to use and distribute | ||
the Package in a more-or-less customary fashion, plus the right to make | ||
reasonable modifications. | ||
|
||
Definitions: | ||
|
||
"Package" refers to the collection of files distributed by the | ||
Copyright Holder, and derivatives of that collection of files | ||
created through textual modification. | ||
|
||
"Standard Version" refers to such a Package if it has not been | ||
modified, or has been modified in accordance with the wishes | ||
of the Copyright Holder. | ||
|
||
"Copyright Holder" is whoever is named in the copyright or | ||
copyrights for the package. | ||
|
||
"You" is you, if you're thinking about copying or distributing | ||
this Package. | ||
|
||
"Reasonable copying fee" is whatever you can justify on the | ||
basis of media cost, duplication charges, time of people involved, | ||
and so on. (You will not be required to justify it to the | ||
Copyright Holder, but only to the computing community at large | ||
as a market that must bear the fee.) | ||
|
||
"Freely Available" means that no fee is charged for the item | ||
itself, though there may be fees involved in handling the item. | ||
It also means that recipients of the item may redistribute it | ||
under the same conditions they received it. | ||
|
||
1. You may make and give away verbatim copies of the source form of the | ||
Standard Version of this Package without restriction, provided that you | ||
duplicate all of the original copyright notices and associated disclaimers. | ||
|
||
2. You may apply bug fixes, portability fixes and other modifications | ||
derived from the Public Domain or from the Copyright Holder. A Package | ||
modified in such a way shall still be considered the Standard Version. | ||
|
||
3. You may otherwise modify your copy of this Package in any way, provided | ||
that you insert a prominent notice in each changed file stating how and | ||
when you changed that file, and provided that you do at least ONE of the | ||
following: | ||
|
||
a) place your modifications in the Public Domain or otherwise make them | ||
Freely Available, such as by posting said modifications to Usenet or | ||
an equivalent medium, or placing the modifications on a major archive | ||
site such as uunet.uu.net, or by allowing the Copyright Holder to include | ||
your modifications in the Standard Version of the Package. | ||
|
||
b) use the modified Package only within your corporation or organization. | ||
|
||
c) rename any non-standard executables so the names do not conflict | ||
with standard executables, which must also be provided, and provide | ||
a separate manual page for each non-standard executable that clearly | ||
documents how it differs from the Standard Version. | ||
|
||
d) make other distribution arrangements with the Copyright Holder. | ||
|
||
4. You may distribute the programs of this Package in object code or | ||
executable form, provided that you do at least ONE of the following: | ||
|
||
a) distribute a Standard Version of the executables and library files, | ||
together with instructions (in the manual page or equivalent) on where | ||
to get the Standard Version. | ||
|
||
b) accompany the distribution with the machine-readable source of | ||
the Package with your modifications. | ||
|
||
c) accompany any non-standard executables with their corresponding | ||
Standard Version executables, giving the non-standard executables | ||
non-standard names, and clearly documenting the differences in manual | ||
pages (or equivalent), together with instructions on where to get | ||
the Standard Version. | ||
|
||
d) make other distribution arrangements with the Copyright Holder. | ||
|
||
5. You may charge a reasonable copying fee for any distribution of this | ||
Package. You may charge any fee you choose for support of this Package. | ||
You may not charge a fee for this Package itself. However, | ||
you may distribute this Package in aggregate with other (possibly | ||
commercial) programs as part of a larger (possibly commercial) software | ||
distribution provided that you do not advertise this Package as a | ||
product of your own. | ||
|
||
6. The scripts and library files supplied as input to or produced as | ||
output from the programs of this Package do not automatically fall | ||
under the copyright of this Package, but belong to whomever generated | ||
them, and may be sold commercially, and may be aggregated with this | ||
Package. | ||
|
||
7. C subroutines supplied by you and linked into this Package in order | ||
to emulate subroutines and variables of the language defined by this | ||
Package shall not be considered part of this Package, but are the | ||
equivalent of input as in Paragraph 6, provided these subroutines do | ||
not change the language in any way that would cause it to fail the | ||
regression tests for the language. | ||
|
||
8. The name of the Copyright Holder may not be used to endorse or promote | ||
products derived from this software without specific prior written permission. | ||
|
||
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR | ||
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | ||
WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. | ||
|
||
The End |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
version 1.4.6 | ||
- modified new_curse.c to handle different subdirectory naming in terminfo | ||
directory; first noted on Mac OS 10.2 | ||
|
||
version 1.4.5a (12/23/2001) | ||
- modified get_options to be cleaner for arg handling | ||
|
||
version 1.4.5 (12/15/2001) | ||
- made changes to check usage of arguments provided so that if a file is | ||
specified options are no longer accepted (that is, they are treated as file | ||
names) | ||
- changed to use ee_version.h to allow changing version number without need | ||
to change ee.c directly | ||
|
||
version 1.4.4 (8/17/2001) | ||
- added code to check if the parent process has died, and if so to exit | ||
gracefully | ||
|
||
version 1.4.3 (6/25/2001) | ||
- modified create.make and new_curse.c to allow defining TERMCAP file | ||
location (since some distributions move the file) | ||
- source directory now has version number attached to directory name | ||
|
||
version 1.4.2 (1/19/2001) | ||
- change to create.make script to add unistd.h to files to search for | ||
select() declaration | ||
- change to new_curse.c for proper raw mode operation | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# This is the make file for ee, the "easy editor". | ||
# | ||
# A file called 'make.local' will be generated which will contain information | ||
# specific to the local system, such as if it is a BSD or System V based | ||
# version of UNIX, whether or not it has catgets, or select. | ||
# | ||
# The "install" target ("make install") will copy the ee binary to | ||
# the /usr/local/bin directory on the local system. The man page (ee.1) | ||
# will be copied into the /usr/local/man/man1 directory. | ||
# | ||
# The "clean" target ("make clean") will remove the ee and new_curse.o | ||
# object files, and the ee binary. | ||
# | ||
|
||
all : localmake buildee | ||
|
||
buildee : | ||
make -f make.local | ||
|
||
localmake: | ||
@./create.make | ||
|
||
install : | ||
cp ee /usr/local/bin/ee | ||
cp ee.1 /usr/local/man/man1/ee.1 | ||
|
||
clean : | ||
rm -f ee.o new_curse.o ee | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
THIS MATERIAL IS PROVIDED "AS IS". THERE ARE NO WARRANTIES OF | ||
ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT | ||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
FITNESS FOR A PARTICULAR PURPOSE. Neither Hewlett-Packard nor | ||
Hugh Mahon shall be liable for errors contained herein, nor for | ||
incidental or consequential damages in connection with the | ||
furnishing, performance or use of this material. Neither | ||
Hewlett-Packard nor Hugh Mahon assumes any responsibility for | ||
the use or reliability of this software or documentation. This | ||
software and documentation is totally UNSUPPORTED. There is no | ||
support contract available. Hewlett-Packard has done NO | ||
Quality Assurance on ANY of the program or documentation. You | ||
may find the quality of the materials inferior to supported | ||
materials. | ||
|
||
This software may be distributed under the terms of Larry Wall's | ||
Artistic license, a copy of which is included in this distribution. | ||
|
||
This notice must be included with this software and any | ||
derivatives. | ||
|
||
Any modifications to this software by anyone but the original author | ||
must be so noted. | ||
|
||
|
||
The editor 'ee' (easy editor) is intended to be a simple, easy to use | ||
terminal-based screen oriented editor that requires no instruction to | ||
use. Its primary use would be for people who are new to computers, or who | ||
use computers only for things like e-mail. | ||
|
||
ee's simplified interface is highlighted by the use of pop-up menus which | ||
make it possible for users to carry out tasks without the need to | ||
remember commands. An information window at the top of the screen shows | ||
the user the operations available with control-keys. | ||
|
||
ee allows users to use full eight-bit characters. If the host system has | ||
the capabilities, ee can use message catalogs, which would allow users to | ||
translate the message catalog into other languages which use eight-bit | ||
characters. See the file ee.i18n.guide for more details. | ||
|
||
ee relies on the virtual memory abilities of the platform it is running on | ||
and does not have its own memory management capabilities. | ||
|
||
I am releasing ee because I hate to see new users and non-computer types | ||
get frustrated by vi, and would like to see more intuitive interfaces for | ||
basic tools (both character-based and graphical) become more pervasive. | ||
Terminal capabilities and communication speeds have evolved considerably | ||
since the time in which vi's interface was created, allowing much more | ||
intuitive interfaces to be used. Since character-based I/O won't be | ||
completely replaced by graphical user interfaces for at least a few more | ||
years, I'd like to do what I can to make using computers with less | ||
glamorous interfaces as easy to use as possible. If terminal interfaces | ||
are still used in ten years, I hope neophytes won't still be stuck with | ||
only vi. | ||
|
||
For a text editor to be easy to use requires a certain set of abilities. In | ||
order for ee to work, a terminal must have the ability to position the cursor | ||
on the screen, and should have arrow keys that send unique sequences | ||
(multiple characters, the first character is an "escape", octal code | ||
'\033'). All of this information needs to be in a database called "terminfo" | ||
(System V implementations) or "termcap" (usually used for BSD systems). In | ||
case the arrow keys do not transmit unique sequences, motion operations are | ||
mapped to control keys as well, but this at least partially defeats the | ||
purpose. The curses package is used to handle the I/O which deals with the | ||
terminal's capabilities. | ||
|
||
While ee is based on curses, I have included here the source code to | ||
new_curse, a subset of curses developed for use with ee. 'curses' often | ||
will have a defect that reduces the usefulness of the editor relying upon | ||
it. | ||
|
||
The file new_curse.c contains a subset of 'curses', a package for | ||
applications to use to handle screen output. Unfortunately, curses | ||
varies from system to system, so I developed new_curse to provide | ||
consistent behavior across systems. It works on both SystemV and BSD | ||
systems, and while it can sometimes be slower than other curses packages, | ||
it will get the information on the screen painted correctly more often | ||
than vendor supplied curses. Unless problems occur during the building | ||
of ee, it is recommended that you use new_curse rather than the curses | ||
supplied with your system. | ||
|
||
If you experience problems with data being displayed improperly, check | ||
your terminal configuration, especially if you're using a terminal | ||
emulator, and make sure that you are using the right terminfo entry | ||
before rummaging through code. Terminfo entries often contain | ||
inaccuracies, or incomplete information, or may not totally match the | ||
terminal or emulator the terminal information is being used with. | ||
Complaints that ee isn't working quite right often end up being something | ||
else (like the terminal emulator being used). | ||
|
||
Both ee and new_curse were developed using K&R C (also known as "classic | ||
C"), but it can also be compiled with ANSI C. You should be able to | ||
build ee by simply typing "make". A make file which takes into account | ||
the characteristics of your system will be created, and then ee will be | ||
built. If there are problems encountered, you will be notified about | ||
them. | ||
|
||
ee is the result of several conflicting design goals. While I know that it | ||
solves the problems of some users, I also have no doubt that some will decry | ||
its lack of more features. I will settle for knowing that ee does fulfill | ||
the needs of a minority (but still large number) of users. The goals of ee | ||
are: | ||
|
||
1. To be so easy to use as to require no instruction. | ||
2. To be easy to compile and, if necessary, port to new platforms | ||
by people with relatively little knowledge of C and UNIX. | ||
3. To have a minimum number of files to be dealt with, for compile | ||
and installation. | ||
4. To have enough functionality to be useful to a large number of | ||
people. | ||
|
||
Hugh Mahon |___| | ||
[email protected] | | | ||
|\ /| | ||
| \/ | | ||
|
Oops, something went wrong.