svn commit: r192830 - vendor/ee/dist

Ed Schouten ed at FreeBSD.org
Tue May 26 18:50:01 UTC 2009


Author: ed
Date: Tue May 26 18:50:01 2009
New Revision: 192830
URL: http://svn.freebsd.org/changeset/base/192830

Log:
  Vendor import of ee 1.4.2.

Added:
  vendor/ee/dist/
  vendor/ee/dist/Artistic
  vendor/ee/dist/Makefile   (contents, props changed)
  vendor/ee/dist/README.ee
  vendor/ee/dist/create.make   (contents, props changed)
  vendor/ee/dist/ee.1
  vendor/ee/dist/ee.c   (contents, props changed)
  vendor/ee/dist/ee.i18n.guide
  vendor/ee/dist/ee.msg
  vendor/ee/dist/genstr   (contents, props changed)
  vendor/ee/dist/make.default
  vendor/ee/dist/new_curse.c
  vendor/ee/dist/new_curse.h

Added: vendor/ee/dist/Artistic
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/ee/dist/Artistic	Tue May 26 18:50:01 2009	(r192830)
@@ -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

Added: vendor/ee/dist/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/ee/dist/Makefile	Tue May 26 18:50:01 2009	(r192830)
@@ -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 
+

Added: vendor/ee/dist/README.ee
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/ee/dist/README.ee	Tue May 26 18:50:01 2009	(r192830)
@@ -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              |___|     
+h_mahon at fc.hp.com       |   |     
+                            |\  /|
+                            | \/ |
+

Added: vendor/ee/dist/create.make
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/ee/dist/create.make	Tue May 26 18:50:01 2009	(r192830)
@@ -0,0 +1,268 @@
+#!/bin/sh
+
+#
+#	This script will determine if the system is a System V or BSD based
+#	UNIX system and create a makefile for ee appropriate for the system.
+#
+# $Header: /home/hugh/sources/old_ae/RCS/create.make,v 1.7 2001/01/20 04:57:17 hugh Exp hugh $
+#
+
+# test for existence of termcap (exists on both BSD and SysV systems)
+
+if [ -f /etc/termcap -o -f /usr/share/lib/termcap -o -f /usr/share/misc/termcap ]
+then
+	termcap_exists="TRUE"
+else
+	termcap_exists=""
+fi
+
+# test for terminfo directory (exists on SysV systems)
+
+if [ -d /usr/lib/terminfo -o -d /usr/share/lib/terminfo -o -d /usr/share/terminfo ]
+then
+	terminfo_exists=""
+else
+	terminfo_exists="-DCAP"
+fi
+
+# test for existence of termio header (on SysV systems)
+
+if [ -f /usr/include/termio.h ]
+then
+	termio="-DSYS5"
+else
+	termio=""
+fi
+
+# test for sgtty header (on BSD systems)
+
+if [ -f /usr/include/sgtty.h ]
+then
+	sgtty="TRUE"
+else
+	sgtty=""
+fi
+
+# look for select call in headers, make sure headers exist
+
+HEADER_FILES=""
+
+if [ -f /usr/include/sys/time.h ]
+then
+	HEADER_FILES="/usr/include/sys/time.h "
+fi
+
+if [ -f /usr/include/sys/types.h ]
+then
+	HEADER_FILES="$HEADER_FILES /usr/include/sys/types.h"
+fi
+
+# check for unistd.h
+
+if [ -f /usr/include/unistd.h ]
+then
+	HAS_UNISTD=-DHAS_UNISTD
+	HEADER_FILES="$HEADER_FILES /usr/include/unistd.h"
+else
+	HAS_UNISTD=""
+fi
+
+if [ -n "$HEADER_FILES" ]
+then
+	string="`grep select $HEADER_FILES`"
+	if [ -n "$string" ]
+	then
+		BSD_SELECT="-DBSD_SELECT"
+	else
+		BSD_SELECT=""
+	fi
+fi
+
+# check for existence of select.h (on AIX)
+
+if [ -f /usr/include/sys/select.h ]
+then
+	select_hdr="-DSLCT_HDR"
+else
+	select_hdr=""
+fi
+
+# check for stdlib.h
+
+if [ -f /usr/include/stdlib.h ]
+then
+	HAS_STDLIB=-DHAS_STDLIB
+else
+	HAS_STDLIB=""
+fi
+
+# check for stdarg.h
+
+if [ -f /usr/include/stdarg.h ]
+then
+	HAS_STDARG=-DHAS_STDARG
+else
+	HAS_STDARG=""
+fi
+
+# check for ctype.h
+
+if [ -f /usr/include/ctype.h ]
+then
+	HAS_CTYPE=-DHAS_CTYPE
+else
+	HAS_CTYPE=""
+fi
+
+# check for sys/ioctl.h
+
+if [ -f /usr/include/sys/ioctl.h ]
+then
+	HAS_SYS_IOCTL=-DHAS_SYS_IOCTL
+else
+	HAS_SYS_IOCTL=""
+fi
+
+# check for sys/wait.h
+
+if [ -f /usr/include/sys/wait.h ]
+then
+        HAS_SYS_WAIT=-DHAS_SYS_WAIT
+else
+        HAS_SYS_WAIT=""
+fi
+
+# check for localization headers
+
+if [ -f /usr/include/locale.h -a -f /usr/include/nl_types.h ]
+then
+	catgets=""
+else
+	catgets="-DNO_CATGETS"
+fi
+
+# make decisions about use of new_curse.c (use of new_curse is recommended 
+# rather than local curses)
+
+if [ -n "$terminfo_exists" -a -z "$termcap_exists" ]
+then
+	echo "Neither terminfo or termcap are on this system!  "
+	if [ -f /usr/include/curses.h ]
+	then
+		echo "Relying on local curses implementation."
+	else
+		cat <<-EOF
+		Don't know where to find curses, you'll need to modify 
+		source code to be able to build!
+		
+		Modify the file make.default and build ee by typing:
+		
+		make -f make.default
+		
+		EOF
+
+		exit 1
+	fi
+	
+	TARGET="curses"
+	curses=""
+else
+	curses="-DNCURSE"
+	TARGET="ee"
+fi
+
+if [ -z "$termio" -a -z "$sgtty" ]
+then
+	echo "Neither termio.h or sgtty.h are on this system!  "
+	if [ -f /usr/include/curses.h ]
+	then
+		echo "Relying on local curses implementation."
+	else
+		cat <<-EOF
+		Don't know where to find curses, you'll need to modify 
+		source code to be able to build!
+		
+		Modify the file make.default and build ee by typing:
+		
+		make -f make.default
+		
+		EOF
+
+		exit 1
+	fi
+	
+	TARGET="curses"
+	curses=""
+fi
+
+# check if this is a SunOS system
+
+if [ -d /usr/5include ]
+then
+	five_include="-I/usr/5include"
+else
+	five_include=""
+fi
+
+if [ -d /usr/5lib ]
+then
+	five_lib="-L/usr/5lib"
+else
+	five_lib=""
+fi
+
+
+if [ -n "$CFLAGS" ]
+then
+	if [ -z "`echo $CFLAGS | grep '[-]g'`" ]
+	then
+		other_cflags="${CFLAGS} -s"
+	else
+		other_cflags="${CFLAGS}"
+	fi
+else
+	other_cflags="-s"
+fi
+
+# time to write the makefile
+
+echo "Generating make.local"
+
+if [ -f make.local ]
+then
+	mv make.local make.lcl.old
+fi
+
+echo "DEFINES =	$termio $terminfo_exists $BSD_SELECT $catgets $select $curses " > make.local
+echo "" >> make.local
+echo "CFLAGS =	$HAS_UNISTD $HAS_STDARG $HAS_STDLIB $HAS_CTYPE $HAS_SYS_IOCTL $HAS_SYS_WAIT $five_lib $five_include $select_hdr $other_cflags" >> make.local
+echo "" >> make.local
+echo "" >> make.local
+echo "all :	$TARGET" >> make.local
+
+cat  >> make.local << EOF
+
+curses :	ee.c
+	cc ee.c -o ee \$(CFLAGS) -lcurses 
+
+ee :	ee.o new_curse.o
+	cc -o ee ee.o new_curse.o \$(CFLAGS) 
+
+ee.o :	ee.c new_curse.h
+	cc -c ee.c \$(DEFINES) \$(CFLAGS) 
+
+new_curse.o :	new_curse.c new_curse.h
+	cc new_curse.c -c \$(DEFINES) \$(CFLAGS)
+
+EOF
+
+if [ -f make.lcl.old ]
+then
+	diffs="`cmp make.lcl.old make.local`"
+	if [ -n "${diffs}" ]
+	then
+		rm -f ee.o new_curse.o ee 
+	fi
+	rm -f make.lcl.old
+fi
+

Added: vendor/ee/dist/ee.1
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/ee/dist/ee.1	Tue May 26 18:50:01 2009	(r192830)
@@ -0,0 +1,539 @@
+.\"
+.\"
+.\"  To format this reference page, use the command:
+.\"
+.\"    nroff -man ee.1
+.\"
+.\"  $Header: /home/hugh/sources/old_ae/RCS/ee.1,v 1.19 1995/11/29 04:03:15 hugh Exp hugh $
+.\"
+.\"
+.TH ee 1 "" "" "" ""
+.SH NAME
+ee \- easy editor
+.SH SYNOPSIS
+.nf
+ee [-e] [-i] [-h] [+#] [\fIfile\fR ...]
+ree [-e] [-i] [-h] [+#] [\fIfile\fR ...]
+.ta
+.fi
+.ad b
+.SH DESCRIPTION
+The command 
+.I ee 
+is a simple screen oriented text editor.  It is always in text insertion 
+mode unless there is a prompt at the bottom of the terminal, or a 
+menu present (in a box in the middle of the terminal).  The command 
+.I ree 
+is the same as 
+.I ee, 
+but restricted to editing the named 
+file (no file operations, or shell escapes are allowed).
+.PP
+For 
+.I ee
+to work properly, the environment variable 
+.SM TERM 
+must be set to indicate the type of terminal being used.  For 
+example, for an 
+.SM HP 700/92 
+terminal, the 
+.SM TERM 
+variable should be set to "70092".  See your System Administrator if 
+you need more information.
+.\"
+.\"     options
+.\"
+.SS Options
+The following options are available from the command line:
+.PP
+.TP 4
+.B -e
+Turns off expansion of tab character to spaces.
+.TP 
+.B -i
+Turns off display of information window at top of terminal.
+.TP
+.B -h
+Turns off highlighting of borders of windows and menus (improves 
+performance on some terminals).
+.TP
+.B +#
+Moves the cursor to line '#' at startup.
+.br
+.\"
+.\"     control keys
+.\"
+.SS "Control keys"
+To do anything other than insert text, the user must use the control 
+keys (the 
+.B Control 
+key, represented by a "^",  pressed in conjunction with an 
+alphabetic key, e.g., ^a) and function keys available on the keyboard 
+(such as 
+.BR "Next Page" ", " "Prev Page" ,
+arrow keys, etc.).
+.PP
+Since not all terminals have function keys, 
+.I ee
+has the basic cursor movement functions assigned to control keys as 
+well as more intuitive keys on the keyboard when available.  For 
+instance, to move the cursor up, the user can use the up arrow key, 
+or 
+.BR ^u .
+.RS 4
+.nf
+.ta 1.4i
+.sp
+^a 	Prompt for the decimal value of a character to insert.
+^b 	Move to the bottom of the text.
+^c 	Get the prompt for a command.
+^d 	Move the cursor down.
+^e 	Prompt for the string to search for.
+^f 	Undelete the last deleted character.
+^g 	Move to the beginning of the line.
+^h 	Backspace.
+^i 	Tab.
+^j 	Insert a newline.
+^k 	Delete the character the cursor is sitting on.
+^l 	Move the cursor left.
+^m 	Insert a newline.
+^n 	Move to the next page.
+^o 	Move to the end of the line.
+^p 	Move to the previous page.
+^r 	Move the cursor to the right.
+^t 	Move to the top of the text.
+^u 	Move the cursor up.
+^v 	Undelete the last deleted word.
+^w 	Delete the word beginning at the cursor position.
+^x 	Search.
+^y 	Delete from the cursor position to the end of line.
+^z 	Undelete the last deleted line.
+^[ (ESC)	Pop up menu.
+.ta
+.fi
+.RE
+.sp
+.SS "EMACS keys mode"
+.PP
+Since many shells provide an Emacs mode (for cursor movement and other editing 
+operations), some bindings that may be more useful for people familiar with 
+those bindings have been provided.  These are accessible via the 
+.B settings 
+menu, or via the initialization file (see below).  The mappings are as follows:
+.RS
+.nf
+.ta 1.4i
+^a	Move to the beginning of the line.
+^b	Back 1 character.
+^c	Command prompt.
+^d	Delete character the cursor is sitting on.
+^e	End of line.
+^f	Forward 1 character.
+^g	Go back 1 page.
+^h	Backspace.
+^i	Tab.
+^j	Undelete last deleted character.
+^k	Delete line.
+^l	Undelete last deleted line.
+^m	Insert a newline.
+^n	Move to the next line.
+^o	Prompt for the decimal value of a character to insert.
+^p	Previous line.
+^r	Restore last deleted word.
+^t	Move to the top of the text.
+^u	Move to the bottom of the text.
+^v	Move to the next page.
+^w	Delete the word beginning at the cursor position.
+^y	Prompt for the string to search for.
+^z	Next word.
+^[ (ESC)	Pop up menu.
+.ta
+.fi
+.RE
+.sp
+.\"
+.\"     function keys
+.\"
+.SS "Function Keys"
+.RS 4
+.IP "\fBNext Page\fR"
+Move to the next page.
+.IP "\fBPrev Page\fR"
+Move to the previous page.
+.IP "\fBDelete Char\fR"
+Delete the character the cursor is on.
+.IP "\fBDelete Line\fR"
+Delete from the cursor to the end of line.
+.IP "\fBInsert line\fR"
+Insert a newline at the cursor position.
+.IP "\fBArrow keys\fR"
+Move the cursor in the direction indicated.
+.RE
+.\"
+.\"     commands
+.\"
+.SS Commands
+.PP
+Some operations require more information than a single keystroke can 
+provide.  For the most basic operations, there is a menu that can be 
+obtained by pressing the 
+.SM \fBESC\fR
+key.  The same operations, and more can be performed by obtaining the 
+command prompt (^c) and typing in one of the commands below.
+.RS 4
+.IP "!\fBcmd\fR"
+Execute \fBcmd\fR in a shell.
+.IP "\fB0-9\fR"
+Move to the line indicated.
+.IP "\fBcase\fR"
+Make searches case sensitive.
+.IP "\fBcharacter\fR"
+Display the ascii value of the character at the cursor.
+.IP "\fBexit\fR"
+Save the edited text, and leave the editor.
+.IP "\fBexpand\fR"
+Expand tabs to spaces.
+.IP "\fBfile\fR"
+Print the name of the file.
+.IP "\fBhelp\fR"
+Display help screen.
+.IP "\fBline\fR"
+Display the current line number.
+.IP "\fBnocase\fR
+Make searches insensitive to case (the default).
+.IP "\fBnoexpand\fR"
+Don't expand tab to spaces when the TAB key is pressed.
+.IP "\fBquit\fR"
+Leave the editor without saving changes.
+.IP "\fBread\fR \fIfile\fR"
+Read the named \fIfile\fR.
+.IP "\fBwrite\fR \fIfile\fR"
+Write the text to the named \fIfile\fR.
+.RE
+.\"
+.\"     menu operations
+.\"
+.SS "Menu Operations"
+.PP
+Pop-up menus can be obtained by pressing the 
+.B escape 
+key (or 
+.B ^[ 
+if no 
+.B escape 
+key is present).  When in the menu, the escape key can be 
+used to leave the menu without performing any operations.  Use the up and 
+down arrow keys, or 
+.B ^u
+for moving up and 
+.B ^d 
+for moving down to move to the desired items in the menu, then press 
+.B return 
+to perform the indicated task.
+.PP
+To the left of each menu item is a letter, which if the corresponding 
+letter is pressed on the keyboard selects that menu entry.
+.PP
+The main menu in \fIee\fR is as follows:
+.RS 4
+.IP "\fBleave editor\fR" 
+If changes have been made, the user will get a menu prompting whether or 
+not the changes should be saved.
+.IP "\fBhelp\fR"
+Displays a help screen, with all of the keyboard operations and commands.
+.IP "\fBfile operations\fR"
+Pops up a menu for selecting whether to read a file, write to a file, or 
+save the current contents of the editor, as well as send the contents of 
+the editor to a print command (see the section \fBInitializing ee from a 
+file\fR).
+.IP "\fBredraw screen\fR"
+Provides a means to repaint the screen if the screen has been corrupted.
+.IP "\fBsettings\fR"
+Shows the current values of the operating modes, and right margin.  By 
+pressing return when the cursor is on a particular item, the value can be 
+changed.  To leave this menu, press the \fBescape\fR key.  (See \fBModes\fR 
+below.)
+.IP "\fBsearch\fR"
+.br
+Pops up a menu in which the user may choose to enter a string to search 
+for, or search for a string already entered.
+.IP "\fBmiscellaneous\fR"
+Pops up a menu that allows the user to format the current paragraph, 
+execute a shell command, or check the spelling of the text in the editor.
+.RE
+.\"
+.\"     paragraph formatting
+.\"
+.SS "Paragraph Formatting"
+.PP
+Paragraphs are defined for \fIee\fR by a block of text bounded by:
+.sp 
+.RS 8
+.IP \(bu 
+Begin or end of file.
+.IP \(bu
+Line with no characters, or only spaces and/or tabs.
+.IP \(bu
+Line starting with a period ('.') or right angle bracket ('>').
+.RE
+.PP
+A paragraph may be formatted two ways:  explicitly by choosing the 
+\fBformat paragraph\fR menu item, or by setting \fIee\fR to automatically 
+format paragraphs.  The automatic mode may be set via a menu, or via the 
+initialization file.
+.PP
+There are three states for text operation in \fIee\fR: free-form, margins, 
+and automatic formatting.
+.PP
+"Free-form" is best used for things like programming.  There are no 
+restrictions on the length of lines, and no formatting takes place.
+.PP
+"Margins" allows the user to type in text without having to worry about going 
+beyond the right margin (the right margin may be set in the \fBsettings\fR 
+menu, the default is for the margin to be the right edge of the 
+terminal).  This is the mode that allows the \fBformat paragraph\fR menu 
+item to work.
+.PP
+"Automatic formatting" provides word-processor-like behavior.  The user 
+may type in text, while \fIee\fR will make sure the entire paragraph fits 
+within the width of the terminal every time the user inserts a space after 
+typing or deleting text.  Margin observation must also be enabled in order for 
+automatic formatting to occur.
+.\"
+.\"     modes
+.\"
+.SS Modes
+.PP
+Although ee is a 'modeless' editor (it is in text insertion mode all the 
+time), there are modes in some of the things it does.  These include:
+.RS 4
+.IP "\fBtab expansion\fR"
+Tabs may be inserted as a single tab character, or replaced with spaces.
+.IP "\fBcase sensitivity\fR"
+The search operation can be sensitive to whether characters are upper- or 
+lower-case, or ignore case completely.
+.IP "\fBmargins observed\fR"
+Lines can either be truncated at the right margin, or extend on forever.
+.IP "\fBauto paragraph formatting\fR"
+While typing in text, the editor can try to keep it looking reasonably well 
+within the width of the screen.
+.IP "\fBeightbit characters\fR"
+Toggles whether eight bit characters are displayed as their value in angle 
+brackets (e.g. "<220>") or as a character.
+.IP "\fBinfo window\fR"
+A window showing the keyboard operations that can be performed can be 
+displayed or not.
+.IP "\fBemacs keys\fR"
+Control keys may be given bindings similar to emacs, or not.
+.IP "\f16 bit characters\fR"
+Toggles whether sixteen bit characters are handled as one 16-bit quantities or 
+two 8-bit quantities.  This works primarily with the Chinese Big 5 code set.
+.RE
+.PP
+You may set these modes via the initialization file (see below), or with a 
+menu (see above).
+.\"
+.\"     spell checking
+.\"
+.SS "Spell Checking"
+.PP
+There are two ways to have the spelling in the text checked from \fIee\fR.  
+One is by the traditional \fIspell\fR(1) command, the other is with the 
+optional \fIispell\fR(1) command.
+.PP
+Using \fIspell\fR, the words that are not recognized will be placed at the top 
+of the file.  For the \fIispell\fR option, the file is written to disk, 
+then \fIispell\fR run on the file, and the file read back in once 
+\fIispell\fR has completed making changes to the file.
+.\"
+.\"     printing
+.\"
+.SS "Printing the contents of the editor"
+.PP
+The user may select a menu item which prints the contents of the editor.  
+.I ee
+pipes the text in the editor to the command specified by the 
+initialization command 
+.B printcommand
+(see the section 
+.B Initializing ee from a file 
+below).  The default is to send the contents to "lp".  
+.PP
+Whatever the user assigns to 
+.B printcommand 
+must take input from 
+standard input.  See your system administrator for more details.
+.\"
+.\"     shell operations
+.\"
+.SS "Shell operations"
+.PP
+Shell commands can be executed from within 
+.I ee 
+by selecting the 
+.B shell command 
+item in the 
+.B miscellaneous 
+menu, or by placing an exclamation mark ("!") before the command to 
+execute at the 
+.B command: 
+prompt.  Additionally, the user may direct the contents of the edit buffer 
+out to a shell operation (via a pipe) by using the left angle bracket 
+(">"), followed by a "!" and the shell command to execute.  The output of 
+a shell operation can also be directed into the edit buffer by using a 
+right angle bracket ("<") before the exclamation mark.  These can even be 
+used together to send output to a shell operation and read back the 
+results into the editor.  So, if the editor contained a list of words 
+to be sorted, they could be sorted by typing the following at the command 
+prompt:
+.RS 4
+.sp
+><!sort
+.sp
+.RE
+This would send the contents of the editor to be piped into the 
+.I sort 
+utility and the result would be placed into the edit buffer at the current 
+cursor location.  The old information would have to be deleted by the user.
+.\"
+.\"     initializing ee from a file
+.\"
+.SS "Initializing ee from a file"
+.PP
+Since different users have different preferences, \fIee\fR allows some 
+slight configurability.  There are three possible locations for an 
+initialization file for ee:  the file \fI/usr/local/lib/init.ee\fR, the 
+file \fI.init.ee\fR in the user's home directory, or the file \fI.init.ee\fR 
+in the current directory (if different from the home 
+directory).  This allows system administrators to set some preferences for 
+the users on a system-wide basis (for example, the \fBprint\fR command), 
+and the user to customize settings for particular directories (like one 
+for correspondence, and a different directory for programming).
+.PP
+The file \fI\/usr/local/lib/init.ee\fR is read first, then 
+\fI$HOME/.init.ee\fR, then \fI.init.ee\fR, with the settings specified by the 
+most recent file read taking precedence.
+.PP
+The following items may be entered in the initialization file:
+.RS 4
+.IP \fBcase\fR
+Sets searches to be case sensitive.
+.IP \fBnocase\fR
+Sets searches to be insensitive to case (default).
+.IP \fBexpand\fR
+Causes \fIee\fR to expand tabs to spaces (default).
+.IP \fBnoexpand\fR 
+Causes \fIee\fR to insert tabs as a single character.
+.IP \fBinfo\fR
+A small information window is displayed at the top of the terminal 
+(default).
+.IP \fBnoinfo\fR
+Turns off the display of the information window.
+.IP \fBmargins\fR
+Causes \fIee\fR to truncate lines at the right margin when the 
+cursor passes beyond the right margin as set by the user 
+while text is being inserted 
+(default).
+.IP \fBnomargins\fR
+Allows lines to extend beyond the right margin.
+.IP \fBautoformat\fR
+Causes \fIee\fR to automatically try to format the current paragraph while 
+text insertion is occurring.
+.IP \fBnoautoformat\fR
+Turns off automatic paragraph formatting (default).
+.IP \fBprintcommand\fR
+Allows the setting of the print command (default: "lp").
+.IP \fBrightmargin\fR
+The user can select a value for the right margin (the first column on the 
+screen is zero).
+.IP \fBhighlight\fR
+Turns on highlighting border of information window and menus (default).
+.IP \fBnohighlight\fR
+Turns off highlighting of border of information window and menus.
+.IP \fBeightbit\fR
+Turns on display of eight bit characters.
+.IP \fBnoeightbit\fR

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list