mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-30 23:52:49 +00:00
This commit was generated by cvs2svn to compensate for changes in r20983,
which included commits to RCS files with non-trunk default branches.
This commit is contained in:
commit
09113d5457
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=20984
117
usr.bin/ee/Artistic
Normal file
117
usr.bin/ee/Artistic
Normal file
@ -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
|
116
usr.bin/ee/README.ee
Normal file
116
usr.bin/ee/README.ee
Normal file
@ -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@fc.hp.com | |
|
||||
|\ /|
|
||||
| \/ |
|
||||
|
267
usr.bin/ee/create.make
Executable file
267
usr.bin/ee/create.make
Executable file
@ -0,0 +1,267 @@
|
||||
#!/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.6 1995/08/21 02:25:23 hugh Exp $
|
||||
#
|
||||
|
||||
# test for existence of termcap (exists on both BSD and SysV systems)
|
||||
|
||||
if [ -f /etc/termcap -o -f /usr/share/lib/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 ]
|
||||
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
|
||||
|
||||
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 unistd.h
|
||||
|
||||
if [ -f /usr/include/unistd.h ]
|
||||
then
|
||||
HAS_UNISTD=-DHAS_UNISTD
|
||||
else
|
||||
HAS_UNISTD=""
|
||||
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
|
||||
|
141
usr.bin/ee/ee.i18n.guide
Normal file
141
usr.bin/ee/ee.i18n.guide
Normal file
@ -0,0 +1,141 @@
|
||||
Easy Editor ("ee") provides the ability to translate the messages displayed to
|
||||
the user and the commands entered. This is done via message catalogs,
|
||||
following X/Open standards. ee only supports eight bit characters.
|
||||
|
||||
(The name ee.i18n.guide is for "ee internationalization guide". The i18n
|
||||
abbreviation is used because there are 18 characters between the first
|
||||
letter ("i") and last ("n") of "internationalization".)
|
||||
|
||||
All of the messages, warnings, information, and commands, are contained in the
|
||||
message catalog. Each numbered entry represents an individual string used by
|
||||
ee. Some strings contain formatting information for formatted print
|
||||
statements, which are of the form "%s", or "%d", these must be preserved in
|
||||
the translation, or the correct information will not be displayed. For those
|
||||
strings containing multiple formatting codes, the order of each item must be
|
||||
preserved as well.
|
||||
|
||||
Message content
|
||||
1 title for modes, or settings menu
|
||||
2 - 8 entries for modes menu, each line should be the same length
|
||||
(padded with spaces)
|
||||
9 - 34 other menu titles and entries
|
||||
35 - 56 help screen
|
||||
57 - 61 actions assigned to control keys
|
||||
62 - 66 commands information
|
||||
67 message displayed when info window turned off
|
||||
68 indication that no file name was entered when invoking ee
|
||||
69 prompt for decimal value of character to be entered
|
||||
70 message displaying the print command being invoked
|
||||
71 prompt for command
|
||||
72 prompt for name of file to be written
|
||||
73 prompt for name of file to be read
|
||||
74 string used to display the decimal value of the character
|
||||
the cursor is on
|
||||
75 string displaying an unrecognized command
|
||||
76 string indicating that the command entered is not a unique
|
||||
substring of a valid command
|
||||
77 string indicating the current line number
|
||||
78 string for displaying the length of the line
|
||||
79 string for displaying the name of the file
|
||||
80 - 83 strings showing how to invoke ee, and its options
|
||||
84 message indicating that the file entered is a directory, not a
|
||||
text file
|
||||
85 message informing that the entered file does not yet exist
|
||||
86 message informing that the file can't be opened (because of
|
||||
permission problems)
|
||||
87 message after file has been read with the file name and number
|
||||
of lines read
|
||||
88 message indicating that the file has been read
|
||||
89 message indicating that the file is being read
|
||||
90 message indicating that permissions only allow the file to be
|
||||
read, not written
|
||||
91 message after file has been read with the file name and number
|
||||
of lines read
|
||||
92 prompt for name of file to be saved (used when no name was
|
||||
entered for a file to edit)
|
||||
93 message indicating that the file was not written, since no
|
||||
name was entered at the prompt
|
||||
94 prompt asking user if changes should not be saved ("yes_char"
|
||||
will be expected for affirmative response)
|
||||
95 "yes" character, single character expected to confirm action
|
||||
(can be upper or lower case, will be converted to upper-case
|
||||
during test)
|
||||
96 prompt
|
||||
97 error message
|
||||
98 message indicating that the named file is being written
|
||||
99 message indicating the name of the file written, the number of
|
||||
lines, and the number of characters (order of items must be
|
||||
maintained)
|
||||
100 search in progress message
|
||||
101 message that the string was not found
|
||||
102 prompt for search
|
||||
103 message that string could not be executed
|
||||
104 self-explanatory
|
||||
105 message for menus, indicating that the Escape character will
|
||||
allow the user to exit the menu
|
||||
106 error message indicating the menu won't fit on the screen
|
||||
107 self-explanatory
|
||||
108 prompt for shell command
|
||||
109 message displayed while formatting a paragraph
|
||||
110 string which places message for spell checking at top of
|
||||
buffer (the portions 'list of unrecognized words' and
|
||||
'-=-=-=-=-=-' may be replaced, but the rest must remain the
|
||||
same)
|
||||
111 message informing that spell checking is in progress
|
||||
112 prompt for right margin
|
||||
113 error informing user that operation is not permitted in ree
|
||||
114 string indicating mode is turned 'on' in modes menu
|
||||
115 string indicating mode is turned 'off' in modes menu
|
||||
116 - 131 strings used for commands (some also used for initialization)
|
||||
132 - 144 strings used for initialization
|
||||
145 entry for settings menu for emacs key bindings settings
|
||||
146 - 153 help screen entries for emacs key bindings info
|
||||
154 - 158 info window entries for emacs key bindings info
|
||||
159 string for turning on emacs key bindings in the init file
|
||||
160 string for turning off emacs key bindings in the init file
|
||||
|
||||
Care should be taken when translating commands and initialization keywords
|
||||
because the algorithm used for detecting uniqueness of entered commands
|
||||
will not be able to distinguish words that are not unique before the end
|
||||
of the shorter word, for example, it would not be able to distinguish the
|
||||
command 'abcd' from 'abcde'.
|
||||
|
||||
After translating the messages, use the 'gencat' command to create the compiled
|
||||
catalog used when running the software. The standard syntax would be:
|
||||
|
||||
gencat ee.cat ee.msg
|
||||
|
||||
Where ee.msg is the file containing the translations, and ee.cat is the
|
||||
compiled catalog. If the file ee.cat does not exist, it will be created.
|
||||
Check the documentation for your system for proper syntax.
|
||||
|
||||
Message catalog placement varies from system to system. A common location
|
||||
for message catalogs is in /usr/lib/nls. In this directory are
|
||||
directories with the names of other languages. The default language is
|
||||
'C'. There is also an environment variable, named NLSPATH used to
|
||||
determine where message catalogs can be found. This variable is similar
|
||||
to the PATH variable used for commands, but with some differences. The
|
||||
NLSPATH variable must have the ability to handle different names for
|
||||
languages and the catalog files, so it has field descriptors for these. A
|
||||
typical setting for NLSPATH could be:
|
||||
|
||||
NLSPATH=/usr/lib/nls/%L/%N.cat:/usr/local/lib/nls/%L/%N.cat
|
||||
|
||||
Where "%L" is the field descriptor for the language (obtained from the
|
||||
LANG environment variable) and "%N" is the name of the file (with the
|
||||
".cat" appended by the path variable, it is not passed from the requesting
|
||||
program). The colon (:) is used to separate paths, so in the above
|
||||
example there are two paths possible for message catalogs. You may wish
|
||||
to maintain catalogs for applications that are not supported by your
|
||||
system vendor in a location unique for you, and this is facilitated by the
|
||||
NLSPATH variable. Remember to set and export both the LANG and NLSPATH
|
||||
variables for each user that expects to use localization either in a
|
||||
system-wide profile or in each user's profile. See your system
|
||||
documentation for more information.
|
||||
|
||||
The message catalog supplied with ee also uses the '$quote' directive to
|
||||
specify a quote around strings to ensure proper padding. This directive
|
||||
may not be supported on all systems, and lead to quotes being included in
|
||||
the string used in ee, which will cause incorrect behavior. If the
|
||||
'$quote' directive is not supported by your system's gencat command, edit
|
||||
the msg file to remove the leading and trailing quotation marks.
|
179
usr.bin/ee/ee.msg
Normal file
179
usr.bin/ee/ee.msg
Normal file
@ -0,0 +1,179 @@
|
||||
$ This file contains the messages for ee ("easy editor"). See the file
|
||||
$ ee.i18n.guide for more information
|
||||
$
|
||||
$ For ee patchlevel 3
|
||||
$
|
||||
$ $Header: /home/hugh/sources/old_ae/RCS/ee.msg,v 1.6 1995/10/16 05:20:50 hugh Exp $
|
||||
$
|
||||
$
|
||||
$set 1
|
||||
$quote "
|
||||
1 "modes menu"
|
||||
2 "tabs to spaces "
|
||||
3 "case sensitive search"
|
||||
4 "margins observed "
|
||||
5 "auto-paragraph format"
|
||||
6 "eightbit characters "
|
||||
7 "info window "
|
||||
8 "right margin "
|
||||
9 "leave menu"
|
||||
10 "save changes"
|
||||
11 "no save"
|
||||
12 "file menu"
|
||||
13 "read a file"
|
||||
14 "write a file"
|
||||
15 "save file"
|
||||
16 "print editor contents"
|
||||
17 "search menu"
|
||||
18 "search for ..."
|
||||
19 "search"
|
||||
20 "spell menu"
|
||||
21 "use 'spell'"
|
||||
22 "use 'ispell'"
|
||||
23 "miscellaneous menu"
|
||||
24 "format paragraph"
|
||||
25 "shell command"
|
||||
26 "check spelling"
|
||||
27 "main menu"
|
||||
28 "leave editor"
|
||||
29 "help"
|
||||
30 "file operations"
|
||||
31 "redraw screen"
|
||||
32 "settings"
|
||||
33 "search"
|
||||
34 "miscellaneous"
|
||||
35 "Control keys: "
|
||||
36 "^a ascii code ^i tab ^r right "
|
||||
37 "^b bottom of text ^j newline ^t top of text "
|
||||
38 "^c command ^k delete char ^u up "
|
||||
39 "^d down ^l left ^v undelete word "
|
||||
40 "^e search prompt ^m newline ^w delete word "
|
||||
41 "^f undelete char ^n next page ^x search "
|
||||
42 "^g begin of line ^o end of line ^y delete line "
|
||||
43 "^h backspace ^p prev page ^z undelete line "
|
||||
44 "^[ (escape) menu "
|
||||
45 " "
|
||||
46 "Commands: "
|
||||
47 "help : get this info file : print file name "
|
||||
48 "read : read a file char : ascii code of char "
|
||||
49 "write : write a file case : case sensitive search "
|
||||
50 "exit : leave and save nocase : case insensitive search "
|
||||
51 "quit : leave, no save !cmd : execute \"cmd\" in shell "
|
||||
52 "line : display line # 0-9 : go to line \"#\" "
|
||||
53 "expand : expand tabs noexpand: do not expand tabs "
|
||||
54 " "
|
||||
55 " ee [-i] [-e] [-h] [file(s)] "
|
||||
56 " -i : no information window -e : do not expand tabs -h : no highlight "
|
||||
57 "^[ (escape) menu ^e search prompt ^y delete line ^u up ^p prev page "
|
||||
58 "^a ascii code ^x search ^z undelete line ^d down ^n next page "
|
||||
59 "^b bottom of text ^g begin of line ^w delete word ^l left "
|
||||
60 "^t top of text ^o end of line ^v undelete word ^r right "
|
||||
61 "^c command ^k delete char ^f undelete char "
|
||||
62 "help : get help info |file : print file name |line : print line # "
|
||||
63 "read : read a file |char : ascii code of char |0-9 : go to line \"#\""
|
||||
64 "write: write a file |case : case sensitive search |exit : leave and save "
|
||||
65 "!cmd : shell \"cmd\" |nocase: ignore case in search |quit : leave, no save"
|
||||
66 "expand: expand tabs |noexpand: do not expand tabs "
|
||||
67 " press Escape (^[) for menu"
|
||||
68 "no file"
|
||||
69 "ascii code: "
|
||||
70 "sending contents of buffer to \"%s\" "
|
||||
71 "command: "
|
||||
72 "name of file to write: "
|
||||
73 "name of file to read: "
|
||||
74 "character = %d"
|
||||
75 "unknown command \"%s\""
|
||||
76 "entered command is not unique"
|
||||
77 "line %d "
|
||||
78 "length = %d"
|
||||
79 "current file is \"%s\" "
|
||||
80 "usage: %s [-i] [-e] [-h] [+line_number] [file(s)]\n"
|
||||
81 " -i turn off info window\n"
|
||||
82 " -e do not convert tabs to spaces\n"
|
||||
83 " -h do not use highlighting\n"
|
||||
84 "file \"%s\" is a directory"
|
||||
85 "new file \"%s\""
|
||||
86 "can't open \"%s\""
|
||||
87 "file \"%s\", %d lines"
|
||||
88 "finished reading file \"%s\""
|
||||
89 "reading file \"%s\""
|
||||
90 ", read only"
|
||||
91 "file \"%s\", %d lines"
|
||||
92 "enter name of file: "
|
||||
93 "no filename entered: file not saved"
|
||||
94 "changes have been made, are you sure? (y/n [n]) "
|
||||
95 "y"
|
||||
96 "file already exists, overwrite? (y/n) [n] "
|
||||
97 "unable to create file \"%s\""
|
||||
98 "writing file \"%s\""
|
||||
99 "\"%s\" %d lines, %d characters"
|
||||
100 " ...searching"
|
||||
101 "string \"%s\" not found"
|
||||
102 "search for: "
|
||||
103 "could not exec %s\n"
|
||||
104 "press return to continue "
|
||||
105 "press Esc to cancel"
|
||||
106 "menu too large for window"
|
||||
107 "press any key to continue "
|
||||
108 "shell command: "
|
||||
109 "...formatting paragraph..."
|
||||
110 "<!echo 'list of unrecognized words'; echo -=-=-=-=-=-"
|
||||
111 "sending contents of edit buffer to 'spell'"
|
||||
112 "right margin is: "
|
||||
113 "restricted mode: unable to perform requested operation"
|
||||
114 "ON"
|
||||
115 "OFF"
|
||||
116 "HELP"
|
||||
117 "WRITE"
|
||||
118 "READ"
|
||||
119 "LINE"
|
||||
120 "FILE"
|
||||
121 "CHARACTER"
|
||||
122 "REDRAW"
|
||||
123 "RESEQUENCE"
|
||||
124 "AUTHOR"
|
||||
125 "VERSION"
|
||||
126 "CASE"
|
||||
127 "NOCASE"
|
||||
128 "EXPAND"
|
||||
129 "NOEXPAND"
|
||||
130 "EXIT"
|
||||
131 "QUIT"
|
||||
132 "INFO"
|
||||
133 "NOINFO"
|
||||
134 "MARGINS"
|
||||
135 "NOMARGINS"
|
||||
136 "AUTOFORMAT"
|
||||
137 "NOAUTOFORMAT"
|
||||
138 "ECHO"
|
||||
139 "PRINTCOMMAND"
|
||||
140 "RIGHTMARGIN"
|
||||
141 "HIGHLIGHT"
|
||||
142 "NOHIGHLIGHT"
|
||||
143 "EIGHTBIT"
|
||||
144 "NOEIGHTBIT"
|
||||
145 "emacs key bindings "
|
||||
146 "^a beginning of line ^i tab ^r restore word "
|
||||
147 "^b back 1 char ^j undel char ^t top of text "
|
||||
148 "^c command ^k delete line ^u bottom of text "
|
||||
149 "^d delete char ^l undelete line ^v next page "
|
||||
150 "^e end of line ^m newline ^w delete word "
|
||||
151 "^f forward 1 char ^n next line ^x search "
|
||||
152 "^g go back 1 page ^o ascii char insert ^y search prompt "
|
||||
153 "^h backspace ^p prev line ^z next word "
|
||||
154 "^[ (escape) menu ^y search prompt ^k delete line ^p prev li ^g prev page"
|
||||
155 "^o ascii code ^x search ^l undelete line ^n next li ^v next page"
|
||||
156 "^u end of file ^a begin of line ^w delete word ^b back 1 char "
|
||||
157 "^t top of text ^e end of line ^r restore word ^f forward 1 char "
|
||||
158 "^c command ^d delete char ^j undelete char ^z next word "
|
||||
159 "EMACS"
|
||||
160 "NOEMACS"
|
||||
161 " +# put cursor at line #\n"
|
||||
162 "unable to open .init.ee for writing, no configuration saved!"
|
||||
163 "ee configuration saved in file %s"
|
||||
164 "save editor configuration"
|
||||
165 "save ee configuration"
|
||||
166 "save in current directory"
|
||||
167 "save in home directory"
|
||||
168 "ee configuration not saved"
|
||||
169 "must specify a file when invoking ree"
|
57
usr.bin/ee/make.default
Normal file
57
usr.bin/ee/make.default
Normal file
@ -0,0 +1,57 @@
|
||||
# This is the make file for ee, the "easy editor".
|
||||
#
|
||||
# If building ee using curses, type "make curses", otherwise new_curse (a
|
||||
# subset of curses that supports ee) will be built and ee will use new_curse
|
||||
# instead of curses.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# If the system does not have localization routines, use the -DNO_CATGETS
|
||||
# define. If the system supports setlocale(), catopen(), and catgets() and
|
||||
# localization is desired, do not use -DNO_CATGETS.
|
||||
#
|
||||
# DEFINES is used for new_curse.c, and CFLAGS is used for ee.c.
|
||||
#
|
||||
|
||||
# for System V, using new_curse with terminfo
|
||||
DEFINES = -DSYS5 -DNCURSE
|
||||
|
||||
# for BSD, using new_curse with termcap
|
||||
#DEFINES = -DCAP -DNCURSE
|
||||
|
||||
# for BSD systems with select(), using new_curse with termcap, use:
|
||||
#DEFINES = -DCAP -DNCURSE -DBSD_SELECT
|
||||
|
||||
# flags for compilation
|
||||
CFLAGS = -s -DNO_CATGETS
|
||||
|
||||
# For Sun systems, remove the '#' from the front of the next two lines:
|
||||
#DEFINES = -DSYS5 -DNCURSE
|
||||
#CFLAGS = -I/usr/5include -L/usr/5lib -DNO_CATGETS -s
|
||||
|
||||
all : ee
|
||||
|
||||
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)
|
||||
|
||||
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
|
||||
|
3620
usr.bin/ee/new_curse.c
Normal file
3620
usr.bin/ee/new_curse.c
Normal file
File diff suppressed because it is too large
Load Diff
256
usr.bin/ee/new_curse.h
Normal file
256
usr.bin/ee/new_curse.h
Normal file
@ -0,0 +1,256 @@
|
||||
/*
|
||||
| new_curse.h
|
||||
|
|
||||
| A subset of curses developed for use with ae.
|
||||
|
|
||||
| written by Hugh Mahon
|
||||
|
|
||||
| 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 is not a product of Hewlett-Packard, Co., or any
|
||||
| other company. No support is implied or offered with this software.
|
||||
| You've got the source, and you're on your own.
|
||||
|
|
||||
| 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.
|
||||
|
|
||||
| Copyright (c) 1986, 1987, 1988, 1991, 1995 Hugh Mahon
|
||||
| All are rights reserved.
|
||||
|
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef SYS5
|
||||
#include <termio.h>
|
||||
#else
|
||||
#include <sgtty.h>
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
#define KEY_BREAK 0401
|
||||
#define KEY_DOWN 0402
|
||||
#define KEY_UP 0403
|
||||
#define KEY_LEFT 0404
|
||||
#define KEY_RIGHT 0405
|
||||
#define KEY_HOME 0406
|
||||
#define KEY_BACKSPACE 0407
|
||||
#define KEY_F0 0410
|
||||
#define KEY_F(n) (KEY_F0+(n))
|
||||
#define KEY_DL 0510
|
||||
#define KEY_IL 0511
|
||||
#define KEY_DC 0512
|
||||
#define KEY_IC 0513
|
||||
#define KEY_EIC 0514
|
||||
#define KEY_CLEAR 0515
|
||||
#define KEY_EOS 0516
|
||||
#define KEY_EOL 0517
|
||||
#define KEY_SF 0520
|
||||
#define KEY_SR 0521
|
||||
#define KEY_NPAGE 0522
|
||||
#define KEY_PPAGE 0523
|
||||
#define KEY_STAB 0524
|
||||
#define KEY_CTAB 0525
|
||||
#define KEY_CATAB 0526
|
||||
#define KEY_ENTER 0527
|
||||
#define KEY_SRESET 0530
|
||||
#define KEY_RESET 0531
|
||||
#define KEY_PRINT 0532
|
||||
#define KEY_LL 0533
|
||||
#define KEY_A1 0534
|
||||
#define KEY_A3 0535
|
||||
#define KEY_B2 0536
|
||||
#define KEY_C1 0537
|
||||
#define KEY_C3 0540
|
||||
#define KEY_BTAB 0541
|
||||
#define KEY_BEG 0542
|
||||
#define KEY_CANCEL 0543
|
||||
#define KEY_CLOSE 0544
|
||||
#define KEY_COMMAND 0545
|
||||
#define KEY_COPY 0546
|
||||
#define KEY_CREATE 0547
|
||||
#define KEY_END 0550
|
||||
#define KEY_EXIT 0551
|
||||
#define KEY_FIND 0552
|
||||
#define KEY_HELP 0553
|
||||
#define KEY_MARK 0554
|
||||
#define KEY_MESSAGE 0555
|
||||
#define KEY_MOVE 0556
|
||||
#define KEY_NEXT 0557
|
||||
#define KEY_OPEN 0560
|
||||
#define KEY_OPTIONS 0561
|
||||
#define KEY_PREVIOUS 0562
|
||||
#define KEY_REDO 0563
|
||||
#define KEY_REFERENCE 0564
|
||||
#define KEY_REFRESH 0565
|
||||
#define KEY_REPLACE 0566
|
||||
#define KEY_RESTART 0567
|
||||
#define KEY_RESUME 0570
|
||||
#define KEY_SAVE 0571
|
||||
#define KEY_SBEG 0572
|
||||
#define KEY_SCANCEL 0573
|
||||
#define KEY_SCOMMAND 0574
|
||||
#define KEY_SCOPY 0575
|
||||
#define KEY_SCREATE 0576
|
||||
#define KEY_SDC 0577
|
||||
#define KEY_SDL 0600
|
||||
#define KEY_SELECT 0601
|
||||
#define KEY_SEND 0602
|
||||
#define KEY_SEOL 0603
|
||||
#define KEY_SEXIT 0604
|
||||
#define KEY_SFIND 0605
|
||||
#define KEY_SHELP 0606
|
||||
#define KEY_SHOME 0607
|
||||
#define KEY_SIC 0610
|
||||
#define KEY_SLEFT 0611
|
||||
#define KEY_SMESSAGE 0612
|
||||
#define KEY_SMOVE 0613
|
||||
#define KEY_SNEXT 0614
|
||||
#define KEY_SOPTIONS 0615
|
||||
#define KEY_SPREVIOUS 0616
|
||||
#define KEY_SPRINT 0617
|
||||
#define KEY_SREDO 0620
|
||||
#define KEY_SREPLACE 0621
|
||||
#define KEY_SRIGHT 0622
|
||||
#define KEY_SRSUME 0623
|
||||
#define KEY_SSAVE 0624
|
||||
#define KEY_SSUSPEND 0625
|
||||
#define KEY_SUNDO 0626
|
||||
#define KEY_SUSPEND 0627
|
||||
#define KEY_UNDO 0630
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#define A_STANDOUT 0001 /* standout mode */
|
||||
#define SCROLL 1 /* text has been scrolled */
|
||||
#define CLEAR 2 /* window has been cleared */
|
||||
#define CHANGE 3 /* window has been changed */
|
||||
#define UP 1 /* direction of scroll */
|
||||
#define DOWN 2
|
||||
|
||||
struct _line {
|
||||
struct _line *next_screen;
|
||||
struct _line *prev_screen;
|
||||
char *row;
|
||||
char *attributes;
|
||||
int last_char;
|
||||
int changed;
|
||||
int scroll;
|
||||
int number;
|
||||
};
|
||||
|
||||
struct _line *top_of_win;
|
||||
|
||||
typedef struct WIND {
|
||||
int SR; /* starting row */
|
||||
int SC; /* starting column */
|
||||
int LC; /* last column */
|
||||
int LX; /* last cursor column position */
|
||||
int LY; /* last cursor row position */
|
||||
int Attrib; /* attributes active in window */
|
||||
int Num_lines; /* number of lines */
|
||||
int Num_cols; /* number of columns */
|
||||
int scroll_up; /* number of lines moved */
|
||||
int scroll_down;
|
||||
int SCROLL_CLEAR; /* indicates that window has been scrolled or cleared */
|
||||
struct _line *first_line;
|
||||
struct _line **line_array;
|
||||
} WINDOW;
|
||||
|
||||
extern WINDOW *curscr;
|
||||
extern WINDOW *stdscr;
|
||||
|
||||
extern int LINES, COLS;
|
||||
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
#define P_(s) s
|
||||
#else
|
||||
#define P_(s) ()
|
||||
#endif
|
||||
|
||||
extern void copy_window P_((WINDOW *origin, WINDOW *destination));
|
||||
extern void reinitscr P_((int));
|
||||
extern void initscr P_((void));
|
||||
extern int Get_int P_((void));
|
||||
extern int INFO_PARSE P_((void));
|
||||
extern int AtoI P_((void));
|
||||
extern void Key_Get P_((void));
|
||||
extern struct _line *Screenalloc P_((int columns));
|
||||
extern WINDOW *newwin P_((int lines, int cols, int start_l, int start_c));
|
||||
extern int Operation P_((int Temp_Stack[], int place));
|
||||
extern void Info_Out P_((char *string, int p_list[], int place));
|
||||
extern void wmove P_((WINDOW *window, int row, int column));
|
||||
extern void clear_line P_((struct _line *line, int column, int cols));
|
||||
extern void werase P_((WINDOW *window));
|
||||
extern void wclrtoeol P_((WINDOW *window));
|
||||
extern void wrefresh P_((WINDOW *window));
|
||||
extern void touchwin P_((WINDOW *window));
|
||||
extern void wnoutrefresh P_((WINDOW *window));
|
||||
extern void flushinp P_((void));
|
||||
extern void ungetch P_((int c));
|
||||
extern int wgetch P_((WINDOW *window));
|
||||
extern void Clear P_((int));
|
||||
extern int Get_key P_((int first_char));
|
||||
extern void waddch P_((WINDOW *window, int c));
|
||||
extern void winsertln P_((WINDOW *window));
|
||||
extern void wdeleteln P_((WINDOW *window));
|
||||
extern void wclrtobot P_((WINDOW *window));
|
||||
extern void wstandout P_((WINDOW *window));
|
||||
extern void wstandend P_((WINDOW *window));
|
||||
extern void waddstr P_((WINDOW *window, char *string));
|
||||
extern void clearok P_((WINDOW *window, int flag));
|
||||
extern void echo P_((void));
|
||||
extern void noecho P_((void));
|
||||
extern void raw P_((void));
|
||||
extern void noraw P_((void));
|
||||
extern void nl P_((void));
|
||||
extern void nonl P_((void));
|
||||
extern void saveterm P_((void));
|
||||
extern void fixterm P_((void));
|
||||
extern void resetterm P_((void));
|
||||
extern void nodelay P_((WINDOW *window, int flag));
|
||||
extern void idlok P_((WINDOW *window, int flag));
|
||||
extern void keypad P_((WINDOW *window, int flag));
|
||||
extern void savetty P_((void));
|
||||
extern void resetty P_((void));
|
||||
extern void endwin P_((void));
|
||||
extern void delwin P_((WINDOW *window));
|
||||
extern void wprintw P_((WINDOW *window, const char* format, ...));
|
||||
extern void iout P_((WINDOW *window, int value));
|
||||
extern int Comp_line P_((struct _line *line1, struct _line *line2));
|
||||
extern struct _line *Insert_line P_((int row, int end_row, WINDOW *window));
|
||||
extern struct _line *Delete_line P_((int row, int end_row, WINDOW *window));
|
||||
extern void CLEAR_TO_EOL P_((WINDOW *window, int row, int column));
|
||||
extern int check_delete P_((WINDOW *window, int line, int offset, struct _line *pointer_new, struct _line *pointer_old));
|
||||
extern int check_insert P_((WINDOW *window, int line, int offset, struct _line *pointer_new, struct _line *pointer_old));
|
||||
extern void doupdate P_((void));
|
||||
extern void Position P_((WINDOW *window, int row, int col));
|
||||
extern void Char_del P_((char *line, char *attrib, int offset, int maxlen));
|
||||
extern void Char_ins P_((char *line, char *attrib, int newc, int newatt, int offset, int maxlen));
|
||||
extern void attribute_on P_((void));
|
||||
extern void attribute_off P_((void));
|
||||
extern void Char_out P_((int newc, int newatt, char *line, char *attrib, int offset));
|
||||
|
||||
#undef P_
|
||||
|
Loading…
Reference in New Issue
Block a user