Remove nvi/ files from contrib (replaced by nvi2/)
authorJohn Marino <draco@marino.st>
Sat, 8 Aug 2015 16:26:44 +0000 (18:26 +0200)
committerJohn Marino <draco@marino.st>
Sat, 8 Aug 2015 17:02:06 +0000 (19:02 +0200)
219 files changed:
contrib/nvi/LICENSE [deleted file]
contrib/nvi/README [deleted file]
contrib/nvi/catalog/Makefile [deleted file]
contrib/nvi/catalog/README [deleted file]
contrib/nvi/catalog/dump.c [deleted file]
contrib/nvi/catalog/dutch.base [deleted file]
contrib/nvi/catalog/dutch.owner [deleted file]
contrib/nvi/catalog/english.owner [deleted file]
contrib/nvi/catalog/french.base [deleted file]
contrib/nvi/catalog/german.base [deleted file]
contrib/nvi/catalog/german.owner [deleted file]
contrib/nvi/catalog/polish.base [deleted file]
contrib/nvi/catalog/polish.owner [deleted file]
contrib/nvi/catalog/ru_RU.KOI8-R.base [deleted file]
contrib/nvi/catalog/ru_RU.KOI8-R.owner [deleted file]
contrib/nvi/catalog/spanish.base [deleted file]
contrib/nvi/catalog/spell.ok [deleted file]
contrib/nvi/catalog/swedish.base [deleted file]
contrib/nvi/catalog/swedish.owner [deleted file]
contrib/nvi/catalog/uk_UA.KOI8-U.base [deleted file]
contrib/nvi/catalog/uk_UA.KOI8-U.owner [deleted file]
contrib/nvi/catalog/zh_CN.GB2312.base [deleted file]
contrib/nvi/catalog/zh_CN.GB2312.owner [deleted file]
contrib/nvi/cl/README.signal [deleted file]
contrib/nvi/cl/cl.h [deleted file]
contrib/nvi/cl/cl_funcs.c [deleted file]
contrib/nvi/cl/cl_main.c [deleted file]
contrib/nvi/cl/cl_read.c [deleted file]
contrib/nvi/cl/cl_screen.c [deleted file]
contrib/nvi/cl/cl_term.c [deleted file]
contrib/nvi/cl/extern.h [deleted file]
contrib/nvi/common/args.h [deleted file]
contrib/nvi/common/common.h [deleted file]
contrib/nvi/common/conv.c [deleted file]
contrib/nvi/common/conv.h [deleted file]
contrib/nvi/common/cut.c [deleted file]
contrib/nvi/common/cut.h [deleted file]
contrib/nvi/common/delete.c [deleted file]
contrib/nvi/common/encoding.c [deleted file]
contrib/nvi/common/exf.c [deleted file]
contrib/nvi/common/exf.h [deleted file]
contrib/nvi/common/extern.h [deleted file]
contrib/nvi/common/gs.h [deleted file]
contrib/nvi/common/key.c [deleted file]
contrib/nvi/common/key.h [deleted file]
contrib/nvi/common/line.c [deleted file]
contrib/nvi/common/log.c [deleted file]
contrib/nvi/common/log.h [deleted file]
contrib/nvi/common/main.c [deleted file]
contrib/nvi/common/mark.c [deleted file]
contrib/nvi/common/mark.h [deleted file]
contrib/nvi/common/mem.h [deleted file]
contrib/nvi/common/msg.c [deleted file]
contrib/nvi/common/msg.h [deleted file]
contrib/nvi/common/multibyte.h [deleted file]
contrib/nvi/common/options.awk [deleted file]
contrib/nvi/common/options.c [deleted file]
contrib/nvi/common/options.h [deleted file]
contrib/nvi/common/options_def.h [deleted file]
contrib/nvi/common/options_f.c [deleted file]
contrib/nvi/common/put.c [deleted file]
contrib/nvi/common/recover.c [deleted file]
contrib/nvi/common/screen.c [deleted file]
contrib/nvi/common/screen.h [deleted file]
contrib/nvi/common/search.c [deleted file]
contrib/nvi/common/seq.c [deleted file]
contrib/nvi/common/seq.h [deleted file]
contrib/nvi/common/util.c [deleted file]
contrib/nvi/common/util.h [deleted file]
contrib/nvi/docs/TODO [deleted file]
contrib/nvi/docs/USD.doc/edit/Makefile [deleted file]
contrib/nvi/docs/USD.doc/edit/edit.vindex [deleted file]
contrib/nvi/docs/USD.doc/edit/edittut.ms [deleted file]
contrib/nvi/docs/USD.doc/exref/Makefile [deleted file]
contrib/nvi/docs/USD.doc/exref/ex.rm [deleted file]
contrib/nvi/docs/USD.doc/exref/ex.summary [deleted file]
contrib/nvi/docs/USD.doc/vi.man/Makefile [deleted file]
contrib/nvi/docs/USD.doc/vi.man/spell.ok [deleted file]
contrib/nvi/docs/USD.doc/vi.man/vi.1 [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/Makefile [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/ex.cmd.roff [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/index.so [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/merge.awk [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/ref.so [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/set.opt.roff [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/spell.ok [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/vi.cmd.roff [deleted file]
contrib/nvi/docs/USD.doc/vi.ref/vi.ref [deleted file]
contrib/nvi/docs/USD.doc/vitut/Makefile [deleted file]
contrib/nvi/docs/USD.doc/vitut/vi.apwh.ms [deleted file]
contrib/nvi/docs/USD.doc/vitut/vi.chars [deleted file]
contrib/nvi/docs/USD.doc/vitut/vi.in [deleted file]
contrib/nvi/docs/USD.doc/vitut/vi.summary [deleted file]
contrib/nvi/docs/changelog [deleted file]
contrib/nvi/docs/ev [deleted file]
contrib/nvi/docs/features [deleted file]
contrib/nvi/docs/help [deleted file]
contrib/nvi/docs/internals/autowrite [deleted file]
contrib/nvi/docs/internals/context [deleted file]
contrib/nvi/docs/internals/gdb.script [deleted file]
contrib/nvi/docs/internals/input [deleted file]
contrib/nvi/docs/internals/openmode [deleted file]
contrib/nvi/docs/internals/quoting [deleted file]
contrib/nvi/docs/internals/structures [deleted file]
contrib/nvi/docs/interp/interp [deleted file]
contrib/nvi/docs/interp/spell.ok [deleted file]
contrib/nvi/docs/spell.ok [deleted file]
contrib/nvi/docs/tutorial/vi.advanced [deleted file]
contrib/nvi/docs/tutorial/vi.beginner [deleted file]
contrib/nvi/docs/tutorial/vi.tut.csh [deleted file]
contrib/nvi/ex/ex.awk [deleted file]
contrib/nvi/ex/ex.c [deleted file]
contrib/nvi/ex/ex.h [deleted file]
contrib/nvi/ex/ex_abbrev.c [deleted file]
contrib/nvi/ex/ex_append.c [deleted file]
contrib/nvi/ex/ex_args.c [deleted file]
contrib/nvi/ex/ex_argv.c [deleted file]
contrib/nvi/ex/ex_at.c [deleted file]
contrib/nvi/ex/ex_bang.c [deleted file]
contrib/nvi/ex/ex_cd.c [deleted file]
contrib/nvi/ex/ex_cmd.c [deleted file]
contrib/nvi/ex/ex_cscope.c [deleted file]
contrib/nvi/ex/ex_def.h [deleted file]
contrib/nvi/ex/ex_delete.c [deleted file]
contrib/nvi/ex/ex_display.c [deleted file]
contrib/nvi/ex/ex_edit.c [deleted file]
contrib/nvi/ex/ex_equal.c [deleted file]
contrib/nvi/ex/ex_file.c [deleted file]
contrib/nvi/ex/ex_filter.c [deleted file]
contrib/nvi/ex/ex_global.c [deleted file]
contrib/nvi/ex/ex_init.c [deleted file]
contrib/nvi/ex/ex_join.c [deleted file]
contrib/nvi/ex/ex_map.c [deleted file]
contrib/nvi/ex/ex_mark.c [deleted file]
contrib/nvi/ex/ex_mkexrc.c [deleted file]
contrib/nvi/ex/ex_move.c [deleted file]
contrib/nvi/ex/ex_open.c [deleted file]
contrib/nvi/ex/ex_preserve.c [deleted file]
contrib/nvi/ex/ex_print.c [deleted file]
contrib/nvi/ex/ex_put.c [deleted file]
contrib/nvi/ex/ex_quit.c [deleted file]
contrib/nvi/ex/ex_read.c [deleted file]
contrib/nvi/ex/ex_screen.c [deleted file]
contrib/nvi/ex/ex_script.c [deleted file]
contrib/nvi/ex/ex_set.c [deleted file]
contrib/nvi/ex/ex_shell.c [deleted file]
contrib/nvi/ex/ex_shift.c [deleted file]
contrib/nvi/ex/ex_source.c [deleted file]
contrib/nvi/ex/ex_stop.c [deleted file]
contrib/nvi/ex/ex_subst.c [deleted file]
contrib/nvi/ex/ex_tag.c [deleted file]
contrib/nvi/ex/ex_txt.c [deleted file]
contrib/nvi/ex/ex_undo.c [deleted file]
contrib/nvi/ex/ex_usage.c [deleted file]
contrib/nvi/ex/ex_util.c [deleted file]
contrib/nvi/ex/ex_version.c [deleted file]
contrib/nvi/ex/ex_visual.c [deleted file]
contrib/nvi/ex/ex_write.c [deleted file]
contrib/nvi/ex/ex_yank.c [deleted file]
contrib/nvi/ex/ex_z.c [deleted file]
contrib/nvi/ex/extern.h [deleted file]
contrib/nvi/ex/script.h [deleted file]
contrib/nvi/ex/tag.h [deleted file]
contrib/nvi/ex/version.h [deleted file]
contrib/nvi/regex/COPYRIGHT [deleted file]
contrib/nvi/regex/WHATSNEW [deleted file]
contrib/nvi/regex/cclass.h [deleted file]
contrib/nvi/regex/cname.h [deleted file]
contrib/nvi/regex/engine.c [deleted file]
contrib/nvi/regex/re_format.7 [deleted file]
contrib/nvi/regex/regcomp.c [deleted file]
contrib/nvi/regex/regerror.c [deleted file]
contrib/nvi/regex/regex.3 [deleted file]
contrib/nvi/regex/regex.h [deleted file]
contrib/nvi/regex/regex2.h [deleted file]
contrib/nvi/regex/regexec.c [deleted file]
contrib/nvi/regex/regfree.c [deleted file]
contrib/nvi/regex/utils.h [deleted file]
contrib/nvi/vi/extern.h [deleted file]
contrib/nvi/vi/getc.c [deleted file]
contrib/nvi/vi/v_at.c [deleted file]
contrib/nvi/vi/v_ch.c [deleted file]
contrib/nvi/vi/v_cmd.c [deleted file]
contrib/nvi/vi/v_delete.c [deleted file]
contrib/nvi/vi/v_ex.c [deleted file]
contrib/nvi/vi/v_increment.c [deleted file]
contrib/nvi/vi/v_init.c [deleted file]
contrib/nvi/vi/v_itxt.c [deleted file]
contrib/nvi/vi/v_left.c [deleted file]
contrib/nvi/vi/v_mark.c [deleted file]
contrib/nvi/vi/v_match.c [deleted file]
contrib/nvi/vi/v_paragraph.c [deleted file]
contrib/nvi/vi/v_put.c [deleted file]
contrib/nvi/vi/v_redraw.c [deleted file]
contrib/nvi/vi/v_replace.c [deleted file]
contrib/nvi/vi/v_right.c [deleted file]
contrib/nvi/vi/v_screen.c [deleted file]
contrib/nvi/vi/v_scroll.c [deleted file]
contrib/nvi/vi/v_search.c [deleted file]
contrib/nvi/vi/v_section.c [deleted file]
contrib/nvi/vi/v_sentence.c [deleted file]
contrib/nvi/vi/v_status.c [deleted file]
contrib/nvi/vi/v_txt.c [deleted file]
contrib/nvi/vi/v_ulcase.c [deleted file]
contrib/nvi/vi/v_undo.c [deleted file]
contrib/nvi/vi/v_util.c [deleted file]
contrib/nvi/vi/v_word.c [deleted file]
contrib/nvi/vi/v_xchar.c [deleted file]
contrib/nvi/vi/v_yank.c [deleted file]
contrib/nvi/vi/v_z.c [deleted file]
contrib/nvi/vi/v_zexit.c [deleted file]
contrib/nvi/vi/vi.c [deleted file]
contrib/nvi/vi/vi.h [deleted file]
contrib/nvi/vi/vs_line.c [deleted file]
contrib/nvi/vi/vs_msg.c [deleted file]
contrib/nvi/vi/vs_refresh.c [deleted file]
contrib/nvi/vi/vs_relative.c [deleted file]
contrib/nvi/vi/vs_smap.c [deleted file]
contrib/nvi/vi/vs_split.c [deleted file]

diff --git a/contrib/nvi/LICENSE b/contrib/nvi/LICENSE
deleted file mode 100644 (file)
index c791511..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * $Id: LICENSE,v 8.18 2011/07/10 11:58:35 zy Exp $
- */
-
-The following are the copyrights and redistribution conditions that apply
-to this copy of the Vi software.
-
-/*
- * Copyright (c) 1991, 1992, 1993, 1994
- *      The Regents of the University of California.  All rights reserved.
- *  Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
- *     Keith Bostic.  All rights reserved.
- *  Copyright (c) 1999, 2000
- *     Sven Verdoolaege.  All rights reserved.
- *  Copyright (c) 2011
- *     Zhihao Yuan.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
diff --git a/contrib/nvi/README b/contrib/nvi/README
deleted file mode 100644 (file)
index bb05379..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-#      $Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
-
-This is version 2.1.1 (2012-10-07) of nex/nvi, a reimplementation of the ex/vi
-text editors originally distributed as part of the Fourth Berkeley
-Software Distribution (4BSD), by the University of California, Berkeley.
-
-The directory layout is as follows:
-
-    LICENSE ....... Copyright, use and redistribution information.
-    README ........ This file.
-    build ......... Build directory.
-    catalog ....... Message catalogs; see catalog/README.
-    cl ............ Vi interface to the curses(3) library.
-    common ........ Code shared by ex and vi.
-    docs .......... Ex/vi documentation, both current and historic.
-    ex ............ Ex source code.
-    regex ......... Modified regex library with wide character support.
-    vi ............ Vi source code.
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-o Nvi was written by Keith Bostic, and the last version is 1.79.  After that,
-
-       Sven Verdoolaege added the iconv support and the DB3 locking.
-
-       Jun-ichiro itojun Hagino developed the file encoding detection
-       techniques in his nvi-m17n.
-
-The following acknowledgments were written by Keith Bostic:
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-o This software is several years old and is the product of many folks' work.  
-
-       This software was originally derived from software contributed to
-       the University of California, Berkeley by Steve Kirkendall, the
-       author of the vi clone elvis.  Without his work, this work would
-       have been far more difficult.
-
-       IEEE POSIX 1003.2 style regular expression support is courtesy of
-       Henry Spencer, for which I am *very* grateful.
-
-       Elan Amir did the original 4BSD curses work that made it possible
-       to support a full-screen editor using curses.
-
-       George Neville-Neil added the Tcl interpreter, and the initial
-       interpreter design was his.
-
-       Sven Verdoolaege added the Perl interpreter.
-
-       Rob Mayoff provided the original Cscope support.
-
-o Many, many people suggested enhancements, and provided bug reports and
-  testing, far too many to individually thank.
-
-o From the original vi acknowledgements, by William Joy and Mark Horton:
-
-       Bruce Englar encouraged the early development of this display
-       editor.  Peter Kessler helped bring sanity to version 2's
-       command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
-       and created the framework that users see in the present editor.
-       Mark Horton added macros and other features and made the editor
-       work on a large number of terminals and Unix systems.
-
-o And...
-       The financial support of UUNET Communications Services is gratefully
-       acknowledged.
diff --git a/contrib/nvi/catalog/Makefile b/contrib/nvi/catalog/Makefile
deleted file mode 100644 (file)
index 11e71cc..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#      $Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
-
-CAT=   dutch english french german polish ru_RU.KOI8-R spanish swedish \
-       uk_UA.KOI8-U zh_CN.GB2312
-FILES= ../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c
-
-all: dump ${CAT}
-
-${CAT}: english.base
-       @echo "... $@";                                                 \
-       rm -f $@;                                                       \
-       sort -u $@.base |                                               \
-       awk '{                                                          \
-               if ($$1 == 1) {                                         \
-                       print "\nMESSAGE NUMBER 1 IS NOT LEGAL";        \
-                       exit 1;                                         \
-               }                                                       \
-               if (++nline > $$1) {                                    \
-                       print "DUPLICATE MESSAGE NUMBER " $$1;          \
-                       exit 1;                                         \
-               }                                                       \
-               print $0;                                               \
-       }' |                                                            \
-       sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' |                   \
-       gencat $@ /dev/stdin;                                           \
-       chmod 444 $@;                                                   \
-       if grep DUPLICATE $@ > /dev/null; then                          \
-               grep DUPLICATE $@;                                      \
-       fi;                                                             \
-       if grep 'NOT LEGAL' $@ > /dev/null; then                        \
-               grep 'NOT LEGAL' $@;                                    \
-       fi
-
-CHK=   dutch.check english.check french.check german.check \
-       polish.check ru_RU.KOI8-R.check spanish.check swedish.check \
-       uk_UA.KOI8-U.check zh_CN.GB2312.check
-check: ${CHK}
-${CHK}: ${CAT}
-       @echo "... $@";                                                 \
-       f=`basename $@ .check`;                                         \
-       (echo "Unused message id's (this is okay):";                    \
-       awk '{                                                          \
-               while (++nline < $$1)                                   \
-                       printf "%03d\n", nline;                         \
-       }' < $$f.base;                                                  \
-       echo =========================;                                 \
-       echo "MISSING ERROR MESSAGES (Please add!):";                   \
-       awk '{print $$1}' < $$f.base | sort -u > __ck1;                 \
-       awk '{print $$1}' < english.base | sort -u > __ck2;             \
-       comm -13 __ck1 __ck2;                                           \
-       echo =========================;                                 \
-       echo "Extra error messages (just delete them):";                \
-       comm -23 __ck1 __ck2;                                           \
-       echo =========================;                                 \
-       echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):";             \
-       for j in                                                        \
-           `sed '/^$$/d' < $$f.base | sort -u |                        \
-           awk '{print $$1}' | uniq -d`; do                            \
-               egrep $$j $$f.base;                                     \
-       done;                                                           \
-       echo =========================;                                 \
-       echo "Duplicate messages, both id and message (this is okay):"; \
-       sed '/^$$/d' < $$f.base | sort | uniq -c |                      \
-       awk '$$1 != 1 { print $$0 }' | sort -n;                         \
-       echo =========================) > $@
-
-english.base: dump ${FILES} #Makefile
-       ./dump ${FILES} |\
-       sed -e '/|/!d' \
-           -e 's/|/ "/' \
-           -e 's/^"//' |\
-       sort -nu > $@
-
-dump: dump.c
-       ${CC} -O -o dump dump.c
-
-clean:
-       rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2
diff --git a/contrib/nvi/catalog/README b/contrib/nvi/catalog/README
deleted file mode 100644 (file)
index 42a728a..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-#      $Id: README,v 9.0 2012/10/19 17:06:15 zy Exp $
-
-Generally, all non-system error and informational messages in nvi are
-catalog messages, i.e. they can be tailored to a specific langauge.
-Command strings, usage strings, system errors and other 'known text'
-are not.
-
-Message catalogs in nvi are fairly simple.  Every catalog message
-consists of two parts -- an initial number followed by a pipe (`|')
-character, followed by the English text for the message.  For example:
-
-       msgq(sp, M_ERR, "001|This is an error message");
-
-would be a typical message.
-
-When the msgq() routine is called, if the user has specified a message
-catalog and the format string (the third argument) has a leading number,
-then it is converted to a record number, and that record is retrieved
-from the message catalog and used as a replacement format string.  If
-the record can't be retrieved for any reason, the English text is displayed
-instead.
-
-Each message format string MUST map into the English format string, i.e.
-it can't display more or different arguments than the English one.
-
-For example:
-
-       msgq(sp, M_ERR, "002|Error: %d %x", arg1, arg2);
-
-is a format string that displays two arguments.
-
-Arguments to the msgq function are required to contain ONLY printable
-characters.  No further translation is done by the msgq routine before
-displaying the message on the screen.  For example, in the msgq call:
-
-       msgq(sp, M_ERR, "003|File: %s", file_name);
-
-"file_name" must contain only printable characters.  The routine
-msg_print() returns a printable version of a string; the third argument
-indicates whether the string needs to be freed.  For example:
-
-       char *p;
-       int nf;
-
-       p = msg_print(sp, file_name, &nf);
-       msgq(sp, M_ERR, "003|File: %s", p);
-       if (nf)
-               FREE_SPACE(sp, p, 0);
-
-makes sure that "file_name" is printable before calling the msgq
-routine.
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-The message catalogs themselves are maintained in two files.  The first
-is the "base file" which contains two fields, a record number and the
-message itself.  All base files are named using the convention
-"<language>.base", e.g. the English one is "english.base".  For
-example:
-
-       002 "Line length overflow"
-       003 "unable to delete line %lu"
-       004 "unable to append to line %lu"
-       005 "unable to insert at line %lu"
-       006 "unable to store line %lu"
-       007 "unable to get last line"
-
-are the first few lines of the current english.base file.
-
-Before this file being converted to the second file, the POSIX formatted
-message catalog file, by gencat(1), two lines:
-
-       $set 1
-       $quote "
-
-will be inserted before the base text to setup the set_id and the quote
-character.  So the double-quote needs to be escaped by a backslash to be
-included in a message; same as the backslash itself.
-
-These files are named for their language, e.g. "english".  However, a
-locale(1) name is also recommended.
-
-To create a new catalog for nvi:
-
-Copy the file english.base to a file that you can modify , e.g.  "cp
-english.base german.base".  For each of the messages in the file,
-replace the message with the string that you want to use.  If you have
-doubts about the meaning of a message, just email me.
-
-A latest english.base can be created from source by running the command
-"make english" in the catalog/ directory.
-
-Once you've translated all of the strings, then add your catalog to the
-"CAT=" line of the Makefile, and run the command "make catalog".  This
-will create the second (and corresponding) file for each file named
-<language>.base.
-
-Don't worry about missing line numbers, i.e. base files that look like:
-
-       005     Message number 5.
-       007     Message number 7.
-
-This simply means that a message was deleted during the course of nvi's
-development.  It will be taken care of automatically when you create
-the second form of the file.
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-If you add new messages to the nvi sources, you can check your work by
-doing "make english; make check".  The "make check" target lists unused
-message numbers, duplicate message numbers, and duplicate messages.
-Unused message numbers are only useful if you are condensing messages.
-Duplicate message numbers are a serious problem and have to be fixed.
-Duplicate messages are only interesting if a message appears often enough
-that it's worth creating a routine so that the string is only need in
-a single place.
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-To select a catalog when running nvi, set the "msgcat" option.  If the
-value of this option ends with a '/', it is treated as the name of a
-directory that contains a message catalog "$LC_MESSAGES", which is set
-through the LC_MESSAGES environment variable but returned by setlocale(3).
-Check the output of locale(1) to validate such a value.  If the option
-doesn't end in a '/', the option is treated as the full path name of the
-message catalog to use.
-
-If any messages are missing from the catalog, the backup text (English)
-is used instead.
diff --git a/contrib/nvi/catalog/dump.c b/contrib/nvi/catalog/dump.c
deleted file mode 100644 (file)
index b657877..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef lint
-static char copyright[] =
-"@(#) Copyright (c) 1992, 1993, 1994\n\
-       The Regents of the University of California.  All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-static char sccsid[] = "@(#)dump.c     8.1 (Berkeley) 8/31/94";
-#endif /* not lint */
-
-#include <ctype.h>
-#include <stdio.h>
-
-static void
-parse(fp)
-       FILE *fp;
-{
-       int ch, s1, s2, s3;
-
-#define        TESTD(s) {                                                      \
-       if ((s = getc(fp)) == EOF)                                      \
-               return;                                                 \
-       if (!isdigit(s))                                                \
-               continue;                                               \
-}
-#define        TESTP {                                                         \
-       if ((ch = getc(fp)) == EOF)                                     \
-               return;                                                 \
-       if (ch != '|')                                                  \
-               continue;                                               \
-}
-#define        MOVEC(t) {                                                      \
-       do {                                                            \
-               if ((ch = getc(fp)) == EOF)                             \
-                       return;                                         \
-       } while (ch != (t));                                            \
-}
-       for (;;) {
-               MOVEC('"');
-               TESTD(s1);
-               TESTD(s2);
-               TESTD(s3);
-               TESTP;
-               putchar('"');
-               putchar(s1);
-               putchar(s2);
-               putchar(s3);
-               putchar('|');
-               for (;;) {              /* dump to end quote. */
-                       if ((ch = getc(fp)) == EOF)
-                               return;
-                       putchar(ch);
-                       if (ch == '"')
-                               break;
-                       if (ch == '\\') {
-                               if ((ch = getc(fp)) == EOF)
-                                       return;
-                               putchar(ch);
-                       }
-               }
-               putchar('\n');
-       }
-}
-
-int
-main(argc, argv)
-       int argc;
-       char *argv[];
-{
-       FILE *fp;
-
-       for (; *argv != NULL; ++argv) {
-               if ((fp = fopen(*argv, "r")) == NULL) {
-                       perror(*argv);
-                       return (1);
-               }
-               parse(fp);
-               (void)fclose(fp);
-       }
-       return (0);
-}
diff --git a/contrib/nvi/catalog/dutch.base b/contrib/nvi/catalog/dutch.base
deleted file mode 100644 (file)
index eca193c..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "regel te lang"
-003 "kan regel %lu niet verwijderen"
-004 "kan niet toevoegen aan regel %lu"
-005 "kan niet invoegen vooraan regel %lu"
-006 "kan regel %lu niet opslaan"
-007 "kan laatste regel niet lezen"
-008 "Fout: kan regel %lu niet vinden"
-009 "log bestand"
-010 "Er vindt geen logging plaats, kan wijzigingen niet ongedaan maken"
-011 "geen wijzigingen om ongedaan te maken"
-012 "Er vindt geen logging plaats, kan wijzigingen niet ongedaan maken"
-013 "Er vindt geen logging plaats, herhaling niet mogelijk"
-014 "geen wijzigingen om te herhalen"
-015 "%s/%d: schrijven naar log mislukt"
-016 "Vi's standaard invoer en uitvoer moeten aan een terminal gekoppeld zijn"
-017 "Merk %s: niet gezet"
-018 "Merk %s: de regel is verwijderd"
-019 "Merk %s: de cursor positie bestaat niet meer"
-020 "Fout: "
-021 "nieuw bestand"
-022 "naam veranderd"
-023 "gewijzigd"
-024 "ongewijzigd"
-025 "NIET BEVEILIGD"
-026 "niet schrijfbaar"
-027 "regel %lu uit %lu [%ld%%]"
-028 "leeg bestand"
-029 "regel %lu"
-030 "Het bestand %s is geen message catalog"
-031 "Niet in staat om de standaard %s optie in te stellen"
-032 "Gebruik: %s"
-033 "set: optie %s onbekend: 'set all' laat alle opties zien"
-034 "set: [no]%s optie kan geen waarde hebben"
-035 "set: %s optie moet een waarde hebben"
-036 "set: %s optie: %s"
-037 "set: %s optie: %s: getal is te groot"
-038 "set: %s optie: %s is een ongeldige waarde"
-039 "set: %s optie moet een waarde hebben"
-040 "Te weinig kolommen op het scherm, minder dan %d"
-041 "Aantal kolommen te groot, meer dan %d"
-042 "Te weinig regels op het scherm, minder dan %d"
-043 "Aantal regels te groot, meer dan %d"
-044 "De lisp optie is niet ondersteund"
-045 "messages niet uitgeschakeld: %s"
-046 "messages niet geactiveerd: %s"
-047 "De %s optie moet karakter paren bevatten"
-053 "De standaard buffer is leeg"
-054 "Buffer %s is leeg"
-055 "Bestanden met newlines in de naam kunnen niet hersteld worden"
-056 "Wijzigingen kunnen niet ongedaan gemaakt worden als deze sessie mislukt"
-057 "Bestand wordt gecopieerd voor herstel..."
-058 "Herstel mechanisme werkt niet: %s"
-059 "Wijzigingen kunnen niet ongedaan gemaakt worden als deze sessie mislukt"
-060 "Kon bestand niet veilig stellen: %s"
-061 "Bestand wordt gecopieerd voor herstel..."
-062 "Informatie met betrekking tot gebruiker nummer %u niet gevonden"
-063 "Kan herstel bestand niet beveiligen"
-064 "herstel buffer overgelopen"
-065 "herstel bestand"
-066 "%s: verminkt herstel bestand"
-067 "%s: verminkt herstel bestand"
-068 "U heeft geen bestand genaamd %s te herstellen"
-069 "U kan eerdere versies van dit bestand herstellen"
-070 "U kan nog meer bestanden herstellen"
-071 "kan geen email versturen: %s"
-072 "Bestand leeg; niets om te doorzoeken"
-073 "Einde van het bestand bereikt zonder dat het patroon gevonden is"
-074 "Geen vorig zoek patroon"
-075 "Patroon niet gevonden"
-076 "Begin van het bestand bereikt zonder dat het patroon gevonden is"
-077 "Zoek-operatie omgeslagen"
-078 "Bezig met zoeken..."
-079 "Geen niet-printbaar karakter gevonden"
-080 "Onbekend commando"
-082 "Commando niet beschikbaar in ex mode"
-083 "Aantal mag niet nul zijn"
-084 "%s: ongeldige regel aanduiding"
-085 "Interne fout in syntax tabel (%s: %s)"
-086 "Gebruik: %s"
-087 "%s: tijdelijke buffer niet vrijgegeven"
-088 "Vlag offset voor regel 1"
-089 "Vlag offset voorbij bestands einde"
-090 "bestand/scherm veranderd tijdens uitvoeren van @ in een blok"
-091 "bestand/scherm veranderd tijdens uitvoeren van globaal/v commando"
-092 "Ex commando mislukt: rest van commando(s) genegeerd"
-093 "Ex commando mislukt: gemappede toetsen genegeerd"
-094 "Het tweede adres is kleiner dan het eerste"
-095 "Geen merk naam opgegeven"
-096 "\\ niet gevolgd door / of ?"
-097 "Referentie aan een regel nummer kleiner dan 0"
-098 "Het %s commando is onbekend"
-099 "Adres waarde te groot"
-100 "Adres waarde te klein"
-101 "Ongeldige adres combinatie"
-102 "Ongeldig adres: slechts %lu regels in het bestand aanwezig"
-103 "Ongeldig adres: het bestand is leeg"
-104 "Het %s commando staat het adres 0 niet toe"
-105 "Geen afkortingen om weer te geven"
-106 "Afkortingen moeten eindigen met een \"woord\" letter"
-107 "Afkortingen mogen geen tabulaties of spaties bevatten"
-108 "Afkortingen mogen geen woord/niet-woord karakters mengen, behalve aan het einde"
-109 "\"%s\" is geen afkorting"
-110 "Vi commando mislukt: gemappede toetsen genegeerd"
-111 "Dit is het laatste bestand"
-112 "Dit is het eerste bestand"
-113 "Dit is het eerste bestand"
-114 "lijst met bestanden is leeg"
-115 "Geen voorgaand commando om \"!\" te vervangen"
-116 "Geen bestandsnaam voor %%"
-117 "Geen bestandsnaam voor #"
-118 "Fout: execl: %s"
-119 "I/O fout: %s"
-120 "Bestand gewijzigd sinds laatste schrijfactie; schrijf het weg of gebruik ! om het te forceren"
-121 "Kan uw home directory niet vinden"
-122 "Nieuwe huidige directory: %s"
-123 "Geen cut buffers aanwezig"
-124 "Het %s commando kan niet gebruikt worden in een globaal of v commando"
-125 "%s/%s: niet gelezen: noch U noch root is de eigenaar"
-126 "%s/%s: niet gelezen: U bent niet de eigenaar"
-127 "%s/%s: niet gelezen: kan gewijzigd worden door andere gebruikers"
-128 "%s: niet gelezen: noch U noch root is de eigenaar"
-129 "%s: niet gelezen: U bent niet de eigenaar"
-130 "%s: niet gelezen: kan gewijzigd worden door andere gebruikers"
-131 "Geen volgende regel om samen te voegen"
-132 "Geen input map entries"
-133 "Geen command map entries"
-134 "Het %s karakter kan niet ge-remapped worden"
-135 "\"%s\" is niet gemapped"
-136 "Merk naam moet een enkel karakter zijn"
-137 "%s bestaat al, niet weggeschreven; gebruik ! om het te forceren"
-138 "Nieuw .exrc bestand: %s. "
-139 "doel regel ligt in het blok"
-140 "Het open commando vereist dat de open optie actief is"
-141 "Het open commando is nog niet ondersteund"
-142 "Kan dit bestand niet veilig stellen"
-143 "Bestand veilig gesteld"
-144 "%s resulteert in te veel bestandsnamen"
-145 "Alleen echte bestanden en named pipes kunnen gelezen worden"
-146 "%s: lees beveiliging niet beschikbaar"
-147 "Bezig met lezen..."
-148 "%s: %lu regels, %lu karakters"
-149 "Geen achtergrond schermen aanwezig"
-150 "Het script commando is alleen beschikbaar in vi mode"
-151 "Geen comando om uit te voeren"
-152 "shiftwidth optie op 0 gezet"
-153 "Count te groot"
-154 "Count te klein"
-155 "Reguliere expressie opgegeven; r vlag heeft geen betekenis"
-156 "De #, l en p vlaggen kunnen niet gecombineerd worden met de c vlag in vi mode"
-157 "Geen match gevonden"
-158 "Geen voorafgaande tag aanwezig"
-159 "Minder dan %s elementen op de tags stapel; gebruik :display t[ags]"
-160 "Geen bestand genaamd %s op de tags stapel; gebruik :display t[ags]"
-161 "Kies Enter om door te gaan: "
-162 "%s: tag niet gevonden"
-163 "%s: verminkte tag in %s"
-164 "%s: Het regel nummer van deze tag is voorbij het einde van het bestand"
-165 "De tags stapel is leeg"
-166 "%s: zoek patroon niet gevonden"
-167 "%d andere bestanden te wijzigen"
-168 "Buffer %s is leeg"
-169 "Bevestig wijziging? [n]"
-170 "Onderbroken"
-171 "Geen voorafgaande buffer om uit te voeren"
-172 "Geen vorige reguliere expressie"
-173 "Het %s commando vereist dat er een bestand geladen is"
-174 "Gebruik: %s"
-175 "Het visual commando vereist dat de open optie actief is"
-177 "Leeg bestand"
-178 "Geen voorafgaand F, f, T of t zoek commando"
-179 "%s niet gevonden"
-180 "Geen voorafgaand bestand te bewerken"
-181 "Cursor niet op een getal"
-182 "Getal wordt te groot"
-183 "Getal wordt te klein"
-184 "Geen overeenkomstig karakter op deze regel"
-185 "Overeenkomstig karakter niet gevonden"
-186 "Geen karakters te vervangen"
-187 "Geen ander scherm aanwezig"
-188 "Karakters achter het zoek patroon, de regel offset, en/of het z commando"
-189 "Geen voorafgaand zoek patroon"
-190 "Zoekopdracht na omslag teruggekeerd op originele positie"
-191 "Afkorting overschrijdt expansie limiet: karakters genegeerd"
-192 "Ongeldig karakter; quote to enter"
-193 "Reeds aan het begin van de invoer"
-194 "Niet meer karakters te verwijderen"
-195 "Verplaatsing voorbij het einde van het bestand"
-196 "Verplaatsing voorbij het einde van de regel"
-197 "Cursor niet verplaatst"
-198 "Reeds aan het begin van het bestand"
-199 "Verplaatsing voorbij het begin van het bestand"
-200 "Reeds in de eerste kolom"
-201 "Buffers moeten voor het commando opgegeven worden"
-202 "Reeds bij het einde van het bestand"
-203 "Reeds bij het einde van de regel"
-204 "%s is geen vi commando"
-205 "Gebruik: %s"
-206 "Geen karakters te verwijderen"
-207 "Het Q commando vereist de ex terminal interface"
-208 "Geen commando om te herhalen"
-209 "Het bestand is leeg"
-210 "%s mag niet gebruikt worden als een verplaatsings commando"
-211 "Al in commando mode"
-212 "Cursor niet in een woord"
-214 "Windows optie waarde is te groot, maximum is %u"
-215 "Toevoegen"
-216 "Veranderen"
-217 "Commando"
-218 "Invoegen"
-219 "Vervangen"
-220 "Verplaatsing voorbij het eind van het scherm"
-221 "Verplaatsing voorbij het begin van het scherm"
-222 "Scherm moet meer dan %d regels hebben om het te kunnen splitsen"
-223 "Er zijn geen achtergrond schermen"
-224 "Er is geen achtergrond scherm waarin U bestand %s aan het bewerken bent"
-225 "U kan uw enige scherm niet in de achtergrond zetten"
-226 "Het scherm kan slechts verkleind worden tot %d regels"
-227 "Het scherm kan niet kleiner"
-228 "Het scherm kan niet groter"
-230 "Dit scherm kan niet gesuspend worden"
-231 "Onderbroken: gemappede toetsen genegeerd"
-232 "vi: tijdelijke buffer niet vrijgegeven"
-233 "Deze terminal heeft geen %s toets"
-234 "Er kan slechts een buffer opgegeven worden"
-235 "Getal groter dan %lu"
-236 "Onderbroken"
-237 "Aanmaken van tijdelijk bestand is mislukt"
-238 "Waarschuwing: %s is geen regulier bestand"
-239 "%s is al geopend, bestand is in deze sessie niet schrijfbaar"
-240 "%s: verwijdering mislukt"
-241 "%s: sluiting mislukt"
-242 "%s: verwijdering mislukt"
-243 "%s: verwijdering mislukt"
-244 "Bestand niet schrijfbaar, niet weggeschreven; gebruik ! om het te forceren"
-245 "Bestand niet schrijfbaar, niet weggeschreven"
-246 "%s bestaat al, niet weggeschreven; gebruik ! om het te forceren"
-247 "%s bestaat al, niet weggeschreven"
-248 "Gebruik ! om een incompleet bestand weg te schrijven"
-249 "Bestand incompleet, niet weggeschreven"
-250 "%s: bestand op disk nieuwer dan deze versie; gebruik ! om het te forceren"
-251 "%s: bestand op disk nieuwer dan deze versie"
-252 "%s: schrijf beveiliging niet beschikbaar"
-253 "Bezig met schrijven..."
-254 "%s: WAARSCHUWING: BESTAND INCOMPLEET"
-255 "Reeds op de eerste tag van deze groep"
-256 "%s: nieuw bestand: %lu regels, %lu karakters"
-257 "%s: %lu regels, %lu karakters"
-258 "%s resulteert in te veel bestandsnamen"
-259 "%s: geen normaal bestand"
-260 "%s: U bent niet de eigenaar"
-261 "%s: kan gewijzigd worden door andere gebruikers"
-262 "Bestand gewijzigd sinds laatste schrijfactie; schrijf het weg of gebruik ! om het te forceren"
-263 "Bestand gewijzigd sinds laatste schrijfactie; schrijf het weg of gebruik :edit! om het te forceren"
-264 "Bestand gewijzigd sinds laatste schrijfactie; schrijf het weg of gebruik ! om het te forceren"
-265 "Tijdelijk bestand; exit negeert wijzigingen"
-266 "Bestand niet schrijfbaar, wijzigingen niet automatisch weggeschreven"
-267 "log opnieuw gestart"
-268 "Bevestig? [ynq]"
-269 "Druk op een toets om door te gaan: "
-270 "Druk op een toets om door te gaan [: voor meer ex commandos]: "
-271 "Druk op een toets om door te gaan [q om te stoppen]: "
-272 "Deze vorm van %s vereist de ex terminal interface"
-273 "Entering ex input mode."
-274 "Commando mislukt, nog geen bestand geladen."
-275 " doorgaan?"
-276 "Onverwacht character event"
-277 "Onverwacht end-of-file event"
-278 "Geen match gevonden voor dit patroon"
-279 "Onverwacht interrupt event"
-280 "Onverwacht quit event"
-281 "Onverwacht repaint event"
-282 "Reeds op de laatste tag van deze groep"
-283 "Het %s command vereist de ex terminal interface"
-284 "Deze vorm van %s is niet ondersteund als de secure edit optie actief is"
-285 "Onverwacht string event"
-286 "Onverwacht timeout event"
-287 "Onverwacht write event"
-289 "Shell expansies zijn niet ondersteund als de secure edit optie actief is"
-290 "Het %s commando is niet ondersteund als de secure edit optie actief is"
-291 "set: %s mag niet uitgezet worden"
-292 "Scherm te klein."
-293 "toegevoegd"
-294 "gewijzigd"
-295 "verwijderd"
-296 "samengevoegd"
-297 "verplaatst"
-298 "verschoven"
-299 "gebufferd"
-300 "regel"
-301 "regels"
-302 "Vi was niet geladen met een Tcl interpreter"
-303 "Bestand gewijzigd sinds het de laatste keer weg is geschreven."
-304 "Shell expansie mislukt"
-305 "Geen %s edit optie opgegeven"
-306 "Vi was niet geladen met een Perl interpreter"
-307 "Geen ex commando om uit te voeren"
-308 "Kies <CR> om commando uit te voeren, :q om te stoppen"
-309 "Gebruik \"cscope help\" voor uitleg"
-310 "Nog geen cscope connectie aanwezig"
-311 "%s: onbekend zoek type: gebruik een van %s"
-312 "%d: onbekende cscope sessie"
-313 "set: de %s optie mag nooit aangezet worden"
-314 "set: de %s optie mag nooit op 0 gezet worden"
-315 "%s: toegevoegd: %lu regels, %lu karakters"
-316 "Onverwacht resize event"
-317 "%d bestanden te wijzigen"
diff --git a/contrib/nvi/catalog/dutch.owner b/contrib/nvi/catalog/dutch.owner
deleted file mode 100644 (file)
index 27f47d3..0000000
+++ /dev/null
@@ -1 +0,0 @@
-J.G. Vons <Gert-Jan.Vons@ocegr.fr>
diff --git a/contrib/nvi/catalog/english.owner b/contrib/nvi/catalog/english.owner
deleted file mode 100644 (file)
index 034567d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Keith Bostic <bostic@cs.berkeley.edu>
diff --git a/contrib/nvi/catalog/french.base b/contrib/nvi/catalog/french.base
deleted file mode 100644 (file)
index 234b8c6..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "Dépassement de longueur de ligne"
-003 "impossible de supprimer la ligne %lu"
-004 "impossible d'ajouter à la ligne %lu"
-005 "impossible d'insérer devant la ligne %lu"
-006 "impossible de stocker la ligne %lu"
-007 "impossible d'obtenir la dernière ligne"
-008 "Erreur : impossible de récupérer la ligne %lu"
-009 "Fichier journal"
-010 "Aucune journalisation n'étant effectuée, impossible d'annuler"
-011 "Aucune action à annuler"
-012 "Aucune journalisation n'étant effectuée, impossible d'annuler"
-013 "Aucune journalisation n'étant effectuée, reprise actualisée impossible"
-014 "Aucune action à refaire"
-015 "%s/%d : Erreur d'écriture de journal"
-016 "L'entrée et la sortie Vi standards doivent être un terminal"
-017 "Marque %s : non définie"
-018 "Marque %s : la ligne a été supprimée"
-019 "Marque %s : la position du curseur n'existe plus"
-020 "Erreur : "
-021 "nouveau fichier"
-022 "le nom a changé"
-023 "modifié"
-024 "non modifié"
-025 "DÉVERROUILLÉ"
-026 "lecture seule"
-027 "ligne %lu de %lu [%ld%%]"
-028 "fichier vide"
-029 "ligne %lu"
-030 "Ce fichier %s n'est pas un catalogue de messages"
-031 "Impossible de configurer option %s par défaut"
-032 "Utilisation : %s"
-033 "Définition : pas d'option %s : 'set all' donne toutes les valeurs optionnelles"
-034 "Définition : option [no]%s ne prend pas de valeur"
-035 "Définition : l'option %s n'est pas booléenne"
-036 "Définition : option %s : %s"
-037 "Définition : option %s : %s : Dépassement de valeur"
-038 "Définition : option %s : %s n'est pas un nombre valide"
-039 "Définition : l'option %s n'est pas booléenne"
-040 "Les colonnes de l'écran sont trop petites, inférieures à %d"
-041 "Les colonnes de l'écran sont trop grandes, supérieures à %d"
-042 "Les lignes de l'écran sont trop courtes, inférieures à %d"
-043 "Les lignes de l'écran sont trop longues, supérieures à %d"
-044 "L'option lisp n'est pas implémentée"
-045 "Les messages ne sont pas désactivés : %s"
-046 "Les messages ne sont pas activés : %s"
-047 "L'option de %s doit être en groupe de deux caractères"
-053 "Le tampon par défaut est vide"
-054 "Le tampon %s est vide"
-055 "Les fichiers dont le nom contient des caractères de saut de ligne sont irrécupérables"
-056 "Impossible de récupérer les modifications si la session échoue"
-057 "Copie en cours du fichier pour récupération..."
-058 "La préservation a échoué : %s"
-059 "Impossible de récupérer les modifications si la session échoue"
-060 "La sauvegarde du fichier a échoué : %s"
-061 "Copie en cours du fichier pour récupération..."
-062 "Les renseignements sur l'identité %u de l'utilisateur sont introuvables"
-063 "Impossible de verrouiller le fichier de récupération"
-064 "Débordement de tampon du fichier de récupération"
-065 "Fichier de récupération"
-066 "%s : Fichier de récupération malformé"
-067 "%s : Fichier de récupération malformé"
-068 "Aucun fichier nommé %s à récupérer, que vous puissiez lire"
-069 "Il existe des versions récupérables antérieures à ce fichier"
-070 "Vous avez d'autres fichiers à récupérer"
-071 "pas d'envoi d'email : %s"
-072 "Fichier vide, rien à rechercher"
-073 "Fin de fichier atteinte sans trouver le motif"
-074 "Pas de motif de recherche précédent"
-075 "Motif introuvable"
-076 "Début du fichier atteint sans trouver le motif"
-077 "La recherche est revenue à son point de départ"
-078 "Recherche en cours..."
-079 "Caractère non-imprimable introuvable"
-080 "Nom de commande inconnu"
-082 "%s : Commande non disponible en ex mode"
-083 "Le compteur ne peut être zéro"
-084 "%s : mauvaise spécification de ligne"
-085 "Erreur de tableau de syntaxe interne (%s: %s)"
-086 "Utilisation : %s"
-087 "%s : tampon temporaire non libéré"
-088 "Décalage de drapeau hors de la ligne 1"
-089 "Décalage de drapeau hors de la fin du fichier"
-090 "@ avec plage, en cours d'exécution quand le fichier/l'écran a changé"
-091 "Commande Global/v en cours d'exécution quand le fichier/l'écran a changé"
-092 "La commande ex a échoué : commandes en attente abandonnées"
-093 "La commande ex a échoué : les touches affectées sont abandonnées"
-094 "La deuxième adresse est plus petite que la première"
-095 "Aucun nom de marque fourni"
-096 "\\ non suivi par / ou ?"
-097 "Référence à un numéro de ligne inférieure à 0"
-098 "La commande %s est inconnue"
-099 "Dépassement de la valeur adresse"
-100 "Dépassement négatif de la valeur adresse"
-101 "Combinaison d'adresse non valide"
-102 "Adresse non valide : il n'y a que %lu lignes dans ce fichier"
-103 "Adresse non valide : le fichier est vide"
-104 "La commande %s ne permet pas une adresse de 0"
-105 "Pas d'abréviations à afficher"
-106 "Les abréviations doivent finir par un caractère \"mot\""
-107 "Les abréviations ne peuvent pas contenir de tabulations ni d'espaces"
-108 "Les abréviations ne peuvent pas contenir un mélange de caractères mot/non-mot, sauf à la fin"
-109 "\"%s\" n'est pas une abréviation"
-110 "La commande Vi a échoué : Les touches affectées ont été abandonnées"
-111 "Plus de fichiers à éditer"
-112 "Pas de fichiers précédents à éditer"
-113 "Pas de fichiers précédents à rembobiner"
-114 "Pas de liste de fichiers à afficher"
-115 "Pas de commande précédente à remplacer \"!\""
-116 "Pas de nom de fichier à substituer à %%"
-117 "Pas de nom de fichier à substituer à #"
-118 "Erreur : execl : %s"
-119 "Erreur E/S : %s"
-120 "Fichier modifié depuis la dernière écriture complète ; écrire ou utiliser ! pour outrepasser"
-121 "Impossible de trouver l'emplacement du répertoire d'origine"
-122 "Nouveau répertoire en cours : %s"
-123 "Pas de tampon de coupure à afficher"
-124 "La commande %s ne peut pas être utilisée à l'intérieur d'une commande globale ou commande v"
-125 "%s/%s : échec de source : ni vous ni le super-utilisateur n'êtes les propriétaires "
-126 "%s/%s : échec de source : vous n'êtes pas le propriétaire"
-127 "%s/%s : échec de source : peut être écrit par un utilisateur autre que le propriétaire"
-128 "%s : échec de source : ni vous ni le super-utilisateur n'êtes les propriétaires"
-129 "%s : échec de source : vous n'êtes pas le propriétaire"
-130 "%s : échec de source : peut être écrit par un utilisateur autre que le propriétaire"
-131 "Pas de lignes suivantes à joindre"
-132 "Pas d'entrées de mappage d'entrée"
-133 "Pas d'entrées de mappage de commandes"
-134 "Le caractère %s ne peut pas être remappé"
-135 "\"%s\" n'est pas actuellement mappé"
-136 "Les noms de marque ne doivent avoir qu'un caractère"
-137 "%s existe, non enregistré; utiliser ! pour outrepasser"
-138 "Nouveau fichier exrc : %s"
-139 "La ligne de destination est à l'intérieur de la plage à déplacer"
-140 "La commande ouverte nécessite que l'option ouverte soit définie"
-141 "La commande ouverte n'est pas encore implémentée"
-142 "La préservation de ce fichier est impossible"
-143 "Fichier préservé"
-144 "%s: étendu dans trop de noms de fichiers"
-145 "Vous ne pouvez lire que les fichiers standards et les canaux de transmission nommés"
-146 "%s: Interdiction de lecture non disponible"
-147 "Lecture en cours..."
-148 "%s: %lu lignes, %lu caractères"
-149 "Pas d'écrans d'arrière-plan à afficher"
-150 "La commande script n'est disponible qu'en mode vi"
-151 "Pas de commande à exécuter"
-152 "Option de largeur de décalage définie sur 0"
-153 "Compter dépassement"
-154 "Compter dépassement négatif"
-155 "Expression standard spécifiée; drapeau r superflu"
-156 "Vous ne pouvez pas en mode vi, combiner les drapeaux #, l et p avec le drapeau c"
-157 "Aucune correspondance trouvée"
-158 "Aucune marque précédente entrée"
-159 "Moins de %s entrées dans la pile de marques ; utilisez t[ags]"
-160 "Pas de fichier %s vers lequel retourner dans la pile de marques ; utiliser : affichage t[ags]"
-161 "Appuyez sur Entrée pour continuer :"
-162 "%s : marque introuvable"
-163 "%s : marque corrompue en %s"
-164 "%s : le numéro de ligne de la marque dépasse la fin du fichier"
-165 "La pile de marques est vide"
-166 "%s : motif de recherche introuvable"
-167 "%d fichiers supplémentaires à éditer"
-168 "Le tampon %s est vide
-169 "Confirmer les changements ? [n]"
-170 "Interrompu"
-171 "Pas de tampon précédent à exécuter"
-172 "Pas d'expression standard précédente"
-173 "La commande %s nécessite qu'un fichier ait déjà été lu en mémoire"
-174 "Utilisation : %s"
-175 "La commande visual nécessite que l'option open soit définie"
-177 "Fichier vide"
-178 "Pas de recherche précédente F, f, T ou t"
-179 "%s introuvable"
-180 "Pas de fichier précédent à éditer"
-181 "Le curseur n'est pas dans un nombre"
-182 "Le nombre obtenu est trop grand"
-183 "Le nombre obtenu est trop petit"
-184 "Pas de correspondance de caractère sur cette ligne"
-185 "Caractère correspondant introuvable"
-186 "Pas de caractères à remplacer"
-187 "Pas d'autre écran vers lequel basculer"
-188 "Caractères après la chaîne de recherche, décalage de ligne et/ou commande z"
-189 "Pas de motif de recherche précédent"
-190 "La recherche est revenue à son point de départ"
-191 "L'abréviation a dépassé la limite de l'expansion : caractères abandonnés"
-192 "Caractère non valide ; guillemet pour saisir"
-193 "Déjà au début de l'insertion"
-194 "Plus de caractères à effacer"
-195 "Déplacement hors de fin de fichier"
-196 "Déplacement hors de fin de ligne"
-197 "Aucun mouvement de curseur n'a été effectué"
-198 "Déjà au début du fichier"
-199 "Déplacement hors du début du fichier"
-200 "Déjà dans la première colonne"
-201 "Les tampons doivent être spécifiés avant la commande"
-202 "Déjà à la fin du fichier"
-203 "Déjà à la fin de la ligne"
-204 "%s n'est pas une commande vi"
-205 "Utilisation : %s"
-206 "Pas de caractères à supprimer"
-207 "La commande Q nécessite une interface terminal ex"
-208 "Pas de commande à répéter"
-209 "Le fichier est vide"
-210 "Vous ne pouvez pas utiliser %s comme commande de déplacement"
-211 "Déjà en mode commande"
-212 "Le curseur n'est pas dans un mot"
-214 "Valeur optionnelle de fenêtre trop grande, maximum est %u"
-215 "Ajouter"
-216 "Changer"
-217 "Commande"
-218 "Insérer"
-219 "Remplacer"
-220 "Déplacement hors de la fin d'écran"
-221 "Déplacement hors du début d'écran"
-222 "L'écran doit être supérieur à %d lignes pour se fractionner"
-223 "Il n'y a pas d'écran d'arrière-plan"
-224 "Il n'y a pas d'écran d'arrière-plan qui édite un fichier nommé %s"
-225 "Vous ne pouvez pas mettre à l'arrière-plan votre seul écran affiché"
-226 "L'écran ne peut être réduit qu'à %d rangs"
-227 "L'écran n'est pas auto-réductible"
-228 "L'écran n'est pas auto-extensible"
-230 "Vous ne pouvez pas mettre cet écran en attente"
-231 "Interrompu : les touches affectées ont été abandonnées"
-232 "vi : le tampon temporaire n' a pas été libéré"
-233 "Ce terminal n'a pas de touche %s"
-234 "Vous ne pouvez spécifier qu'un seul tampon"
-235 "Nombre supérieur à %lu"
-236 "Interrompu"
-237 "Impossible de créer un fichier temporaire"
-238 "Avertissement : %s n'est pas un fichier standard"
-239 "%s déjà verrouillé, session en lecture seule"
-240 "%s: supprimer"
-241 "%s: fermer"
-242 "%s: supprimer"
-243 "%s: supprimer"
-244 "Fichier en lecture seule, non écrit, utiliser ! pour outrepasser"
-245 "Fichier en lecture seule, non écrit"
-246 "%s existe, non écrit; utiliser ! pour outrepasser"
-247 "%s existe, non écrit"
-248 "Fichier partiel, non écrit; utiliser ! pour outrepasser"
-249 "Fichier partiel, non écrit"
-250 "%s: fichier modifié plus récemment que cet exemplaire; utiliser ! pour outrepasser"
-251 "%s: fichier modifié plus récemment que cet exemplaire"
-252 "%s: interdiction d'écriture non disponible"
-253 "Ecriture en cours..."
-254 "%s: AVERTISSEMENT : FICHIER TRONQUÉ"
-255 "Première marque de ce groupe déjà atteinte"
-256 "%s: nouveau fichier : %lu lignes, %lu caractères"
-257 "%s: %lu lignes, %lu caractères"
-258 "%s étendue à trop de noms de fichiers"
-259 "%s: pas un fichier standard"
-260 "%s: ne vous appartient pas"
-261 "%s: accessible par un utilisateur autre que son propriétaire"
-262 "Fichier modifé depuis la dernière écriture complète ; écrire ou utiliser ! pour outrepasser "
-263 "Fichier modifé depuis la dernière écriture complète ; écrire ou utiliser :edit! pour outrepasser"
-264 "Fichier modifé depuis la dernière écriture complète ; écrire ou utiliser ! pour outrepasser"
-265 "Fichier temporaire ; quitter annulera les modifications"
-266 "Fichier en lecture seule ; les modifications ne sont pas écrites automatiquement"
-267 "Journal redémarré"
-268 "confirmer ? [ynq]"
-269 "Appuyez sur n'importe quelle touche pour continuer : "
-270 "Appuyez sur n'importe quelle touche pour continuer [: pour entrer plus de commandes ex] : "
-271 "Appuyez sur n'importe quelle touche pour continuer [q pour Quitter]: "
-272 "Cette forme de %s nécessite l'interface de terminal ex"
-273 "Entrée de mode entrée ex."
-274 "La commande a échoué, aucun fichier n'a encore été lu."
-275 "cont?"
-276 "Evénement imprévu de caractère"
-277 "Evénement imprévu de fin-de-fichier"
-278 "Pas de correspondances pour cette requête"
-279 "Evénement imprévu d'interruption"
-280 "Evénement quitter imprévu"
-281 "Evénement imprévu de rafraîchissement"
-282 "La dernière marque de ce groupe a déjà été atteinte"
-283 "La commande %s nécessite l'interface de terminal ex"
-284 "Cette forme de %s n'est pas reconnue quand l'option d'édition protégée est activée"
-285 "Evénement imprévu de chaîne"
-286 "Evénement imprévu de délai imparti"
-287 "Evénement d'écriture imprévu"
-289 "Les expansions du shell ne sont pas reconnues quand l'option d'édition protégée est activée"
-290 "La commande %s n'est pas reconnue quand l'option d'édition protégée est activée"
-291 "Définition : l'option %s ne peut pas être désactivée"
-292 "Affichage trop petit."
-293 "ajouté"
-294 "changé"
-295 "supprimé"
-296 "joint"
-297 "déplacé"
-298 "décalé"
-299 "coupé"
-300 "ligne"
-301 "lignes"
-302 "Vi n'a pas été chargé avec un interprétateur Tcl"
-303 "Ficher modifié depuis le dernier enregistrement."
-304 "L'expansion du shell a échoué"
-305 "Pas d'option d'édition %s spécifiée"
-306 "Vi n'a pas été chargé avec un interprétateur Perl"
-307 "Pas de commande ex à exécuter"
-308 "Entrez <CR> pour exécuter une commande, :q pour quitter"
-309 "Utiliser \"cscope help\" pour obtenir de l'aide"
-310 "Aucune connexion cscope n'est lancée"
-311 "%s : type de recherche inconnu : utiliser un des %s"
-312 "%d : Il n'existe pas de telle session cscope"
-313 "Définition : l'option %s ne peut jamais être activée"
-314 "Définition : l'option %s ne peut jamais être définie sur 0"
-315 "%s: joints : %lu lignes, %lu caractères"
-316 "événement imprévu de redimensionnement"
-317 "%d fichiers à éditer"
diff --git a/contrib/nvi/catalog/german.base b/contrib/nvi/catalog/german.base
deleted file mode 100644 (file)
index f636df2..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "Zeilenlängen-Überlauf"
-003 "kann Zeile %lu nicht löschen"
-004 "kann an Zeile %lu nicht anfügen"
-005 "kann in Zeile %lu nicht einfügen"
-006 "kann Zeile %lu nicht speichern"
-007 "kann letzte Zeile nicht lesen"
-008 "Fehler: kann Zeile %lu nicht wiederherstellen"
-009 "Protokolldatei"
-010 "Keine Protokollierung aktiv, Rückgängigmachen nicht möglich"
-011 "Keine Änderungen rückgängig zu machen"
-012 "Keine Protokollierung aktiv, Rückgängigmachen nicht möglich"
-013 "Keine Protokollierung aktiv, Wiederholung von Änderungen nicht möglich"
-014 "Keine Änderungen zu wiederholen"
-015 "%s/%d: Protokollschreibfehler"
-016 "Vi's Standardein- und -ausgabe muß ein Terminal sein"
-017 "Marke %s: nicht gesetzt"
-018 "Marke %s: die Zeile wurde gelöscht"
-019 "Marke %s: Cursorposition existiert nicht mehr"
-020 "Fehler: "
-021 "neue Datei"
-022 "Name geändert"
-023 "geändert"
-024 "nicht geändert"
-025 "NICHT GELOCKT"
-026 "nur zum Lesen"
-027 "Zeile %lu von %lu [%ld%%]"
-028 "leere Datei"
-029 "Zeile %lu"
-030 "Die Datei %s ist kein Meldungskatalog"
-031 "Setzen der Voreinstellung für %s Option nicht möglich"
-032 "Benutzung: %s"
-033 "set: keine %s Option: 'set all' zeigt alle Optionen mit Werten an"
-034 "set: der [no]%s Option kann kein Wert zugewiesen werden"
-035 "set: %s ist keine Boolsche Option"
-036 "set: %s Option: %s"
-037 "set: %s Option: %s: Werte-Überlauf"
-038 "set: %s Option: %s ist eine ungültige Zahl"
-039 "set: %s ist keine Boolsche Option"
-040 "Bildschirm hat zu wenig Spalten, weniger als %d"
-041 "Bildschirm hat zu viele Spalten, mehr als %d"
-042 "Bildschirm hat zu wenig Zeilen, weniger als %d"
-043 "Bildschirm hat zu viele Zeilen, mehr als %d"
-044 "Die lisp-Option ist nicht implementiert"
-045 "Meldungen nicht abgeschaltet: %s"
-046 "Meldungen nicht eingeschaltet: %s"
-047 "Die %s-Option muß Gruppen zu zwei Zeichen enthalten"
-053 "Der Standardpuffer ist leer"
-054 "Puffer %s ist leer"
-055 "Dateien mit newlines im Namen sind nicht wiederherstellbar"
-056 "Änderungen nicht wiederherstellbar, falls die Editorsitzung schiefgeht"
-057 "kopiere Datei für Wiederherstellung ..."
-058 "Rettungsmechanismus funktioniert nicht: %s"
-059 "Änderungen nicht wiederherstellbar, falls die Editorsitzung schiefgeht"
-060 "Sicherung der Datei gescheitert: %s"
-061 "kopiere Datei für Wiederherstellung ..."
-062 "Informationen über den Benutzer mit id %u nicht gefunden"
-063 "Wiederherstellungsdatei kann nicht gelockt werden"
-064 "Puffer der Wiederherstellungsdatei übergelaufen"
-065 "Wiederherstellungsdatei"
-066 "%s: Wiederherstellungsdatei hat falsches Format"
-067 "%s: Wiederherstellungsdatei hat falsches Format"
-068 "Keine von Ihnen lesbaren Dateien mit Namen %s zum Wiederherstellen"
-069 "Es gibt ältere Versionen dieser Datei von Ihnen zum Wiederherstellen"
-070 "Sie haben noch andere Dateien zum Wiederherstellen"
-071 "schicke keine email: %s"
-072 "Datei leer; nichts zu suchen"
-073 "Dateiende erreicht, ohne das Suchmuster zu finden"
-074 "Kein altes Suchmuster"
-075 "Suchmuster nicht gefunden"
-076 "Dateianfang erreicht, ohne das Suchmuster zu finden"
-077 "Suche beginnt von vorn"
-078 "suche ..."
-079 "Keine nichtdruckbaren Zeichen gefunden"
-080 "Unbekannter Kommandoname"
-082 "%s: Kommando im ex-Modus nicht verfügbar"
-083 "Anzahl darf nicht Null sein"
-084 "%s: falsche Zeilenangabe"
-085 "Interner Syntaxtabellenfehler (%s: %s)"
-086 "Benutzung: %s"
-087 "%s: temporärer Puffer nicht freigegeben"
-088 "Flagoffset vor Zeile 1"
-089 "Flagoffset hinter dem Dateiende"
-090 "@ mit Bereich lief, als Datei/Anzeige geändert wurde"
-091 "globales oder v-Kommando lief, als Datei/Anzeige geändert wurde"
-092 "Ex-Kommando mißlungen: restliche Kommandoeingabe ignoriert"
-093 "Ex-Kommando mißlungen: umdefinierte Tasten ungültig"
-094 "Die zweite Adresse ist kleiner als die erste"
-095 "Kein Markenname angegeben"
-096 "\\ ohne folgenden / oder ?"
-097 "Referenz auf eine negative Zeilennummer"
-098 "Das Kommando %s ist unbekannt"
-099 "Adreßwert zu groß"
-100 "Adreßwert zu klein"
-101 "Ungültige Adreßkombination"
-102 "Ungültige Adresse: nur %lu Zeilen in der Datei"
-103 "Ungültige Adresse: die Datei ist leer"
-104 "Das Kommando %s erlaubt keine Adresse 0"
-105 "Keine Abkürzungen zum Anzeigen"
-106 "Abkürzungen müssen mit einem \"Wort\"-Zeichen enden"
-107 "Abkürzungen dürfen keine Tabulator- oder Leerzeichen enthalten"
-108 "In Abkürzungen dürfen außer am Ende Wort- und Nicht-Wort-Zeichen nicht gemischt werden"
-109 "\"%s\" ist keine Abkürzung"
-110 "Vi Kommando mißlungen: umdefinierte Tasten ungültig"
-111 "Keine weiteren Dateien zu editieren"
-112 "Keine vorhergehenden Dateien zu editieren"
-113 "Keine vorhergehenden Dateien für rewind"
-114 "Keine Dateiliste zum Anzeigen"
-115 "Kein vorhergehendes Kommando, um \"!\" zu ersetzen"
-116 "Kein Dateiname für %%"
-117 "Kein Dateiname für #"
-118 "Fehler: execl: %s"
-119 "E/A-Fehler: %s"
-120 "Datei wurde seit dem letzten vollständigen Schreiben geändert; schreibe oder verwende ! zum ignorieren"
-121 "Kann Homedirectory nicht bestimmen"
-122 "Neues aktuelles Directory: %s"
-123 "Keine Puffer anzuzeigen"
-124 "Das Kommando %s kann nicht als Teil eines global oder v Kommandos verwendet werden"
-125 "%s/%s: nicht gelesen: gehört weder Ihnen noch root"
-126 "%s/%s: nicht gelesen: gehört nicht Ihnen"
-127 "%s/%s: nicht gelesen: anderer Benutzer als Eigentümer hat Schreibrecht"
-128 "%s: nicht gelesen: gehört weder Ihnen noch root"
-129 "%s: nicht gelesen: gehört nicht Ihnen"
-130 "%s: nicht gelesen: anderer Benutzer als Eigentümer hat Schreibrecht"
-131 "Keine folgenden Zeilen zum Verbinden"
-132 "Kein input-Map Eintrag"
-133 "Kein command-Map Eintrag"
-134 "Das %s Zeichen kann nicht umgemappt werden"
-135 "\"%s\" ist momentan nicht gemappt"
-136 "Markennamen müssen einzelne Buchstaben sein"
-137 "%s existiert, nicht geschrieben; verwende ! zum Überschreiben"
-138 "Neue .exrc Datei: %s. "
-139 "Zielzeile ist innerhalb des Verschiebebereichs"
-140 "Das open Kommando verlangt, daß die open Option gesetzt ist"
-141 "Das open Kommando ist nocht nicht implementiert"
-142 "Rettung dieser Datei nicht möglich"
-143 "Datei gerettet"
-144 "%s wurde in zu viele Dateinamen expandiert"
-145 "Nur reguläre Dateien und named pipes können gelesen werden"
-146 "%s: Locken zum Lesen war nicht möglich"
-147 "lese ..."
-148 "%s: %lu Zeilen, %lu Zeichen"
-149 "Keine Hintergrundanzeigen vorhanden"
-150 "Das script Kommando ist nur im vi Modus verfügbar"
-151 "Kein Kommando auszuführen"
-152 "shiftwidth Option auf 0 gesetzt"
-153 "Anzahl-Überlauf"
-154 "Anzahl-Unterlauf"
-155 "Regulärer Ausdruck angegeben; r Flag bedeutungslos"
-156 "Die #, l und p Flags können im vi Modus nicht mit dem c Flag kombiniert werden"
-157 "Keine Übereinstimmung gefunden"
-158 "Kein vorhergehender 'tag' angegeben"
-159 "Weniger als %s Einträge auf dem 'tag'-Stack; verwende :display t[ags]"
-160 "Keine Datei namens %s auf dem 'tag'-Stack; verwende :display t[ags]"
-161 "Drücke Enter um fortzufahren: "
-162 "%s: 'tag' nicht gefunden"
-163 "%s: kaputter 'tag' in %s"
-164 "%s: die Zeilennummer des 'tag' ist hinter dem Dateiende"
-165 "Der 'tag' Stack ist leer"
-166 "%s: Suchmuster nicht gefunden"
-167 "%d weitere Dateien zu editieren"
-168 "Puffer %s ist leer"
-169 "Bestätige Änderung [n]"
-170 "Unterbrochen."
-171 "Kein vorhergehender Puffer zum Ausführen"
-172 "Kein vorhergehender regulärer Ausdruck"
-173 "Das Kommando %s verlangt, daß bereits eine Datei eingelesen wurde"
-174 "Benutzung: %s"
-175 "Das visual Kommando verlangt daß die open Option gesetzt ist"
-177 "Leere Datei"
-178 "Keine vorhergehende F, f, T oder t Suche"
-179 "%s nicht gefunden"
-180 "Keine vorhergehende Datei zu editieren"
-181 "Cursor nicht auf einer Zahl"
-182 "Sich ergebende Zahl ist zu groß"
-183 "Sich ergebende Zahl ist zu klein"
-184 "Kein korrespondierendes Zeichen in dieser Zeile"
-185 "Korrespondierendes Zeichen nicht gefunden"
-186 "Keine Zeichen zu ersetzen"
-187 "Keine andere Anzeige zum Hinschalten"
-188 "Zeichen nach Suchmuster, Zeilenoffset und/oder z Kommando"
-189 "Kein altes Suchmuster"
-190 "Suche zur ursprünglichen Position zurückgekehrt"
-191 "Abkürzung überschreitet Expansionsgrenze: Zeichen weggelassen"
-192 "Nicht erlaubtes Zeichen; maskiere zum Eingeben"
-193 "Bereits am Anfang der Eingabe"
-194 "Keine weiteren Zeichen zu löschen"
-195 "Bewegung hinter das Dateiende"
-196 "Bewegung hinter das Zeilenende"
-197 "Keine Cursorbewegung gemacht"
-198 "Bereits am Dateianfang"
-199 "Bewegung vor den Dateianfang"
-200 "Bereits in der ersten Spalte"
-201 "Puffer sollen vor dem Kommando angegeben werden"
-202 "Bereits am Dateiende"
-203 "Bereits am Zeilenende"
-204 "%s ist kein vi Kommando"
-205 "Benutzung: %s"
-206 "Keine Zeichen zu löschen"
-207 "Das Q Kommando benötigt das ex Terminal Interface"
-208 "Kein Kommando zu wiederholen"
-209 "Die Datei ist leer"
-210 "%s kann nicht als Bewegungskommando verwendet werden"
-211 "Bereits im Kommando-Modus"
-212 " Cursor nicht auf einem Wort"
-214 "Wert der Window Option ist zu groß, max ist %u"
-215 "Anhängen"
-216 "Ändern"
-217 "Kommando"
-218 "Einfügen"
-219 "Ersetzen"
-220 "Bewegung hinter das Anzeigenende"
-221 "Bewegung vor den Anzeigenanfang"
-222 "Anzeige muß für Bildschirmteilung größer als %d sein"
-223 "Keine Hintergrundanzeigen vorhanden"
-224 "Es gibt keine Hintergrundanzeige, die eine Datei namens %s editiert"
-225 "Die einzige dargestellte Anzeige kann nicht in den Hintergrund gebracht werden"
-226 "Die Anzeige kann nur auf %d Zeilen verkleinert werden"
-227 "Die Anzeige kann nicht verkleinert werden"
-228 "Die Anzeige kann nicht vergrößert werden"
-230 "Diese Anzeige kann nicht gestopt werden"
-231 "Unterbrochen: umdefinierte Tasten ungültig"
-232 "vi: temporärer Puffer nicht freigegeben"
-233 "Dieses Terminal hat keine %s Taste"
-234 "es kann nur ein Puffer angegeben werden"
-235 "Zahl größer als %lu"
-236 "Unterbrochen"
-237 "Nicht möglich, temporäre Datei anzulegen"
-238 "Warnung: %s ist keine reguläre Datei"
-239 "%s ist bereits gelockt, Editorsitzung schreibgeschützt"
-240 "%s: löschen"
-241 "%s: schließen"
-242 "%s: löschen"
-243 "%s: löschen"
-244 "Datei nicht schreibbar, nicht geschrieben; verwende ! zum Überschreiben"
-245 "Datei nicht schreibbar, nicht geschrieben"
-246 "%s existiert, nicht geschrieben; verwende ! zum Überschreiben"
-247 "%s existiert, nicht geschrieben"
-248 "Teil der Datei, nicht geschrieben; verwende ! zum Überschreiben"
-249 "Teil der Datei, nicht geschrieben"
-250 "%s: Datei wurde später als diese Kopie verändert; verwende ! zum Überschreiben"
-251 "%s: Datei wurde später als diese Kopie verändert"
-252 "%s: Locken zum Schreiben war nicht möglich"
-253 "schreibe ..."
-254 "%s: WARNUNG: DATEI ABGESCHNITTEN"
-255 "Bereits am ersten 'tag' dieser Gruppe"
-256 "%s: neue Datei: %lu Zeilen, %lu Zeichen"
-257 "%s: %lu Zeilen, %lu Zeichen"
-258 "%s wurde in zu viele Dateinamen expandiert"
-259 "%s: keine reguläre Datei"
-260 "%s: gehört nicht Ihnen"
-261 "%s: anderer Benutzer als Eigentümer hat Zugriff"
-262 "Datei wurde seit dem letzten vollständigen Schreiben geändert; schreibe oder verwende ! zum ignorieren"
-263 "Datei wurde seit dem letzten vollständigen Schreiben geändert; schreibe oder verwende :edit! zum ignorieren"
-264 "Datei wurde seit dem letzten vollständigen Schreiben geändert; schreibe oder verwende ! zum ignorieren"
-265 "Datei ist temporär; beim Verlassen gehen die Änderungen verloren"
-266 "Datei ist schreibgeschützt, Änderungen werden nicht automatisch geschrieben"
-267 "Portokollierung neu begonnen"
-268 "bestätigen [ynq]"
-269 "Drücke beliebige Taste um fortzufahren"
-270 "Drücke beliebige Taste um fortzufahren [: um weitere Kommandos einzugeben]: "
-271 "Drücke beliebige Taste um fortzufahren [q zum Verlassen]: "
-272 "Diese Form von %s benötigt das ex Terminal-Interface"
-273 "Gehe in ex Eingabe-Modus.\n"
-274 "Kommando schiefgelaufen, noch keine Datei eingelesen"
-275 " weiter?"
-276 "unerwartetes Zeichen - Ereignis"
-277 "unerwartetes Dateiende - Ereignis"
-278 "Keine Position zum Anspringen gefunden"
-279 "unerwartetes Unterbrechungs - Ereignis"
-280 "unerwartetes Verlassen - Ereignis"
-281 "unerwartetes Wiederherstellungs - Ereignis"
-282 "Bereits am letzten 'tag' dieser Gruppe"
-283 "Das %s Kommando benötigt das ex Terminal-Interface"
-284 "Diese Form von %s wird nicht unterstützt wenn die 'secure edit' - Option gesetzt ist"
-285 "unerwartetes Zeichenketten - Ereignis"
-286 "unerwartetes timeout - Ereignis"
-287 "unerwartetes Schreibe - Ereignis"
-289 "Shell Expandierungen nicht unterstützt wenn die 'secure edit' - Option gesetzt ist"
-290 "Das %s Kommando wird nicht unterstützt wenn die 'secure edit' - Option gesetzt ist"
-291 "set: %s kann nicht ausgeschaltet werden"
-292 "Anzeige zu klein."
-293 "angefügt"
-294 "geändert"
-295 "gelöscht"
-296 "verbunden"
-297 "verschoben"
-298 "geschoben"
-299 "in Puffer geschrieben"
-300 "Zeile"
-301 "Zeilen"
-302 "Vi wurde nicht mit dem Tcl Interpreter gelinkt"
-303 "Datei wurde seit dem letzten Schreiben verändert."
-304 "Shell Expansion hat nicht geklappt"
-305 "Es ist keine %s Editieroption angegeben"
-306 "Vi wurde nicht mit einem Perl Interpreter geladen"
-307 "Kein ex Kommando auszuführen"
-308 "Drücke <CR> um ein Kommando auszuführen, :q zum verlassen"
-309 "Verwende \"cscope help\" für Hilestellung"
-310 "Keine cscope Verbindung aktiv"
-311 "%s: unbekannter Suchtyp: verwende einen aus %s"
-312 "%d: keine solche cscope Verbindung"
-313 "set: die %s Option kann nicht eingeschaltet werden"
-314 "set: die %s Option kann nicht auf 0 gesetzt werden"
-315 "%s: angefügt: %lu Zeilen, %lu Zeichen"
-316 "unerwartetes Größenveränderungs - Ereignis"
-317 "%d Dateien zu edieren"
diff --git a/contrib/nvi/catalog/german.owner b/contrib/nvi/catalog/german.owner
deleted file mode 100644 (file)
index efed56a..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Bernhard Daeubler      <daeb@physik.uni-ulm.de>
-Joerg Wunsch           <joerg_wunsch@uriah.heep.sax.de>
diff --git a/contrib/nvi/catalog/polish.base b/contrib/nvi/catalog/polish.base
deleted file mode 100644 (file)
index 74b2756..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "Zbyt d³uga linia"
-003 "nie mo¿na usun±æ linii %lu"
-004 "nie mo¿na dodaæ do linii %lu"
-005 "nie mo¿na wstawiæ w linii %lu"
-006 "nie mo¿na zachowaæ linii %lu"
-007 "nie mo¿na pobraæ ostatniej linii"
-008 "B³±d: nie mo¿na pobraæ linii %lu"
-009 "Plik logu"
-010 "Brak logowania, anulowanie (undo) niemo¿liwe"
-011 "Brak zmian do anulowania"
-012 "Brak logowania, anulowanie (undo) niemo¿liwe"
-013 "Brak logowania, nie mo¿na przegl±daæ do przodu"
-014 "Brak zmian do powtórzenia"
-015 "%s/%d: b³±d zapisu do logu"
-016 "Standardowe wej¶cie i wyj¶cie vi musi byæ terminalem"
-017 "Znacznik %s: nie ustawiony"
-018 "Znacznik %s: linia zosta³a usuniêta"
-019 "Znacznik %s: pozycja kursora ju¿ nie istnieje"
-020 "B³±d: "
-021 "nowy plik"
-022 "nazwa zosta³a zmieniona"
-023 "zmieniony"
-024 "nie zmieniony"
-025 "ODBLOKOWANY"
-026 "tylko do odczytu"
-027 "linia %lu z %lu [%ld%%]"
-028 "pusty plik"
-029 "linia %lu"
-030 "Plik %s nie jest katalogiem komunikatów"
-031 "Nie mo¿na ustawiæ domy¶lnej opcji %s"
-032 "Sposób u¿ycia: %s"
-033 "set: brak opcji %s: 'set all' wy¶wietla warto¶ci opcji"
-034 "set: opcja no]%s nie pobiera warto¶ci"
-035 "set: opcja %s nie jest zmienn± boolowsk±"
-036 "set: opcja %s: %s"
-037 "set: opcja %s: %s: przepe³nienie"
-038 "set: opcja %s: %s nie jest poprawn± liczb±"
-039 "set: opcja %s nie jest zmienn± boolowsk±"
-040 "Zbyt ma³a liczba kolumn ekranu, mniejsza ni¿ %d"
-041 "Zbyt du¿a liczba kolumn, wiêksza ni¿ %d"
-042 "Zbyt ma³a liczba wierszy ekranu, mniejsza ni¿ %d"
-043 "Zbyt du¿a liczba wierszy ekranu, wiêksza ni¿ %d"
-044 "Opcja lisp nie jest zaimplementowana"
-045 "komunikaty nie wy³±czone: %s"
-046 "komunikaty nie w³±czone: %s"
-047 "Opcja %s musi sk³adaæ siê z dwóch grup symboli"
-053 "Domy¶lny bufor jest pusty"
-054 "Bufor %s jest pusty"
-055 "Pliki z symbolem nowego wiersza w nazwie nie mog± byæ odtworzone"
-056 "Zmiany nie do odtworzenia, je¶li sesja zostanie przerwana"
-057 "Tworzenie kopii zapasowej..."
-058 "B³±d podczas zachowywania: %s"
-059 "Zmiany nie do odtworzenia, je¶li sesja zostanie przerwana"
-060 "B³±d podczas tworzenia kopii zapasowej: %s"
-061 "Tworzenie kopii zapasowej..."
-062 "Nie znaleziono informacji o u¿ytkowniku numer %u"
-063 "Nie mo¿na zablokowaæ kopii zapasowej"
-064 "Przepe³nienie bufora kopii zapasowej"
-065 "Kopia zapasowa"
-066 "%s: b³êdna kopia zapasowa"
-067 "%s: b³êdna kopia zapasowa"
-068 "Brak plików o nazwie %s, które móg³by¶ odczytaæ, do odzyskania"
-069 "Istniej± starsze wersje tego pliku, które mo¿na odzyskaæ"
-070 "Istniej± inne pliki, które mo¿na odzyskaæ"
-071 "nie wysy³am poczty: %s"
-072 "Pusty plik; nie ma czego szukaæ"
-073 "Dotarto do koñca pliku bez znalezienia szukanego wzorca"
-074 "Brak poprzedniego wzorca poszukiwañ"
-075 "Nie znaleziono wzorca"
-076 "Dotarto do pocz±tku pliku bez znalezienia szukanego wzorca"
-077 "Poszukiwanie od pocz±tku"
-078 "Szukam..."
-079 "Nie znaleziono niedrukowalnych znaków"
-080 "Nieznana nazwa polecenia"
-082 "%s: polecenie niedostêpne w trybie edytora ex"
-083 "Liczba nie mo¿e byæ zerem"
-084 "%s: b³êdny numer linii"
-085 "Wewnêtrzny b³±d tablicy sk³adni (%s: %s)"
-086 "Sposób u¿ycia: %s"
-087 "%s: tymczasowy bufor nie zosta³ zwolniony"
-088 "Przesuniêcie przed liniê 1"
-089 "Przesuniêcie poza koniec pliku"
-090 "@ with range running when the file/screen changed"
-091 "Wykonywano polecenie globalne/wizualne podczas zmiany pliku/ekranu"
-092 "B³±d polecenie ex: pozosta³e polecenia anulowane"
-093 "B³±d polecenia ex: mapowanie klawiszy anulowane"
-094 "Drugi adres jest mniejszy od pierwszego"
-095 "Nie podano nazwy znacznika"
-096 "\\ bez / lub ?"
-097 "Odniesienie do linii o numerze mniejszym od 0"
-098 "Nieznane polecenie %s"
-099 "Przepe³nienie warto¶ci adresu"
-100 "Niedomiar warto¶ci adresu"
-101 "Niedozwolona kombinacja adresu"
-102 "Niedozwolony adres: jest tylko %lu linii w pliku"
-103 "Niedozwolony adres: plik jest pusty"
-104 "Polecenie %s nie zezwala na u¿ycie adresu 0"
-105 "Brak skrótów do wy¶wietlenia"
-106 "Skróty musz± siê koñczyæ symbolem \"s³owo\""
-107 "Skróty nie mog± zawieraæ spacji lub tabulacji"
-108 "Skróty nie mog± przeplataæ symboli s³owo/nie-s³owo, z wyj±tkiem na koñcu linii"
-109 "\"%s\" nie jest skrótem"
-110 "B³±d polecenia vi: mapowanie klawiszy odrzucone"
-111 "Nie ma wiêcej plików do edycji"
-112 "Nie ma poprzednich plików do edycji"
-113 "Nie ma poprzednich plików do przewiniêcia wstecz"
-114 "Nie ma listy plików do wy¶wietlenia"
-115 "Nie ma poprzedniego polecenia do zast±pienia \"!\""
-116 "Nie ma nazwy pliku do zast±pienia %%"
-117 "Nie ma nazwy pliku do zast±pienia #"
-118 "B³±d: execl: %s"
-119 "B³±d I/O: %s"
-120 "Plik zmodyfikowany od ostatniego zapisu; zapisz lub u¿yj ! ¿eby wymusiæ"
-121 "Nie mozna znale¼æ katalogu domowego (home)"
-122 "Nowy katalog bie¿±cy: %s"
-123 "Nie ma buforów edycji do wy¶wietlenia"
-124 "Polecenie %s nie mo¿e byæ u¿yte jako czê¶æ polecenia globalnego lub wizualnego"
-125 "%s/%s: nie wczytany: nie nale¿y do ciebie ani do roota"
-126 "%s/%s: nie wczytany: nie nale¿y do ciebie"
-127 "%s/%s: nie wczytany: inny u¿ytkownik ni¿ w³a¶ciciel ma prawo do zapisu"
-128 "%s: nie wczytany: nie nale¿y do ciebie ani do roota"
-129 "%s: nie wczytany: nie nale¿y do ciebie"
-130 "%s: nie wczytany: inny uzytkownik ni¿ w³a¶ciciel ma prawo do zapisu"
-131 "Brak kolejnych linii do po³±czenia"
-132 "Brak pozycji map wej¶ciowych"
-133 "Brak pozycji map poleceñ"
-134 "Znak %s nie mo¿e byæ przemapowany"
-135 "\"%s\" obecnie nie jest mapowany"
-136 "Nazwa znacznika musi byæ pojedyñcz± liter±"
-137 "%s istnieje, nie zapisany; u¿yj ! ¿eby wymusiæ"
-138 "Nowy plik exrc: %s"
-139 "Linia docelowa jest wewn±trz przenoszonego obszaru"
-140 "Polecenie open wymaga ustawienia opcji open"
-141 "Polecenie open jest niezaimplementowane"
-142 "Niemo¿liwe jest zachowanie tego pliku"
-143 "Plik zachowany"
-144 "%s: rozwija siê na zbyt wiele nazw plików"
-145 "Tylko zwyk³e pliki i nazwane ³±cza (named pipes) mo¿na czytaæ"
-146 "%s: nie mo¿na za³o¿yæ blokady do odczytu"
-147 "Czytanie..."
-148 "%s: %lu linii, %lu znaków"
-149 "Brak ekranów w tle do wy¶wietlenia"
-150 "Polecenie script dostêpne jest tylko w trybie vi"
-151 "Brak polecenia do wykonania"
-152 "Opcja shiftwidth ustawiona na 0"
-153 "Przepe³nienie licznika"
-154 "Niedomiar licznika"
-155 "Podano wyra¿enie regularne; flaga r nie ma znaczenia"
-156 "Flagi #, l oraz p nie mog± byæ ³±czone z flag± c w trybie vi"
-157 "Nie znaleziono wzorca"
-158 "Brak poprzedniego znacznika"
-159 "Mniej ni¿ %s na stosie znaczników; u¿yj :display t[ags]"
-160 "Brak pliku %s na stosie znaczników do powrotu; u¿yj :display t[ags]"
-161 "Naci¶nij Enter: "
-162 "%s: znacznik nie znaleziony"
-163 "%s: b³êdny znacznik w %s"
-164 "%s: numer linii znacznika wykracza poza koniec pliku"
-165 "Stos znaczników jest pusty"
-166 "%s: nie znaleziono szukanego wzorca"
-167 "%d plików jeszcze do edycji"
-168 "Bufor %s jest pusty"
-169 "Potwierdzasz zmianê? [n]"
-170 "Przerwany"
-171 "Brak poprzedniego bufora do wykonania"
-172 "Brak poprzedniego wyra¿enia regularnego"
-173 "Polecenie %s wymaga uprzedniego wczytania pliku"
-174 "Sposób u¿ycia: %s"
-175 "Polecenie wizualne wymaga ustawienia opcji open"
-177 "Pusty plik"
-178 "Brak poprzedniego szukania F, f, T lub t"
-179 "%s nie znaleziono"
-180 "Brak poprzedniego pliku do edycji"
-181 "Kursor nie na liczbie"
-182 "Liczba wynikowa zbyt du¿a"
-183 "Liczba wynikowa zbyt ma³a"
-184 "Brak pasuj±cych znaków w tej linii"
-185 "Nie znaleziono pasuj±cych znaków"
-186 "Brak znaków do zamiany"
-187 "Brak innego ekranu do prze³±czenia"
-188 "Znaki poza napisem do szukania, przesuniêciem linii i/lub poleceniem z"
-189 "Brak poprzedniego wzorca szukania"
-190 "Szukanie wróci³o do pierwotnej pozycji"
-191 "Skrót przekroczy³ limit rozwiniêcia: czê¶æ znaków odrzucono"
-192 "Niedozwolony znak; zacytuj, ¿eby wprowadziæ"
-193 "Ju¿ na pocz±tku wstawiania"
-194 "Brak kolejnych znaków do usuniêcia"
-195 "Przesuniêcie poza koniec pliku"
-196 "Przesuniêcie poza koniec linii"
-197 "Nie wykonano przesuniêcia kursora"
-198 "Ju¿ na pocz±tku pliku"
-199 "Przesuniêcie przed pocz±tek pliku"
-200 "Ju¿ w pierwszej kolumnie"
-201 "Nale¿y podaæ bufory przed poleceniem"
-202 "Ju¿ na koñcu pliku"
-203 "Ju¿ na koñcu linii"
-204 "%s nie jest poleceniem vi"
-205 "Sposób u¿ycia: %s"
-206 "Brak znaków do usuniêcia"
-207 "Polecenie Q wymaga interfejsu terminala ex"
-208 "Brak polecenia do powtórzenia"
-209 "Plik jest pusty"
-210 "%s nie mo¿e byæ u¿yte jako polecenie przesuniêcia"
-211 "Ju¿ w trybie poleceñ"
-212 "Kursor nie na s³owie"
-214 "Warto¶ci opcji okna zbyt du¿e, max to %u"
-215 "Do³±cz"
-216 "Zmieñ"
-217 "Polecenie"
-218 "Wstaw"
-219 "Zamieñ"
-220 "Przesuniêcie poza koniec ekranu"
-221 "Przesuniêcie przed pocz±tek ekranu"
-222 "Ekran musi mieæ wiêcej ni¿ %d linii, ¿eby go podzieliæ"
-223 "Brak ekranów w tle"
-224 "Nie ma ekranu w tle z edycj± pliku o nazwie %s"
-225 "Nie mo¿na schowaæ w tle jedynego ekranu edycyjnego"
-226 "Mo¿na zmniejszyæ ekran tylko do %d wierszy"
-227 "Ekran nie mo¿e byæ zmniejszony"
-228 "Ekran nie mo¿e byæ zwiêkszony"
-230 "Ekran nie mo¿e byæ zawieszony"
-231 "Przerwano: odrzucono mapowane klawisze"
-232 "vi: nie zwolniono bufora tymczasowego"
-233 "Ten terminal nie posiada klawisza %s"
-234 "Mo¿na podaæ tylko jeden bufor"
-235 "Liczba wiêksza ni¿ %lu"
-236 "Przerwano"
-237 "Nie mo¿na utworzyæ pliku tymczasowego"
-238 "Uwaga: %s nie jest zwyk³ym plikiem"
-239 "%s ju¿ zablokowany, sesja tylko do odczytu"
-240 "%s: usuñ"
-241 "%s: zamknij"
-242 "%s: usuñ"
-243 "%s: usuñ"
-244 "Plik tylko do odczytu, nie zapisany; u¿yj ! ¿eby wymusiæ"
-245 "Plik tylko do odczytu, nie zapisany"
-246 "%s istnieje, nie zapisany; u¿yj ! ¿eby wymusiæ"
-247 "%s istnieje, nie zapisany"
-248 "Plik czê¶ciowy, nie zapisany; u¿yj ! ¿eby wymusiæ"
-249 "Plik czê¶ciowy, nie zapisany"
-250 "%s: plik zmodyfikowany pó¼niej, ni¿ ta kopia; u¿yj ! ¿eby wymusiæ"
-251 "%s: plik zmodyfikowany pó¼niej, ni¿ ta kopia"
-252 "%s: nie mo¿na zablokowaæ do pisania"
-253 "Zapisywanie..."
-254 "%s: OSTRZE¯ENIE: PLIK ZOSTA£ OBCIÊTY"
-255 "Ju¿ przy pierwszym znaczniku z tej grupy"
-256 "%s: nowy plik: %lu linii, %lu znaków"
-257 "%s: %lu linii, %lu znaków"
-258 "%s rozwija siê na zbyt wiele nazw plików"
-259 "%s: nie jest zwyk³ym plikiem"
-260 "%s: nie jeste¶ w³a¶cicielem"
-261 "%s: dostêpny dla u¿ytkownika innego ni¿ w³a¶ciciel"
-262 "Plik zmodyfikowany od ostatniego zapisu; zapisz lub u¿yj ! ¿eby wymusiæ"
-263 "Plik zmodyfikowany od ostatniego zapisu; zapisz lub u¿yj :edit! ¿eby wymusiæ"
-264 "Plik zmodyfikowany od ostatniego zapisu; zapisz lub u¿yj ! ¿eby wymusiæ"
-265 "To jest plik tymczasowy; wyj¶cie anuluje zmiany"
-266 "Plik tylko do odczytu, nie ma autozapisu zmian"
-267 "Ponownie rozpoczêto logowanie"
-268 "potwierdzasz? [ynq]"
-269 "Naci¶nij dowolny klawisz: "
-270 "Naci¶nij dowolny klawisz [: ¿eby podaæ nastêpne polecenia ex]: "
-271 "Naci¶nij dowolny klawisz [q ¿eby zakoñczyæ]: "
-272 "Ta forma %s wymaga interfejsu terminala ex"
-273 "Wchodzê w tryb wprowadzania ex."
-274 "B³±d polecenia, jeszcze nie wczytano pliku."
-275 " dalej?"
-276 "Nieoczekiwany symbol"
-277 "Nieoczekiwany koniec pliku"
-278 "Brak wzorców pasuj±cych do zapytania"
-279 "Nieoczekiwane przerwanie"
-280 "Nieoczekiwane polecenie koniec"
-281 "Nieoczekiwane polecenie od¶wie¿enia"
-282 "Ju¿ przy ostatnim znaczniku z tej grupy"
-283 "Polecenie %s wymaga interfejsu terminala ex"
-284 "Ta forma %s jest niedostêpna, kiedy ustawiona jest opcja bezpiecznej edycji"
-285 "Nieoczekiwany ci±g znaków"
-286 "Nieoczekiwany timeout"
-287 "Nieoczekiwane polecenie zapisu"
-289 "Rozwiniêcia shella niedostêpne w trybie bezpiecznej edycji"
-290 "Polecenie %s jest niedostêpne w trybie bezpiecznej edycji"
-291 "set: opcji %s nie mo¿na wy³±czyæ"
-292 "Ekran zbyt ma³y."
-293 "dodano"
-294 "zmieniono"
-295 "usuniêto"
-296 "po³±czono"
-297 "przeniesiono"
-298 "przesuniêto"
-299 "wczytano"
-300 "linia"
-301 "linii"
-302 "Vi nie zosta³ uruchomiony z interpreterem Tcl"
-303 "Plik zmodyfikowany od ostatniego zapisu"
-304 "B³±d rozwiniêcia shella"
-305 "Brak opcji %s edycji"
-306 "Vi nie zosta³ uruchomiony z interpreterem Perl"
-307 "Brak polecenia ex do wykonania"
-308 "Naci¶nij <CR> ¿eby wykonac polecenie, :q ¿eby wyj¶æ"
-309 "U¿yj \"cscope help\" w celu uzyskania pomocy"
-310 "Brak aktywnych po³±czeñ cscope"
-311 "%s: nieznany typ poszukiwañ: u¿yj jednego z %s"
-312 "%d: brak takiej sesji cscope"
-313 "set: nie mo¿na nigdy w³±czyæ opcji %s"
-314 "set: opcja %s nie mo¿e nigdy mieæ warto¶ci 0"
-315 "%s: dodano: %lu linii, %lu znaków"
-316 "Nieoczekiwane polecenie zmiany rozmiaru"
-317 "%d plików do edycji"
diff --git a/contrib/nvi/catalog/polish.owner b/contrib/nvi/catalog/polish.owner
deleted file mode 100644 (file)
index 1fcf5c5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Andrzej Bia³ecki <abial@warman.org.pl>
diff --git a/contrib/nvi/catalog/ru_RU.KOI8-R.base b/contrib/nvi/catalog/ru_RU.KOI8-R.base
deleted file mode 100644 (file)
index 6d1c1b5..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-002 "ðÅÒÅÐÏÌÎÅÎÉÅ ÚÎÁÞÅÎÉÑ ÄÌÉÎÙ ÓÔÒÏËÉ"
-003 "ÎÅ×ÏÚÍÏÖÎÏ ÕÄÁÌÉÔØ ÓÔÒÏËÕ %lu"
-004 "ÎÅ×ÏÚÍÏÖÎÏ ÄÏÂÁ×ÉÔØ Ë ÓÔÒÏËÅ %lu"
-005 "ÎÅ×ÏÚÍÏÖÎÏ ×ÓÔÁ×ÉÔØ × ÓÔÒÏËÕ %lu"
-006 "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÈÒÁÎÉÔØ ÓÔÒÏËÕ %lu"
-007 "ÎÅ×ÏÚÍÏÖÎÏ ÄÏÓÔÁÔØ ÐÏÓÌÅÄÎÀÀ ÓÔÒÏËÕ"
-008 "ïÛÉÂËÁ: ÎÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ ÓÔÒÏËÕ %lu"
-009 "æÁÊÌ ÚÁÐÉÓÅÊ"
-010 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓØ, ÎÅ×ÏÚÍÏÖÎÏ ÏÔÍÅÎÉÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ"
-011 "îÅÔ ÉÚÍÅÎÅÎÉÊ ÄÌÑ ÏÔÍÅÎÙ"
-012 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓØ, ÎÅ×ÏÚÍÏÖÎÏ ÏÔÍÅÎÉÔØ ÐÏÓÌÅÄÎÀÀ ËÏÍÁÎÄÕ"
-013 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓØ, ÎÅ×ÏÚÍÏÖÎÏ ÐÒÏÓÍÏÔÒÅÔØ ×ÐÅÒÅÄ"
-014 "îÅÔ ÉÚÍÅÎÅÎÉÊ ÄÌÑ ÐÅÒÅÄÅÌËÉ"
-015 "%s/%d: ÏÛÉÂËÁ ÐÒÉ ÚÁÐÉÓÉ ÐÒÏÔÏËÏÌÁ"
-016 "óÔÁÎÄÁÒÔÎÙÊ ××ÏÄ/×Ù×ÏÄ ÄÌÑ VI ÄÏÌÖÅΠÂÙÔØ ÔÅÒÍÉÎÁÌ"
-017 "ïÔÍÅÔËÁ %s: ÎÅ ÕÓÔÁÎÏ×ÌÅÎÁ"
-018 "ïÔÍÅÔËÁ %s: ÓÔÒÏËÁ ÂÙÌÁ ÕÄÁÌÅÎÁ"
-019 "ïÔÍÅÔËÁ %s: ÐÏÚÉÃÉÉ ËÕÒÓÏÒÁ ÂÏÌØÛÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-020 "ïÛÉÂËÁ: "
-021 "ÎÏ×ÙÊ ÆÁÊÌ"
-022 "ÉÍÑ ÉÚÍÅÎÅÎÏ"
-023 "ÍÏÄÉÆÉÃÉÒÏ×ÁÎÏ"
-024 "ÎÅ ÍÏÄÉÆÉÃÉÒÏ×ÁÎÏ"
-025 "òáúâìïëéòï÷áîï"
-026 "ÔÏÌØËÏ ÞÔÅÎÉÅ"
-027 "ÓÔÒÏËÁ %lu ÉÚ %lu [%ld%%]"
-028 "ÐÕÓÔÏÊ ÆÁÊÌ"
-029 "ÓÔÒÏËÁ %lu"
-030 "æÁÊÌ %s ÎÅ Ñ×ÌÑÅÔÓÑ ËÁÔÁÌÏÇÏÍ ÓÏÏÂÝÅÎÉÊ"
-031 "îÅ×ÏÚÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ ÏÐÃÉÀ %s ÐÏ ÕÍÏÌÞÁÎÉÀ"
-032 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s"
-033 "ïÐÃÉÉ %s ÎÅÔ: 'set all' ÐÏËÁÚÙ×ÁÅÔ ×ÓÅ ×ÏÚÍÏÖÎÙÅ ÏÐÃÉÉ"
-034 "set: [no]%s ÎÅ ÐÒÉÎÉÍÁÅÔ ÔÁËÏÇÏ ÚÎÁÞÅÎÉÑ"
-035 "set: %s ÏÐÃÉÑ ÎÅ Ñ×ÌÑÅÔÓÑ ÌÏÇÉÞÅÓËÏÊ"
-036 "set: %s ÏÐÃÉÑ: %s"
-037 "set: %s ÏÐÃÉÑ: %s: ÚÎÁÞÅÎÉÅ ÐÅÒÅÐÏÌÎÅÎÉÑ"
-038 "set: ÎÅÐÒÁ×ÉÌØÎÏÅ ÚÎÁÞÅÎÉÅ %s"
-039 "set: %s ÏÐÃÉÑ ÎÅ Ñ×ÌÑÅÔÓÑ ÌÏÇÉÞÅÓËÏÊ"
-040 "ëÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË ÜËÒÁÎÁ ÓÌÉÛËÏÍ ÍÁÌÏ, ÍÅÎØÛÅ ÞÅÍ %d"
-041 "ëÏÌÉÞÅÓÔ×Ï ËÏÌÏÎÏË ÜËÒÁÎÁ ÓÌÉÛËÏÍ ×ÅÌÉËÏ, ÂÏÌØÛÅ ÞÅÍ %d"
-042 "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÜËÒÁÎÁ ÓÌÉÛËÏÍ ÍÁÌÏ, ÍÅÎØÛÅ ÞÅÍ %d"
-043 "ëÏÌÉÞÅÓÔ×Ï ÓÔÒÏË ÜËÒÁÎÁ ÓÌÉÛËÏÍ ×ÅÌÉËÏ, ÂÏÌØÛÅ ÞÅÍ %d"
-044 "ïÐÃÉÑ lisp ÏÔÓÕÔÓÔ×ÕÅÔ"
-045 "óÏÏÂÝÅÎÉÑ ÎÅ ×ÙËÌÀÞÅÎÙ: %s"
-046 "óÏÏÂÝÅÎÉÑ ÎÅ ×ËÌÀÞÅÎÙ: %s"
-047 "ïÐÃÉÑ %s ÄÏÌÖÎÁ ÓÏÓÔÏÑÔØ ÉÚ ÇÒÕÐРӠÄ×ÕÍÑ ÓÉÍ×ÏÌÁÍÉ"
-053 "óÔÁÒÔÏ×ÙÊ ÂÕÆÅÒ ÐÕÓÔ"
-054 "âÕÆÅÒ %s ÐÕÓÔ"
-055 "æÁÊÌÙ Ó ÓÉÍ×ÏÌÁÍÉ ÐÅÒÅ×ÏÄÁ ÓÔÒÏËÉ × ÉÍÅÎÉ ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÏÓÓÔÁÎÏ×ÌÅÎÙ"
-056 "éÚÍÅÎÅÎÉÑ ÎÅ ÓÏÈÒÁÎÅÎÙ ÐÒÉ ËÒÁÈÅ ÓÅÓÓÉÉ"
-057 "ëÏÐÉÒÏ×ÁÎÉÅ ÆÁÊÌÁ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ..."
-058 "óÏÈÒÁÎÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ: %s"
-059 "éÚÍÅÎÅÎÉÑ ÎÅ ÓÏÈÒÁÎÑÀÔÓÑ ÐÒÉ ÏÂÒÙ×Å ÓÅÓÓÉÉ"
-060 "óÏÈÒÁÎÅÎÉÅ ËÏÐÉÉ ÆÁÊÌÁ ÎÅ ÕÄÁÌÏÓØ: %s"
-061 "ëÏÐÉÒÏ×ÁÎÉÅ ÆÁÊÌÁ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ..."
-062 "éÎÆÏÒÍÁÃÉÉ ÎÁ ÐÏÌØÚÏ×ÁÔÅÌÑ %u ÎÅ ÎÁÊÄÅÎÏ"
-063 "îÅ×ÏÚÍÏÖÎÏ ÚÁÝÉÔÉÔØ ÓÐÁÓÅÎÎÙÊ ÆÁÊÌ"
-064 "âÕÆÅÒ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÏÇÏ ÆÁÊÌÁ ÐÅÒÅÐÏÌÎÅÎ"
-065 "÷ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÆÁÊÌ"
-066 "%s: ÎÅ ÄÏ ËÏÎÃÁ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÆÁÊÌ"
-067 "%s: ÎÅ ÄÏ ËÏÎÃÁ ×ÏÓÓÔÁÎÏ×ÌÅÎÎÙÊ ÆÁÊÌ"
-068 "æÁÊÌÏ× Ó ÉÍÅÎÅÍ %s, ËÏÔÏÒÙÅ ÷Ù ÍÏÖÅÔÅ ÞÉÔÁÔØ, ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-069 "åÓÔØ ÓÔÁÒÙÅ ×ÅÒÓÉÉ ÆÁÊÌÁ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ"
-070 "óÕÝÅÓÔ×ÕÀÔ ÄÒÕÇÉÅ ÆÁÊÌÙ, ËÏÔÏÒÙÅ ÍÏÖÎÏ ×ÏÓÓÔÁÎÏ×ÉÔØ"
-071 "Å-mail ÎÅ ÐÏÓÌÁÎ: %s"
-072 "æÁÊÌ ÐÕÓÔ - ÉÓËÁÔØ ÎÅÞÅÇÏ"
-073 "äÏÓÔÉÇÎÕÔ ËÏÎÅàÆÁÊÌÁ ÂÅÚ ÎÁÈÏÖÄÅÎÉÑ ÏÂÒÁÚÃÁ ÐÏÉÓËÁ"
-074 "îÅ ÚÁÄÁΠÏÂÒÁÚÅàÐÏÉÓËÁ"
-075 "ïÂÒÁÚÅàÐÏÉÓËÁ ÎÅ ÎÁÊÄÅÎ"
-076 "äÏÓÔÕÐÎÏ ÎÁÞÁÌÏ ÆÁÊÌÁ ÂÅÚ ÎÁÈÏÖÄÅÎÉÑ ÏÂÒÁÚÃÁ ÐÏÉÓËÁ"
-077 "ðÏÉÓË ÚÁÃÉËÌÅÎ"
-078 "ðÏÉÓË..."
-079 "îÅÐÅÞÁÔÎÙÈ ÓÉÍ×ÏÌÏ× ÎÅ ÎÁÊÄÅÎÏ"
-080 "îÅÉÚ×ÅÓÔÎÁÑ ËÏÍÁÎÄÁ"
-082 "%s: ËÏÍÁÎÄÁ ÎÅ ÄÏÓÔÕÐÎÁ × ÒÅÖÉÍÅ ex"
-083 "óÞÅÔÞÉË ÎÅ ÍÏÖÅÔ ÂÙÔØ ÎÕÌÅÍ"
-084 "%s: ÎÅÐÒÁ×ÉÌØÎÏÅ ÕËÁÚÁÎÉÅ ÓÔÒÏËÉ"
-085 "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ × ÓÉÎÔÁËÓÉÓÅ (%s: %s)"
-086 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s"
-087 "%s: ×ÒÅÍÅÎÎÙÊ ÂÕÆÅÒ ÎÅ ÉÓÐÏÌØÚÏ×ÁÎ"
-088 "íÅÔËÁ ÐÏÓÔÁ×ÌÅÎÁ ÐÅÒÅÄ ÓÔÒÏËÏÊ 1"
-089 "íÅÔËÁ ÐÏÓÔÁ×ÌÅÎÁ ÐÏÓÌÅ ËÏÎÃÁ ÆÁÊÌÁ"
-090 "@ Ó ÄÉÁÐÁÚÏÎÏÍ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÇÄÁ ÆÁÊÌ/ÜËÒÁΠÉÚÍÅÎÅÎÙ"
-091 "çÌÏÂÁÌØÎÁÑ/v ËÏÍÁÎÄÁ ×ÙÐÏÌÎÑÅÔÓÑ ËÏÇÄÁ ÆÁÊÌ/ÜËÒÁΠÉÚÍÅÎÅÎÙ"
-092 "ëÏÍÁÎÄÁ ex ÎÅ ÕÄÁÌÁÓØ: ÐÏÓÌÅÄÕÀÝÉÅ ËÏÍÁÎÄÙ ÚÁÂÙÔÙ"
-093 "ëÏÍÁÎÄÁ ex ÎÅ ÕÄÁÌÁÓØ: ÎÁÚÎÁÞÅÎÎÙÅ ËÌÁ×ÉÛÉ ÚÁÂÙÔÙ"
-094 "÷ÔÏÒÏÊ ÁÄÒÅÓ ÍÅÎØÛÅ ÞÅÍ ÐÅÒ×ÙÊ"
-095 "îÅ ÕËÁÚÁÎÏ ÎÁÚ×ÁÎÉÅ ÏÔÍÅÔËÉ"
-096 "\\ ÎÅ ÚÁ×ÅÒÛÁÅÔÓÑ / ÉÌÉ ?"
-097 "óÓÙÌËÁ Ë ÓÔÒÏËÅ Ó ÎÏÍÅÒÏÍ ÍÅÎØÛÅ 0"
-098 "ëÏÍÁÎÄÁ %s ÎÅÉÚ×ÅÓÔÎÁ"
-099 "ðÅÒÅÐÏÌÎÅÎÉÅ ÚÎÁÞÅÎÉÑ ÁÄÒÅÓÁ"
-100 "îÅÄÏÂÏÒ ÚÎÁÞÅÎÉÑ ÁÄÒÅÓÁ"
-101 "îÅÄÏÐÕÓÔÉÍÁÑ ËÏÍÂÉÎÁÃÉÑ × ÁÄÒÅÓÅ"
-102 "îÅÐÒÁ×ÉÌØÎÙÊ ÁÄÒÅÓ: ×ÓÅÇÏ %lu ÓÔÒÏË × ÆÁÊÌÅ"
-103 "îÅÐÒÁ×ÉÌØÎÙÊ ÁÄÒÅÓ: ÆÁÊÌ ÐÕÓÔ"
-104 "ëÏÍÁÎÄÁ %s ÎÅ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÄÒÅÓ 0"
-105 "áÂÂÒÅ×ÉÁÔÕÒÙ ÏÔÓÕÔÓÔ×ÕÀÔ"
-106 "áÂÂÒÅ×ÉÁÔÕÒÙ ÄÏÌÖÎÙ ÚÁËÁÎÞÉ×ÁÔØÓÑ ÓÉÍ×ÏÌÏÍ \"ÓÌÏ×\""
-107 "áÂÂÒÅ×ÉÁÔÕÒÙ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ ÓÉÍ×ÏÌÙ ÔÁÂÕÌÑÃÉÉ ÉÌÉ ÐÒÏÂÅÌÙ"
-108 "áÂÂÒÅ×ÉÁÔÕÒÙ ÎÅ ÍÏÇÕÔ ÓÏÞÅÔÁÔØÓÑ Ó ÓÉÍ×ÏÌÁÍÉ ÓÌÏ×/ÎÅ-ÓÌÏ×, ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ËÏÎÃÁ ÓÔÒÏËÉ"
-109 "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÁÂÂÒÅ×ÉÁÔÕÒÏÊ"
-110 "Vi ËÏÍÁÎÄÁ ÎÅ ÕÄÁÌÁÓØ: ÎÁÚÎÁÞÅÎÎÙÅ ËÌÁ×ÉÛÉ ÚÁÂÙÔÙ"
-111 "æÁÊÌÏ× ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ ÂÏÌØÛÅ ÎÅÔ"
-112 "ïÔÓÕÔÓÔ×ÉÅ ÐÒÅÄÙÄÕÝÅÇÏ ÆÁÊÌÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-113 "ïÔÓÕÔÓÔ×ÉÅ ÐÒÅÄÙÄÕÝÅÇÏ ÆÁÊÌÁ ÄÌÑ ÐÒÏÓÍÏÔÒÁ ÎÁÚÁÄ"
-114 "îÅÔ ÆÁÊÌÏ×"
-115 "ïÔÓÕÔÓÔ×ÉÅ ÐÒÅÄÙÄÕÝÅÊ ËÏÍÁÎÄÙ ÄÌÑ ÚÁÍÅÎÙ \"!\""
-116 "ïÔÓÕÔÓÔ×ÉÅ ÚÁÍÅÎÙ ÄÌÑ %%"
-117 "ïÔÓÕÔÓÔ×ÉÅ ÚÁÍÅÎÙ ÄÌÑ #"
-118 "ïÛÉÂËÁ: execl: %s"
-119 "ïÛÉÂËÁ ××ÏÄÁ/×Ù×ÏÄÁ: %s"
-120 "æÁÊÌ ÉÚÍÅÎÅΠӠÍÏÍÅÎÔÁ ÐÏÓÌÅÄÎÅÊ ÐÏÌÎÏÊ ÚÁÐÉÓÉ: ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-121 "îÅ×ÏÚÍÏÖÎÏ ÎÁÊÔÉ ÄÏÍÁÛÎÉÊ ËÁÔÁÌÏÇ"
-122 "îÏ×ÙÊ ËÁÔÁÌÏÇ: %s"
-123 "îÅÔ ×ÙÒÅÚÁÎÎÙÈ ÂÕÆÅÒÏ×"
-124 "ëÏÍÁÎÄÁ %s ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ×ÎÕÔÒÉ ÇÌÏÂÁÌØÎÏÊ ÉÌÉ v ËÏÍÁÎÄÙ"
-125 "%s/%s: ÎÅ ÏÔËÒÙÔ: ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÷ÁÍ ÉÌÉ root-Õ"
-126 "%s/%s: ÎÅ ÏÔËÒÙÔ: ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÷ÁÍ"
-127 "%s/%s: ÎÅ ÏÔËÒÙÔ: ×ÏÚÍÏÖÎÏÓÔØ ÚÁÐÉÓÉ Õ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÎÅ Ñ×ÌÑÀÝÅÇÏÓÑ ×ÌÁÄÅÌØÃÅÍ"
-128 "%s: ÎÅ ÓÞÉÔÁÎ: ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÷ÁÍ ÉÌÉ root-Õ"
-129 "%s: ÎÅ ÓÞÉÔÁÎ: ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÷ÁÍ"
-130 "%s: ÎÅ ÓÞÉÔÁÎ: ×ÏÚÍÏÖÎÏÓÔØ ÚÁÐÉÓÉ Õ ÐÏÌØÚÏ×ÁÔÅÌÑ, ÎÅ Ñ×ÌÑÀÝÅÇÏÓÑ ×ÌÁÄÅÌØÃÅÍ"
-131 "ðÏÓÌÅÄÕÀÝÉÅ ÓÔÒÏËÉ ÏÔÓÕÔÓÔ×ÕÀÔ"
-132 "ïÔÓÕÔÓÔ×ÉÅ ÐÁÒÁÍÅÔÒÏ× ××ÏÄÁ"
-133 "ïÔÓÕÔÓÔ×ÉÅ ÐÁÒÁÍÅÔÒÏ× ËÏÍÁÎÄÙ"
-134 "óÉÍ×ÏÌ %s ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÎÁÚÎÁÞÅÎ"
-135 "\"%s\" ÎÁ ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÎÁÚÎÁÞÅÎ"
-136 "éÍÑ ÍÅÔËÉ ÄÏÌÖÎÏ ÂÙÔØ ÏÄÎÉÍ ÓÉÍ×ÏÌÏÍ"
-137 "%s ÓÕÝÅÓÔ×ÕÅÔ, ÎÅ ÚÁÐÉÓÁÎ; ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-138 "îÏ×ÙÊ ÆÁÊÌ exrc: %s"
-139 "óÔÒÏËÁ ÐÅÒÅÎÏÓÁ ÎÁÈÏÄÉÔÓÑ ×ÎÕÔÒÉ ÐÁÒÁÍÅÔÒÏ× ÐÅÒÅÎÏÓÁ"
-140 "ëÏÍÁÎÄÁ open ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÕÓÔÁÎÏ×ËÕ ÏÐÃÉÉ open"
-141 "ëÏÍÁÎÄÁ open ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ"
-142 "úÁÝÉÔÁ ÆÁÊÌÁ ÎÅ×ÏÚÍÏÖÎÁ"
-143 "æÁÊÌ ÚÁÝÉÝÅÎ"
-144 "%s ÒÁÓÛÉÒÉÌÓÑ × ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÍÅΠÆÁÊÌÏ×"
-145 "ôÏÌØËÏ ÏÂÙÞÎÙÅ ÆÁÊÌÙ ÉÌÉ ÉÍÅÎÏ×ÁÎÎÙÅ ËÁÎÁÌÙ ÍÏÇÕÔ ÂÙÔØ ÐÒÏÞÉÔÁÎÙ"
-146 "%s: ÚÁÝÉÔÁ ÎÁ ÞÔÅÎÉÅ ÂÙÌÁ ÎÅÄÏÓÔÕÐÎÁ"
-147 "þÔÅÎÉÅ..."
-148 "%s: %lu ÓÔÒÏË, %lu ÓÉÍ×ÏÌÏ×"
-149 "îÅÔ ÔÅÎÅ×ÙÈ ÏËÏÎ"
-150 "ëÏÍÁÎÄÁ script ÉÓÐÏÌØÚÕÅÔÓÑ ÔÏÌØËÏ × ÒÅÖÉÍÅ vi"
-151 "îÅÔ ËÏÍÁÎÄÙ ÄÌÑ ÉÓÐÏÌÎÅÎÉÑ"
-152 "ïÐÃÉÑ shiftwidth ÕÓÔÁÎÏ×ÌÅÎÁ ÎÁ 0"
-153 "ðÅÒÅÐÏÌÎÅÎÉÅ ÓÞÅÔÞÉËÁ"
-154 "ãÉËÌ ×ÙÐÏÌÎÅΠÎÅ ÄÏ ËÏÎÃÁ"
-155 "õËÁÚÁÎÏ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ: ÆÌÁÇ r ÎÅ ÎÕÖÅÎ"
-156 "æÌÁÇÉ #, l É p ÎÅ ÍÏÇÕÔ ÂÙÔØ ÏÂßÅÄÉÎÅÎÙ Ó ÆÌÁÇÏÍ c × ÒÅÖÉÍÅ vi"
-157 "óÏ×ÐÁÄÅÎÉÊ ÎÅÔ"
-158 "íÅÔËÁ ÏÔÓÕÔÓÔ×ÕÅÔ"
-159 "÷ ÓÔÅËÅ ÍÅÔÏË ÚÁÐÉÓÅÊ ÍÅÎØÛÅ, ÞÅÍ %s, ÉÓÐÏÌØÚÕÊÔÅ :display t[ags]"
-160 "æÁÊÌÁ Ó ÉÍÅÎÅÍ %s × ÓÔÅËÅ ÍÅÔÏË ÎÅÔ; ÉÓÐÏÌØÚÕÊÔÅ :display t[ags]"
-161 "îÁÖÍÉÔÅ Enter ÞÔÏÂÙ ÐÒÏÄÏÌÖÉÔØ: "
-162 "%s: ÍÅÔËÁ ÎÅ ÎÁÊÄÅÎÁ"
-163 "%s: ÐÌÏÈÁÑ ÍÅÔËÁ × %s"
-164 "%s: ÎÏÍÅÒ ÓÔÒÏËÉ ÍÅÔËÉ ×ÙÛÅÌ ÚÁ ËÏÎÅàÆÁÊÌÁ"
-165 "óÔÅË ÍÅÔÏË ÐÕÓÔ"
-166 "%s: ÏÂÒÁÚÅàÐÏÉÓËÁ ÎÅ ÎÁÊÄÅÎ"
-167 "ÅÝÅ %d ÆÁÊÌÏ× ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-168 "âÕÆÅÒ %s ÐÕÓÔ"
-169 "ðÏÄÔ×ÅÒÄÉÔØ ÉÚÍÅÎÅÎÉÑ? [n]"
-170 "ðÒÅÒ×ÁÎÏ"
-171 "ïÔÓÕÔÓÔ×ÉÅ ÂÕÆÅÒÁ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ"
-172 "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÙÒÁÖÅÎÉÑ"
-173 "ëÏÍÁÎÄÁ %s ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÎÁÌÉÞÉÅ ÐÒÏÞÔÅÎÎÏÇÏ ÆÁÊÌÁ"
-174 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s"
-175 "ëÏÍÁÎÄÁ visual ÐÏÄÒÁÚÕÍÅ×ÁÅÔ ÏÂÑÚÁÔÅÌØÎÕÀ ÕÓÔÁÎÏ×ËÕ ÏÐÃÉÉ open"
-177 "ðÕÓÔÏÊ ÆÁÊÌ"
-178 "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ÐÏÉÓËÁ F, f, T, ÉÌÉ t"
-179 "%s ÎÅ ÎÁÊÄÅÎÏ"
-180 "îÅÔ ÐÒÅÄÙÄÕÝÅÇÏ ÆÁÊÌÁ ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-181 "ëÕÒÓÏÒ ÓÔÏÉÔ ÎÅ ÎÁ ÃÉÆÒÅ"
-182 "ðÏÌÕÞÅÎÎÏÅ ÞÉÓÌÏ ÓÌÉÛËÏÍ ×ÅÌÉËÏ"
-183 "ðÏÌÕÞÅÎÎÏÅ ÞÉÓÌÏ ÓÌÉÛËÏÍ ÍÁÌÏ"
-184 "ðÏÄÈÏÄÑÝÅÇÏ ÓÉÍ×ÏÌÁ ÎÅÔ ÎÁ ÜÔÏÊ ÓÔÒÏËÅ"
-185 "ðÏÄÈÏÄÑÝÉÊ ÓÉÍ×ÏÌ ÎÅ ÎÁÊÄÅÎ"
-186 "îÅÔ ÓÉÍ×ÏÌÏ× ÄÌÑ ÕÄÁÌÅÎÉÑ"
-187 "äÒÕÇÏÇÏ ÜËÒÁÎÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ"
-188 "óÉÍ×ÏÌÙ ÐÏÓÌÅ ÓÔÒÏËÉ ÄÌÑ ÐÏÉÓËÁ, ÓÍÅÝÅÎÉÑ ÓÔÒÏËÉ É/ÉÌÉ ËÏÍÁÎÄÙ z"
-189 "ðÒÏÛÌÙÊ ÏÂÒÁÚÅàÐÏÉÓËÁ ÏÔÓÕÔÓÔ×ÕÅÔ"
-190 "ðÏÉÓË ÚÁ×ÅÒÛÉÌÓÑ ÎÁ ÎÁÞÁÌØÎÏÊ ÐÏÚÉÃÉÉ"
-191 "áÂÂÒÅ×ÉÁÔÕÒÁ ÐÒÅ×ÙÓÉÌÁ ÌÉÍÉÔ ÒÁÓÛÉÒÅÎÉÑ: ÓÉÍ×ÏÌÙ ÚÁÂÙÔÙ"
-192 "óÉÍ×ÏÌ ÎÅÐÒÁ×ÉÌÅÎ; Ë×ÏÔÉÒÕÊÔÅ ÄÌÑ ××ÏÄÁ"
-193 "õÖÅ ÎÁ ÎÁÞÁÌÅ ×ÓÔÁ×ËÉ"
-194 "îÅÔ ÓÉÍ×ÏÌÏ× ÄÌÑ ÕÄÁÌÅÎÉÑ"
-195 "ðÅÒÅÄ×ÉÖÅÎÉÅ ÚÁ ËÏÎÅàÆÁÊÌÁ"
-196 "ðÅÒÅÄ×ÉÖÅÎÉÅ ÚÁ ËÏÎÅàÓÔÒÏËÉ"
-197 "ä×ÉÖÅÎÉÅ ÓÔÒÏËÉ ÎÅ ÓÄÅÌÁÎÏ"
-198 "õÖÅ ÎÁ ÎÁÞÁÌÅ ÆÁÊÌÁ"
-199 "ä×ÉÖÅÎÉÅ ËÕÒÓÏÒÁ ÚÁ ÎÁÞÁÌÏ ÆÁÊÌÁ"
-200 "õÖÅ × ÐÅÒ×ÏÊ ËÏÌÏÎËÅ"
-201 "âÕÆÅÒÙ ÄÏÌÖÎÙ ÂÙÔØ ÕËÁÚÁÎÙ ÄÏ ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ"
-202 "õÖÅ ÎÁ ËÏÎÃÅ ÆÁÊÌÁ"
-203 "õÖÅ ÎÁ ËÏÎÃÅ ÓÔÒÏËÉ"
-204 "%s ÎÅ Ñ×ÌÑÅÔÓÑ ËÏÍÁÎÄÏÊ VI"
-205 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s"
-206 "îÅÔ ÓÉÍ×ÏÌÏ× ÄÌÑ ÕÄÁÌÅÎÉÑ"
-207 "ëÏÍÁÎÄÁ Q ÔÒÅÂÕÅÔ ex ÉÎÔÅÒÆÅÊÓ ÔÅÒÍÉÎÁÌÁ"
-208 "îÅÔ ËÏÍÁÎÄÙ ÄÌÑ ÐÏ×ÔÏÒÁ"
-209 "æÁÊÌ ÐÕÓÔ"
-210 "ëÏÍÁÎÄÁ %s ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÁ ËÁË ËÏÍÁÎÄÁ ÐÅÒÅÍÅÝÅÎÉÑ"
-211 "õÖÅ × ËÏÍÁÎÄÎÏÍ ÒÅÖÉÍÅ"
-212 "ëÕÒÓÏÒ ÎÁÈÏÄÉÔÓÑ ÎÅ ÎÁ ÓÌÏ×Å"
-214 "úÎÁÞÅÎÉÅ ÏÐÃÉÉ windows ÓÌÉÛËÏÍ ×ÅÌÉËÏ, ÍÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ = %u"
-215 "äÏÂÁ×ÉÔØ"
-216 "éÚÍÅÎÉÔØ"
-217 "ëÏÍÁÎÄÁ"
-218 "÷ÓÔÁ×ÉÔØ"
-219 "úÁÍÅÎÉÔØ"
-220 "ä×ÉÖÅÎÉÅ ËÕÒÓÏÒÁ ÚÁ ËÏÎÅàÜËÒÁÎÁ"
-221 "ä×ÉÖÅÎÉÅ ËÕÒÓÏÒÁ ÚÁ ÎÁÞÁÌÏ ÜËÒÁÎÁ"
-222 "äÌÑ ÒÁÚÄÅÌÅÎÉÑ ÜËÒÁΠÄÏÌÖÅΠÂÙÔØ ÂÏÌØÛÅ ÞÅÍ ÓÔÒÏËÉ %d"
-223 "ôÅÎÅ×ÙÈ ÏËÏΠÎÅÔ"
-224 "îÅ ÓÕÝÅÓÔ×ÕÅÔ ÔÅÎÅ×ÏÇÏ ÏËÎÁ Ó ÒÅÄÁËÔÉÒÏ×ÁÎÉÅÍ ÆÁÊÌÁ %s"
-225 "÷Ù ÎÅ ÍÏÖÅÔÅ ÓÄÅÌÁÔØ ÅÄÉÎÓÔ×ÅÎÎÏÅ ÏËÎÏ ÔÅÎÅ×ÙÍ"
-226 "üËÒÁΠÍÏÖÅÔ ÂÙÔØ ÓÖÁÔ"
-227 "üËÒÁΠÎÅ ÍÏÖÅÔ ÂÙÔØ ÓÖÁÔ ÔÏÌØËÏ ÄÏ %d ÓÔÒÏË"
-228 "üËÒÁΠÎÅ ÍÏÖÅÔ ÂÙÔØ ÒÁÓÛÉÒÅÎ"
-230 "üÔÏÔ ÜËÒÁΠÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÏÓÔÁÎÏ×ÌÅÎ"
-231 "ðÒÅÒ×ÁÎÏ: ÎÁÚÎÁÞÅÎÎÙÅ ËÌÁ×ÉÛÉ ÚÁÂÙÔÙ"
-232 "vi: ×ÒÅÍÅÎÎÙÊ ÂÕÆÅÒ ÎÅ ÏÓ×ÏÂÏÖÄÅÎ"
-233 "äÁÎÎÙÊ ÔÉРÔÅÒÍÉÎÁÌÁ ÎÅ ÉÍÅÅÔ ËÌÁ×ÉÛÉ %s"
-234 "íÏÖÅÔ ÂÙÔØ ÕËÁÚÁΠÔÏÌØËÏ ÏÄÉΠÂÕÆÅÒ"
-235 "þÉÓÌÏ ÂÏÌØÛÅ ÞÅÍ %lu"
-236 "ðÒÅÒ×ÁÎÏ"
-237 "îÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ"
-238 "÷ÎÉÍÁÎÉÅ: %s ÓÐÅÃÉÁÌØÎÙÊ ÆÁÊÌ"
-239 "%s ÕÖÅ ÚÁÂÌÏËÉÒÏ×ÁÎ, ÄÏÓÔÕÐÅΠÔÏÌØËÏ ÎÁ ÞÔÅÎÉÅ"
-240 "%s: ÕÄÁÌÅÎ"
-241 "%s: ÚÁËÒÙÔ"
-242 "%s: ÕÄÁÌÅÎ"
-243 "%s: ÕÄÁÌÅÎ"
-244 "æÁÊÌ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, ÎÅ ÚÁÐÉÓÁÎ: éÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-245 "æÁÊÌ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, ÎÅ ÚÁÐÉÓÁÎ"
-246 "%s ÓÕÝÅÓÔ×ÕÅÔ, ÎÅ ÚÁÐÉÓÁÎ; ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-247 "%s ÓÕÝÅÓÔ×ÕÅÔ, ÎÅ ÚÁÐÉÓÁÎ"
-248 "éÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÞÁÓÔÉÞÎÏÊ ÚÁÐÉÓÉ ÆÁÊÌÁ"
-249 "þÁÓÔØ ÆÁÊÌÁ, ÆÁÊÌ ÎÅ ÚÁÐÉÓÁÎ"
-250 "%s: æÁÊÌ ÉÚÍÅÎÑÌÓÑ ÐÏÚÄÎÅÅ, ÞÅÍ ÄÁÎÎÁÑ ËÏÐÉÑ: ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-251 "%s: æÁÊÌ ÉÚÍÅÎÑÌÓÑ ÐÏÚÄÎÅÅ, ÞÅÍ ÄÁÎÎÁÑ ËÏÐÉÑ"
-252 "%s: ÚÁÝÉÔÁ ÎÁ ÚÁÐÉÓØ ÂÙÌÁ ÎÅÄÏÓÔÕÐÎÁ"
-253 "úÁÐÉÓØ..."
-254 "%s: ÷îéíáîéå: æáêì õóåþåî"
-255 "õÖÅ ÐÒÉÓÕÔÓÔ×ÕÅÔ × ÐÅÒ×ÏÊ ÍÅÔËÅ ÄÁÎÎÏÊ ÇÒÕÐÐÙ"
-256 "%s: ÎÏ×ÙÊ ÆÁÊÌ: %lu ÓÔÒÏË, %lu ÓÉÍ×ÏÌÏ×"
-257 "%s: %lu ÓÔÒÏË, %lu ÓÉÍ×ÏÌÏ×"
-258 "%s ÒÁÓÛÉÒÉÌÓÑ × ÓÌÉÛËÏÍ ÂÏÌØÛÏÅ ËÏÌÉÞÅÓÔ×Ï ÉÍÅΠÆÁÊÌÏ×"
-259 "%s: ÓÐÅÃÉÁÌØÎÙÊ ÆÁÊÌ"
-260 "%s: ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÷ÁÍ"
-261 "%s: ÄÏÓÔÕÐÅΠÎÅ ÔÏÌØËÏ ÷ÁÍ"
-262 "æÁÊÌ ÉÚÍÅÎÅΠÓÏ ×ÒÅÍÅÎÉ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ: ÓÏÈÒÁÎÉÔÅ ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-263 "æÁÊÌ ÉÚÍÅÎÅΠÓÏ ×ÒÅÍÅÎÉ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ: ÓÏÈÒÁÎÉÔÅ ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ :edit ÄÌÑ ÏÂÈÏÄÁ"
-264 "æÁÊÌ ÉÚÍÅÎÅΠÓÏ ×ÒÅÍÅÎÉ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ: ÓÏÈÒÁÎÉÔÅ ÉÌÉ ÉÓÐÏÌØÚÕÊÔÅ ! ÄÌÑ ÏÂÈÏÄÁ"
-265 "æÁÊÌ ×ÒÅÍÅÎÎÙÊ: ×ÙÈÏÄ ÓÏÔÒÅÔ ÌÀÂÙÅ ÉÚÍÅÎÅÎÉÑ"
-266 "æÁÊÌ ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ, Á×ÔÏÚÁÐÉÓØ ÎÅ ÓÒÁÂÏÔÁÌÁ"
-267 "úÁÐÉÓÉ ÎÁÞÁÔÙ ÚÁÎÏ×Ï"
-268 "ÐÏÄÔ×ÅÒÄÉÔØ? [ynq]"
-269 "îÁÖÍÉÔÅ ÌÀÂÕÀ ËÌÁ×ÉÛÕ ÞÔÏÂÙ ÐÒÏÄÏÌÖÉÔØ: "
-270 "îÁÖÍÉÔÅ ÌÀÂÕÀ ËÌÁ×ÉÛÕ ÞÔÏÂÙ ÐÒÏÄÏÌÖÉÔØ [: ÞÔÏÂÙ ××ÅÓÔÉ ÅÝÅ ex ËÏÍÁÎÄÙ]: "
-271 "îÁÖÍÉÔÅ ÌÀÂÕÀ ËÌÁ×ÉÛÕ ÞÔÏÂÙ ÐÒÏÄÏÌÖÉÔØ [q ÞÔÏÂÙ ×ÙÊÔÉ]: "
-272 "üÔÁ ÆÏÒÍÁ %s ÔÒÅÂÕÅÔ ex ÉÎÔÅÒÆÅÊÓ ÔÅÒÍÉÎÁÌÁ"
-273 "÷ÈÏÄ × ÒÅÖÉÍ ××ÏÄÁ ex."
-274 "ëÏÍÁÎÄÁ ÎÅ ÕÄÁÌÁÓØ, ÆÁÊÌ ÅÝÅ ÎÅ ÐÒÏÞÔÅÎ."
-275 " ÐÒÏÄ?"
-276 "îÅÏÖÉÄÁÎÎÏÅ ÓÉÍ×ÏÌØÎÏÅ ÓÏÂÙÔÉÅ"
-277 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ 'ËÏÎÅàÆÁÊÌÁ'"
-278 "ðÏ ÚÁÐÒÏÓÕ ÓÏ×ÐÁÄÅÎÉÊ ÎÅÔ"
-279 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ÐÒÅÒÙ×ÁÎÉÑ"
-280 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ×ÙÈÏÄÁ"
-281 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ÐÅÒÅÒÉÓÏ×ËÉ"
-282 "õÖÅ ÐÒÉÓÕÔÓÔ×ÕÅÔ × ÐÏÓÌÅÄÎÅÊ ÍÅÔËÅ ÄÁÎÎÏÊ ÇÒÕÐÐÙ"
-283 "ëÏÍÁÎÄÁ %s ÔÒÅÂÕÅÔ ex ÉÎÔÅÒÆÅÊÓ ÔÅÒÍÉÎÁÌÁ"
-284 "üÔÁ ÆÏÒÍÁ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏËÁ ÕÓÔÁÎÏ×ÌÅÎÁ ÏÐÃÉÑ ÂÅÚÏÐÁÓÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-285 "îÅÏÖÉÄÁÎÎÏÅ ÓÔÒÏËÏ×ÏÅ ÓÏÂÙÔÉÅ"
-286 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ÔÁÊÍÁÕÔÁ"
-287 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ÚÁÐÉÓÉ"
-288 "äÌÑ ÒÁÚÄÅÌÅÎÉÑ ÜËÒÁΠÄÏÌÖÅΠÂÙÔØ ÂÏÌØÛÅ ÞÅÍ ÓÔÏÌÂÃÙ %d"
-289 "Shell ÒÁÓÛÉÒÅÎÉÑ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÐÏËÁ ÕÓÔÁÎÏ×ÌÅÎÁ ÏÐÃÉÑ ÂÅÚÏÐÁÓÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-290 "ëÏÍÁÎÄÁ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÐÏËÁ ÕÓÔÁÎÏ×ÌÅÎÁ ÏÐÃÉÑ ÂÅÚÏÐÁÓÎÏÇÏ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-291 "set: ÏÐÃÉÑ %s ÎÅ ÍÏÖÅÔ ÂÙÔØ ×ÙËÌÀÞÅÎÁ"
-292 "üËÒÁΠÓÌÉÛËÏÍ ÍÁÌ"
-293 "ÄÏÂÁ×ÌÅÎÏ"
-294 "ÉÚÍÅÎÅÎÏ"
-295 "ÕÄÁÌÅÎÏ"
-296 "ÐÒÉÓÏÅÄÉÎÅÎÏ"
-297 "ÐÅÒÅÍÅÝÅÎÏ"
-298 "ÓÍÅÝÅÎÏ"
-299 "ÓËÏÐÉÒÏ×ÁÎÏ"
-300 "ÓÔÒÏËÁ"
-301 "ÓÔÒÏËÉ"
-303 "æÁÊÌ ÉÚÍÅÎÅΠӠÍÏÍÅÎÔÁ ÐÏÓÌÅÄÎÅÊ ÚÁÐÉÓÉ."
-304 "Shell ÒÁÓÛÉÒÅÎÉÅ ÎÅ ÕÄÁÌÏÓØ"
-305 "îÅÔ ÕËÁÚÁÎÎÏÊ %s ÏÐÃÉÉ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-307 "îÅÔ ex ËÏÍÁÎÄÙ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ"
-308 "÷×ÅÄÉÔÅ <CR> ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ ËÏÍÁÎÄÙ, :q ÞÔÏÂÙ ×ÙÊÔÉ"
-309 "éÓÐÏÌØÚÕÊÔÅ \"cscope help\" ÄÌÑ ÐÏÍÏÝÉ"
-310 "îÅÔ ÚÁÐÕÝÅÎÎÏÇÏ cscope ÓÏÅÄÉÎÅÎÉÑ"
-311 "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ÔÉРÐÏÉÓËÁ: ÉÓÐÏÌØÚÕÊÔÅ ÏÄÉΠÉÚ %s"
-312 "%d: ÎÅÔ ÔÁËÏÇÏ cscope ÓÅÁÎÓÁ"
-313 "set: %s ÏÐÃÉÑ ÎÉËÏÇÄÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ ×ËÌÀÞÅÎÁ"
-314 "set: %s ÏÐÃÉÑ ÎÉËÏÇÄÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÁ × 0"
-315 "%s: ÄÏÂÁ×ÌÅÎÏ: %lu ÓÔÒÏË, %lu ÓÉÍ×ÏÌÏ×"
-316 "îÅÏÖÉÄÁÎÎÏÅ ÓÏÂÙÔÉÅ ÉÚÍÅÎÅÎÉÑ ÒÁÚÍÅÒÁ"
-317 "%d ÆÁÊÌÏ× ÄÌÑ ÒÅÄÁËÔÉÒÏ×ÁÎÉÑ"
-319 "%d ÜËÒÁÎÏ× × ÆÏÎÏ×ÏÍ ÒÅÖÉÍÅ; ÉÓÐÏÌØÚÕÊÔÅ :display ÞÔÏÂÙ ÐÅÒÅÞÉÓÌÉÔØ ÉÈ"
-320 "îÅÉÚ×ÅÓÔÎÁÑ ÐÏÚÉÃÉÑ ËÕÒÓÏÒÁ"
-321 "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ÆÁÊÌÏ× ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-322 "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ××ÏÄÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
-323 "îÅ×ÅÒÎÙÊ ××ÏÄ. õÓÅÞÅÎÏ."
-324 "ïÛÉÂËÁ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ × ÓÔÒÏËÅ %d"
diff --git a/contrib/nvi/catalog/ru_RU.KOI8-R.owner b/contrib/nvi/catalog/ru_RU.KOI8-R.owner
deleted file mode 100644 (file)
index 20ab08c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Andrey A. Chernov <ache@nagual.ru>
-Dima Ruban <dima@rdy.com>
-Pavel Timofeev <timp87@gmail.com>
diff --git a/contrib/nvi/catalog/spanish.base b/contrib/nvi/catalog/spanish.base
deleted file mode 100644 (file)
index ee37a6d..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "Desbordamiento de longitud de línea"
-003 "no se puede borrar la línea %lu"
-004 "no se puede añadir la línea %lu"
-005 "no se puede insertar en la línea %lu"
-006 "no se puede guardar la línea %lu"
-007 "no se puede obtener la última línea"
-008 "Error: no se puede recuperar la línea %lu"
-009 "Archivo de log"
-010 "No se realiza log, no se puede deshacer"
-011 "No hay cambios para deshacer"
-012 "No se realiza log, no se puede deshacer"
-013 "No se realiza log, no se puede remontar hacia adelante"
-014 "No hay cambios para rehacer"
-015 "%s/%d: error de log"
-016 "La entrada y salida estándar de Vi debe ser una terminal"
-017 "Marcar %s: no determinado"
-018 "Marcar %s: se borró la línea"
-019 "Marcar %s: la posición del cursor ya no existe"
-020 "Error: "
-021 "nuevo archivo"
-022 "nombre cambiado"
-023 "modificado"
-024 "no modificado"
-025 "DESTRABADO"
-026 "lectura solamente"
-027 "línea %lu de %lu [%ld%%]"
-028 "archivo vacío"
-029 "línea %lu"
-030 "El archivo %s no es un catálogo de mensajes"
-031 "No se puede determinar la opción por omisión %s"
-032 "Uso: %s"
-033 "determinar: no hay opción %s: 'determinar todo' establece todos los valores de opción"
-034 "determinar: [no] hay opción %s no tiene valor"
-035 "determinar: opción %s no es booleano"
-036 "determinar: opción %s: %s"
-037 "determinar: opción %s: %s: desbordamiento de valores"
-038 "determinar: opción %s: %s es un número ilegal"
-039 "determinar: opción %s no es booleano"
-040 "Las columnas en pantalla son demasiado pequeñas, menos de %d"
-041 "Las columnas en pantalla son demasiado grandes, más de %d"
-042 "Las líneas en pantalla son demasiado pequeñas, menos de %d"
-043 "Las líneas en pantalla son demasiado grandes, más de %d"
-044 "La opción lisp no está implementada"
-045 "mensajes no desconectados: %s"
-046 "mensajes no conectados: %s"
-047 "La opción de %s debe estar en dos grupos de caracteres"
-053 "El buffer por omisión está vacío"
-054 "El buffer %s está vacío"
-055 "Los archivos con nuevas líneas en el nombre son irrecuperables"
-056 "Las modificaciones no pueden recuperarse si la sesión falla"
-057 "Copiando archivo para recuperación..."
-058 "Preservación fracasada: %s"
-059 "Las modificaciones no pueden recuperarse si la sesión falla"
-060 "Archivo de respaldo fracasado: %s"
-061 "Copiando archivo para recuperación..."
-062 "Información sobre identificación del usuario %u no encontrada"
-063 "No se puede trabar archivo de recuperación"
-064 "Desbordamiento de buffer de archivo de recuperación"
-065 "Archivo de recuperación"
-066 "%s: archivo de recuperación defectuoso"
-067 "%s: archivo de recuperación defectuoso"
-068 "No hay archivos denominados %s, que usted pueda leer, para recuperar"
-069 "Existen versiones más antiguas de este archivo que usted puede recuperar"
-070 "Existen otros archivos que usted puede recuperar"
-071 "no envía email: %s"
-072 "Archivo vacío; no hay nada para buscar"
-073 "Se alcanzó el final del archivo sin encontrar el patrón"
-074 "No hay patrón anterior de búsqueda"
-075 "No se encontró el patrón"
-076 " Se alcanzó el principio del archivo sin encontrar el patrón"
-077 "Búsqueda reiniciada"
-078 "Buscando..."
-079 "No se encontró ningún carácter no imprimible"
-080 "Nombre de comando desconocido"
-082 "%s: comando no disponible en modalidad ex"
-083 "La cuenta no puede ser cero"
-084 "%s: mala especificación de línea"
-085 "Error interno de tabla de sintaxis (%s: %s)"
-086 "Uso: %s"
-087 "%s: buffer temporario no liberado"
-088 "Desplazamiento de marcador a antes de la línea 1"
-089 "Desplazamiento de marcador más allá del final del archivo"
-090 "@ con rango que corre cuando se cambia el archivo/la pantalla"
-091 "Comando global/v que corre cuando se cambia el archivo/la pantalla"
-092 "Comando Ex fracasado: comandos pendientes descartados"
-093 "Comando Ex fracasado: teclas mapeadas descartadas"
-094 "La segunda dirección es más pequeña que la primera"
-095 "No se suministra nombre de marca"
-096 "\\ no es seguido por / o ?"
-097 "Referencia a un número de línea menor que 0"
-098 "El comando %s es desconocido"
-099 "Desbordamiento de valor de dirección"
-100 "Subdesbordamiento de valor de dirección"
-101 "Combinación de dirección ilegal"
-102 "Dirección ilegal: sólo %lu líneas en el archivo"
-103 "Dirección ilegal: el archivo está vacío"
-104 "El comando %s no permite una dirección de 0"
-105 "No hay abreviaturas para visualizar"
-106 "Las abreviaturas deben terminar con un carácter de \"palabra\" "
-107 "Las abreviaturas no pueden contener tabs o espacios"
-108 "Las abreviaturas no pueden mezclar caracteres palabra/no-palabra, salvo al final"
-109 "\"%s\" no es una abreviatura"
-110 "Comando Vi fracasado: teclas mapeadas descartadas"
-111 "No hay más archivos para editar"
-112 "No hay archivos anteriores para editar"
-113 "No hay archivos anteriores para rebobinar"
-114 "No hay lista de archivos para visualizar"
-115 "No hay un comando anterior para reemplazar a \"!\""
-116 "No hay nombre de archivo para sustituir por %%"
-117 "No hay nombre de archivo para sustituir por #"
-118 "Error: execl: %s"
-119 "Error de E/S: %s"
-120 "Archivo modificado desde la última escritura completa; escribir o usar ! para alterar"
-121 "No se puede encontrar la ubicación del directorio inicial"
-122 "Nuevo directorio actual: %s"
-123 "No hay buffers sueltos para visualizar"
-124 "El comando %s no puede usarse como parte de un comando global o v"
-125 "%s/%s: sin fuente: no le pertenece a usted o a raíz"
-126 "%s/%s: sin fuente: no le pertenece a usted"
-127 "%s/%s: sin fuente: puede ser escrito por un usuario que no sea el propietario"
-128 "%s: sin fuente: no le pertenece a usted o a raíz"
-129 "%s: sin fuente: no le pertenece a usted"
-130 "%s: sin fuente: puede ser escrito por un usuario que no sea el propietario"
-131 "No hay líneas siguientes para unir"
-132 "No hay anotaciones de mapa de entrada"
-133 "No hay anotaciones de mapa de comando"
-134 "El carácter %s no puede remapearse"
-135 "\"%s\" no está mapeado actualmente"
-136 "Marca de nombres debe ser un sólo carácter"
-137 "%s existe, no está escrito; usar ! para alterar"
-138 "Nuevo archivo exrc: %s"
-139 "La línea de destino se encuentra dentro del rango de movimiento"
-140 "El comando abierto requiere que se determine la opción abierta"
-141 "El comando abierto no se ha implementado aún"
-142 "No es posible preservar este archivo"
-143 "Archivo preservado"
-144 "%s: expandido a demasiados nombres de archivo"
-145 "Sólo pueden leerse los archivos regulares y los conductos nombrados"
-146 "%s: traba de lectura no disponible"
-147 "Leyendo..."
-148 "%s: %lu líneas, %lu caracteres"
-149 "No hay pantallas de fondo para mostrar"
-150 "El comando de script sólo está disponible en modalidad vi"
-151 "No hay comando para ejecutar"
-152 "opción de ancho de desplazamiento en 0"
-153 "Desbordamiento de cuenta"
-154 "Subdesbordamiento de cuenta"
-155 "Expresión regular especificada; marcador r no tiene significado"
-156 "Los marcadores #, l y p no pueden combinarse con el marcador c en la modalidad vi"
-157 "No se encontró coincidencia"
-158 "No se ingresó un identificador anterior"
-159 "Se encontraron menos de %s anotaciones en la pila de identificadores; usar :visualizar i[dentificadores]"
-160 "No hay archivo %s en la pila de identificadores al que se pueda volver; usar :visualizar i[dentificadores]" 
-161 "Presionar Intro para continuar: "
-162 "%s: no se encontró el identificador"
-163 "%s: identificador corrompido en %s"
-164 "%s: el número de línea del identificador es posterior al final del archivo"
-165 "La pila de identificadores está vacía"
-166 "%s: patrón de búsqueda no encontrado"
-167 "%d archivos más para editar"
-168 "El buffer %s está vacío"
-169 "¿Confirmar cambio? [n]"
-170 "Interrumpido"
-171 "No hay buffer anterior para ejecutar"
-172 "No hay expresión regular anterior"
-173 "El comando %s requiere que se haya leído un archivo"
-174 "Uso: %s"
-175 "El comando visual requiere que se determine la opción abierta"
-177 "Archivo vacío"
-178 "No hay búsqueda F, f, T o t anterior"
-179 "%s no se encontró"
-180 "No hay archivo anterior para editar"
-181 "El cursor no está en un número"
-182 "El número resultante es demasiado grande"
-183 " El número resultante es demasiado pequeño"
-184 "No hay carácter coincidente en esta línea"
-185 "No se encontró un carácter coincidente"
-186 "No hay caracteres para reemplazar"
-187 "No hay otra pantalla a la que se pueda pasar"
-188 "Caracteres tras de cadena de búsqueda, desplazamiento de línea y/o comando z"
-189 "No hay patrón anterior de búsqueda"
-190 "Búsqueda vuelve a la posición inicial"
-191 "Se superó el límite de expansión de abreviatura: se descartaron caracteres"
-192 "Carácter ilegal; mencionar para entrar"
-193 "Ya se encuentra al principio de la inserción"
-194 "No hay más caracteres para borrar"
-195 "Movimiento más allá del final del archivo"
-196 "Movimiento más allá del final de la línea"
-197 "No hay movimiento del cursor"
-198 "Ya se encuentra al principio del archivo"
-199 "Movimiento más allá del principio del archivo"
-200 "Ya se encuentra en la primera columna"
-201 "Los buffers deben especificarse antes del comando"
-202 "Ya se encuentra al final del archivo"
-203 "Ya se encuentra al final de la línea"
-204 "%s no es un comando vi"
-205 "Uso: %s"
-206 "No hay caracteres para borrar"
-207 "El comando Q requiere la interfase de terminal ex"
-208 "No hay comando para repetir"
-209 "El archivo está vacío"
-210 "%s no puede usarse como comando de movimiento"
-211 "Ya se encuentra en modalidad de comando"
-212 "El cursor no se encuentra en una palabra"
-214 "El valor de opción de Windows es demasiado grande, el máx. es %u"
-215 "Añadir"
-216 "Cambiar"
-217 "Comando"
-218 "Insertar"
-219 "Reemplazar"
-220 "El movimiento va más allá del final de la pantalla"
-221 "El movimiento va más allá del principio de la pantalla"
-222 "La pantalla debe tener más de %d líneas para dividirse"
-223 "No hay pantallas de fondo"
-224 "No hay pantalla de fondo editando un archivo denominado %s"
-225 "No se puede poner fondo a la única pantalla que se visualiza"
-226 "La pantalla sólo puede reducirse a %d hileras"
-227 "La pantalla no puede reducirse"
-228 "La pantalla no puede aumentarse"
-230 "Esta pantalla no puede suspenderse"
-231 "Interrumpido: teclas mapeadas descartadas"
-232 "vi: buffer temporario no liberado"
-233 "Esta terminal no tiene tecla %s"
-234 "Sólo un buffer puede especificarse"
-235 "Número mayor que %lu"
-236 "Interrumpido"
-237 "No se puede crear archivo temporario"
-238 "Advertencia: %s no es un archivo regular"
-239 "%s ya se encuentra trabado, la sesión es de lectura solamente"
-240 "%s: eliminar"
-241 "%s: cerrar"
-242 "%s: eliminar"
-243 "%s: eliminar"
-244 "Archivo de lectura solamente, no escrito; usar ! para alterar"
-245 " Archivo de lectura solamente, no escrito"
-246 "%s existe, no escrito; usar ! para alterar"
-247 "%s existe, no escrito"
-248 "Archivo parcial, no escrito; usar ! para alterar"
-249 "Archivo parcial, no escrito"
-250 "%s: archivo modificado más recientemente que esta copia; usar ! para alterar"
-251 "%s: archivo modificado más recientemente que esta copia"
-252 "%s: la traba de escritura no estaba disponible"
-253 "Escribiendo..."
-254 "%s: ADVERTENCIA: ARCHIVO TRUNCADO"
-255 "Ya se encuentra en el primer identificador de este grupo"
-256 "%s: nuevo archivo: %lu líneas, %lu caracteres"
-257 "%s: %lu líneas, %lu caracteres"
-258 "%s expandido a demasiados nombres de archivos"
-259 "%s: no es un archivo regular"
-260 "%s: no le pertenece"
-261 "%s: accesible por un usuario que no sea el propietario"
-262 "Archivo modificado desde la última escritura completa; escribir o usar ! para alterar"
-263 "Archivo modificado desde la última escritura completa; escribir o usar :editar! para alterar"
-264 "Archivo modificado desde la última escritura completa; escribir o usar ! para alterar"
-265 "El archivo es temporario; al salir se descartarán las modificaciones"
-266 "Archivo de lectura solamente, las modificaciones no se autoescriben"
-267 "Se reinició el log"
-268 "confirmar? [snq]"
-269 "Presionar cualquier tecla para continuar: "
-270 "Presionar cualquier tecla para continuar [: para ingresar más comandos ex]: "
-271 "Presionar cualquier tecla para continuar [q para salir]: "
-272 "Esta forma de %s requiere la interfase terminal ex"
-273 "Ingresando en la modalidad de entrada ex."
-274 "Comando fracasado, no hay archivo leído aun."
-275 " cont?"
-276 "Evento inesperado de carácter"
-277 "Evento inesperado de final de archivo"
-278 "No hay coincidencias para consulta"
-279 "Evento inesperado de interrupción"
-280 "Evento inesperado de salida"
-281 "Evento inesperado de repintura"
-282 "Ya se encuentra en el último identificador de este grupo"
-283 "El comando %s requiere la interfase terminal ex"
-284 "Esta forma de %s no se encuentra soportada cuando se determina la opción de edición segura"
-285 "Evento inesperado de cadena"
-286 "Evento inesperado de tiempo excedido"
-287 "Evento inesperado de escritura"
-289 "Las expansiones de shell no se encuentran soportadas cuando se determina la opción de edición segura"
-290 "El comando %s no se encuentra soportado cuando se determina la opción de edición segura"
-291 "determinar: la opción %s puede no estar desconectada"
-292 "El monitor es demasiado pequeño."
-293 "agregado"
-294 "cambiado"
-295 "borrado"
-296 "unido"
-297 "movido"
-298 "desplazado"
-299 "arrancado"
-300 "línea"
-301 "líneas"
-302 "Vi no se cargó con un intérprete Tcl"
-303 "Archivo modificado desde la última escritura."
-304 "Expansión de shell fracasada"
-305 "No hay opción de edición %s especificada"
-306 "Vi no se cargó con un intérprete Perl"
-307 "No hay comando ex para ejecutar"
-308 "Ingresar <CR> para ejecutar un comando, :q para salir"
-309 "Usar \"cscope ayuda\" para obtener ayuda"
-310 "No hay conexiones cscope corriendo"
-311 "%s: tipo de búsqueda desconocido: usar uno de %s"
-312 "%d: no existe esta sesión cscope"
-313 "determinar: la opción %s no puede conectarse nunca"
-314 "determinar: la opción %s no puede determinarse nunca en 0"
-315 "%s: añadido: %lu líneas, %lu caracteres"
-316 "Evento inesperado de modificación de tamaño"
-317 "%d archivos para editar"
diff --git a/contrib/nvi/catalog/spell.ok b/contrib/nvi/catalog/spell.ok
deleted file mode 100644 (file)
index 00be471..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-ARGMAX
-LC
-NL
-XXXX
-arg1
-arg2
-chys
-english
-english.base
-german.base
-langauge
-msg
-msg.c
-msgcat
-msgq
-nvi
-nvi's
-pathname
-sp
diff --git a/contrib/nvi/catalog/swedish.base b/contrib/nvi/catalog/swedish.base
deleted file mode 100644 (file)
index 7143c5a..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "För långa rader"
-003 "kan inte ta bort rad %lu"
-004 "kan inte lägga till på rad %lu"
-005 "kan inte sätta in på rad %lu"
-006 "kan inte lagra rad %lu"
-007 "kan inte hämta sista raden"
-008 "Fel: kan inte hämta rad %lu"
-009 "Loggningsfil"
-010 "Loggning utförs inte, ångra är inte möjligt"
-011 "Inga ändringar att ångra"
-012 "Loggning utförs inte, ångra är inte möjligt"
-013 "Loggning utförs inte, ångra ångra är inte möjligt"
-014 "Inga ändringar att återgöra"
-015 "%s/%d: fel vid loggning"
-016 "Vi:s standard in och ut måste gå till en terminal"
-017 "Markering %s: inte satt"
-018 "Markering %s: raden har tagits bort"
-019 "Markering %s: markörpositionen finns inte längre"
-020 "Fel: "
-021 "ny fil"
-022 "namnet ändrades"
-023 "ändrad"
-024 "oförändrad"
-025 "OLÅST"
-026 "inte skrivbar"
-027 "rad %lu av %lu [%ld%%]"
-028 "tom fil"
-029 "rad %lu"
-030 "Filen %s är ingen meddelandekatalog"
-031 "Kan inte sätta standardvärde för %s flaggan"
-032 "Användning: %s"
-033 "set: %s är en okänd flagga: \"set all\" visar alla flaggor"
-034 "set: [no]%s flaggan kan inte ges ett värde"
-035 "set: %s flaggan är inte boleansk"
-036 "set: %s flaggan: %s"
-037 "set: %s flaggan: %s: för stort värde"
-038 "set: %s flaggan: %s är ett otillåtet tal"
-039 "set: %s flaggan är inte boleansk"
-040 "Fönsterkolumnerna är för få, mindre än %d"
-041 "Fönsterkolumnerna är för många, fler än %d"
-042 "Fönsterraderna är för få, mindre än %d"
-043 "Fönsterraderna är för många, fler än %d"
-044 "Lisp flaggan är inte implementerad"
-045 "meddelanden är inte avslagna: %s"
-046 "meddelanden är inte påslagna: %s"
-047 "%s flaggan måste ges i teckengrupper om två"
-053 "Standardbufferten är tom"
-054 "Buffer %s är tom"
-055 "Filer med radmatning i namnet kan inte återskapas"
-056 "Ändringar kan inte återskapas om programmet kraschar"
-057 "Kopierar filen för återskapning..."
-058 "Säkerhetskopiering misslyckades: %s"
-059 "Ändringar kan inte återskapas om programmet kraschar"
-060 "Misslyckades att säkerhetskopiera filen: %s"
-061 "Kopierar filen för återskapning..."
-062 "Kan inte hitta information om användaridentitet %u"
-063 "Kan inte låsa återskapningsfilen"
-064 "Återskapningsfilens buffer överskriven"
-065 "Återskapningsfil"
-066 "%s: Återskapningsfilen är korrupt"
-067 "%s: Återskapningsfilen är korrupt"
-068 "Det finns ingen fil %s, läsbar av dig, att återskapa"
-069 "Det finns äldre versioner av denna fil som du kan återskapa"
-070 "Det finns andra filer du kan återskapa"
-071 "skickar inte email: %s"
-072 "Filen är tom; inget att söka i"
-073 "Kom till slutet på filen utan att hitta söksträngen"
-074 "Ingen tidigare söksträng"
-075 "Hittar inte söksträngen"
-076 "Kom till början av filen utan att hitta söksträngen"
-077 "Sökningen slog runt"
-078 "Söker..."
-079 "Inga icke skrivbara tecken funna"
-080 "Okänt kommandonamn"
-082 "%s: kommandot är inte tillgängligt i \"ex\" läge"
-083 "Talet får inte vara noll"
-084 "%s: Ogiltig radspecifikation"
-085 "Fel i intern syntaxtabell (%s: %s)"
-086 "Användning: %s"
-087 "%s: temporärbuffert inte frisläppt"
-088 "Offset är före rad 1"
-089 "Offset är efter slutet på filen"
-090 "@ med intervall exekverades när filen/fönstret ändrades"
-091 "Global/v kommando exekverades när filen/fönstret ändrades"
-092 "Ex kommando misslyckades: efterföljande kommandon ignorerade"
-093 "Ex kommando misslyckades: omdefinierade tangenter ignorerade"
-094 "Den andra adressen är mindre än den första"
-095 "Inget namn på markering givet"
-096 "\\ följs inte av / eller ?"
-097 "Referens till ett radnummer mindre än 0"
-098 "%s kommandot är inte känt"
-099 "Värdet på adressen är för stort"
-100 "Värdet på adressen är för litet"
-101 "Otillåten adresskombination"
-102 "Otillåten adress: bara %lu rader finns i filen"
-103 "Otillåten adress: filen är tom"
-104 "%s kommandot tillåter inte en adress som är 0"
-105 "Inga förkortningar att visa"
-106 "Förkortningar måste sluta med ett \"ord\" tecken"
-107 "Förkortningar kan inte innehålla mellanslag eller tab"
-108 "Förkortningar kan inte blanda \"ord\"/\"icke ord\" tecken, utom i slutet"
-109 "\"%s\" är ingen förkortning"
-110 "Vi kommando misslyckades: omdefinierade tangenter ignorerade"
-111 "Inga fler filer att editera"
-112 "Inga tidigare filer att editera"
-113 "Inga tidigare filer att spela tillbaka"
-114 "Ingen fillista att visa"
-115 "Inget tidigare kommando att ersätta \"!\" med"
-116 "Inget filnamn att ersätta %% med"
-117 "Inget filnamn att ersätta # med"
-118 "Fel: execl: %s"
-119 "I/O fel: %s"
-120 "Filen ändrad efter sista skrivning; spara eller använd !"
-121 "Kan inte hitta hemkatalog"
-122 "Ny nuvarande katalog: %s"
-123 "Inga \"cut buffers\" att visa"
-124 "%s kommandot kan inte används som del i ett \"global\" eller v kommando"
-125 "%s/%s: inte läst: varken du eller root är ägare"
-126 "%s/%s: inte läst: du är inte ägare"
-127 "%s/%s: inte läst: skrivbar av annan än ägaren"
-128 "%s: inte läst: varken du eller root är ägare"
-129 "%s: inte läst: du är inte ägare"
-130 "%s: inte läst: skrivbar av annan än ägaren"
-131 "Ingen nästa rad att sätta ihop med"
-132 "Det finns inget i inmatningsmappningen"
-133 "Det finns inget i kommandomappningen"
-134 "%s tecknet kan inte mappas om"
-135 "\"%s\" är inte ommappat just nu"
-136 "Namn på markeringar måste vara ett tecken långa"
-137 "%s finns, inget sparat; använd ! för att spara"
-138 "Ny exrc fil: %s"
-139 "Målraden ligger inne i området som ska flyttas"
-140 "Open kommandot kräver att open flaggan är satt"
-141 "Open kommandot är inte implementerat ännu"
-142 "Säkerhetskopiering av filen är inte möjligt"
-143 "Filen säkerhetskopierad"
-144 "%s expanderade till för många filnamn"
-145 "Endast vanliga filer och namngivna rör kan läsas"
-146 "%s: läslåset är otillgängligt"
-147 "Läser..."
-148 "%s: %lu rader, %lu tecken"
-149 "Inga bakgrundsfönster att visa"
-150 "Script kommandot finns bara i \"vi\" läge"
-151 "Inget kommando att exekvera"
-152 "shiftwidth flaggan satt till 0"
-153 "Talet har för stort värde"
-154 "Talet har för litet värde"
-155 "Reguljärt uttryck är givet; r flaggan är meningslös"
-156 "#, l och p flaggorna kan inte kombineras med c flaggan i \"vi\" läge"
-157 "Ingen matchande text funnen"
-158 "Inget tidigare märke har givits"
-159 "Det är färre än %s märken i stacken; använd :display t[ags]"
-160 "Det finns ingen fil %s i märkesstacken; använd :display t[ags]"
-161 "Tryck Enter för att fortsätta: "
-162 "%s: märke inte funnet"
-163 "%s: korrupt märke i %s"
-164 "%s: märkets radnummer är bortom filslutet"
-165 "Märkesstacken är tom"
-166 "%s: söksträngen inte funnen"
-167 "%d filer till att editera"
-168 "Buffert %s är tom"
-169 "Bekräfta ändring? [n]"
-170 "Avbruten"
-171 "Ingen tidigare buffert att exekvera"
-172 "Inget tidigare reguljärt uttryck"
-173 "%s kommandot kräver att en fil redan lästs in"
-174 "Användning: %s"
-175 "Visual kommandot kräver att open flaggan är satt"
-177 "Tom fil"
-178 "Ingen tidigare F, f, T eller t sökning"
-179 "%s inte funnen"
-180 "Ingen tidigare fil att editera"
-181 "Markören är inte i ett tal"
-182 "Det resulterande talet är för stort"
-183 "Det resulterande talet är för litet"
-184 "Inget matchande tecken på denna rad"
-185 "Matchande tecken inte funnet"
-186 "Det finns inga tecken att ersätta"
-187 "Det finns inget fönster att byta till"
-188 "Tecken efter söksträng, radoffset och/eller z kommandot"
-189 "Ingen tidigare söksträng"
-190 "Sökningen slog runt till ursprungliga positionen"
-191 "Förkortning överskred expanderingsgränsen: tecken har tagits bort"
-192 "Ogiltigt tecken; använd \"quote\" för att sätta in"
-193 "Redan i början på insättningen"
-194 "Inga fler tecken att ta bort"
-195 "Försök att gå bortom slutet på filen"
-196 "Försök att gå bortom slutet på raden"
-197 "Ingen förflyttning gjord"
-198 "Redan i början på filen"
-199 "Försök att gå före början på filen"
-200 "Redan i första kolumnen"
-201 "Buffertar måste anges före kommandot"
-202 "Redan i slutet av filen"
-203 "Redan på slutet av raden"
-204 "%s är inte ett \"vi\" kommando"
-205 "Användning: %s"
-206 "Inga tecken att ta bort"
-207 "Q kommandot kräver \"ex\" i terminalläge"
-208 "Inget kommando att repetera"
-209 "Filen är tom"
-210 "%s kan inte användas som ett förflyttningskommando"
-211 "Redan i kommando läge"
-212 "Markören är inte i ett ord"
-214 "Windows flaggans värde är för stor, största värde är %u"
-215 "Lägg till"
-216 "Ändra"
-217 "Kommando"
-218 "Sätt in"
-219 "Ersätt"
-220 "Förflyttning bortom fönsterslut"
-221 "Förflyttning till före fönstrets början"
-222 "Fönstret måste vara större än %d rader för delning"
-223 "Det finns inga fönster i bakgrunden"
-224 "Det finns inget fönster i bakgrunden som editerar filen %s"
-225 "Du får inte sätta ditt enda synliga fönster i bakgrunden"
-226 "Fönstret kan bara krympa till %d rader"
-227 "Fönstret kan inte krympa"
-228 "Fönstret kan inte växa"
-230 "Detta fönster kan inte pausas"
-231 "Avbrutet: omdefinierade tangenter ignorerade"
-232 "vi: temporärbuffertar inte frisläppta"
-233 "Denna terminal har ingen %s tangent"
-234 "Endast en buffert kan anges"
-235 "Talet är större än %lu"
-236 "Avbrutet"
-237 "Kan inte skapa temporär fil"
-238 "Warning: %s är inte en normal fil"
-239 "%s är redan låst, detta blir en icke skrivbar session"
-240 "%s: ta bort"
-241 "%s: stäng"
-242 "%s: ta bort"
-243 "%s: ta bort"
-244 "Ej skrivbar fil, filen inte sparad; använd ! för att skriva över"
-245 "Ej skrivbar fil, filen inte sparad"
-246 "%s finns, ej sparad; använd ! för att utföra operationen"
-247 "%s finns, filen inte sparad"
-248 "Ofullständig fil, filen inte sparad, använd ! för att skriva över"
-249 "Ofullständig fil, filen inte sparad"
-250 "%s: filen ändrad efter denna kopia togs; använd ! för att utföra operationen"
-251 "%s: filen ändrad efter denna kopia togs"
-252 "%s: skrivlåset är otillgängligt"
-253 "Skriver..."
-254 "%s: VARNING: FILEN TRUNKERAD"
-255 "Redan vid första märket i denna grupp"
-256 "%s: ny fil: %lu rader, %lu tecken"
-257 "%s: %lu rader, %lu tecken"
-258 "%s expanderade till för många filnamn"
-259 "%s är inte en normal fil"
-260 "%s ägs inte av dig"
-261 "%s är åtkomstbar av andra än ägaren"
-262 "Filen har ändrats efter den sparats; spara eller använd !"
-263 "Filen har ändrats efter den sparats; spara eller använd :edit!"
-264 "Filen har ändrats efter den sparats; spara eller använd !"
-265 "Filen är temporär; exit kastar bort ändringarna"
-266 "Ej skrivbar fil, ändringar har inte automatsparats"
-267 "Loggningen startar om"
-268 "bekräfta? [ynq]"
-269 "Tryck på en tangent för att fortsätta: "
-270 "Tryck på en tangent för att fortsätta [: för att ge fler kommandon]: "
-271 "Tryck på en tangent för att fortsätta [q för att avsluta]: "
-272 "Den formen av %s kräver \"ex\" i terminalläge"
-273 "Går till \"ex\" inmatningsläge."
-274 "Kommandot misslyckades, ingen fil inläst ännu."
-275 " forts?"
-276 "Oväntad teckenhändelse"
-277 "Oväntad filslutshändelse"
-278 "Sökningen hittade ingenting"
-279 "Oväntad avbrottshändelse"
-280 "Oväntad avslutningshändelse"
-281 "Oväntad omritningshändelse"
-282 "Redan vid sista märket i denna grupp"
-283 "%s kommandot kräver \"ex\" i terminalläge"
-284 "Den formen av %s är inte tillgänglig när secure edit flaggan är satt"
-285 "Oväntad stränghändelse"
-286 "Oväntad tidshändelse"
-287 "Oväntad skrivhändelse"
-289 "Skalexpansion är inte tillgänglig när secure edit flaggan är satt"
-290 "%s kommandot är inte tillgänglig när secure edit flaggan är satt"
-291 "set: %s kan inte slås av"
-292 "Fönstret för litet."
-293 "tillagda"
-294 "ändrade"
-295 "borttagna"
-296 "ihopsatta"
-297 "flyttade"
-298 "flyttade"
-299 "inklistrade"
-300 "rad"
-301 "rader"
-302 "Vi har inte länkats med en Tcl tolk"
-303 "Filen har ändrats efter den sparats."
-304 "Skalexpansion misslyckades"
-305 "Ingen %s edit flagga given"
-306 "Vi har inte länkats med en Perl tolk"
-307 "Inga \"ex\" kommandon att exekvera"
-308 "Tryck <CR> för att exekvera kommando, :q för att avsluta"
-309 "Gör \"cscope help\" för hjälp"
-310 "Inga cscope kopplingar körs"
-311 "%s: okänd söktyp: använd en av %s"
-312 "%d: ingen sådan cscope session"
-313 "set: %s flaggan får aldrig slås på"
-314 "set: %s flaggan får aldrig sättas till 0"
-315 "%s: tillagt: %lu rader, %lu tecken"
-316 "Oväntad storleksändring"
-317 "%d filer att editera"
diff --git a/contrib/nvi/catalog/swedish.owner b/contrib/nvi/catalog/swedish.owner
deleted file mode 100644 (file)
index 2b36f2d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Jan Djarv <jan.djarv@mbox200.swipnet.se>
diff --git a/contrib/nvi/catalog/uk_UA.KOI8-U.base b/contrib/nvi/catalog/uk_UA.KOI8-U.base
deleted file mode 100644 (file)
index b2dfc7f..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-002 "ðÅÒÅÐÏ×ÎÅÎÎÑ ÚÎÁÞÅÎÎÑ ÄÏ×ÖÉÎÉ ÒÑÄËÕ"
-003 "ÎÅÍÏÖÌÉ×Ï ÓÔÅÒÔÉ ÒÑÄÏË %lu"
-004 "ÎÅÍÏÖÌÉ×Ï ÄÏÄÁÔÉ ÄÏ ÒÑÄËÕ %lu"
-005 "ÎÅÍÏÖÌÉ×Ï ×ÓÔÁ×ÉÔÉ × ÒÑÄÏË %lu"
-006 "ÎÅÍÏÖÌÉ×Ï ÒÏÚͦÓÔÉÔÉ ÒÑÄÏË %lu"
-007 "ÎÅÍÏÖÌÉ×ϠĦÓÔÁÔÉ ÏÓÔÁÎΦʠÒÑÄÏË"
-008 "ðÏÍÉÌËÁ: ÎÅÍÏÖÌÉ×Ï ÏÔÒÉÍÁÔÉ ÒÑÄÏË %lu"
-009 "æÁÊÌ ÚÁÐÉÓ¦×"
-010 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓÑ, ÎÅÍÏÖÌÉ×ϠצÄͦÎÉÔÉ ÏÓÔÁÎÎÀ ËÏÍÁÎÄÕ"
-011 "îÅÍÁ ÞÏÇϠצÄͦÎÑÔÉ"
-012 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓÑ, ÎÅÍÏÖÌÉ×ϠצÄͦÎÉÔÉ ÏÓÔÁÎÎÀ ËÏÍÁÎÄÕ"
-013 "úÁÐÉÓÉ ÎÅ ×ÅÌÉÓÑ, ÎÅÍÏÖÌÉ×Ï ÐÒÏÄÉ×ÉÔÉÓÑ ×ÐÅÒÅÄ"
-014 "îÅÍÁ ÞÏÇÏ ÐÏ×ÔÏÒÀ×ÁÔÉ"
-015 "%s/%d: ÐÏÍÉÌËÁ ÚÁÐÉÓÕ ÐÒÏÔÏËÏÌÕ"
-016 "óÔÁÎÄÁÒÔÎÉÍ ××ÅÄÅÎÎÑÍ/×É×ÅÄÅÎÎÑÍ ÄÌÑ vi ÍÁ¤ ÂÕÔÉ ÔÅÒͦÎÁÌ"
-017 "í¦ÔËÁ %s: ÎÅ ×ÓÔÁÎÏ×ÌÅÎÏ"
-018 "í¦ÔËÁ %s: ÒÑÄÏË ÓÔÅÒÔÏ"
-019 "í¦ÔËÁ %s: ÐÏÚÉ槠ËÕÒÓÏÒՠ¦ÌØÛÅ ÎÅ ¦ÓÎÕ¤"
-020 "ðÏÍÉÌËÁ: "
-021 "îÏ×ÉÊ ÆÁÊÌ"
-022 "IÍ'Ñ ÚͦÎÉÌÏÓØ"
-023 "ÚͦÎÅÎÉÊ"
-024 "ÎÅ ÚͦÎÅÎÉÊ"
-025 "òO3âìOëO÷áîO"
-026 "Ô¦ÌØËÉ ÄÌÑ ÞÉÔÁÎÎÑ"
-027 "ÒÑÄÏË %lu Ú %lu [%ld%%]"
-028 "ÐÕÓÔÉÊ ÆÁÊÌ"
-029 "ÒÑÄÏË %lu"
-030 "æÁÊÌ %s ÎÅ ¤ ÆÁÊÌÏÍ ÐÏצÄÏÍÌÅÎÎØ"
-031 "îÅÍÏÖÌÉ×Ï ×ÓÔÁÎÏ×ÉÔÉ ÏÐæÀ %s ÚÁ ÚÍÏ×ÞÁÎÎÑÍ"
-032 "÷ÉËÏÒÉÓÔÁÎÎÑ: %s"
-033 "ïÐ槠%s ÎÅÍÁ¤: 'set all' ÐÏËÁÚÕ¤ ×Ó¦ ÍÏÖÌÉצ ÏÐæ§"
-034 "set: [no]%s ÎÅ ÎÁÂÕ×Á¤ ÔÁËÏÇÏ ÚÎÁÞÅÎÎÑ"
-035 "set: %s ÏÐæѠÎÅ ¤ ÌÏǦÞÎÏÀ"
-036 "set: ÏÐæѠ%s: %s"
-037 "set: ÏÐæѠ%s: %s: ÐÅÒÅÐÏ×ÎÅÎÎÑ"
-038 "set: ÎÅÐÒÁ×ÉÌØÎÅ ÚÎÁÞÅÎÎÑ %s"
-039 "set: %s ÏÐæѠÎÅ ¤ ÌÏǦÞÎÏÀ"
-040 "ë¦ÌØ˦ÓÔØ ËÏÌÏÎÏË ÎÁ ÜËÒÁΦ ÎÁÄÔÏ ÍÁÌÁ, ÍÅÎÛŠΦ֠%d"
-041 "ë¦ÌØ˦ÓÔØ ËÏÌÏÎÏË ÎÁ ÜËÒÁΦ ÎÁÄÔÏ ×ÅÌÉËÁ, Â¦ÌØÛŠΦ֠%d"
-042 "ë¦ÌØ˦ÓÔØ ÒÑÄ˦נÎÁ ÜËÒÁΦ ÎÁÄÔÏ ÍÁÌÁ, ÍÅÎÛŠΦ֠%d"
-043 "ë¦ÌØ˦ÓÔØ ÒÑÄ˦נÎÁ ÜËÒÁΦ ÎÁÄÔÏ ×ÅÌÉËÁ, Â¦ÌØÛŠΦ֠%d"
-044 "ïÐæѠlisp ×¦ÄÓÕÔÎÑ"
-045 "ðÏצÄÏÍÌÅÎÎÑ ÎÅ ×ÉÍËÎÅΦ: %s"
-046 "ðÏצÄÏÍÌÅÎÎÑ ÎÅ ×צÍËÎÅΦ: %s"
-047 "ïÐæѠ%s ÐÏ×ÉÎÎÁ Í¦ÓÔÉÔÉ ÇÒÕÐÉ Ú Ä×ÏÈ ÓÉÍ×Ï̦×"
-053 "óÔÁÒÔÏ×ÉÊ ÂÕÆÅÒ ÐÏÒÏÖΦÊ"
-054 "âÕÆÅÒ %s ÐÏÒÏÖΦÊ"
-055 "îÅÍÏÖÌÉ×ϠצÄÎÏ×ÉÔÉ ÆÁÊÌ, ÝϠͦÓÔÉÔØ × ¦ÍÅΦ ÓÉÍ×ÏÌÉ ÐÅÒÅ×ÅÄÅÎÎÑ ËÁÒÅÔËÉ"
-056 "úͦÎÉ ÎÅ ÍÏÖÎÁ ÂÕÄŠצÄÎÏ×ÉÔɠЦÓÌÑ ËÒÁÈÕ ÓÅÓ¦§"
-057 "ëÏЦÀ×ÁÎÎÑ ÆÁÊÌÕ ÄÌѠצÄÎÏ×ÌÅÎÎÑ..."
-058 "úÂÅÒÅÖÅÎÎÑ ÎÅ ×ÄÁÌÏÓØ: %s"
-059 "úͦÎÉ ÎÅ ÍÏÖÎÁ ÂÕÄŠצÄÎÏ×ÉÔɠЦÓÌÑ ËÒÁÈÕ ÓÅÓ¦§"
-060 "úÂÅÒÅÖÅÎÎÑ ËÏЦ§ ÆÁÊÌÕ ÎÅ ×ÄÁÌÏÓØ: %s"
-061 "ëÏЦÀ×ÁÎÎÑ ÆÁÊÌÕ ÄÌѠצÄÎÏ×ÌÅÎÎÑ..."
-062 "IÎÆÏÒÍÁæÀ ÐÒÏ ËÏÒÉÓÔÕ×ÁÞÁ %u ÎÅ ÚÎÁÊÄÅÎÏ"
-063 "úÁÂÌÏËÕ×ÁÔɠצÄÎÏ×ÌÅÎÎÉÊ ÆÁÊÌ ÎÅÍÏÖÌÉ×Ï"
-064 "âÕÆÅҠצÄÎÏ×ÌÅÎÏÇÏ ÆÁÊÌÕ ÐÅÒÅÐÏ×ÎÅÎÏ"
-065 "÷¦ÄÎÏ×ÌÅÎÎÉÊ ÆÁÊÌ"
-066 "%s: ÆÁÊ̠צÄÎÏ×ÌÅÎÎÉÊ ÎÅ ÄϠ˦ÎÃÑ"
-067 "%s: ÆÁÊ̠צÄÎÏ×ÌÅÎÎÉÊ ÎÅ ÄϠ˦ÎÃÑ"
-068 "îÅ ¦ÓÎÕÀ¤ ÆÁÊ̦נڠ¦ÍÅÎÅÍ %s, Ñ˦ ÷É ÍÏÖÅÔÅ ÐÒÏÞÉÔÁÔÉ"
-069 "IÓÎÕÀÔØ ÓÔÁÒ¦ ×ÅÒÓ¦§ ÆÁÊÌÕ, Ñ˦ ÍÏÖÎÁ ×¦ÄÎÏ×ÉÔÉ"
-070 "IÓÎÕÀÔØ ¦ÎÛ¦ ÆÁÊÌÉ, Ñ˦ ÍÏÖÎÁ ×¦ÄÎÏ×ÉÔÉ"
-071 "e-mail ÎŠצĦÓÌÁÎÏ: %s"
-072 "æÁÊÌ ÐÕÓÔÉÊ - ÎÅÍÁ ÞÏÇÏ ÛÕËÁÔÉ"
-073 "äÏÓÑÎÕÔϠ˦ÎÃÑ ÆÁÊÌÕ ÂÅÚ ÚÎÁÈÏÖÄÅÎÎÑ ÚÒÁÚËÕ ÐÏÛÕËÕ"
-074 "îÅ ÚÁÄÁÎÏ ÚÒÁÚÏË ÐÏÛÕËÕ"
-075 "úÒÁÚÏË ÐÏÛÕËÕ ÎÅ ÚÎÁÊÄÅÎÏ"
-076 "äÏÓÑÎÕÔÏ ÐÏÞÁÔËÕ ÆÁÊÌÕ ÂÅÚ ÚÎÁÈÏÖÄÅÎÎÑ ÚÒÁÚËÕ ÐÏÛÕËÕ"
-077 "ðÏÛÕË ÚÁÃÉËÌÅÎÏ"
-078 "ðÏÛÕË..."
-079 "îÅÐÅÞÁÔÎÉÈ ÓÉÍ×Ï̦נÎÅ ÚÎÁÊÄÅÎÏ"
-080 "îÅצÄÏÍÁ ËÏÍÁÎÄÁ"
-082 "%s: ËÏÍÁÎÄÁ ÎÅ ÄÏÓÔÕÐÎÁ × ÒÅÖÉͦ ex"
-083 "ì¦ÞÉÌØÎÉË ÎÅ ÍÏÖÅ ÂÕÔÉ ÎÕÌÅÍ"
-084 "%s: ÎÅÐÒÁ×ÉÌØÎÅ ×ÉÚÎÁÞÅÎÎÑ ÒÑÄËÕ"
-085 "÷ÎÕÔÒ¦ÛÎÑ ÐÏÍÉÌËÁ × ÓÉÎÔÁËÓÉÓ¦ (%s: %s)"
-086 "÷ÉËÏÒÉÓÔÁÎÎÑ: %s"
-087 "%s: ÔÉÍÞÁÓÏ×ÉÊ ÂÕÆÅÒ ÎÅ ×ÉËÏÒÉÓÔÁÎÏ"
-088 "í¦ÔËÕ ÐÏÓÔÁ×ÌÅÎÏ ÐÅÒÅÄ ÐÅÒÛÉÍ ÒÑÄËÏÍ"
-089 "í¦ÔËÕ ÐÏÓÔÁ×ÌÅÎϠЦÓÌѠ˦ÎÃÑ ÆÁÊÌÕ"
-090 "@ Ú Ä¦ÁÐÁÚÏÎÏÍ ÐÒÁÃÀ¤ ËÏÌÉ ÚͦÎÅÎÏ ÆÁÊÌ/צËÎÏ"
-091 "ëÏÍÁÎÄÁ Global/v ÐÒÁÃÀ¤ ËÏÌÉ ÚͦÎÅÎÏ ÆÁÊÌ/צËÎÏ"
-092 "ëÏÍÁÎÄÁ ex ÎÅ ×ÄÁÌÁÓØ: ÎÁÓÔÕÐΦ ËÏÍÁÎÄÉ Ú'¦ÇÎÏÒÏ×ÁÎÏ"
-093 "ëÏÍÁÎÄÁ ex ÎÅ ×ÄÁÌÁÓØ: ×¦ÄÏÂÒÁÖÅΦ ËÌÁצۦ Ú'¦ÇÎÏÒÏ×ÁÎÏ"
-094 "äÒÕÇÁ ÁÄÒÅÓÁ ÍÅÎÛŠΦ֠ÐÅÒÛÁ"
-095 "îÅ ×ËÁÚÁÎÏ ¦Í'ѠͦÔËÉ"
-096 "\\ ÎÅ ÚÁ˦ÎÞÕ¤ÔØÓÑ / ÞÉ ?"
-097 "ðÏÓÉÌÁÎÎÑ ÎÁ ÒÑÄÏË Ú ÎÏÍÅÒÏÍ, ÍÅÎÛÉ͠Φ֠0"
-098 "ëÏÍÁÎÄÁ %s ÎÅצÄÏÍÁ"
-099 "ðÅÒÅÐÏ×ÎÅÎÎѠ̦ÞÉÌØÎÉËÁ ÁÄÒÅÓ"
-100 "îÅÄϦҠ̦ÞÉÌØÎÉËÁ ÁÄÒÅÓ"
-101 "îÅÄÏÐÕÓÔÉÍÁ ËÏͦÎÁæѠנÁÄÒÅÓ¦"
-102 "îÅÐÒÁ×ÉÌØÎÁ ÁÄÒÅÓÁ: ×ÓØÏÇÏ %lu ÒÑÄ˦נՠÆÁÊ̦"
-103 "îÅÐÒÁ×ÉÌØÎÁ ÁÄÒÅÓÁ: ÆÁÊÌ ÐÕÓÔÉÊ"
-104 "ëÏÍÁÎÄÁ %s ÎÅ ÍÏÖÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÁÄÒÅÓÕ 0"
-105 "îÅÍÁ¤ ÁÂÒÅצÁÔÕÒ"
-106 "áÂÒÅצÁÔÕÒÉ ÐÏ×ÉÎΦ ÚÁ˦ÎÞÕ×ÁÔÉÓÑ ÓÉÍ×ÏÌÏÍ \"Ó̦×\""
-107 "÷ ÁÂÒÅצÁÔÕÒ¦ ÎÅ ÍÏÖÎÁ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ ÓÉÍ×ÏÌÉ ÔÁÂÕÌÑ槠ÔÁ ÐÒϦÌÉ"
-108 "áÂÒÅצÁÔÕÒÉ ÎÅ ÍÏÖÕÔØ ÚͦÛÕ×ÁÔÉ ÓÉÍ×ÏÌÉ Ó̦×/ÎÅ-Ó̦×, È¦ÂÁ ÝϠנ˦Îæ ÒÑÄËÕ"
-109 "\"%s\" ÎÅ ÁÂÒÅצÁÔÕÒÁ"
-110 "ëÏÍÁÎÄÁ Vi ÎÅ ×ÄÁÌÁÓØ: ×¦ÄÏÂÒÁÖÅΦ ËÌÁצۦ Ú'¦ÇÎÏÒÏ×ÁÎÏ"
-111 "æÁÊ̦נÄÌÑ ÒÅÄÁÇÕ×ÁÎÎѠ¦ÌØÛÅ ÎÅÍÁ¤"
-112 "ðÏÐÅÒÅÄÎØÏÇÏ ÆÁÊÌÕ ÄÌÑ ÒÅÄÁÇÕ×ÁÎÎÑ ÎÅÍÁ¤"
-113 "ðÏÐÅÒÅÄÎØÏÇÏ ÆÁÊÌÕ ÄÌÑ ÐÅÒÅÇÌÑÄÕ ÎÅÍÁ¤"
-114 "îÅÍÁ¤ ÆÁÊ̦×"
-115 "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØϧ ËÏÍÁÎÄÉ ÄÌÑ ÚÁͦÎÉ \"!\""
-116 "÷¦ÄÓÕÔΤ ¦Í'Ñ ÆÁÊÌÕ ÄÌѠЦÄͦÎÉ %%"
-117 "÷¦ÄÓÕÔΤ ¦Í'Ñ ÆÁÊÌÕ ÄÌѠЦÄͦÎÉ #"
-118 "ðÏÍÉÌËÁ: execl: %s"
-119 "ðÏÍÉÌËÁ ××ÅÄÅÎÎÑ/×É×ÅÄÅÎÎÑ: %s"
-120 "æÁÊÌ ÍÏÄÉƦËÏ×ÁÎϠЦÓÌÑ ÏÓÔÁÎÎØϧ ËÏÍÁÎÄÉ ÐÏ×ÎÏÇÏ ÚÁÐÉÓÕ: ÚÂÅÒÅÖ¦ÔØ ÞÉ ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-121 "îÅÍÏÖÌÉ×Ï ÚÎÁÊÔÉ ÄÏÍÁÛΦʠËÁÔÁÌÏÇ"
-122 "îÏ×ÉÊ ËÁÔÁÌÏÇ: %s"
-123 "îÅÍÁ¤ ÎÁÐÏ×ÎÅÎÉÈ ÂÕÆÅÒ¦×"
-124 "ëÏÍÁÎÄÁ %s ÎÅ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÑË ÞÁÓÔÉÎÁ ËÏÍÁÎÄÉ global ÞÉ v"
-125 "%s/%s: ÎŠצÄËÒÉÔÏ: ÎÅ ÎÁÌÅÖÉÔØ ÷ÁÍ ÞÉ ÁÄͦΦÓÔÒÁÔÏÒÕ"
-126 "%s/%s: ÎŠצÄËÒÉÔÏ: ÎÅ ÎÁÌÅÖÉÔØ ÷ÁÍ"
-127 "%s/%s: ÎŠצÄËÒÉÔÏ: ÍÏÖÌÉצÓÔØ ÚÁÐÉÓÕ ËÏÒÉÓÔÕ×ÁÞÅÍ, ÑËÉÊ ÎÅ ¤ ×ÌÁÓÎÉËÏÍ"
-128 "%s: ÎŠצÄËÒÉÔÏ: ÎÅ ÎÁÌÅÖÉÔØ ÷ÁÍ ÞÉ ÁÄͦΦÓÔÒÁÔÏÒÕ"
-129 "%s: ÎŠצÄËÒÉÔÏ: ÎÅ ÎÁÌÅÖÉÔØ ÷ÁÍ"
-130 "%s: ÎŠצÄËÒÉÔÏ: ÍÏÖÌÉצÓÔØ ÚÁÐÉÓÕ ËÏÒÉÓÔÕ×ÁÞÅÍ, ÑËÉÊ ÎÅ ¤ ×ÌÁÓÎÉËÏÍ"
-131 "îÅÍÁ¤ Â¦ÌØÛÅ ÒÑÄ˦נÄÌÑ ÏÂ'¤ÄÎÁÎÎÑ"
-132 "îÅÍÁ¤ ÐÁÒÁÍÅÔҦנ××ÅÄÅÎÎÑ"
-133 "îÅÍÁ¤ ÐÁÒÁÍÅÔҦנËÏÍÁÎÄÉ"
-134 "óÉÍ×ÏÌ %s ÎÅ ÍÏÖÎÁ ÐÅÒÅÎÁÚÎÁÞÉÔÉ"
-135 "\"%s\" ÚÁÒÁÚ ÎÅ ÐÅÒÅÎÁÚÎÁÞÅÎÏ"
-136 "IÍ'ѠͦÔËÉ -- ÏÄÉΠÓÉÍ×ÏÌ"
-137 "%s ¦ÓÎÕ¤, ÎÅ ÚÁÐÉÓÁÎÏ; ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-138 "îÏ×ÉÊ ÆÁÊÌ exrÓ: %s"
-139 "òÑÄÏË ÐÒÉÚÎÁÞÅÎÎÑ ÚÁÚÎÁÞÅÎÏ ×ÓÅÒÅÄÉΦ Ä¦ÁÐÁÚÏÎÕ ÐÅÒÅͦÝÅÎÎÑ"
-140 "ëÏÍÁÎÄÁ open ×ÉÍÁÇÁ¤ ×ÓÔÁÎÏ×ÌÅÎÎÑ ÏÐ槠open"
-141 "ëÏÍÁÎÄÕ open ÝÅ ÎÅ ÒÅÁ̦ÚÏ×ÁÎÏ"
-142 "úÁÈÉÓÔ ÆÁÊÌÕ ÎÅÍÏÖÌÉ×ÉÊ"
-143 "æÁÊÌ ÚÁÈÉÝÅÎÏ"
-144 "%s ÒÏÚÛÉÒÉ×ÓÑ × ÎÁÄÔÏ ×ÅÌÉËՠ˦ÌØ˦ÓÔØ ¦ÍÅΠÆÁÊ̦×"
-145 "ðÒÏÞÉÔÁÔÉ ÍÏÖÎÁ Ô¦ÌØËÉ ÐÒÏÓÔÉÊ ÆÁÊÌ ÞÉ ¦ÍÅÎÏ×ÁÎÉÊ ËÁÎÁÌ(pipe)"
-146 "%s: ÂÌÏËÕ×ÁÎÎѠצĠÞÉÔÁÎÎÑ ÎÅÍÏÖÌÉ×Å"
-147 "úÞÉÔÕÀ..."
-148 "%s: %lu ÒÑÄ˦×, %lu ÓÉÍ×Ï̦×"
-149 "îÅÍÁ¤ Ô¦ÎØÏ×ÉȠצËÏÎ"
-150 "ëÏÍÁÎÄÁ script ÄÏÓÔÕÐÎÁ ÌÉÛÅ × ÒÅÖÉͦ vi"
-151 "îÅÍÁ ËÏÍÁÎÄÉ ÄÌÑ ×ÉËÏÎÁÎÎÑ"
-152 "ïÐæÀ shiftwidth ×ÓÔÁÎÏ×ÌÅÎÏ × 0"
-153 "ðÅÒÅÐÏ×ÎÅÎÎѠ̦ÞÉÌØÎÉËÁ"
-154 "ãÉËÌ ×ÉËÏÎÁÎÏ ÎÅ ÄϠ˦ÎÃÑ"
-155 "÷ËÁÚÁÎÏ ÒÅÇÕÌÑÒÎÉÊ ×ÉÒÁÚ; ÐÁÒÁÍÅÔÒ 'r' ÎÅ ÍÁ¤ ÓÅÎÓÕ"
-156 "ðÁÒÁÍÅÔÒÉ #, l ÔÁ p ÎÅ ÍÏÖÎÁ ËÏͦÎÕ×ÁÔÉ Ú ÐÁÒÁÍÅÔÒÏÍ 'c' × ÒÅÖÉͦ vi"
-157 "óЦ×ÐÁÄÁÎØ ÎÅÍÁ¤"
-158 "TÅǠצÄÓÕÔΦÊ"
-159 "íÅÎÛŠΦ֠%s ÚÁÐÉӦנՠÓÔÅËÕ ÔÅǦ×; ×ÉËÏÒÉÓÔÁÊÔÅ :display t[ags]"
-160 "îÅÍÁ¤ ÆÁÊÌÕ %s × ÓÔÅËÕ ÔÅǦנÄÌÑ ÐÏ×ÅÒÎÅÎÎÑ; ×ÉËÏÒÉÓÔÁÊÔÅ :display t[ags]"
-161 "îÁÔÉÓΦÔØ ENTER ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ: "
-162 "%s: ÔÅÇ ÎÅ ÚÎÁÊÄÅÎÏ"
-163 "%s: Ú¦ÐÓÏ×ÁÎÉÊ ÔÅÇ × %s"
-164 "%s: ÎÏÍÅÒ ÒÑÄËÕ ÔÅÇÁ ÚÎÁÈÏÄÉÔØÓÑ ÚÁ Ë¦ÎÃÅÍ ÆÁÊÌÕ"
-165 "óÔÅË ÔÅǦנÐÏÒÏÖΦÊ"
-166 "%s: ÚÒÁÚÏË ÐÏÛÕËÕ ÎÅ ÚÎÁÊÄÅÎÏ"
-167 "úÁÌÉÛÉÌÏÓØ %d ÆÁÊ̦נÄÌÑ ÒÅÄÁÇÕ×ÁÎÎÑ"
-168 "âÕÆÅÒ %s ÐÏÒÏÖΦÊ"
-169 "úͦÎÉÔÉ? [n]"
-170 "ðÅÒÅÒ×ÁÎÏ"
-171 "îÅÍÁ¤ ÂÕÆÅÒÕ ÄÌÑ ×ÉËÏÒÉÓÔÁÎÎÑ"
-172 "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÒÅÇÕÌÑÒÎÏÇÏ ×ÉÒÁÚÕ"
-173 "ëÏÍÁÎÄÁ %s ×ÉÍÁÇÁ¤ ×ÖÅ ÐÒÏÞÉÔÁÎÉÊ ÆÁÊÌ"
-174 "÷ÉËÏÒÉÓÔÁÎÎÑ: %s"
-175 "ëÏÍÁÎÄÁ visual ×ÉÍÁÇÁ¤ ×ÓÔÁÎÏ×ÌÅÎÎÑ ÏÐ槠open"
-177 "ðÕÓÔÉÊ ÆÁÊÌ"
-178 "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÐÏÛÕËÕ F, f, T, ÞÉ t"
-179 "%s ÎÅ ÚÎÁÊÄÅÎÏ"
-180 "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÆÁÊÌÕ ÄÌÑ ÒÅÄÁÇÕ×ÁÎÎÑ"
-181 "ëÕÒÓÏÒ ÓÔϧÔØ ÎÅ ÎÁ ÃÉÆÒ¦"
-182 "OÔÒÉÍÁÎÅ ÞÉÓÌÏ ÎÁÄÔÏ ×ÅÌÉËÅ"
-183 "OÔÒÉÍÁÎÅ ÞÉÓÌÏ ÎÁÄÔÏ ÍÁÌÅ"
-184 "îÅÍÁ¤ ×¦ÄÐÏצÄÎÏÇÏ ÓÉÍ×ÏÌÕ × ÃØÏÍÕ ÒÑÄËÕ"
-185 "÷¦ÄÐÏצÄÎÉÊ ÓÉÍ×ÏÌ ÎÅ ÚÎÁÊÄÅÎÏ"
-186 "îÅÍÁ¤ ÓÉÍ×Ï̦נÄÌÑ ÚÁͦÎÉ"
-187 "îÅÍÁ¤ ¦ÎÛÏÇϠצËÎÁ"
-188 "óÉÍ×ÏÌɠЦÓÌÑ ÒÑÄËÕ ÄÌÑ ÐÏÛÕËÕ, ÚͦÝÅÎÎÑ ÒÑÄËÕ ÔÁ/ÞÉ ËÏÍÁÎÄÉ z"
-189 "îÅÍÁ¤ ÐÏÐÅÒÅÄÎØÏÇÏ ÚÒÁÚËÕ ÐÏÛÕËÕ"
-190 "ðÏÛÕË ÚÁ˦ÎÞÉ×ÓÑ ÎÁ ÐÏÞÁÔËÏצʠÐÏÚÉæ§"
-191 "áÂÒÅצÁÔÕÒÁ ÐÅÒÅ×ÉÝÉÌÁ Ì¦Í¦Ô ÒÏÚÛÉÒÅÎÎÑ: ÓÉÍ×ÏÌÉ Ú'¦ÇÎÏÒÏ×ÁÎÏ"
-192 "îÅÄÏÚ×ÏÌÅÎÉÊ ÓÉÍ×ÏÌ: ÚÁÄÁÊÔÅ × ÄÕÖËÁÈ"
-193 "÷ÖÅ ÎÁ ÐÏÞÁÔËÕ ×ÓÔÁ×ËÉ"
-194 "îÅÍÁ¤ ÓÉÍ×Ï̦נÄÌÑ ×ÉÄÁÌÅÎÎÑ"
-195 "òÕÈ ÚÁ Ë¦ÎÅÃØ ÆÁÊÌÕ"
-196 "òÕÈ ÚÁ Ë¦ÎÅÃØ ÒÑÄËÕ"
-197 "ëÕÒÓÏÒ ÎÅ ÐÅÒÅͦÝÕ×Á×ÓÑ"
-198 "÷ÖÅ ÎÁ ÐÏÞÁÔËÕ ÆÁÊÌÕ"
-199 "òÕÈ ËÕÒÓÏÒÕ ÚÁ ÐÏÞÁÔÏË ÆÁÊÌÕ"
-200 "÷ÖÅ × ÐÅÒۦʠËÏÌÏÎæ"
-201 "âÕÆÅÒ ÔÒÅÂÁ ×ËÁÚÕ×ÁÔÉ ÐÅÒÅÄ ËÏÍÁÎÄÏÀ"
-202 "÷ÖÅ ÎÁ Ë¦Îæ ÆÁÊÌÕ"
-203 "÷ÖÅ ÎÁ Ë¦Îæ ÒÑÄËÕ"
-204 "%s ÎÅ ËÏÍÁÎÄÁ Vi"
-205 "÷ÉËÏÒÉÓÔÁÎÎÑ: %s"
-206 "îÅÍÁ¤ ÓÉÍ×Ï̦נÄÌÑ ×ÉÄÁÌÅÎÎÑ"
-207 "ëÏÍÁÎÄÁ Q ×ÉÍÁÇÁ¤ ¦ÎÔÅÒÆÅÊÓÕ ex"
-208 "îÅÍÁ¤ ËÏÍÁÎÄÉ ÄÌÑ ÐÏ×ÔÏÒÅÎÎÑ"
-209 "æÁÊÌ ÐÕÓÔÉÊ"
-210 "ëÏÍÁÎÄÕ %s ÎÅ ÍÏÖÎÁ ×ÉËÏÒÉÓÔÁÔÉ ÄÌÑ ÐÅÒÅͦÝÅÎÎÑ"
-211 "÷ÖÅ × ËÏÍÁÎÄÎÏÍÕ ÒÅÖÉͦ"
-212 "ëÕÒÓÏÒ ÓÔϧÔØ ÎÅ ÎÁ ÓÌÏצ"
-214 "úÎÁÞÎÅÎÎÑ ÏÐ槠Windows ÎÁÄÔÏ ×ÅÌÉËÅ, ÍÁËÓÉÍÕÍ = %u"
-215 "äÏÐÉÓÁÔÉ"
-216 "úͦÎÉÔÉ"
-217 "ëÏÍÁÎÄÁ"
-218 "÷ÓÔÁ×ÉÔÉ"
-219 "úÁͦÎÉÔÉ"
-220 "òÕÈ ËÕÒÓÏÒÕ ÚÁ Ë¦ÎÅÃØ ÜËÒÁÎÕ"
-221 "òÕÈ ËÕÒÓÏÒÕ ÚÁ ÐÏÞÁÔÏË ÜËÒÁÎÕ"
-222 "äÌÑ ÒÏÚÂÉÔÔѠצËÎÏ ÍÁ¤ Í¦ÓÔÉÔɠ¦ÌØÛŠΦ֠%d ÒÑÄ˦×"
-223 "ô¦ÎØÏ×ÉȠצËÏΠÎÅÍÁ¤"
-224 "îÅÍÁ¤ Ô¦ÎØÏ×ÏÇϠצËÎÁ Ú ÒÅÄÁÇÕ×ÁÎÎÑÍ ÆÁÊÌÕ %s"
-225 "îÅ ÍÏÖÎÁ ÚÒÏÂÉÔÉ Ô¦ÎØÏ×ÉÍ ¤ÄÉΊצËÎÏ"
-226 "÷¦ËÎÏ ÍÏÖÎÁ ÓÔÉÓÎÕÔÉ ÌÉÛÅ ÄÏ %d ÒÑÄ˦×"
-227 "÷¦ËÎÏ ÎÅ ÍÏÖÎÁ ÓÔÉÓÎÕÔÉ"
-228 "÷¦ËÎÏ ÎÅ ÍÏÖÎÁ ÒÏÚÛÉÒÉÔÉ"
-230 "ãŠצËÎÏ ÎÅ ÍÏÖÎÁ ÐÒÉÚÕÐÉÎÉÔÉ"
-231 "ðÅÒÅÒ×ÁÎÏ: ×¦ÄÏÂÒÁÖÅΦ ËÌÁצۦ Ú'¦ÇÎÏÒÏ×ÁÎÏ"
-232 "vi: ÔÉÍÞÁÓÏ×ÉÊ ÂÕÆÕÒ ÎÅ ×ÉצÌØÎÅÎÏ"
-233 "ãÅÊ ÔÉРÔÅÒͦÎÁÌÕ ÎÅÍÁ¤ ËÌÁצۦ %s"
-234 "íÏÖÎÁ ×ËÁÚÁÔÉ ÌÉÛÅ ÏÄÉΠÂÕÆÅÒ"
-235 "þÉÓÌϠ¦ÌØÛÅ, Î¦Ö %lu"
-236 "ðÅÒÅÒ×ÁÎÏ"
-237 "îÅÍÏÖÌÕ ÓÔ×ÏÒÉÔÉ ÔÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ"
-238 "õ÷áçá: %s ÓÐÅæÁÌØÎÉÊ ÆÁÊÌ"
-239 "%s ×ÖÅ ÚÁÂÌÏËÏ×ÁÎÏ, ÄÏÓÔÕÐÎÉÊ Ô¦ÌØËÉ ÄÌÑ ÞÉÔÁÎÎÑ"
-240 "%s: ÓÔÅÒÔÏ"
-241 "%s: ÚÁËÒÉÔÏ"
-242 "%s: ÓÔÅÒÔÏ"
-243 "%s: ÓÔÅÒÔÏ"
-244 "æÁÊÌ Ô¦ÌØËÉ ÄÌÑ ÞÉÔÁÎÎÑ, ÎÅ ÚÁÐÉÓÁÎÏ: ÷ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-245 "æÁÊÌ Ô¦ÌØËÉ ÄÌÑ ÞÉÔÁÎÎÑ, ÎÅ ÚÁÐÉÓÁÎÏ"
-246 "%s ¦ÓÎÕ¤, ÎÅ ÚÁÐÉÓÁÎÏ; ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-247 "%s ¦ÓÎÕ¤, ÎÅ ÚÁÐÉÓÁÎÏ"
-248 "÷ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÞÁÓÔËÏ×ÏÇÏ ÚÁÐÉÓÕ ÆÁÊÌÕ"
-249 "þÁÓÔÉÎÁ ÆÁÊÌÕ, ÆÁÊÌ ÎÅ ÚÁÐÉÓÁÎÏ"
-250 "%s: æÁÊÌ ÚͦÎÀ×Á×ÓѠЦÚΦÛÅ, Î¦Ö ÃÑ ËÏЦÑ: ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-251 "%s: æÁÊÌ ÚͦÎÀ×Á×ÓѠЦÚΦÛÅ, Î¦Ö ÃÑ ËÏЦÑ"
-252 "%s: ÚÁÈÉÓԠצĠÚÁÐÉÓÕ ÎÅÄÏÓÔÕÐÎÉÊ"
-253 "úÁÐÉÓ..."
-254 "%s: õ÷áçá: ÆÁÊÌ ÏÂÒ¦ÚÁÎÏ"
-255 "÷ÖÅ ÎÁ ÐÅÒÛÏÍÕ ÔÅÇՠנæʠÇÒÕЦ"
-256 "%s: ÎÏ×ÉÊ ÆÁÊÌ: %lu ÒÑÄ˦×, %lu ÓÉÍ×Ï̦×"
-257 "%s: %lu ÒÑÄ˦×, %lu ÓÉÍ×Ï̦×"
-258 "%s ÒÏÚÛÉÒÉ×ÓÑ × ÎÁÄÔÏ ×ÅÌÉËՠ˦ÌØ˦ÓÔØ ¦ÍÅΠÆÁÊ̦×"
-259 "%s: ÓÐÅæÁÌØÎÉÊ ÆÁÊÌ"
-260 "%s: ÎÅ ÎÁÌÅÖÉÔØ ÷ÁÍ"
-261 "%s: ÄÏÓÔÕÐÎÉÊ ÎÅ ÌÉÛÅ ÷ÁÍ
-262 "æÁÊÌ ÍÏÄÉƦËÏ×ÁÎϠЦÓÌÑ ÏÓÔÁÎÎØϧ ËÏÍÁÎÄÉ ÚÁÐÉÓÕ: ÚÂÅÒÅÖ¦ÔØ ÞÉ ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-263 "æÁÊÌ ÍÏÄÉƦËÏ×ÁÎϠЦÓÌÑ ÏÓÔÁÎÎØϧ ËÏÍÁÎÄÉ ÚÁÐÉÓÕ: ÚÂÅÒÅÖ¦ÔØ ÞÉ ×ÉËÏÒÉÓÔÁÊÔÅ :edit ÄÌÑ ÏÂÈÏÄÕ"
-264 "æÁÊÌ ÍÏÄÉƦËÏ×ÁÎϠЦÓÌÑ ÏÓÔÁÎÎØϧ ËÏÍÁÎÄÉ ÚÁÐÉÓÕ: ÚÂÅÒÅÖ¦ÔØ ÞÉ ×ÉËÏÒÉÓÔÁÊÔÅ ! ÄÌÑ ÏÂÈÏÄÕ"
-265 "ôÉÍÞÁÓÏ×ÉÊ ÆÁÊÌ: ×ÉȦĠڦÔÒÅ ÚͦÎÉ"
-266 "æÁÊÌ Ô¦ÌØËÉ ÄÌÑ ÞÉÔÁÎÎÑ, ÚͦÎÉ ÎÅ ÚÁÐÉÛÕÔØÓÑ Á×ÔÏÍÁÔÉÞÎÏ"
-267 "úÁÐÉÓÉ ÐÏÞÁÔ¦ ÚÁÎÏ×Ï"
-268 "ð¦ÄÔ×ÅÒÄÖÕ¤ÔÅ? [ynq]"
-269 "îÁÔÉÓΦÔØ ENTER ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ: "
-270 "îÁÔÉÓΦÔØ ENTER ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ [: ÄÌÑ ¦ÎÛÉÈ ËÏÍÁÎÄ] "
-271 "îÁÔÉÓΦÔØ ENTER ÄÌÑ ÐÒÏÄÏ×ÖÅÎÎÑ [q ÄÌÑ ×ÉÈÏÄÕ]: "
-272 "TÁËÁ ÆÏÒÍÁ %s ×ÉÍÁÇÁ¤ ¦ÎÔÅÒÆÅÊÓÕ ex"
-273 "÷ÈÏÄÉÍ × ÒÅÖÉÍ ××ÅÄÅÎÎÑ ex"
-274 "ú¦ʠËÏÍÁÎÄÉ, ÆÁÊÌ ÎÅ ÐÒÏÞÉÔÁÎÏ"
-275 "ðÒÏÄÏ×ÖÉÔÉ?"
-276 "îÅÏÞ¦ËÕ×ÁÎÁ ÓÉÍ×ÏÌØÎÁ ÐÏĦÑ"
-277 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠ˦ÎÃÑ ÆÁÊÌÕ"
-278 "îÅÍÁ¤ ÓЦ×ÐÁÄÁÎØ ÚÁ ÚÁÐÉÔÏÍ"
-279 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÐÅÒÅÒÉ×ÁÎÎÑ"
-280 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠ×ÉÈÏÄÕ"
-281 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÐÅÒÅÒÉÓÏ×ËÉ"
-282 "÷ÖÅ ÎÁ ÏÓÔÁÎÎØÍÕ ôÅÇՠנæʠÇÒÕЦ"
-283 "ëÏÍÁÎÄÁ %s ×ÉÍÁÇÁ¤ ¦ÎÔÅÒÆÅÊÓÕ ex"
-284 "TÁËÁ ÆÏÒÍÁ %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ ÐÒÉ ×ÓÔÁÎÏ×ÌÅΦʠÏÐ槠secure edit"
-285 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÒÑÄËÕ"
-286 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÔÁÊÍ-ÁÕÔÕ"
-287 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÚÁÐÉÓÕ"
-289 "Shell'¦×ÓËÅ ÄÏÐÏ×ÎÅÎÎÑ ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ ÐÒÉ ×ÓÔÁÎÏ×ÌÅΦʠÏÐ槠secure edit"
-290 "ëÏÍÁÎÄÁ %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ ÐÒÉ ×ÓÔÁÎÏ×ÌÅΦʠÏÐ槠secure edit"
-291 "set: ÏÐæÀ %s ÎÅÍÏÖÎÁ ×ÉÓÔÁ×ÉÔÉ ×ÉÍËÎÅÎÏÀ"
-292 "åËÒÁΠÎÁÄÔÏ ÍÁÌÉÊ."
-293 "ÄÏÄÁÎÏ"
-294 "ÚͦÎÅÎÏ"
-295 "ÓÔÅÒÔÏ"
-296 "ÏÂ'¤ÄÎÁÎÏ"
-297 "ÐÅÒÅͦÝÅÎÏ"
-298 "ÚÄ×ÉÎÕÔÏ"
-299 "×ÓÔÁ×ÌÅÎÏ"
-300 "ÒÑÄÏË"
-301 "ÒÑÄ˦×"
-302 "Vi ÚÁ×ÁÎÔÁÖÅÎÏ ÂÅÚ ¦ÎÔÅÒÐÒÅÔÁÔÏÒÁ Tcl"
-303 "æÁÊÌ ÍÏÄÉƦËÏ×ÁÎϠЦÓÌÑ ÏÓÔÁÎÎØϧ ËÏÍÁÎÄÉ ÚÁÐÉÓÕ."
-304 "îÅ×ÄÁÞÁ shell'¦×ÓØËÏÇÏ ÄÏÐÏ×ÎÅÎÎÑ"
-305 "OÐ槠ÒÅÄÁÇÕ×ÁÎÎÑ %s ÎÅ ×ËÁÚÁÎÏ"
-306 "Vi ÚÁ×ÁÎÔÁÖÅÎÏ ÂÅÚ ¦ÎÔÅÒÐÒÅÔÁÔÏÒÁ Perl"
-307 "îÅÍÁ¤ ËÏÍÁÎÄÉ ex ÄÌÑ ×ÉËÏÎÁÎÎÑ"
-308 "îÁÔÉÓΦÔØ ENTER ÝÏ ×ÉËÏÎÁÔÉ ËÏÍÁÎÄÕ, q ÝÏ ×ÉÊÔÉ"
-309 "÷×ÅĦÔØ 'cscope help' ÄÌÑ ¦ÎÆÏÒÍÁæ§"
-310 "îÅÍÁ¤ cscope Ú'¤ÄÎÁÎÎØ"
-311 "%s: ÎÅצÄÏÍÉÊ ÔÉРÐÏÛÕËÕ: ×ÉËÏÒÉÓÔÏ×ÕÊÔÅ ÏÄÉΠڠ%s"
-312 "%d: ÎÅÍÁ¤ ÔÁËϧ ÓÅÓ¦§ cscope"
-313 "set: ÏÐæÀ %s ÎÅÍÏÖÎÁ ×ÉÓÔÁ×ÉÔÉ ÕצÍËÎÅÎÏÀ"
-314 "set: ÏÐæÀ %s ÎÅÍÏÖÎÁ ×ÉÓÔÁ×ÉÔÉ × 0"
-315 "%s: ÄÏÄÁÎÏ: %lu ÒÑÄ˦×, %lu ÓÉÍ×Ï̦×"
-316 "îÅÏÞ¦ËÕ×ÁÎÁ ÐÏĦѠÚͦÎÉ ÒÏÚͦÒÕ"
-317 "%d ÆÁÊ̦נÄÌÑ ÒÅÄÁÇÕ×ÁÎÎÑ"
diff --git a/contrib/nvi/catalog/uk_UA.KOI8-U.owner b/contrib/nvi/catalog/uk_UA.KOI8-U.owner
deleted file mode 100644 (file)
index 11719ba..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Olexander Kunytsa aka Cawko Xakep <xakep@snark.ukma.kiev.ua>
diff --git a/contrib/nvi/catalog/zh_CN.GB2312.base b/contrib/nvi/catalog/zh_CN.GB2312.base
deleted file mode 100644 (file)
index 5cd8dba..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-002 "Ð㤶ÈÒç³ö"
-003 "ÎÞ·¨É¾³ýµÚ %lu ÐÐ"
-004 "ÎÞ·¨ÏòµÚ %lu ÐÐ×·¼Ó"
-005 "ÎÞ·¨ÏòµÚ %lu ÐвåÈë"
-006 "ÎÞ·¨´æ´¢µÚ %lu ÐÐ"
-007 "ÎÞ·¨»ñµÃ×îºóÒ»ÐÐ"
-008 "´íÎó£ºÎÞ·¨»ñÈ¡µÚ %lu ÐÐ"
-009 "ÈÕÖ¾Îļþ"
-010 "ÈÕ־δ¼Ç¼£¬ÎÞ·¨³·Ïú"
-011 "δ×öÐ޸ģ¬ÎÞ·¨³·Ïú"
-012 "ÈÕ־δ¼Ç¼£¬ÎÞ·¨³·Ïú"
-013 "ÈÕ־δ¼Ç¼£¬ÎÞ·¨»Ø¹ö"
-014 "δ×öÐ޸ģ¬ÎÞ·¨ÖØ×ö"
-015 "%s/%d: ÈÕÖ¾´íÎó"
-016 "Vi µÄ±ê×¼ÊäÈëºÍÊä³ö±ØÐëÊÇÖÕ¶Ë"
-017 "±ê¼Ç %s: Î´ÉèÖÃ"
-018 "±ê¼Ç %s: ¸ÃÐб»É¾³ý"
-019 "±ê¼Ç %s: ¹â±êλÖò»´æÔÚ"
-020 "´íÎó£º"
-021 "ÐÂÎļþ"
-022 "ÎļþÃû±ä¸ü"
-023 "ÒÑÐÞ¸Ä"
-024 "δÐÞ¸Ä"
-025 "ÒѽâËø"
-026 "Ö»¶Á"
-027 "µÚ %lu ÐУ¯¹² %lu ÐР[%ld%%]"
-028 "¿ÕÎļþ"
-029 "µÚ %lu ÐÐ"
-030 "Îļþ %s ²»ÊÇÏûϢĿ¼"
-031 "ÎÞ·¨ÉèÖÃÑ¡Ïî %s µÄĬÈÏÖµ"
-032 "Ó÷¨ %s"
-033 "set: ²»´æÔÚÑ¡Ïî %s£»Óà'set all' ²é¿´ËùÓÐÑ¡ÏîµÄÖµ"
-034 "set: Ñ¡Ïî [no]%s ²»½ÓÊܸ³Öµ"
-035 "set: Ñ¡Ïî %s ²»ÊÇ¿ª¹Ø"
-036 "set: Ñ¡Ïî %s: %s"
-037 "set: Ñ¡Ïî %s: %s: ÖµÒç³ö"
-038 "set: Ñ¡Ïî %s: %s ÊÇÒ»¸ö·Ç·¨Êý×Ö"
-039 "set: Ñ¡Ïî %s ²»ÊÇ¿ª¹Ø"
-040 "ÆÁĻ̫խ£¬ÁпíСÓÚ %d"
-041 "ÆÁĻ̫¿í£¬Áпí´óÓÚ %d"
-042 "ÆÁĻ̫°«£¬ÐиßСÓÚ %d"
-043 "ÆÁĻ̫¸ß£¬ÐиߴóÓÚ %d"
-044 "lisp Ñ¡ÏîδʵÏÖ"
-045 "ÏûϢδ¹Ø±Õ£º%s"
-046 "ÏûϢδ´ò¿ª£º%s"
-047 "%s Ñ¡Ïî±ØÐëÿÁ½¸ö×Ö·ûÒ»×é"
-053 "ĬÈÏ»º³åÇøΪ¿Õ"
-054 "»º³åÇø %s Îª¿Õ"
-055 "ÎļþÃûÖÐÓл»ÐеÄÎļþÊÇÎÞ·¨»Ö¸´µÄ"
-056 "Ò»µ©»á»°Ê§°Ü£¬ÐÞ¸ÄÎÞ·¨»Ö¸´"
-057 "ÕýÔÚ±¸·ÝÎļþ¡­¡­"
-058 "±£´æʧ°Ü£º%s"
-059 "Ò»µ©»á»°Ê§°Ü£¬ÐÞ¸ÄÎÞ·¨»Ö¸´"
-060 "Îļþ±¸·Ýʧ°Ü£º%s"
-061 "ÕýÔÚ±¸·ÝÎļþ¡­¡­"
-062 "ID Îª %u µÄÓû§Î´ÕÒµ½"
-063 "ÎÞ·¨¸ø»Ö¸´Îļþ¼ÓËø"
-064 "»Ö¸´Îļþ»º³åÇøÒç³ö"
-065 "»Ö¸´Îļþ"
-066 "%s: »Ö¸´Îļþ¸ñʽÒì³£"
-067 "%s: »Ö¸´Îļþ¸ñʽÒì³£"
-068 "²»´æÔÚÃûΪ %s µÄ£¬¿É¶Á²¢ÐèÒª»Ö¸´µÄÎļþ"
-069 "´æÔÚ´ËÎļþµÄ¾É°æ±¾ÐèÒªÄú»Ö¸´"
-070 "´æÔÚÆäËüÐèÒªÄú»Ö¸´µÄÎļþ"
-071 "Óʼþδ·¢³ö£º%s"
-072 "ÎļþΪ¿Õ£¬ÎÞ·¨ËÑË÷"
-073 "µ½´ïÎļþβ£¬Î´ÕÒµ½Ä£Ê½"
-074 "ûÓÐÉÏÒ»¸öËÑË÷ģʽ"
-075 "ģʽδÕÒµ½"
-076 "µ½´ïÎļþÍ·£¬Î´ÕÒµ½Ä£Ê½"
-077 "ËÑË÷»Øת"
-078 "ÕýÔÚËÑË÷¡­¡­"
-079 "δÕÒµ½²»¿É´òÓ¡×Ö·û"
-080 "ÃüÁîÃû²»Ã÷"
-082 "%s: ÃüÁîÔÚ ex Ä£Ê½Ï²»¿ÉÓÃ"
-083 "ÃüÁî¼ÆÊý²»¿ÉΪ 0"
-084 "%s: ´íÎóµÄÐÐÃèÊö"
-085 "ÄÚ²¿Óï·¨±í´íÎó (%s: %s)"
-086 "Ó÷¨£º%s"
-087 "%s: ÁÙʱ»º³åÇøδÊÍ·Å"
-088 "ÐÞÊηûÆ«ÒÆÁ¿ÔÚµÚÒ»ÐÐ֮ǰ"
-089 "ÐÞÊηûÆ«ÒÆÁ¿³¬¹ý×îºóÒ»ÐÐ"
-090 "Îļþ£¯ÆÁÄ»¸Ä±äʱÓдø·¶Î§µÄ @ ÃüÁîÕýÔÚÔËÐÐ"
-091 "Îļþ£¯ÆÁÄ»¸Ä±äʱÓÐÈ«¾ÖÃüÁv ÃüÁîÕýÔÚÔËÐÐ"
-092 "Ex ÃüÁîʧ°Ü£ºµÈ´ýÖеÄÃüÁîÒѶªÆú"
-093 "Ex ÃüÁîʧ°Ü£º¼üÓ³ÉäÒѶªÆú"
-094 "µÚ¶þµØַСÓÚµÚÒ»µØÖ·"
-095 "δÌṩ±ê¼ÇÃû"
-096 "\\ Ã»ÓиúÔÚ / »ò ? ºóÃæ"
-097 "ÒýÓÃÁËСÓÚ 0 µÄÐкÅ"
-098 "%s ÃüÁî²»Ã÷"
-099 "µØÖ·ÖµÒç³ö"
-100 "µØÖ·ÖµÏÂÒç"
-101 "·Ç·¨µÄµØÖ·×éºÏ"
-102 "·Ç·¨µØÖ·£ºÎļþÖ»ÓР%lu ÐÐ"
-103 "·Ç·¨µØÖ·£ºÎļþΪ¿Õ"
-104 "ÃüÁî %s ²»ÔÊÐíµØַΪ 0"
-105 "ûÓпÉÏÔʾµÄËõд"
-106 "Ëõд±ØÐëÒÔ¡¸µ¥´Ê¡¹×Ö·û½áÊø"
-107 "Ëõд²»ÄÜ°üº¬ÖƱí·û»ò¿Õ¸ñ"
-108 "Ëõд²»ÄÜÔÚ½áβ֮ÍâµÄµØ·½»ìÓõ¥´Ê£¯·Çµ¥´Ê×Ö·û"
-109 "\"%s\" ²»ÊÇËõд"
-110 "Vi ÃüÁîʧ°Ü£º¼üÓ³ÉäÒѶªÆú"
-111 "ûÓÐÊ£ÓàµÄ´ý±à¼­Îļþ"
-112 "ûÓÐÉÏÒ»¸ö´ý±à¼­Îļþ"
-113 "ûÓÐÉÏÒ»¸öÐèÖØб༭µÄÎļþ"
-114 "ûÓпÉÏÔʾµÄÎļþÁбí"
-115 "ȱÉÙÓÃÓÚÌæ»» \"!\" µÄÉÏÒ»ÌõÃüÁî"
-116 "ȱÉÙÓÃÓÚÌæ»» %% µÄÎļþÃû"
-117 "ȱÉÙÓÃÓÚÌæ»» # µÄÎļþÃû"
-118 "´íÎó£ºexecl: %s"
-119 "ÊäÈ룯Êä³ö´íÎó£º%s"
-120 "ÎļþÔÚÉÏÒ»´ÎÍêÕûдÈëºó±»Ð޸ģ»Ð´ÈëÎļþ£¬»òʹÓà! Ç¿ÖÆÇл»Ä¿Â¼"
-121 "ÎÞ·¨ÕÒµ½Óû§ÆðʼĿ¼"
-122 "еĵ±Ç°Ä¿Â¼£º%s"
-123 "ûÓпÉÏÔʾµÄ¼ôÇлº³åÇø"
-124 "%s ÃüÁî²»Äܱ»ÓÃ×÷È«¾ÖÃüÁî»ò v ÃüÁîµÄÒ»²¿·Ö"
-125 "%s/%s: Î´ÒýÈ룺²»ÊôÓÚÄú»ò¸ùÓû§"
-126 "%s/%s: Î´ÒýÈ룺²»ÊôÓÚÄú"
-127 "%s/%s: Î´ÒýÈ룺¿ÉÒÔ±»ÎļþÊôÖ÷ÒÔÍâµÄÓû§Ð´Èë"
-128 "%s: Î´ÒýÈ룺²»ÊôÓÚÄú»ò¸ùÓû§"
-129 "%s: Î´ÒýÈ룺²»ÊôÓÚÄú"
-130 "%s: Î´ÒýÈ룺¿ÉÒÔ±»ÎļþÊôÖ÷ÒÔÍâµÄÓû§Ð´Èë"
-131 "ȱÉÙ¿ÉÒԺϲ¢µÄÐÐ"
-132 "ȱÉÙÊäÈëÓ³Éä"
-133 "ȱÉÙÃüÁîÓ³Éä"
-134 "%s ×Ö·û²»Äܱ»ÖØÐÂÓ³Éä"
-135 "\"%s\" Ä¿Ç°Î´±»Ó³Éä"
-136 "±ê¼ÇÃû±ØÐëÊǵ¥¸ö×Ö·û"
-137 "%s ÒÑ´æÔÚ£¬Î´Ð´È룻Óà! ¸²¸ÇÎļþ"
-138 "н¨ exrc Îļþ£º%s"
-139 "Ä¿±êÐÐÔÚÒƶ¯·¶Î§Ö®ÄÚ"
-140 "open ÒªÇó¿ªÆô open Ñ¡Ïî"
-141 "open ÃüÁîδʵÏÖ"
-142 "ÎÞ·¨±£³Ö´ËÎļþ"
-143 "ÎļþÒѱ£³Ö"
-144 "%s: Õ¹¿ªµÄÎļþÃû¹ý¶à"
-145 "Ö»ÄܶÁÈ¡³£¹æÎļþºÍ¾ßÃû¹ÜµÀ"
-146 "%s: ¶ÁËø²»¿ÉÓÃ"
-147 "ÕýÔÚ¶ÁÈ¡¡­¡­"
-148 "%s: %lu ÐУ¬%lu ¸ö×Ö·û"
-149 "ûÓпÉÏÔʾµÄºǫ́ÆÁÄ»"
-150 "script ÃüÁî½öÔÚ vi Ä£Ê½Ï¿ÉÓÃ"
-151 "ûÓÐÒªÖ´ÐеÄÃüÁî"
-152 "shiftwidth Ñ¡Ïî±»ÉèΪ 0"
-153 "ÃüÁî¼ÆÊýÒç³ö"
-154 "ÃüÁî¼ÆÊýÏÂÒç"
-155 "ÕýÔò±í´ïʽÒÑÖ¸¶¨£»r ÐÞÊηûÎÞЧ"
-156 "#, l ºÍ p ÐÞÊηûÔÚ vi Ä£Ê½Ï²»ÄÜÓë c ÐÞÊηû×éºÏ"
-157 "δÕÒµ½Æ¥Åä"
-158 "ûÓÐÉÏÒ»´Î½øÈëµÄ tag"
-159 "tags Õ»ÉϵļǼÉÙÓÚ %s Ìõ£»Óà:display t[ags] ÏÔʾËüÃÇ"
-160 "tags Õ»Éϲ»´æÔÚÎļþ %s£¬ÎÞ·¨·µ»Ø£»Óà:display t[ags] ²é¿´"
-161 "°´»Ø³µ¼ü¼ÌÐø£º"
-162 "%s: tag Î´ÕÒµ½"
-163 "%s: Ë𻵵Ġtag ÔÚ %s ÖÐ"
-164 "%s: tag µÄÐкų¬¹ýÁËÎļþβ"
-165 "tags Õ»Îª¿Õ"
-166 "%s: ËÑË÷ģʽδÕÒµ½"
-167 "»¹ÓР%d ¸ö´ý±à¼­Îļþ"
-168 "»º³åÇø %s Îª¿Õ"
-169 "È·ÈÏÐ޸ģ¿[n]"
-170 "ÒÑÖжÏ"
-171 "ûÓÐÉÏÒ»¸ö¿É¹©Ö´ÐеĻº³åÇø"
-172 "ûÓÐÉÏÒ»ÌõÕýÔò±í´ïʽ"
-173 "%s ÒªÇó´æÔÚÒ»¸öÒѶÁÈëµÄÎļþ"
-174 "Ó÷¨£º%s"
-175 "visual ÃüÁîÒªÇó¿ªÆô open Ñ¡Ïî"
-177 "¿ÕÎļþ"
-178 "ûÓÐÉÏÒ»´Î F, f, T »ò t ËÑË÷"
-179 "%s Î´ÕÒµ½"
-180 "ûÓÐÉÏÒ»¸ö´ý±à¼­Îļþ"
-181 "¹â±ê²»ÔÚÊý×ÖÉÏ"
-182 "½á¹ûÊý×Ö¹ý´ó"
-183 "½á¹ûÊý×Ö¹ýС"
-184 "ÕâÒ»ÐÐÉÏûÓÐÆ¥ÅäµÄ×Ö·û"
-185 "Æ¥Åä×Ö·ûδÕÒµ½"
-186 "ûÓпÉÌæ»»µÄ×Ö·û"
-187 "ûÓÐÆäËüÆÁÄ»¿ÉÒÔÇл»"
-188 "ÔÚËÑË÷×Ö·û´®¡¢ÐÐÆ«ÒÆÁ¿»ò z ÃüÁîÖ®ºóÓжàÓà×Ö·û"
-189 "ûÓÐÉÏÒ»¸öËÑË÷ģʽ"
-190 "ËÑË÷»Øתµ½Á˳õʼλÖÃ"
-191 "Ëõдչ¿ª³¬¹ýÏÞÖÆ£º×Ö·ûÒѶªÆú"
-192 "·Ç·¨×Ö·û£»ÓÃÒýºÅÀ¨ÆðÀ´ÔÙÊäÈë"
-193 "Òѵ½²åÈëµãµÄ¿ªÊ¼"
-194 "ûÓпɲÁ³ýµÄÊ£Óà×Ö·û"
-195 "Òƶ¯³¬¹ýÎļþβ"
-196 "Òƶ¯³¬¹ýÐÐÄ©"
-197 "¹â±êδÒƶ¯"
-198 "Òѵ½ÎļþÍ·"
-199 "Òƶ¯³¬¹ýÎļþÍ·"
-200 "ÒÑλÓÚµÚÒ»ÁÐ"
-201 "»º³åÇøÓ¦ÔÚÃüÁîÇ°Ö¸¶¨"
-202 "Òѵ½Îļþβ"
-203 "Òѵ½ÐÐÄ©"
-204 "%s ²»ÊÇ vi ÃüÁî"
-205 "Ó÷¨ %s"
-206 "ûÓпÉɾ³ýµÄ×Ö·û"
-207 "Q ÃüÁîÐèÒª ex Öն˽çÃæ"
-208 "ûÓпÉÖظ´µÄÃüÁî"
-209 "ÎļþΪ¿Õ"
-210 "%s ²»Äܱ»ÓÃ×÷Òƶ¯ÃüÁî"
-211 "ÒÑ´¦ÓÚÃüÁîģʽ"
-212 "¹â±ê²»ÔÚµ¥´ÊÉÏ"
-214 "´°¿ÚÑ¡ÏîµÄÖµ¹ý´ó£¬×î´óÖµ %u"
-215 "×·¼Ó"
-216 "ÐÞ¸Ä"
-217 "ÃüÁî"
-218 "²åÈë"
-219 "Ìæ»»"
-220 "Òƶ¯³¬¹ýÆÁÄ»ÖÕµã"
-221 "Òƶ¯³¬¹ýÆÁÄ»Æðµã"
-222 "·ÖÆÁÐèÒª¶àÓÚ %d ÐÐ"
-223 "ûÓкǫ́ÆÁÄ»"
-224 "²»´æÔÚÕýÔڱ༭Îļþ %s µÄºǫ́ÆÁÄ»"
-225 "²»ÄÜ°ÑÄúΨһµÄÆÁÄ»ÖÃÓÚºǫ́"
-226 "ÆÁĻֻÄÜÊÕËõµ½ %d ÐÐ"
-227 "ÆÁÄ»²»ÄÜÊÕËõ"
-228 "ÆÁÄ»²»ÄÜÔö¸ß"
-230 "²»ÄܹÒÆð´ËÆÁÄ»"
-231 "ÒÑÖжϣº¼üÓ³ÉäÒѶªÆú"
-232 "vi: ÁÙʱ»º³åÇøδÊÍ·Å"
-233 "´ËÖÕ¶ËûÓР%s ¼ü"
-234 "Ö»ÄÜÖ¸¶¨Ò»¸ö»º³åÇø"
-235 "Êý×Ö´óÓÚ %lu"
-236 "ÒÑÖжÏ"
-237 "ÎÞ·¨´´½¨ÁÙʱÎļþ"
-238 "¾¯¸æ£º%s ²»Êdz£¹æÎļþ"
-239 "%s ÒѼÓËø£¬»á»°ÎªÖ»¶Á"
-240 "%s: ÒƳý"
-241 "%s: ¹Ø±Õ"
-242 "%s: ÒƳý"
-243 "%s: ÒƳý"
-244 "Ö»¶ÁÎļþ£¬Î´Ð´È룻Óà! Ç¿ÖÆдÈë"
-245 "Ö»¶ÁÎļþ£¬Î´Ð´Èë"
-246 "%s ÒÑ´æÔÚ£¬Î´Ð´È룻Óà! ¸²¸ÇÎļþ"
-247 "%s ÒÑ´æÔÚ£¬Î´Ð´Èë"
-248 "ÊÇÒÑ´æÔÚÎļþµÄÒ»²¿·Ö£¬Î´Ð´È룻Óà! Ç¿ÖÆдÈë"
-249 "ÊÇÒÑ´æÔÚÎļþµÄÒ»²¿·Ö£¬Î´Ð´Èë"
-250 "%s: Îļþ±»Ð޸ģ¬ÐÂÓÚµ±Ç°¿½±´£»Óà! Ç¿ÖÆдÈë"
-251 "%s: Îļþ±»Ð޸ģ¬ÐÂÓÚµ±Ç°¿½±´"
-252 "%s: Ð´Ëø²»¿ÉÓÃ"
-253 "ÕýÔÚдÈë¡­¡­"
-254 "%s: ¾¯¸æ£ºÎļþ±»½Ø¶Ï"
-255 "ÒÑλÓÚÕâ×é tags ÖеĵÚÒ»¸ö"
-256 "%s: ÐÂÎļþ£º%lu ÐУ¬%lu ¸ö×Ö·û"
-257 "%s: %lu ÐУ¬%lu ¸ö×Ö·û"
-258 "%s: Õ¹¿ªµÄÎļþÃû¹ý¶à"
-259 "%s: ²»Êdz£¹æÎļþ"
-260 "%s: ²»ÊôÓÚÄú"
-261 "%s: ¿É±»ÎļþÊôÖ÷ÒÔÍâµÄÓû§·ÃÎÊ"
-262 "ÎļþÔÚÉÏÒ»´ÎÍêÕûдÈëºó±»Ð޸ģ»Ð´ÈëÎļþ£¬»òʹÓà! Ç¿ÖÆÔØÈë"
-263 "ÎļþÔÚÉÏÒ»´ÎÍêÕûдÈëºó±»Ð޸ģ»Ð´ÈëÎļþ£¬»òʹÓà:edit! Ç¿ÖƱ༭"
-264 "ÎļþÔÚÉÏÒ»´ÎÍêÕûдÈëºó±»Ð޸ģ»Ð´ÈëÎļþ£¬»òʹÓà! Ç¿ÖÆÖ´ÐÐ"
-265 "ÁÙʱÎļþ£¬Í˳ö½«¶ªÆúÈ«²¿ÐÞ¸Ä"
-266 "ÎļþÖ»¶Á£¬ÐÞ¸Äδ±»×Ô¶¯Ð´Èë"
-267 "ÈÕÖ¾ÖØÆô"
-268 "È·ÈÏ£¿[ynq]"
-269 "°´ÈÎÒâ¼ü¼ÌÐø£º"
-270 "°´ÈÎÒâ¼ü¼ÌÐø£Û°´ : ¼üÊäÈë ex ÃüÁî£Ý£º"
-271 "°´ÈÎÒâ¼ü¼ÌÐø£Û°´ q ¼üÍƳö£Ý£º"
-272 "¸ÃÐÎʽµÄ %s ÃüÁîÐèÒª ex Öն˽çÃæ"
-273 "½øÈë ex ÊäÈëģʽ"
-274 "ÃüÁîʧ°Ü£¬ÉÐδ¶ÁÈëÎļþ"
-275 " ¼ÌÐø£¿"
-276 "ÒâÍâµÄ×Ö·ûʼþ"
-277 "ÒÔÍâµÄÎļþβʼþ"
-278 "²éѯδÕÒµ½Æ¥Åä"
-279 "ÒâÍâµÄÖжÏʼþ"
-280 "ÒâÍâµÄÍ˳öʼþ"
-281 "ÒâÍâµÄÖØ»æʼþ"
-282 "ÒÑλÓÚÕâ×é tags ÖеÄ×îºóÒ»¸ö"
-283 "%s ÃüÁîÐèÒª ex Öն˽çÃæ"
-284 "secure ±à¼­Ñ¡ÏÆôʱ²»Ö§³Ö¸ÃÐÎʽµÄ %s ÃüÁî"
-285 "ÒâÍâµÄ×Ö·û´®Ê¼þ"
-286 "ÒâÍâµÄ³¬Ê±Ê¼þ"
-287 "ÒâÍâµÄдÈëʼþ"
-288 "·ÖÆÁÐèÒª¶àÓÚ %d ÁÐ"
-289 "secure ±à¼­Ñ¡ÏÆôʱ²»Ö§³Ö shell Õ¹¿ª"
-290 "secure ±à¼­Ñ¡ÏÆôʱ²»Ö§³Ö %s ÃüÁî"
-291 "set: Ñ¡Ïî %s ²»ÄܹرÕ"
-292 "ÏÔʾ¿Õ¼ä̫С"
-293 "ÒÑÌí¼Ó"
-294 "ÒÑÐÞ¸Ä"
-295 "ÒÑɾ³ý"
-296 "ÒѺϲ¢"
-297 "ÒÑÒƶ¯"
-298 "ÒÑÆ«ÒÆ"
-299 "ÒѸ´ÖÆ"
-300 "ÐÐ"
-301 "ÐÐ"
-303 "ÎļþÔÚÉÏÒ»´ÎдÈëºó±»ÐÞ¸Ä"
-304 "Shell Õ¹¿ªÊ§°Ü"
-305 "δָ¶¨ %s ±à¼­Ñ¡Ïî"
-307 "ûÓÐÒªÖ´ÐеĠex ÃüÁî"
-308 "¼üÈë»Ø³µÖ´ÐÐÒ»ÌõÃüÁ:q Í˳ö"
-309 "ʹÓà\"cscope help\" ²é¿´°ïÖú"
-310 "ûÓÐÕýÔÚÔËÐеĠcscope Á¬½Ó"
-311 "%s: ËÑË÷ÀàÐͲ»Ã÷£ºÊ¹Óà%s ÖеÄÒ»¸ö"
-312 "%d: ÎÞ´Ë cscope »á»°"
-313 "set: Ñ¡Ïî %s ¾ø¶Ô²»ÄÜ¿ªÆô"
-314 "set: Ñ¡Ïî %s ¾ø¶Ô²»Äܱ»ÉèΪ 0"
-315 "%s: ÒÑ×·¼Ó£º%lu ÐУ¬%lu ¸ö×Ö·û"
-316 "ÒâÍâµÄ´óСµ÷Õûʼþ"
-317 "%d ¸ö´ý±à¼­µÄÎļþ"
-319 "%d ¸öºǫ́ÆÁÄ»£»Óà:display ÁгöËüÃÇ"
-320 "¹â±êλÖò»Ã÷"
-321 "²»Ö§³ÖÎļþ±àÂëת»»"
-322 "²»Ö§³ÖÊäÈë±àÂëת»»"
-323 "ÎÞЧÊäÈ룬ÒѽضÏ"
-324 "µÚ %d ÐÐÉÏÓÐת»»´íÎó"
diff --git a/contrib/nvi/catalog/zh_CN.GB2312.owner b/contrib/nvi/catalog/zh_CN.GB2312.owner
deleted file mode 100644 (file)
index 8052cac..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Zhihao Yuan <lichray@gmail.com>
diff --git a/contrib/nvi/cl/README.signal b/contrib/nvi/cl/README.signal
deleted file mode 100644 (file)
index 18b3d14..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-#      $Id: README.signal,v 10.1 1995/06/23 10:28:17 bostic Exp $
-
-There are six (normally) asynchronous actions about which vi cares:
-SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGTSTP and SIGWINCH.
-
-The assumptions:
-       1: The DB routines are not reentrant.
-       2: The curses routines may not be reentrant.
-       3: Neither DB nor curses will restart system calls.
-
-XXX
-Note, most C library functions don't restart system calls.  So, we should
-*probably* start blocking around any imported function that we don't know
-doesn't make a system call.  This is going to be a genuine annoyance...
-
-SIGHUP, SIGTERM
-       Used for file recovery.  The DB routines can't be reentered, nor
-       can they handle interrupted system calls, so the vi routines that
-       call DB block signals.  This means that DB routines could be
-       called at interrupt time, if necessary.
-
-SIGQUIT
-       Disabled by the signal initialization routines.  Historically, ^\
-       switched vi into ex mode, and we continue that practice.
-
-SIGWINCH:
-       The interrupt routine sets a global bit which is checked by the
-       key-read routine, so there are no reentrancy issues.  This means
-       that the screen will not resize until vi runs out of keys, but
-       that doesn't seem like a problem.
-
-SIGINT and SIGTSTP are a much more difficult issue to resolve.  Vi has
-to permit the user to interrupt long-running operations.  Generally, a
-search, substitution or read/write is done on a large file, or, the user
-creates a key mapping with an infinite loop.  This problem will become
-worse as more complex semantics are added to vi, especially things like
-making it a pure text widget.  There are four major solutions on the table,
-each of which have minor permutations.
-
-1:     Run in raw mode.
-
-       The up side is that there's no asynchronous behavior to worry about,
-       and obviously no reentrancy problems.  The down side is that it's easy
-       to misinterpret characters (e.g. :w big_file^Mi^V^C is going to look
-       like an interrupt) and it's easy to get into places where we won't see
-       interrupt characters (e.g. ":map a ixx^[hxxaXXX" infinitely loops in
-       historic implementations of vi).  Periodically reading the terminal
-       input buffer might solve the latter problem, but it's not going to be
-       pretty.
-
-       Also, we're going to be checking for ^C's and ^Z's both, all over
-       the place -- I hate to litter the source code with that.  For example,
-       the historic version of vi didn't permit you to suspend the screen if
-       you were on the colon command line.  This isn't right.  ^Z isn't a vi
-       command, it's a terminal event.  (Dammit.)
-
-2:     Run in cbreak mode.  There are two problems in this area.  First, the
-       current curses implementations (both System V and Berkeley) don't give
-       you clean cbreak modes. For example, the IEXTEN bit is left on, turning
-       on DISCARD and LNEXT.  To clarify, what vi WANTS is 8-bit clean, with
-       the exception that flow control and signals are turned on, and curses
-       cbreak mode doesn't give you this.
-
-       We can either set raw mode and twiddle the tty, or cbreak mode and
-       twiddle the tty.  I chose to use raw mode, on the grounds that raw
-       mode is better defined and I'm less likely to be surprised by a curses
-       implementation down the road.  The twiddling consists of setting ISIG,
-       IXON/IXOFF, and disabling some of the interrupt characters (see the
-       comments in cl_init.c).  This is all found in historic System V (SVID
-       3) and POSIX 1003.1-1992, so it should be fairly portable.
-
-       The second problem is that vi permits you to enter literal signal
-       characters, e.g. ^V^C.  There are two possible solutions.  First, you
-       can turn off signals when you get a ^V, but that means that a network
-       packet containing ^V and ^C will lose, since the ^C may take effect
-       before vi reads the ^V.  (This is particularly problematic if you're
-       talking over a protocol that recognizes signals locally and sends OOB
-       packets when it sees them.)  Second, you can turn the ^C into a literal
-       character in vi, but that means that there's a race between entering
-       ^V<character>^C, i.e. the sequence may end up being ^V^C<character>.
-       Also, the second solution doesn't work for flow control characters, as
-       they aren't delivered to the program as signals.
-
-       Generally, this is what historic vi did.  (It didn't have the curses
-       problems because it didn't use curses.)  It entered signals following
-       ^V characters into the input stream, (which is why there's no way to
-       enter a literal flow control character).
-
-3:     Run in mostly raw mode; turn signals on when doing an operation the
-       user might want to interrupt, but leave them off most of the time.
-
-       This works well for things like file reads and writes.  This doesn't
-       work well for trying to detect infinite maps.  The problem is that
-       you can write the code so that you don't have to turn on interrupts
-       per keystroke, but the code isn't pretty and it's hard to make sure
-       that an optimization doesn't cover up an infinite loop.  This also
-       requires interaction or state between the vi parser and the key
-       reading routines, as an infinite loop may still be returning keys
-       to the parser.
-
-       Also, if the user inserts an interrupt into the tty queue while the
-       interrupts are turned off, the key won't be treated as an interrupt,
-       and requiring the user to pound the keyboard to catch an interrupt
-       window is nasty.
-
-4:     Run in mostly raw mode, leaving signals on all of the time.  Done
-       by setting raw mode, and twiddling the tty's termios ISIG bit.
-
-       This works well for the interrupt cases, because the code only has
-       to check to see if the interrupt flag has been set, and can otherwise
-       ignore signals.  It's also less likely that we'll miss a case, and we
-       don't have to worry about synchronizing between the vi parser and the
-       key read routines.
-
-       The down side is that we have to turn signals off if the user wants
-       to enter a literal character (e.g. ^V^C).  If the user enters the
-       combination fast enough, or as part of a single network packet,
-       the text input routines will treat it as a signal instead of as a
-       literal character.  To some extent, we have this problem already,
-       since we turn off flow control so that the user can enter literal
-       XON/XOFF characters.
-
-       This is probably the easiest to code, and provides the smoothest
-       programming interface.
-
-There are a couple of other problems to consider.
-
-First, System V's curses doesn't handle SIGTSTP correctly.  If you use the
-newterm() interface, the TSTP signal will leave you in raw mode, and the
-final endwin() will leave you in the correct shell mode.  If you use the
-initscr() interface, the TSTP signal will return you to the correct shell
-mode, but the final endwin() will leave you in raw mode.  There you have
-it: proof that drug testing is not making any significant headway in the
-computer industry.  The 4BSD curses is deficient in that it does not have
-an interface to the terminal keypad.  So, regardless, we have to do our
-own SIGTSTP handling.
-
-The problem with this is that if we do our own SIGTSTP handling, in either
-models #3 or #4, we're going to have to call curses routines at interrupt
-time, which means that we might be reentering curses, which is something we
-don't want to do.
-
-Second, SIGTSTP has its own little problems.  It's broadcast to the entire
-process group, not sent to a single process.  The scenario goes something
-like this: the shell execs the mail program, which execs vi.  The user hits
-^Z, and all three programs get the signal, in some random order.  The mail
-program goes to sleep immediately (since it probably didn't have a SIGTSTP
-handler in place).  The shell gets a SIGCHLD, does a wait, and finds out
-that the only child in its foreground process group (of which it's aware)
-is asleep.  It then optionally resets the terminal (because the modes aren't
-how it left them), and starts prompting the user for input.  The problem is
-that somewhere in the middle of all of this, vi is resetting the terminal,
-and getting ready to send a SIGTSTP to the process group in order to put
-itself to sleep.  There's a solution to all of this: when vi starts, it puts
-itself into its own process group, and then only it (and possible child
-processes) receive the SIGTSTP.  This permits it to clean up the terminal
-and switch back to the original process group, where it sends that process
-group a SIGTSTP, putting everyone to sleep and waking the shell.
-
-Third, handing SIGTSTP asynchronously is further complicated by the child
-processes vi may fork off.  If vi calls ex, ex resets the terminal and
-starts running some filter, and SIGTSTP stops them both, vi has to know
-when it restarts that it can't repaint the screen until ex's child has
-finished running.  This is solveable, but it's annoying.
-
-Well, somebody had to make a decision, and this is the way it's going to be
-(unless I get talked out of it).  SIGINT is handled asynchronously, so
-that we can pretty much guarantee that the user can interrupt any operation
-at any time.  SIGTSTP is handled synchronously, so that we don't have to
-reenter curses and so that we don't have to play the process group games.
-^Z is recognized in the standard text input and command modes.  (^Z should
-also be recognized during operations that may potentially take a long time.
-The simplest solution is probably to twiddle the tty, install a handler for
-SIGTSTP, and then restore normal tty modes when the operation is complete.)
diff --git a/contrib/nvi/cl/cl.h b/contrib/nvi/cl/cl.h
deleted file mode 100644 (file)
index c84ef88..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- *
- *     $Id: cl.h,v 10.34 2011/08/15 20:07:32 zy Exp $
- */
-
-#ifdef USE_WIDECHAR
-#define _XOPEN_SOURCE_EXTENDED
-#endif
-#ifdef HAVE_NCURSES_H
-#include <ncurses.h>
-#else
-#include <curses.h>
-#endif
-
-typedef struct _cl_private {
-       char     ibuf[256];     /* Input keys. */
-
-       size_t   skip;          /* Remaining keys. */
-
-       CONVWIN  cw;            /* Conversion buffer. */
-
-       int      eof_count;     /* EOF count. */
-
-       struct termios orig;    /* Original terminal values. */
-       struct termios ex_enter;/* Terminal values to enter ex. */
-       struct termios vi_enter;/* Terminal values to enter vi. */
-
-       char    *el;            /* Clear to EOL terminal string. */
-       char    *cup;           /* Cursor movement terminal string. */
-       char    *cuu1;          /* Cursor up terminal string. */
-       char    *rmso, *smso;   /* Inverse video terminal strings. */
-       char    *smcup, *rmcup; /* Terminal start/stop strings. */
-
-       char    *oname;         /* Original screen window name. */
-
-       SCR     *focus;         /* Screen that has the "focus". */
-
-       int      killersig;     /* Killer signal. */
-#define        INDX_HUP        0
-#define        INDX_INT        1
-#define        INDX_TERM       2
-#define        INDX_WINCH      3
-#define        INDX_MAX        4       /* Original signal information. */
-       struct sigaction oact[INDX_MAX];
-
-       enum {                  /* Tty group write mode. */
-           TGW_UNKNOWN=0, TGW_SET, TGW_UNSET } tgw;
-
-       enum {                  /* Terminal initialization strings. */
-           TE_SENT=0, TI_SENT } ti_te;
-
-#define        CL_IN_EX        0x0001  /* Currently running ex. */
-#define        CL_LAYOUT       0x0002  /* Screen layout changed. */
-#define        CL_RENAME       0x0004  /* X11 xterm icon/window renamed. */
-#define        CL_RENAME_OK    0x0008  /* User wants the windows renamed. */
-#define        CL_SCR_EX_INIT  0x0010  /* Ex screen initialized. */
-#define        CL_SCR_VI_INIT  0x0020  /* Vi screen initialized. */
-#define        CL_SIGHUP       0x0040  /* SIGHUP arrived. */
-#define        CL_SIGINT       0x0080  /* SIGINT arrived. */
-#define        CL_SIGTERM      0x0100  /* SIGTERM arrived. */
-#define        CL_SIGWINCH     0x0200  /* SIGWINCH arrived. */
-#define        CL_STDIN_TTY    0x0400  /* Talking to a terminal. */
-       u_int32_t flags;
-} CL_PRIVATE;
-
-#define        CLP(sp)         ((CL_PRIVATE *)((sp)->gp->cl_private))
-#define        GCLP(gp)        ((CL_PRIVATE *)gp->cl_private)
-#define        CLSP(sp)        ((WINDOW *)((sp)->cl_private))
-
-/* Return possibilities from the keyboard read routine. */
-typedef enum { INP_OK=0, INP_EOF, INP_ERR, INP_INTR, INP_TIMEOUT } input_t;
-
-/* The screen position relative to a specific window. */
-#define        RCNO(sp, cno)   (cno)
-#define        RLNO(sp, lno)   (lno)
-
-/*
- * XXX
- * Some implementations of curses.h don't define these for us.  Used for
- * compatibility only.
- */
-#ifndef TRUE
-#define        TRUE    1
-#endif
-#ifndef FALSE
-#define        FALSE   0
-#endif
-
-#include "extern.h"
diff --git a/contrib/nvi/cl/cl_funcs.c b/contrib/nvi/cl/cl_funcs.c
deleted file mode 100644 (file)
index 8b14e8d..0000000
+++ /dev/null
@@ -1,852 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cl_funcs.c,v 10.74 2012/10/11 10:30:16 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-#include <sys/time.h>
-
-#include <bitstring.h>
-#include <ctype.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_TERM_H
-#include <term.h>
-#endif
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-#include "../vi/vi.h"
-#include "cl.h"
-
-static void cl_rdiv __P((SCR *));
-
-static int 
-addstr4(SCR *sp, void *str, size_t len, int wide)
-{
-       CL_PRIVATE *clp;
-       WINDOW *win;
-       size_t y, x;
-       int iv;
-
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-       /*
-        * If ex isn't in control, it's the last line of the screen and
-        * it's a split screen, use inverse video.
-        */
-       iv = 0;
-       getyx(win, y, x);
-       if (!F_ISSET(sp, SC_SCR_EXWROTE) &&
-           y == RLNO(sp, LASTLINE(sp)) && IS_SPLIT(sp)) {
-               iv = 1;
-               (void)wstandout(win);
-       }
-
-#ifdef USE_WIDECHAR
-       if (wide) {
-           if (waddnwstr(win, str, len) == ERR)
-               return (1);
-       } else 
-#endif
-           if (waddnstr(win, str, len) == ERR)
-                   return (1);
-
-       if (iv)
-               (void)wstandend(win);
-       return (0);
-}
-
-/*
- * cl_waddstr --
- *     Add len bytes from the string at the cursor, advancing the cursor.
- *
- * PUBLIC: int cl_waddstr __P((SCR *, const CHAR_T *, size_t));
- */
-int
-cl_waddstr(SCR *sp, const CHAR_T *str, size_t len)
-{
-    return addstr4(sp, (void *)str, len, 1);
-}
-
-/*
- * cl_addstr --
- *     Add len bytes from the string at the cursor, advancing the cursor.
- *
- * PUBLIC: int cl_addstr __P((SCR *, const char *, size_t));
- */
-int
-cl_addstr(SCR *sp, const char *str, size_t len)
-{
-    return addstr4(sp, (void *)str, len, 0);
-}
-
-/*
- * cl_attr --
- *     Toggle a screen attribute on/off.
- *
- * PUBLIC: int cl_attr __P((SCR *, scr_attr_t, int));
- */
-int
-cl_attr(SCR *sp, scr_attr_t attribute, int on)
-{
-       CL_PRIVATE *clp;
-       WINDOW *win;
-
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-       switch (attribute) {
-       case SA_ALTERNATE:
-       /*
-        * !!!
-        * There's a major layering violation here.  The problem is that the
-        * X11 xterm screen has what's known as an "alternate" screen.  Some
-        * xterm termcap/terminfo entries include sequences to switch to/from
-        * that alternate screen as part of the ti/te (smcup/rmcup) strings.
-        * Vi runs in the alternate screen, so that you are returned to the
-        * same screen contents on exit from vi that you had when you entered
-        * vi.  Further, when you run :shell, or :!date or similar ex commands,
-        * you also see the original screen contents.  This wasn't deliberate
-        * on vi's part, it's just that it historically sent terminal init/end
-        * sequences at those times, and the addition of the alternate screen
-        * sequences to the strings changed the behavior of vi.  The problem
-        * caused by this is that we don't want to switch back to the alternate
-        * screen while getting a new command from the user, when the user is
-        * continuing to enter ex commands, e.g.:
-        *
-        *      :!date                          <<< switch to original screen
-        *      [Hit return to continue]        <<< prompt user to continue
-        *      :command                        <<< get command from user
-        *
-        * Note that the :command input is a true vi input mode, e.g., input
-        * maps and abbreviations are being done.  So, we need to be able to
-        * switch back into the vi screen mode, without flashing the screen. 
-        *
-        * To make matters worse, the curses initscr() and endwin() calls will
-        * do this automatically -- so, this attribute isn't as controlled by
-        * the higher level screen as closely as one might like.
-        */
-       if (on) {
-               if (clp->ti_te != TI_SENT) {
-                       clp->ti_te = TI_SENT;
-                       if (clp->smcup == NULL)
-                               (void)cl_getcap(sp, "smcup", &clp->smcup);
-                       if (clp->smcup != NULL)
-                               (void)tputs(clp->smcup, 1, cl_putchar);
-               }
-       } else
-               if (clp->ti_te != TE_SENT) {
-                       clp->ti_te = TE_SENT;
-                       if (clp->rmcup == NULL)
-                               (void)cl_getcap(sp, "rmcup", &clp->rmcup);
-                       if (clp->rmcup != NULL)
-                               (void)tputs(clp->rmcup, 1, cl_putchar);
-                       (void)fflush(stdout);
-               }
-               (void)fflush(stdout);
-               break;
-       case SA_INVERSE:
-               if (F_ISSET(sp, SC_EX | SC_SCR_EXWROTE)) {
-                       if (clp->smso == NULL)
-                               return (1);
-                       if (on)
-                               (void)tputs(clp->smso, 1, cl_putchar);
-                       else
-                               (void)tputs(clp->rmso, 1, cl_putchar);
-                       (void)fflush(stdout);
-               } else {
-                       if (on)
-                               (void)wstandout(win);
-                       else
-                               (void)wstandend(win);
-               }
-               break;
-       default:
-               abort();
-       }
-       return (0);
-}
-
-/*
- * cl_baud --
- *     Return the baud rate.
- *
- * PUBLIC: int cl_baud __P((SCR *, u_long *));
- */
-int
-cl_baud(SCR *sp, u_long *ratep)
-{
-       CL_PRIVATE *clp;
-
-       /*
-        * XXX
-        * There's no portable way to get a "baud rate" -- cfgetospeed(3)
-        * returns the value associated with some #define, which we may
-        * never have heard of, or which may be a purely local speed.  Vi
-        * only cares if it's SLOW (w300), slow (w1200) or fast (w9600).
-        * Try and detect the slow ones, and default to fast.
-        */
-       clp = CLP(sp);
-       switch (cfgetospeed(&clp->orig)) {
-       case B50:
-       case B75:
-       case B110:
-       case B134:
-       case B150:
-       case B200:
-       case B300:
-       case B600:
-               *ratep = 600;
-               break;
-       case B1200:
-               *ratep = 1200;
-               break;
-       default:
-               *ratep = 9600;
-               break;
-       }
-       return (0);
-}
-
-/*
- * cl_bell --
- *     Ring the bell/flash the screen.
- *
- * PUBLIC: int cl_bell __P((SCR *));
- */
-int
-cl_bell(SCR *sp)
-{
-       if (F_ISSET(sp, SC_EX | SC_SCR_EXWROTE | SC_SCR_EX))
-               (void)write(STDOUT_FILENO, "\07", 1);           /* \a */
-       else {
-               /*
-                * Vi has an edit option which determines if the terminal
-                * should be beeped or the screen flashed.
-                */
-               if (O_ISSET(sp, O_FLASH))
-                       (void)flash();
-               else
-                       (void)beep();
-       }
-       return (0);
-}
-
-/*
- * cl_clrtoeol --
- *     Clear from the current cursor to the end of the line.
- *
- * PUBLIC: int cl_clrtoeol __P((SCR *));
- */
-int
-cl_clrtoeol(SCR *sp)
-{
-       WINDOW *win;
-#if 0
-       size_t spcnt, y, x;
-#endif
-
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-#if 0
-       if (IS_VSPLIT(sp)) {
-               /* The cursor must be returned to its original position. */
-               getyx(win, y, x);
-               for (spcnt = (sp->coff + sp->cols) - x; spcnt > 0; --spcnt)
-                       (void)waddch(win, ' ');
-               (void)wmove(win, y, x);
-               return (0);
-       } else
-#endif
-               return (wclrtoeol(win) == ERR);
-}
-
-/*
- * cl_cursor --
- *     Return the current cursor position.
- *
- * PUBLIC: int cl_cursor __P((SCR *, size_t *, size_t *));
- */
-int
-cl_cursor(SCR *sp, size_t *yp, size_t *xp)
-{
-       WINDOW *win;
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-       /*
-        * The curses screen support splits a single underlying curses screen
-        * into multiple screens to support split screen semantics.  For this
-        * reason the returned value must be adjusted to be relative to the
-        * current screen, and not absolute.  Screens that implement the split
-        * using physically distinct screens won't need this hack.
-        */
-       getyx(win, *yp, *xp);
-       /*
-       *yp -= sp->roff;
-       *xp -= sp->coff;
-       */
-       return (0);
-}
-
-/*
- * cl_deleteln --
- *     Delete the current line, scrolling all lines below it.
- *
- * PUBLIC: int cl_deleteln __P((SCR *));
- */
-int
-cl_deleteln(SCR *sp)
-{
-       CL_PRIVATE *clp;
-       WINDOW *win;
-       size_t y, x;
-
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-       /*
-        * This clause is required because the curses screen uses reverse
-        * video to delimit split screens.  If the screen does not do this,
-        * this code won't be necessary.
-        *
-        * If the bottom line was in reverse video, rewrite it in normal
-        * video before it's scrolled.
-        */
-       if (!F_ISSET(sp, SC_SCR_EXWROTE) && IS_SPLIT(sp)) {
-               getyx(win, y, x);
-               mvwchgat(win, RLNO(sp, LASTLINE(sp)), 0, -1, A_NORMAL, 0, NULL);
-               (void)wmove(win, y, x);
-       }
-
-       /*
-        * The bottom line is expected to be blank after this operation,
-        * and other screens must support that semantic.
-        */
-       return (wdeleteln(win) == ERR);
-}
-
-/* 
- * cl_discard --
- *     Discard a screen.
- *
- * PUBLIC: int cl_discard __P((SCR *, SCR **));
- */
-int
-cl_discard(SCR *discardp, SCR **acquirep)
-{
-       CL_PRIVATE *clp;
-       SCR*    tsp;
-
-       if (discardp) {
-           clp = CLP(discardp);
-           F_SET(clp, CL_LAYOUT);
-
-           if (CLSP(discardp)) {
-                   delwin(CLSP(discardp));
-                   discardp->cl_private = NULL;
-           }
-       }
-
-       /* no screens got a piece; we're done */
-       if (!acquirep) 
-               return 0;
-
-       for (; (tsp = *acquirep) != NULL; ++acquirep) {
-               clp = CLP(tsp);
-               F_SET(clp, CL_LAYOUT);
-
-               if (CLSP(tsp))
-                       delwin(CLSP(tsp));
-               tsp->cl_private = subwin(stdscr, tsp->rows, tsp->cols,
-                                          tsp->roff, tsp->coff);
-       }
-
-       /* discardp is going away, acquirep is taking up its space. */
-       return (0);
-}
-
-/* 
- * cl_ex_adjust --
- *     Adjust the screen for ex.  This routine is purely for standalone
- *     ex programs.  All special purpose, all special case.
- *
- * PUBLIC: int cl_ex_adjust __P((SCR *, exadj_t));
- */
-int
-cl_ex_adjust(SCR *sp, exadj_t action)
-{
-       CL_PRIVATE *clp;
-       int cnt;
-
-       clp = CLP(sp);
-       switch (action) {
-       case EX_TERM_SCROLL:
-               /* Move the cursor up one line if that's possible. */
-               if (clp->cuu1 != NULL)
-                       (void)tputs(clp->cuu1, 1, cl_putchar);
-               else if (clp->cup != NULL)
-                       (void)tputs(tgoto(clp->cup,
-                           0, LINES - 2), 1, cl_putchar);
-               else
-                       return (0);
-               /* FALLTHROUGH */
-       case EX_TERM_CE:
-               /* Clear the line. */
-               if (clp->el != NULL) {
-                       (void)putchar('\r');
-                       (void)tputs(clp->el, 1, cl_putchar);
-               } else {
-                       /*
-                        * Historically, ex didn't erase the line, so, if the
-                        * displayed line was only a single glyph, and <eof>
-                        * was more than one glyph, the output would not fully
-                        * overwrite the user's input.  To fix this, output
-                        * the maxiumum character number of spaces.  Note,
-                        * this won't help if the user entered extra prompt
-                        * or <blank> characters before the command character.
-                        * We'd have to do a lot of work to make that work, and
-                        * it's almost certainly not worth the effort.
-                        */
-                       for (cnt = 0; cnt < MAX_CHARACTER_COLUMNS; ++cnt)
-                               (void)putchar('\b');
-                       for (cnt = 0; cnt < MAX_CHARACTER_COLUMNS; ++cnt)
-                               (void)putchar(' ');
-                       (void)putchar('\r');
-                       (void)fflush(stdout);
-               }
-               break;
-       default:
-               abort();
-       }
-       return (0);
-}
-
-/*
- * cl_insertln --
- *     Push down the current line, discarding the bottom line.
- *
- * PUBLIC: int cl_insertln __P((SCR *));
- */
-int
-cl_insertln(SCR *sp)
-{
-       WINDOW *win;
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-       /*
-        * The current line is expected to be blank after this operation,
-        * and the screen must support that semantic.
-        */
-       return (winsertln(win) == ERR);
-}
-
-/*
- * cl_keyval --
- *     Return the value for a special key.
- *
- * PUBLIC: int cl_keyval __P((SCR *, scr_keyval_t, CHAR_T *, int *));
- */
-int
-cl_keyval(SCR *sp, scr_keyval_t val, CHAR_T *chp, int *dnep)
-{
-       CL_PRIVATE *clp;
-
-       /*
-        * VEOF, VERASE and VKILL are required by POSIX 1003.1-1990,
-        * VWERASE is a 4BSD extension.
-        */
-       clp = CLP(sp);
-       switch (val) {
-       case KEY_VEOF:
-               *dnep = (*chp = clp->orig.c_cc[VEOF]) == _POSIX_VDISABLE;
-               break;
-       case KEY_VERASE:
-               *dnep = (*chp = clp->orig.c_cc[VERASE]) == _POSIX_VDISABLE;
-               break;
-       case KEY_VKILL:
-               *dnep = (*chp = clp->orig.c_cc[VKILL]) == _POSIX_VDISABLE;
-               break;
-#ifdef VWERASE
-       case KEY_VWERASE:
-               *dnep = (*chp = clp->orig.c_cc[VWERASE]) == _POSIX_VDISABLE;
-               break;
-#endif
-       default:
-               *dnep = 1;
-               break;
-       }
-       return (0);
-}
-
-/*
- * cl_move --
- *     Move the cursor.
- *
- * PUBLIC: int cl_move __P((SCR *, size_t, size_t));
- */
-int
-cl_move(SCR *sp, size_t lno, size_t cno)
-{
-       WINDOW *win;
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-       /* See the comment in cl_cursor. */
-       if (wmove(win, RLNO(sp, lno), RCNO(sp, cno)) == ERR) {
-               msgq(sp, M_ERR, "Error: move: l(%zu + %zu) c(%zu + %zu)",
-                   lno, sp->roff, cno, sp->coff);
-               return (1);
-       }
-       return (0);
-}
-
-/*
- * cl_refresh --
- *     Refresh the screen.
- *
- * PUBLIC: int cl_refresh __P((SCR *, int));
- */
-int
-cl_refresh(SCR *sp, int repaint)
-{
-       GS *gp;
-       CL_PRIVATE *clp;
-       WINDOW *win;
-       SCR *psp, *tsp;
-       size_t y, x;
-
-       gp = sp->gp;
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-       /*
-        * If we received a killer signal, we're done, there's no point
-        * in refreshing the screen.
-        */
-       if (clp->killersig)
-               return (0);
-
-       /*
-        * If repaint is set, the editor is telling us that we don't know
-        * what's on the screen, so we have to repaint from scratch.
-        *
-        * If repaint set or the screen layout changed, we need to redraw
-        * any lines separating vertically split screens.  If the horizontal
-        * offsets are the same, then the split was vertical, and need to
-        * draw a dividing line.
-        */
-       if (repaint || F_ISSET(clp, CL_LAYOUT)) {
-               getyx(stdscr, y, x);
-               for (psp = sp; psp != NULL; psp = TAILQ_NEXT(psp, q))
-                       for (tsp = TAILQ_NEXT(psp, q); tsp != NULL;
-                           tsp = TAILQ_NEXT(tsp, q))
-                               if (psp->roff == tsp->roff) {
-                                   if (psp->coff + psp->cols + 1 == tsp->coff)
-                                       cl_rdiv(psp);
-                                   else 
-                                   if (tsp->coff + tsp->cols + 1 == psp->coff)
-                                       cl_rdiv(tsp);
-                               }
-               (void)wmove(stdscr, y, x);
-               F_CLR(clp, CL_LAYOUT);
-       }
-
-       /*
-        * In the curses library, doing wrefresh(curscr) is okay, but the
-        * screen flashes when we then apply the refresh() to bring it up
-        * to date.  So, use clearok().
-        */
-       if (repaint)
-               clearok(curscr, 1);
-       /*
-        * Only do an actual refresh, when this is the focus window,
-        * i.e. the one holding the cursor. This assumes that refresh
-        * is called for that window after refreshing the others.
-        * This prevents the cursor being drawn in the other windows.
-        */
-       return (wnoutrefresh(stdscr) == ERR || 
-               wnoutrefresh(win) == ERR || 
-               (sp == clp->focus && doupdate() == ERR));
-}
-
-/*
- * cl_rdiv --
- *     Draw a dividing line between two vertically split screens.
- */
-static void
-cl_rdiv(SCR *sp)
-{
-#ifdef __NetBSD__
-       mvvline(sp->roff, sp->cols + sp->coff, '|', sp->rows);
-#else
-       mvvline(sp->roff, sp->cols + sp->coff, ACS_VLINE, sp->rows);
-#endif
-}
-
-/*
- * cl_rename --
- *     Rename the file.
- *
- * PUBLIC: int cl_rename __P((SCR *, char *, int));
- */
-int
-cl_rename(SCR *sp, char *name, int on)
-{
-       GS *gp;
-       CL_PRIVATE *clp;
-       FILE *pfp;
-       char buf[256], *s, *e;
-       char * wid;
-       char cmd[64];
-
-       gp = sp->gp;
-       clp = CLP(sp);
-
-       /*
-        * XXX
-        * We can only rename windows for xterm.
-        */
-       if (on) {
-               clp->focus = sp;
-               if (!F_ISSET(clp, CL_RENAME_OK) ||
-                               strncmp(OG_STR(gp, GO_TERM), "xterm", 5))
-                       return (0);
-
-               if (clp->oname == NULL && (wid = getenv("WINDOWID"))) {
-                       snprintf(cmd, sizeof(cmd), "xprop -id %s WM_NAME", wid);
-                       if ((pfp = popen(cmd, "r")) == NULL)
-                               goto rename;
-                       if (fgets(buf, sizeof(buf), pfp) == NULL) {
-                               pclose(pfp);
-                               goto rename;
-                       }
-                       pclose(pfp);
-                       if ((s = strchr(buf, '"')) != NULL &&
-                           (e = strrchr(buf, '"')) != NULL)
-                               clp->oname = strndup(s + 1, e - s - 1);
-               }
-
-rename:                cl_setname(gp, name);
-
-               F_SET(clp, CL_RENAME);
-       } else
-               if (F_ISSET(clp, CL_RENAME)) {
-                       cl_setname(gp, clp->oname);
-
-                       F_CLR(clp, CL_RENAME);
-               }
-       return (0);
-}
-
-/*
- * cl_setname --
- *     Set a X11 icon/window name.
- *
- * PUBLIC: void cl_setname __P((GS *, char *));
- */
-void
-cl_setname(GS *gp, char *name)
-{
-/* X11 xterm escape sequence to rename the icon/window. */
-#define        XTERM_RENAME    "\033]0;%s\007"
-
-       (void)printf(XTERM_RENAME, name == NULL ? OG_STR(gp, GO_TERM) : name);
-       (void)fflush(stdout);
-#undef XTERM_RENAME
-}
-
-/* 
- * cl_split --
- *     Split a screen.
- *
- * PUBLIC: int cl_split __P((SCR *, SCR *));
- */
-int
-cl_split(SCR *origp, SCR *newp)
-{
-       CL_PRIVATE *clp;
-
-       clp = CLP(origp);
-       F_SET(clp, CL_LAYOUT);
-
-       if (CLSP(origp))
-               delwin(CLSP(origp));
-
-       origp->cl_private = subwin(stdscr, origp->rows, origp->cols,
-                                    origp->roff, origp->coff);
-       newp->cl_private = subwin(stdscr, newp->rows, newp->cols,
-                                    newp->roff, newp->coff);
-
-       /* origp is the original screen, giving up space to newp. */
-       return (0);
-}
-
-/*
- * cl_suspend --
- *     Suspend a screen.
- *
- * PUBLIC: int cl_suspend __P((SCR *, int *));
- */
-int
-cl_suspend(SCR *sp, int *allowedp)
-{
-       struct termios t;
-       CL_PRIVATE *clp;
-       WINDOW *win;
-       GS *gp;
-       size_t y, x;
-       int changed;
-
-       gp = sp->gp;
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-       *allowedp = 1;
-
-       /*
-        * The ex implementation of this function isn't needed by screens not
-        * supporting ex commands that require full terminal canonical mode
-        * (e.g. :suspend).
-        *
-        * The vi implementation of this function isn't needed by screens not
-        * supporting vi process suspension, i.e. any screen that isn't backed
-        * by a UNIX shell.
-        *
-        * Setting allowedp to 0 will cause the editor to reject the command.
-        */
-       if (F_ISSET(sp, SC_EX)) { 
-               /* Save the terminal settings, and restore the original ones. */
-               if (F_ISSET(clp, CL_STDIN_TTY)) {
-                       (void)tcgetattr(STDIN_FILENO, &t);
-                       (void)tcsetattr(STDIN_FILENO,
-                           TCSASOFT | TCSADRAIN, &clp->orig);
-               }
-
-               /* Stop the process group. */
-               (void)kill(0, SIGTSTP);
-
-               /* Time passes ... */
-
-               /* Restore terminal settings. */
-               if (F_ISSET(clp, CL_STDIN_TTY))
-                       (void)tcsetattr(STDIN_FILENO, TCSASOFT | TCSADRAIN, &t);
-               return (0);
-       }
-
-       /*
-        * Move to the lower left-hand corner of the screen.
-        *
-        * XXX
-        * Not sure this is necessary in System V implementations, but it
-        * shouldn't hurt.
-        */
-       getyx(win, y, x);
-       (void)wmove(win, LINES - 1, 0);
-       (void)wrefresh(win);
-
-       /*
-        * Temporarily end the screen.  System V introduced a semantic where
-        * endwin() could be restarted.  We use it because restarting curses
-        * from scratch often fails in System V.  4BSD curses didn't support
-        * restarting after endwin(), so we have to do what clean up we can
-        * without calling it.
-        */
-       /* Save the terminal settings. */
-       (void)tcgetattr(STDIN_FILENO, &t);
-
-       /* Restore the cursor keys to normal mode. */
-       (void)keypad(stdscr, FALSE);
-
-       /* Restore the window name. */
-       (void)cl_rename(sp, NULL, 0);
-
-       (void)endwin();
-
-       /*
-        * XXX
-        * Restore the original terminal settings.  This is bad -- the
-        * reset can cause character loss from the tty queue.  However,
-        * we can't call endwin() in BSD curses implementations, and too
-        * many System V curses implementations don't get it right.
-        */
-       (void)tcsetattr(STDIN_FILENO, TCSADRAIN | TCSASOFT, &clp->orig);
-
-       /* Stop the process group. */
-       (void)kill(0, SIGTSTP);
-
-       /* Time passes ... */
-
-       /*
-        * If we received a killer signal, we're done.  Leave everything
-        * unchanged.  In addition, the terminal has already been reset
-        * correctly, so leave it alone.
-        */
-       if (clp->killersig) {
-               F_CLR(clp, CL_SCR_EX_INIT | CL_SCR_VI_INIT);
-               return (0);
-       }
-
-       /* Restore terminal settings. */
-       wrefresh(win);                      /* Needed on SunOs/Solaris ? */
-       if (F_ISSET(clp, CL_STDIN_TTY))
-               (void)tcsetattr(STDIN_FILENO, TCSASOFT | TCSADRAIN, &t);
-
-       /* Set the window name. */
-       (void)cl_rename(sp, sp->frp->name, 1);
-
-       /* Put the cursor keys into application mode. */
-       (void)keypad(stdscr, TRUE);
-
-       /* Refresh and repaint the screen. */
-       (void)wmove(win, y, x);
-       (void)cl_refresh(sp, 1);
-
-       /* If the screen changed size, set the SIGWINCH bit. */
-       if (cl_ssize(sp, 1, NULL, NULL, &changed))
-               return (1);
-       if (changed)
-               F_SET(CLP(sp), CL_SIGWINCH);
-
-       return (0);
-}
-
-/*
- * cl_usage --
- *     Print out the curses usage messages.
- * 
- * PUBLIC: void cl_usage __P((void));
- */
-void
-cl_usage(void)
-{
-#define        USAGE "\
-usage: ex [-eFRrSsv] [-c command] [-t tag] [-w size] [file ...]\n\
-usage: vi [-eFlRrSv] [-c command] [-t tag] [-w size] [file ...]\n"
-       (void)fprintf(stderr, "%s", USAGE);
-#undef USAGE
-}
-
-#ifdef DEBUG
-/*
- * gdbrefresh --
- *     Stub routine so can flush out curses screen changes using gdb.
- */
-static int
-       __attribute__((unused))
-gdbrefresh(void)
-{
-       refresh();
-       return (0);             /* XXX Convince gdb to run it. */
-}
-#endif
diff --git a/contrib/nvi/cl/cl_main.c b/contrib/nvi/cl/cl_main.c
deleted file mode 100644 (file)
index 98f1313..0000000
+++ /dev/null
@@ -1,431 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cl_main.c,v 10.55 2011/08/15 19:52:28 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-
-#include <bitstring.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_TERM_H
-#include <term.h>
-#endif
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-#include "cl.h"
-#include "pathnames.h"
-
-GS *__global_list;                             /* GLOBAL: List of screens. */
-sigset_t __sigblockset;                                /* GLOBAL: Blocked signals. */
-
-static void       cl_func_std __P((GS *));
-static CL_PRIVATE *cl_init __P((GS *));
-static GS        *gs_init __P((char *));
-static void       perr __P((char *, char *));
-static int        setsig __P((int, struct sigaction *, void (*)(int)));
-static void       sig_end __P((GS *));
-static void       term_init __P((char *, char *));
-
-/*
- * main --
- *     This is the main loop for the standalone curses editor.
- */
-int
-main(int argc, char **argv)
-{
-       static int reenter;
-       CL_PRIVATE *clp;
-       GS *gp;
-       size_t rows, cols;
-       int rval;
-       char **p_av, **t_av, *ttype;
-
-       /* If loaded at 0 and jumping through a NULL pointer, stop. */
-       if (reenter++)
-               abort();
-
-       /* Create and initialize the global structure. */
-       __global_list = gp = gs_init(argv[0]);
-
-       /*
-        * Strip out any arguments that vi isn't going to understand.  There's
-        * no way to portably call getopt twice, so arguments parsed here must
-        * be removed from the argument list.
-        */
-       for (p_av = t_av = argv;;) {
-               if (*t_av == NULL) {
-                       *p_av = NULL;
-                       break;
-               }
-               if (!strcmp(*t_av, "--")) {
-                       while ((*p_av++ = *t_av++) != NULL);
-                       break;
-               }
-               *p_av++ = *t_av++;
-       }
-
-       /* Create and initialize the CL_PRIVATE structure. */
-       clp = cl_init(gp);
-
-       /*
-        * Initialize the terminal information.
-        *
-        * We have to know what terminal it is from the start, since we may
-        * have to use termcap/terminfo to find out how big the screen is.
-        */
-       if ((ttype = getenv("TERM")) == NULL)
-               ttype = "unknown";
-       term_init(gp->progname, ttype);
-
-       /* Add the terminal type to the global structure. */
-       if ((OG_D_STR(gp, GO_TERM) =
-           OG_STR(gp, GO_TERM) = strdup(ttype)) == NULL)
-               perr(gp->progname, NULL);
-
-       /* Figure out how big the screen is. */
-       if (cl_ssize(NULL, 0, &rows, &cols, NULL))
-               exit (1);
-
-       /* Add the rows and columns to the global structure. */
-       OG_VAL(gp, GO_LINES) = OG_D_VAL(gp, GO_LINES) = rows;
-       OG_VAL(gp, GO_COLUMNS) = OG_D_VAL(gp, GO_COLUMNS) = cols;
-
-       /* Ex wants stdout to be buffered. */
-       (void)setvbuf(stdout, NULL, _IOFBF, 0);
-
-       /* Start catching signals. */
-       if (sig_init(gp, NULL))
-               exit (1);
-
-       /* Run ex/vi. */
-       rval = editor(gp, argc, argv);
-
-       /* Clean up signals. */
-       sig_end(gp);
-
-       /* Clean up the terminal. */
-       (void)cl_quit(gp);
-
-       /*
-        * XXX
-        * Reset the O_MESG option.
-        */
-       if (clp->tgw != TGW_UNKNOWN)
-               (void)cl_omesg(NULL, clp, clp->tgw == TGW_SET);
-
-       /*
-        * XXX
-        * Reset the X11 xterm icon/window name.
-        */
-       if (F_ISSET(clp, CL_RENAME))
-               cl_setname(gp, clp->oname);
-
-       /* If a killer signal arrived, pretend we just got it. */
-       if (clp->killersig) {
-               (void)signal(clp->killersig, SIG_DFL);
-               (void)kill(getpid(), clp->killersig);
-               /* NOTREACHED */
-       }
-
-       /* Free the global and CL private areas. */
-#if defined(DEBUG) || defined(PURIFY) || defined(LIBRARY)
-       if (clp->oname != NULL)
-               free(clp->oname);
-       free(clp);
-       free(OG_STR(gp, GO_TERM));
-       free(gp);
-#endif
-
-       exit (rval);
-}
-
-/*
- * gs_init --
- *     Create and partially initialize the GS structure.
- */
-static GS *
-gs_init(char *name)
-{
-       GS *gp;
-       char *p;
-
-       /* Figure out what our name is. */
-       if ((p = strrchr(name, '/')) != NULL)
-               name = p + 1;
-
-       /* Allocate the global structure. */
-       CALLOC_NOMSG(NULL, gp, GS *, 1, sizeof(GS));
-       if (gp == NULL)
-               perr(name, NULL);
-
-       gp->progname = name;
-       return (gp);
-}
-
-/*
- * cl_init --
- *     Create and partially initialize the CL structure.
- */
-static CL_PRIVATE *
-cl_init(GS *gp)
-{
-       CL_PRIVATE *clp;
-       int fd;
-
-       /* Allocate the CL private structure. */
-       CALLOC_NOMSG(NULL, clp, CL_PRIVATE *, 1, sizeof(CL_PRIVATE));
-       if (clp == NULL)
-               perr(gp->progname, NULL);
-       gp->cl_private = clp;
-
-       /*
-        * Set the CL_STDIN_TTY flag.  It's purpose is to avoid setting
-        * and resetting the tty if the input isn't from there.  We also
-        * use the same test to determine if we're running a script or
-        * not.
-        */
-       if (isatty(STDIN_FILENO))
-               F_SET(clp, CL_STDIN_TTY);
-       else
-               F_SET(gp, G_SCRIPTED);
-
-       /*
-        * We expect that if we've lost our controlling terminal that the
-        * open() (but not the tcgetattr()) will fail.
-        */
-       if (F_ISSET(clp, CL_STDIN_TTY)) {
-               if (tcgetattr(STDIN_FILENO, &clp->orig) == -1)
-                       goto tcfail;
-       } else if ((fd = open(_PATH_TTY, O_RDONLY, 0)) != -1) {
-               if (tcgetattr(fd, &clp->orig) == -1) {
-tcfail:                        perr(gp->progname, "tcgetattr");
-                       exit (1);
-               }
-               (void)close(fd);
-       }
-
-       /* Initialize the list of curses functions. */
-       cl_func_std(gp);
-
-       return (clp);
-}
-
-/*
- * term_init --
- *     Initialize terminal information.
- */
-static void
-term_init(char *name, char *ttype)
-{
-       int err;
-
-       /* Set up the terminal database information. */
-       setupterm(ttype, STDOUT_FILENO, &err);
-       switch (err) {
-       case -1:
-               (void)fprintf(stderr,
-                   "%s: No terminal database found\n", name);
-               exit (1);
-       case 0:
-               (void)fprintf(stderr,
-                   "%s: %s: unknown terminal type\n", name, ttype);
-               exit (1);
-       }
-}
-
-#define        GLOBAL_CLP \
-       CL_PRIVATE *clp = GCLP(__global_list);
-static void
-h_hup(int signo)
-{
-       GLOBAL_CLP;
-
-       F_SET(clp, CL_SIGHUP);
-       clp->killersig = SIGHUP;
-}
-
-static void
-h_int(int signo)
-{
-       GLOBAL_CLP;
-
-       F_SET(clp, CL_SIGINT);
-}
-
-static void
-h_term(int signo)
-{
-       GLOBAL_CLP;
-
-       F_SET(clp, CL_SIGTERM);
-       clp->killersig = SIGTERM;
-}
-
-static void
-h_winch(int signo)
-{
-       GLOBAL_CLP;
-
-       F_SET(clp, CL_SIGWINCH);
-}
-#undef GLOBAL_CLP
-
-/*
- * sig_init --
- *     Initialize signals.
- *
- * PUBLIC: int sig_init __P((GS *, SCR *));
- */
-int
-sig_init(GS *gp, SCR *sp)
-{
-       CL_PRIVATE *clp;
-
-       clp = GCLP(gp);
-
-       if (sp == NULL) {
-               (void)sigemptyset(&__sigblockset);
-               if (sigaddset(&__sigblockset, SIGHUP) ||
-                   setsig(SIGHUP, &clp->oact[INDX_HUP], h_hup) ||
-                   sigaddset(&__sigblockset, SIGINT) ||
-                   setsig(SIGINT, &clp->oact[INDX_INT], h_int) ||
-                   sigaddset(&__sigblockset, SIGTERM) ||
-                   setsig(SIGTERM, &clp->oact[INDX_TERM], h_term)
-#ifdef SIGWINCH
-                   ||
-                   sigaddset(&__sigblockset, SIGWINCH) ||
-                   setsig(SIGWINCH, &clp->oact[INDX_WINCH], h_winch)
-#endif
-                   ) {
-                       perr(gp->progname, NULL);
-                       return (1);
-               }
-       } else
-               if (setsig(SIGHUP, NULL, h_hup) ||
-                   setsig(SIGINT, NULL, h_int) ||
-                   setsig(SIGTERM, NULL, h_term)
-#ifdef SIGWINCH
-                   ||
-                   setsig(SIGWINCH, NULL, h_winch)
-#endif
-                   ) {
-                       msgq(sp, M_SYSERR, "signal-reset");
-               }
-       return (0);
-}
-
-/*
- * setsig --
- *     Set a signal handler.
- */
-static int
-setsig(int signo, struct sigaction *oactp, void (*handler) (int))
-{
-       struct sigaction act;
-
-       /*
-        * Use sigaction(2), not signal(3), since we don't always want to
-        * restart system calls.  The example is when waiting for a command
-        * mode keystroke and SIGWINCH arrives.  Besides, you can't portably
-        * restart system calls (thanks, POSIX!).  On the other hand, you
-        * can't portably NOT restart system calls (thanks, Sun!).  SunOS
-        * used SA_INTERRUPT as their extension to NOT restart read calls.
-        * We sure hope nobody else used it for anything else.  Mom told me
-        * there'd be days like this.  She just never told me that there'd
-        * be so many.
-        */
-       act.sa_handler = handler;
-       sigemptyset(&act.sa_mask);
-
-#ifdef SA_INTERRUPT
-       act.sa_flags = SA_INTERRUPT;
-#else
-       act.sa_flags = 0;
-#endif
-       return (sigaction(signo, &act, oactp));
-}
-
-/*
- * sig_end --
- *     End signal setup.
- */
-static void
-sig_end(GS *gp)
-{
-       CL_PRIVATE *clp;
-
-       clp = GCLP(gp);
-       (void)sigaction(SIGHUP, NULL, &clp->oact[INDX_HUP]);
-       (void)sigaction(SIGINT, NULL, &clp->oact[INDX_INT]);
-       (void)sigaction(SIGTERM, NULL, &clp->oact[INDX_TERM]);
-#ifdef SIGWINCH
-       (void)sigaction(SIGWINCH, NULL, &clp->oact[INDX_WINCH]);
-#endif
-}
-
-/*
- * cl_func_std --
- *     Initialize the standard curses functions.
- */
-static void
-cl_func_std(GS *gp)
-{
-       gp->scr_addstr = cl_addstr;
-       gp->scr_waddstr = cl_waddstr;
-       gp->scr_attr = cl_attr;
-       gp->scr_baud = cl_baud;
-       gp->scr_bell = cl_bell;
-       gp->scr_busy = NULL;
-       gp->scr_child = NULL;
-       gp->scr_clrtoeol = cl_clrtoeol;
-       gp->scr_cursor = cl_cursor;
-       gp->scr_deleteln = cl_deleteln;
-       gp->scr_reply = NULL;
-       gp->scr_discard = cl_discard;
-       gp->scr_event = cl_event;
-       gp->scr_ex_adjust = cl_ex_adjust;
-       gp->scr_fmap = cl_fmap;
-       gp->scr_insertln = cl_insertln;
-       gp->scr_keyval = cl_keyval;
-       gp->scr_move = cl_move;
-       gp->scr_msg = NULL;
-       gp->scr_optchange = cl_optchange;
-       gp->scr_refresh = cl_refresh;
-       gp->scr_rename = cl_rename;
-       gp->scr_screen = cl_screen;
-       gp->scr_split = cl_split;
-       gp->scr_suspend = cl_suspend;
-       gp->scr_usage = cl_usage;
-}
-
-/*
- * perr --
- *     Print system error.
- */
-static void
-perr(char *name, char *msg)
-{
-       (void)fprintf(stderr, "%s:", name);
-       if (msg != NULL)
-               (void)fprintf(stderr, "%s:", msg);
-       (void)fprintf(stderr, "%s\n", strerror(errno));
-       exit(1);
-}
diff --git a/contrib/nvi/cl/cl_read.c b/contrib/nvi/cl/cl_read.c
deleted file mode 100644 (file)
index 4bff09d..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cl_read.c,v 10.30 2012/07/12 18:28:58 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-#include <sys/select.h>
-
-#include <bitstring.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-#include "../ex/script.h"
-#include "cl.h"
-
-/* Pollution by Solaris curses. */
-#undef columns
-#undef lines
-
-static input_t cl_read __P((SCR *,
-    u_int32_t, char *, size_t, int *, struct timeval *));
-static int     cl_resize __P((SCR *, size_t, size_t));
-
-/*
- * cl_event --
- *     Return a single event.
- *
- * PUBLIC: int cl_event __P((SCR *, EVENT *, u_int32_t, int));
- */
-int
-cl_event(SCR *sp, EVENT *evp, u_int32_t flags, int ms)
-{
-       struct timeval t, *tp;
-       CL_PRIVATE *clp;
-       size_t lines, columns;
-       int changed, nr = 0;
-       CHAR_T *wp;
-       size_t wlen;
-       int rc;
-
-       /*
-        * Queue signal based events.  We never clear SIGHUP or SIGTERM events,
-        * so that we just keep returning them until the editor dies.
-        */
-       clp = CLP(sp);
-retest:        if (LF_ISSET(EC_INTERRUPT) || F_ISSET(clp, CL_SIGINT)) {
-               if (F_ISSET(clp, CL_SIGINT)) {
-                       F_CLR(clp, CL_SIGINT);
-                       evp->e_event = E_INTERRUPT;
-               } else
-                       evp->e_event = E_TIMEOUT;
-               return (0);
-       }
-       if (F_ISSET(clp, CL_SIGHUP | CL_SIGTERM | CL_SIGWINCH)) {
-               if (F_ISSET(clp, CL_SIGHUP)) {
-                       evp->e_event = E_SIGHUP;
-                       return (0);
-               }
-               if (F_ISSET(clp, CL_SIGTERM)) {
-                       evp->e_event = E_SIGTERM;
-                       return (0);
-               }
-               if (F_ISSET(clp, CL_SIGWINCH)) {
-                       F_CLR(clp, CL_SIGWINCH);
-                       if (cl_ssize(sp, 1, &lines, &columns, &changed))
-                               return (1);
-                       if (changed) {
-                               (void)cl_resize(sp, lines, columns);
-                               evp->e_event = E_WRESIZE;
-                               return (0);
-                       }
-                       /* No real change, ignore the signal. */
-               }
-       }
-
-       /* Set timer. */
-       if (ms == 0)
-               tp = NULL;
-       else {
-               t.tv_sec = ms / 1000;
-               t.tv_usec = (ms % 1000) * 1000;
-               tp = &t;
-       }
-
-       /* Read input characters. */
-read:
-       switch (cl_read(sp, LF_ISSET(EC_QUOTED | EC_RAW),
-           clp->ibuf + clp->skip, SIZE(clp->ibuf) - clp->skip, &nr, tp)) {
-       case INP_OK:
-               rc = INPUT2INT5(sp, clp->cw, clp->ibuf, nr + clp->skip,
-                               wp, wlen);
-               evp->e_csp = wp;
-               evp->e_len = wlen;
-               evp->e_event = E_STRING;
-               if (rc < 0) {
-                   int n = -rc;
-                   memmove(clp->ibuf, clp->ibuf + nr + clp->skip - n, n);
-                   clp->skip = n;
-                   if (wlen == 0)
-                       goto read;
-               } else if (rc == 0)
-                   clp->skip = 0;
-               else
-                   msgq(sp, M_ERR, "323|Invalid input. Truncated.");
-               break;
-       case INP_EOF:
-               evp->e_event = E_EOF;
-               break;
-       case INP_ERR:
-               evp->e_event = E_ERR;
-               break;
-       case INP_INTR:
-               goto retest;
-       case INP_TIMEOUT:
-               evp->e_event = E_TIMEOUT;
-               break;
-       default:
-               abort();
-       }
-       return (0);
-}
-
-/*
- * cl_read --
- *     Read characters from the input.
- */
-static input_t
-cl_read(SCR *sp, u_int32_t flags, char *bp, size_t blen, int *nrp, struct timeval *tp)
-{
-       struct termios term1, term2;
-       CL_PRIVATE *clp;
-       GS *gp;
-       fd_set rdfd;
-       input_t rval;
-       int maxfd, nr, term_reset;
-
-       gp = sp->gp;
-       clp = CLP(sp);
-       term_reset = 0;
-
-       /*
-        * 1: A read from a file or a pipe.  In this case, the reads
-        *    never timeout regardless.  This means that we can hang
-        *    when trying to complete a map, but we're going to hang
-        *    on the next read anyway.
-        */
-       if (!F_ISSET(clp, CL_STDIN_TTY)) {
-               nr = extpread(STDIN_FILENO, bp, blen, O_FBLOCKING, -1);
-               switch (nr) {
-               case 0:
-                       return (INP_EOF);
-               case -1:
-                       goto err;
-               default:
-                       *nrp = nr;
-                       return (INP_OK);
-               }
-               /* NOTREACHED */
-       }
-
-       /*
-        * 2: A read with an associated timeout, e.g., trying to complete
-        *    a map sequence.  If input exists, we fall into #3.
-        */
-       if (tp != NULL) {
-               FD_ZERO(&rdfd);
-               FD_SET(STDIN_FILENO, &rdfd);
-               switch (select(STDIN_FILENO + 1, &rdfd, NULL, NULL, tp)) {
-               case 0:
-                       return (INP_TIMEOUT);
-               case -1:
-                       goto err;
-               default:
-                       break;
-               }
-       }
-       
-       /*
-        * The user can enter a key in the editor to quote a character.  If we
-        * get here and the next key is supposed to be quoted, do what we can.
-        * Reset the tty so that the user can enter a ^C, ^Q, ^S.  There's an
-        * obvious race here, when the key has already been entered, but there's
-        * nothing that we can do to fix that problem.
-        *
-        * The editor can ask for the next literal character even thought it's
-        * generally running in line-at-a-time mode.  Do what we can.
-        */
-       if (LF_ISSET(EC_QUOTED | EC_RAW) && !tcgetattr(STDIN_FILENO, &term1)) {
-               term_reset = 1;
-               if (LF_ISSET(EC_QUOTED)) {
-                       term2 = term1;
-                       term2.c_lflag &= ~ISIG;
-                       term2.c_iflag &= ~(IXON | IXOFF);
-                       (void)tcsetattr(STDIN_FILENO,
-                           TCSASOFT | TCSADRAIN, &term2);
-               } else
-                       (void)tcsetattr(STDIN_FILENO,
-                           TCSASOFT | TCSADRAIN, &clp->vi_enter);
-       }
-
-       /*
-        * 3: Wait for input.
-        *
-        * Select on the command input and scripting window file descriptors.
-        * It's ugly that we wait on scripting file descriptors here, but it's
-        * the only way to keep from locking out scripting windows.
-        */
-       if (F_ISSET(gp, G_SCRWIN)) {
-loop:          FD_ZERO(&rdfd);
-               FD_SET(STDIN_FILENO, &rdfd);
-               maxfd = STDIN_FILENO;
-               if (F_ISSET(sp, SC_SCRIPT)) {
-                       FD_SET(sp->script->sh_master, &rdfd);
-                       if (sp->script->sh_master > maxfd)
-                               maxfd = sp->script->sh_master;
-               }
-               switch (select(maxfd + 1, &rdfd, NULL, NULL, NULL)) {
-               case 0:
-                       abort();
-               case -1:
-                       goto err;
-               default:
-                       break;
-               }
-               if (!FD_ISSET(STDIN_FILENO, &rdfd)) {
-                       if (sscr_input(sp))
-                               return (INP_ERR);
-                       goto loop;
-               }
-       }
-
-       /*
-        * 4: Read the input.
-        *
-        * !!!
-        * What's going on here is some scary stuff.  Ex runs the terminal in
-        * canonical mode.  So, the <newline> character terminating a line of
-        * input is returned in the buffer, but a trailing <EOF> character is
-        * not similarly included.  As ex uses 0<EOF> and ^<EOF> as autoindent
-        * commands, it has to see the trailing <EOF> characters to determine
-        * the difference between the user entering "0ab" and "0<EOF>ab".  We
-        * leave an extra slot in the buffer, so that we can add a trailing
-        * <EOF> character if the buffer isn't terminated by a <newline>.  We
-        * lose if the buffer is too small for the line and exactly N characters
-        * are entered followed by an <EOF> character.
-        */
-#define        ONE_FOR_EOF     1
-       nr = extpread(STDIN_FILENO, bp, blen - ONE_FOR_EOF, O_FBLOCKING, -1);
-       switch (nr) {
-       case  0:                                /* EOF. */
-               /*
-                * ^D in canonical mode returns a read of 0, i.e. EOF.  EOF is
-                * a valid command, but we don't want to loop forever because
-                * the terminal driver is returning EOF because the user has
-                * disconnected. The editor will almost certainly try to write
-                * something before this fires, which should kill us, but You
-                * Never Know.
-                */
-               if (++clp->eof_count < 50) {
-                       bp[0] = clp->orig.c_cc[VEOF];
-                       *nrp = 1;
-                       rval = INP_OK;
-
-               } else
-                       rval = INP_EOF;
-               break;
-       case -1:                                /* Error or interrupt. */
-err:           if (errno == EINTR)
-                       rval = INP_INTR;
-               else {
-                       rval = INP_ERR;
-                       msgq(sp, M_SYSERR, "input");
-               }
-               break;
-       default:                                /* Input characters. */
-               if (F_ISSET(sp, SC_EX) && bp[nr - 1] != '\n')
-                       bp[nr++] = clp->orig.c_cc[VEOF];
-               *nrp = nr;
-               clp->eof_count = 0;
-               rval = INP_OK;
-               break;
-       }
-
-       /* Restore the terminal state if it was modified. */
-       if (term_reset)
-               (void)tcsetattr(STDIN_FILENO, TCSASOFT | TCSADRAIN, &term1);
-       return (rval);
-}
-
-/* 
- * cl_resize --
- *     Reset the options for a resize event.
- */
-static int
-cl_resize(SCR *sp, size_t lines, size_t columns)
-{
-       ARGS *argv[2], a, b;
-       CHAR_T b1[1024];
-
-       a.bp = b1;
-       b.bp = NULL;
-       a.len = b.len = 0;
-       argv[0] = &a;
-       argv[1] = &b;
-
-       a.len = SPRINTF(b1, sizeof(b1), L("lines=%lu"), (u_long)lines);
-       if (opts_set(sp, argv, NULL))
-               return (1);
-       a.len = SPRINTF(b1, sizeof(b1), L("columns=%lu"), (u_long)columns);
-       if (opts_set(sp, argv, NULL))
-               return (1);
-       return (0);
-}
diff --git a/contrib/nvi/cl/cl_screen.c b/contrib/nvi/cl/cl_screen.c
deleted file mode 100644 (file)
index 91ff278..0000000
+++ /dev/null
@@ -1,588 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cl_screen.c,v 10.56 2002/05/03 19:59:44 skimo Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-#include <sys/time.h>
-
-#include <bitstring.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_TERM_H
-#include <term.h>
-#endif
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-#include "cl.h"
-
-static int     cl_ex_end __P((GS *));
-static int     cl_ex_init __P((SCR *));
-static void    cl_freecap __P((CL_PRIVATE *));
-static int     cl_vi_end __P((GS *));
-static int     cl_vi_init __P((SCR *));
-static int     cl_putenv __P((char *, char *, u_long));
-
-/*
- * cl_screen --
- *     Switch screen types.
- *
- * PUBLIC: int cl_screen __P((SCR *, u_int32_t));
- */
-int
-cl_screen(SCR *sp, u_int32_t flags)
-{
-       CL_PRIVATE *clp;
-       WINDOW *win;
-       GS *gp;
-
-       gp = sp->gp;
-       clp = CLP(sp);
-       win = CLSP(sp) ? CLSP(sp) : stdscr;
-
-       /* See if the current information is incorrect. */
-       if (F_ISSET(gp, G_SRESTART)) {
-               if (CLSP(sp)) {
-                   delwin(CLSP(sp));
-                   sp->cl_private = NULL;
-               }
-               if (cl_quit(gp))
-                       return (1);
-               F_CLR(gp, G_SRESTART);
-       }
-       
-       /* See if we're already in the right mode. */
-       if ((LF_ISSET(SC_EX) && F_ISSET(sp, SC_SCR_EX)) ||
-           (LF_ISSET(SC_VI) && F_ISSET(sp, SC_SCR_VI)))
-               return (0);
-
-       /*
-        * Fake leaving ex mode.
-        *
-        * We don't actually exit ex or vi mode unless forced (e.g. by a window
-        * size change).  This is because many curses implementations can't be
-        * called twice in a single program.  Plus, it's faster.  If the editor
-        * "leaves" vi to enter ex, when it exits ex we'll just fall back into
-        * vi.
-        */
-       if (F_ISSET(sp, SC_SCR_EX))
-               F_CLR(sp, SC_SCR_EX);
-
-       /*
-        * Fake leaving vi mode.
-        *
-        * Clear out the rest of the screen if we're in the middle of a split
-        * screen.  Move to the last line in the current screen -- this makes
-        * terminal scrolling happen naturally.  Note: *don't* move past the
-        * end of the screen, as there are ex commands (e.g., :read ! cat file)
-        * that don't want to.  Don't clear the info line, its contents may be
-        * valid, e.g. :file|append.
-        */
-       if (F_ISSET(sp, SC_SCR_VI)) {
-               F_CLR(sp, SC_SCR_VI);
-
-               if (TAILQ_NEXT(sp, q) != NULL) {
-                       (void)wmove(win, RLNO(sp, sp->rows), 0);
-                       wclrtobot(win);
-               }
-               (void)wmove(win, RLNO(sp, sp->rows) - 1, 0);
-               wrefresh(win);
-       }
-
-       /* Enter the requested mode. */
-       if (LF_ISSET(SC_EX)) {
-               if (cl_ex_init(sp))
-                       return (1);
-               F_SET(clp, CL_IN_EX | CL_SCR_EX_INIT);
-
-               /*
-                * If doing an ex screen for ex mode, move to the last line
-                * on the screen.
-                */
-               if (F_ISSET(sp, SC_EX) && clp->cup != NULL)
-                       tputs(tgoto(clp->cup,
-                           0, O_VAL(sp, O_LINES) - 1), 1, cl_putchar);
-       } else {
-               if (cl_vi_init(sp))
-                       return (1);
-               F_CLR(clp, CL_IN_EX);
-               F_SET(clp, CL_SCR_VI_INIT);
-       }
-       return (0);
-}
-
-/*
- * cl_quit --
- *     Shutdown the screens.
- *
- * PUBLIC: int cl_quit __P((GS *));
- */
-int
-cl_quit(GS *gp)
-{
-       CL_PRIVATE *clp;
-       int rval;
-
-       rval = 0;
-       clp = GCLP(gp);
-
-       /*
-        * If we weren't really running, ignore it.  This happens if the
-        * screen changes size before we've called curses.
-        */
-       if (!F_ISSET(clp, CL_SCR_EX_INIT | CL_SCR_VI_INIT))
-               return (0);
-
-       /* Clean up the terminal mappings. */
-       if (cl_term_end(gp))
-               rval = 1;
-
-       /* Really leave vi mode. */
-       if (F_ISSET(clp, CL_STDIN_TTY) &&
-           F_ISSET(clp, CL_SCR_VI_INIT) && cl_vi_end(gp))
-               rval = 1;
-
-       /* Really leave ex mode. */
-       if (F_ISSET(clp, CL_STDIN_TTY) &&
-           F_ISSET(clp, CL_SCR_EX_INIT) && cl_ex_end(gp))
-               rval = 1;
-
-       /*
-        * If we were running ex when we quit, or we're using an implementation
-        * of curses where endwin() doesn't get this right, restore the original
-        * terminal modes.
-        *
-        * XXX
-        * We always do this because it's too hard to figure out what curses
-        * implementations get it wrong.  It may discard type-ahead characters
-        * from the tty queue.
-        */
-       (void)tcsetattr(STDIN_FILENO, TCSADRAIN | TCSASOFT, &clp->orig);
-
-       F_CLR(clp, CL_SCR_EX_INIT | CL_SCR_VI_INIT);
-       return (rval);
-}
-
-/*
- * cl_vi_init --
- *     Initialize the curses vi screen.
- */
-static int
-cl_vi_init(SCR *sp)
-{
-       CL_PRIVATE *clp;
-       GS *gp;
-       char *o_cols, *o_lines, *o_term, *ttype;
-
-       gp = sp->gp;
-       clp = CLP(sp);
-
-       /* If already initialized, just set the terminal modes. */
-       if (F_ISSET(clp, CL_SCR_VI_INIT))
-               goto fast;
-
-       /* Curses vi always reads from (and writes to) a terminal. */
-       if (!F_ISSET(clp, CL_STDIN_TTY) || !isatty(STDOUT_FILENO)) {
-               msgq(sp, M_ERR,
-                   "016|Vi's standard input and output must be a terminal");
-               return (1);
-       }
-
-       /* We'll need a terminal type. */
-       if (opts_empty(sp, O_TERM, 0))
-               return (1);
-       ttype = O_STR(sp, O_TERM);
-
-       /*
-        * XXX
-        * Changing the row/column and terminal values is done by putting them
-        * into the environment, which is then read by curses.  What this loses
-        * in ugliness, it makes up for in stupidity.  We can't simply put the
-        * values into the environment ourselves, because in the presence of a
-        * kernel mechanism for returning the window size, entering values into
-        * the environment will screw up future screen resizing events, e.g. if
-        * the user enters a :shell command and then resizes their window.  So,
-        * if they weren't already in the environment, we make sure to delete
-        * them immediately after setting them.
-        *
-        * XXX
-        * Putting the TERM variable into the environment is necessary, even
-        * though we're using newterm() here.  We may be using initscr() as
-        * the underlying function.
-        */
-       o_term = getenv("TERM");
-       cl_putenv("TERM", ttype, 0);
-       o_lines = getenv("LINES");
-       cl_putenv("LINES", NULL, (u_long)O_VAL(sp, O_LINES));
-       o_cols = getenv("COLUMNS");
-       cl_putenv("COLUMNS", NULL, (u_long)O_VAL(sp, O_COLUMNS));
-
-       /*
-        * We don't care about the SCREEN reference returned by newterm, we
-        * never have more than one SCREEN at a time.
-        *
-        * XXX
-        * The SunOS initscr() can't be called twice.  Don't even think about
-        * using it.  It fails in subtle ways (e.g. select(2) on fileno(stdin)
-        * stops working).  (The SVID notes that applications should only call
-        * initscr() once.)
-        *
-        * XXX
-        * The HP/UX newterm doesn't support the NULL first argument, so we
-        * have to specify the terminal type.
-        */
-       (void)del_curterm(cur_term);
-       errno = 0;
-       if (newterm(ttype, stdout, stdin) == NULL) {
-               if (errno)
-                       msgq(sp, M_SYSERR, "%s", ttype);
-               else
-                       msgq(sp, M_ERR, "%s: unknown terminal type", ttype);
-               return (1);
-       }
-
-       if (o_term == NULL)
-               unsetenv("TERM");
-       if (o_lines == NULL)
-               unsetenv("LINES");
-       if (o_cols == NULL)
-               unsetenv("COLUMNS");
-
-       /*
-        * XXX
-        * Someone got let out alone without adult supervision -- the SunOS
-        * newterm resets the signal handlers.  There's a race, but it's not
-        * worth closing.
-        */
-       (void)sig_init(sp->gp, sp);
-
-       /*
-        * We use raw mode.  What we want is 8-bit clean, however, signals
-        * and flow control should continue to work.  Admittedly, it sounds
-        * like cbreak, but it isn't.  Using cbreak() can get you additional
-        * things like IEXTEN, which turns on flags like DISCARD and LNEXT.
-        *
-        * !!!
-        * If raw isn't turning off echo and newlines, something's wrong.
-        * However, it shouldn't hurt.
-        */
-       noecho();                       /* No character echo. */
-       nonl();                         /* No CR/NL translation. */
-       raw();                          /* 8-bit clean. */
-       idlok(stdscr, 1);               /* Use hardware insert/delete line. */
-
-       /* Put the cursor keys into application mode. */
-       (void)keypad(stdscr, TRUE);
-
-       /*
-        * XXX
-        * The screen TI sequence just got sent.  See the comment in
-        * cl_funcs.c:cl_attr().
-        */
-       clp->ti_te = TI_SENT;
-
-       /*
-        * XXX
-        * Historic implementations of curses handled SIGTSTP signals
-        * in one of three ways.  They either:
-        *
-        *      1: Set their own handler, regardless.
-        *      2: Did not set a handler if a handler was already installed.
-        *      3: Set their own handler, but then called any previously set
-        *         handler after completing their own cleanup.
-        *
-        * We don't try and figure out which behavior is in place, we force
-        * it to SIG_DFL after initializing the curses interface, which means
-        * that curses isn't going to take the signal.  Since curses isn't
-        * reentrant (i.e., the whole curses SIGTSTP interface is a fantasy),
-        * we're doing The Right Thing.
-        */
-       (void)signal(SIGTSTP, SIG_DFL);
-
-       /*
-        * If flow control was on, turn it back on.  Turn signals on.  ISIG
-        * turns on VINTR, VQUIT, VDSUSP and VSUSP.   The main curses code
-        * already installed a handler for VINTR.  We're going to disable the
-        * other three.
-        *
-        * XXX
-        * We want to use ^Y as a vi scrolling command.  If the user has the
-        * DSUSP character set to ^Y (common practice) clean it up.  As it's
-        * equally possible that the user has VDSUSP set to 'a', we disable
-        * it regardless.  It doesn't make much sense to suspend vi at read,
-        * so I don't think anyone will care.  Alternatively, we could look
-        * it up in the table of legal command characters and turn it off if
-        * it matches one.  VDSUSP wasn't in POSIX 1003.1-1990, so we test for
-        * it.
-        *
-        * XXX
-        * We don't check to see if the user had signals enabled originally.
-        * If they didn't, it's unclear what we're supposed to do here, but
-        * it's also pretty unlikely.
-        */
-       if (tcgetattr(STDIN_FILENO, &clp->vi_enter)) {
-               msgq(sp, M_SYSERR, "tcgetattr");
-               goto err;
-       }
-       if (clp->orig.c_iflag & IXON)
-               clp->vi_enter.c_iflag |= IXON;
-       if (clp->orig.c_iflag & IXOFF)
-               clp->vi_enter.c_iflag |= IXOFF;
-
-       clp->vi_enter.c_lflag |= ISIG;
-#ifdef VDSUSP
-       clp->vi_enter.c_cc[VDSUSP] = _POSIX_VDISABLE;
-#endif
-       clp->vi_enter.c_cc[VQUIT] = _POSIX_VDISABLE;
-       clp->vi_enter.c_cc[VSUSP] = _POSIX_VDISABLE;
-
-       /*
-        * XXX
-        * OSF/1 doesn't turn off the <discard>, <literal-next> or <status>
-        * characters when curses switches into raw mode.  It should be OK
-        * to do it explicitly for everyone.
-        */
-#ifdef VDISCARD
-       clp->vi_enter.c_cc[VDISCARD] = _POSIX_VDISABLE;
-#endif
-#ifdef VLNEXT
-       clp->vi_enter.c_cc[VLNEXT] = _POSIX_VDISABLE;
-#endif
-#ifdef VSTATUS
-       clp->vi_enter.c_cc[VSTATUS] = _POSIX_VDISABLE;
-#endif
-
-       /* Initialize terminal based information. */
-       if (cl_term_init(sp))
-               goto err;
-
-fast:  /* Set the terminal modes. */
-       if (tcsetattr(STDIN_FILENO, TCSASOFT | TCSADRAIN, &clp->vi_enter)) {
-               if (errno == EINTR)
-                       goto fast;
-               msgq(sp, M_SYSERR, "tcsetattr");
-err:           (void)cl_vi_end(sp->gp);
-               return (1);
-       }
-       return (0);
-}
-
-/*
- * cl_vi_end --
- *     Shutdown the vi screen.
- */
-static int
-cl_vi_end(GS *gp)
-{
-       CL_PRIVATE *clp;
-
-       clp = GCLP(gp);
-
-       /* Restore the cursor keys to normal mode. */
-       (void)keypad(stdscr, FALSE);
-
-       /*
-        * If we were running vi when we quit, scroll the screen up a single
-        * line so we don't lose any information.
-        *
-        * Move to the bottom of the window (some endwin implementations don't
-        * do this for you).
-        */
-       if (!F_ISSET(clp, CL_IN_EX)) {
-               (void)move(0, 0);
-               (void)deleteln();
-               (void)move(LINES - 1, 0);
-               (void)refresh();
-       }
-
-       cl_freecap(clp);
-
-       /* End curses window. */
-       (void)endwin();
-
-       /*
-        * XXX
-        * The screen TE sequence just got sent.  See the comment in
-        * cl_funcs.c:cl_attr().
-        */
-       clp->ti_te = TE_SENT;
-
-       return (0);
-}
-
-/*
- * cl_ex_init --
- *     Initialize the ex screen.
- */
-static int
-cl_ex_init(SCR *sp)
-{
-       CL_PRIVATE *clp;
-
-       clp = CLP(sp);
-
-       /* If already initialized, just set the terminal modes. */
-       if (F_ISSET(clp, CL_SCR_EX_INIT))
-               goto fast;
-
-       /* If not reading from a file, we're done. */
-       if (!F_ISSET(clp, CL_STDIN_TTY))
-               return (0);
-
-       /* Get the ex termcap/terminfo strings. */
-       (void)cl_getcap(sp, "cup", &clp->cup);
-       (void)cl_getcap(sp, "smso", &clp->smso);
-       (void)cl_getcap(sp, "rmso", &clp->rmso);
-       (void)cl_getcap(sp, "el", &clp->el);
-       (void)cl_getcap(sp, "cuu1", &clp->cuu1);
-
-       /* Enter_standout_mode and exit_standout_mode are paired. */
-       if (clp->smso == NULL || clp->rmso == NULL) {
-               if (clp->smso != NULL) {
-                       free(clp->smso);
-                       clp->smso = NULL;
-               }
-               if (clp->rmso != NULL) {
-                       free(clp->rmso);
-                       clp->rmso = NULL;
-               }
-       }
-
-       /*
-        * Turn on canonical mode, with normal input and output processing.
-        * Start with the original terminal settings as the user probably
-        * had them (including any local extensions) set correctly for the
-        * current terminal.
-        *
-        * !!!
-        * We can't get everything that we need portably; for example, ONLCR,
-        * mapping <newline> to <carriage-return> on output isn't required
-        * by POSIX 1003.1b-1993.  If this turns out to be a problem, then
-        * we'll either have to play some games on the mapping, or we'll have
-        * to make all ex printf's output \r\n instead of \n.
-        */
-       clp->ex_enter = clp->orig;
-       clp->ex_enter.c_lflag  |= ECHO | ECHOE | ECHOK | ICANON | IEXTEN | ISIG;
-#ifdef ECHOCTL
-       clp->ex_enter.c_lflag |= ECHOCTL;
-#endif
-#ifdef ECHOKE
-       clp->ex_enter.c_lflag |= ECHOKE;
-#endif
-       clp->ex_enter.c_iflag |= ICRNL;
-       clp->ex_enter.c_oflag |= OPOST;
-#ifdef ONLCR
-       clp->ex_enter.c_oflag |= ONLCR;
-#endif
-
-fast:  if (tcsetattr(STDIN_FILENO, TCSADRAIN | TCSASOFT, &clp->ex_enter)) {
-               if (errno == EINTR)
-                       goto fast;
-               msgq(sp, M_SYSERR, "tcsetattr");
-               return (1);
-       }
-       return (0);
-}
-
-/*
- * cl_ex_end --
- *     Shutdown the ex screen.
- */
-static int
-cl_ex_end(GS *gp)
-{
-       CL_PRIVATE *clp;
-
-       clp = GCLP(gp);
-
-       cl_freecap(clp);
-
-       return (0);
-}
-
-/*
- * cl_getcap --
- *     Retrieve termcap/terminfo strings.
- *
- * PUBLIC: int cl_getcap __P((SCR *, char *, char **));
- */
-int
-cl_getcap(SCR *sp, char *name, char **elementp)
-{
-       size_t len;
-       char *t;
-
-       if ((t = tigetstr(name)) != NULL &&
-           t != (char *)-1 && (len = strlen(t)) != 0) {
-               MALLOC_RET(sp, *elementp, char *, len + 1);
-               memmove(*elementp, t, len + 1);
-       }
-       return (0);
-}
-
-/*
- * cl_freecap --
- *     Free any allocated termcap/terminfo strings.
- */
-static void
-cl_freecap(CL_PRIVATE *clp)
-{
-       if (clp->el != NULL) {
-               free(clp->el);
-               clp->el = NULL;
-       }
-       if (clp->cup != NULL) {
-               free(clp->cup);
-               clp->cup = NULL;
-       }
-       if (clp->cuu1 != NULL) {
-               free(clp->cuu1);
-               clp->cuu1 = NULL;
-       }
-       if (clp->rmso != NULL) {
-               free(clp->rmso);
-               clp->rmso = NULL;
-       }
-       if (clp->smso != NULL) {
-               free(clp->smso);
-               clp->smso = NULL;
-       }
-       /* Required by libcursesw :) */
-       if (clp->cw.bp1.c != NULL) {
-               free(clp->cw.bp1.c);
-               clp->cw.bp1.c = NULL;
-               clp->cw.blen1 = 0;
-       }
-}
-
-/*
- * cl_putenv --
- *     Put a value into the environment.
- */
-static int
-cl_putenv(char *name, char *str, u_long value)
-{
-       char buf[40];
-
-       if (str == NULL) {
-               (void)snprintf(buf, sizeof(buf), "%lu", value);
-               return (setenv(name, buf, 1));
-       } else
-               return (setenv(name, str, 1));
-}
diff --git a/contrib/nvi/cl/cl_term.c b/contrib/nvi/cl/cl_term.c
deleted file mode 100644 (file)
index d851930..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cl_term.c,v 10.33 2012/04/21 23:51:46 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#include <sys/queue.h>
-#include <sys/stat.h>
-
-#include <bitstring.h>
-#include <errno.h>
-#include <limits.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef HAVE_TERM_H
-#include <term.h>
-#endif
-#include <termios.h>
-#include <unistd.h>
-
-#include "../common/common.h"
-#include "cl.h"
-
-static int cl_pfmap __P((SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t));
-
-/*
- * XXX
- * THIS REQUIRES THAT ALL SCREENS SHARE A TERMINAL TYPE.
- */
-typedef struct _tklist {
-       char    *ts;                    /* Key's termcap string. */
-       char    *output;                /* Corresponding vi command. */
-       char    *name;                  /* Name. */
-       u_char   value;                 /* Special value (for lookup). */
-} TKLIST;
-static TKLIST const c_tklist[] = {     /* Command mappings. */
-       {"kil1",        "O",    "insert line"},
-       {"kdch1",       "x",    "delete character"},
-       {"kcud1",       "j",    "cursor down"},
-       {"kel",         "D",    "delete to eol"},
-       {"kind",     "\004",    "scroll down"},                 /* ^D */
-       {"kll",         "$",    "go to eol"},
-       {"kend",        "$",    "go to eol"},
-       {"khome",       "^",    "go to sol"},
-       {"kich1",       "i",    "insert at cursor"},
-       {"kdl1",       "dd",    "delete line"},
-       {"kcub1",       "h",    "cursor left"},
-       {"knp",      "\006",    "page down"},                   /* ^F */
-       {"kpp",      "\002",    "page up"},                     /* ^B */
-       {"kri",      "\025",    "scroll up"},                   /* ^U */
-       {"ked",        "dG",    "delete to end of screen"},
-       {"kcuf1",       "l",    "cursor right"},
-       {"kcuu1",       "k",    "cursor up"},
-       {NULL},
-};
-static TKLIST const m1_tklist[] = {    /* Input mappings (lookup). */
-       {NULL},
-};
-static TKLIST const m2_tklist[] = {    /* Input mappings (set or delete). */
-       {"kcud1",  "\033ja",    "cursor down"},                 /* ^[ja */
-       {"kcub1",  "\033ha",    "cursor left"},                 /* ^[ha */
-       {"kcuu1",  "\033ka",    "cursor up"},                   /* ^[ka */
-       {"kcuf1",  "\033la",    "cursor right"},                /* ^[la */
-       {NULL},
-};
-
-/*
- * cl_term_init --
- *     Initialize the special keys defined by the termcap/terminfo entry.
- *
- * PUBLIC: int cl_term_init __P((SCR *));
- */
-int
-cl_term_init(SCR *sp)
-{
-       KEYLIST *kp;
-       SEQ *qp;
-       TKLIST const *tkp;
-       char *t;
-       CHAR_T name[60];
-       CHAR_T output[5];
-       CHAR_T ts[20];
-       CHAR_T *wp;
-       size_t wlen;
-
-       /* Command mappings. */
-       for (tkp = c_tklist; tkp->name != NULL; ++tkp) {
-               if ((t = tigetstr(tkp->ts)) == NULL || t == (char *)-1)
-                       continue;
-               CHAR2INT(sp, tkp->name, strlen(tkp->name), wp, wlen);
-               MEMCPY(name, wp, wlen);
-               CHAR2INT(sp, t, strlen(t), wp, wlen);
-               MEMCPY(ts, wp, wlen);
-               CHAR2INT(sp, tkp->output, strlen(tkp->output), wp, wlen);
-               MEMCPY(output, wp, wlen);
-               if (seq_set(sp, name, strlen(tkp->name), ts, strlen(t),
-                   output, strlen(tkp->output), SEQ_COMMAND,
-                   SEQ_NOOVERWRITE | SEQ_SCREEN))
-                       return (1);
-       }
-
-       /* Input mappings needing to be looked up. */
-       for (tkp = m1_tklist; tkp->name != NULL; ++tkp) {
-               if ((t = tigetstr(tkp->ts)) == NULL || t == (char *)-1)
-                       continue;
-               for (kp = keylist;; ++kp)
-                       if (kp->value == tkp->value)
-                               break;
-               if (kp == NULL)
-                       continue;
-               CHAR2INT(sp, tkp->name, strlen(tkp->name), wp, wlen);
-               MEMCPY(name, wp, wlen);
-               CHAR2INT(sp, t, strlen(t), wp, wlen);
-               MEMCPY(ts, wp, wlen);
-               output[0] = (UCHAR_T)kp->ch;
-               if (seq_set(sp, name, strlen(tkp->name), ts, strlen(t),
-                   output, 1, SEQ_INPUT, SEQ_NOOVERWRITE | SEQ_SCREEN))
-                       return (1);
-       }
-
-       /* Input mappings that are already set or are text deletions. */
-       for (tkp = m2_tklist; tkp->name != NULL; ++tkp) {
-               if ((t = tigetstr(tkp->ts)) == NULL || t == (char *)-1)
-                       continue;
-               /*
-                * !!!
-                * Some terminals' <cursor_left> keys send single <backspace>
-                * characters.  This is okay in command mapping, but not okay
-                * in input mapping.  That combination is the only one we'll
-                * ever see, hopefully, so kluge it here for now.
-                */
-               if (!strcmp(t, "\b"))
-                       continue;
-               if (tkp->output == NULL) {
-                       CHAR2INT(sp, tkp->name, strlen(tkp->name), wp, wlen);
-                       MEMCPY(name, wp, wlen);
-                       CHAR2INT(sp, t, strlen(t), wp, wlen);
-                       MEMCPY(ts, wp, wlen);
-                       if (seq_set(sp, name, strlen(tkp->name),
-                           ts, strlen(t), NULL, 0,
-                           SEQ_INPUT, SEQ_NOOVERWRITE | SEQ_SCREEN))
-                               return (1);
-               } else {
-                       CHAR2INT(sp, tkp->name, strlen(tkp->name), wp, wlen);
-                       MEMCPY(name, wp, wlen);
-                       CHAR2INT(sp, t, strlen(t), wp, wlen);
-                       MEMCPY(ts, wp, wlen);
-                       CHAR2INT(sp, tkp->output, strlen(tkp->output), wp, wlen);
-                       MEMCPY(output, wp, wlen);
-                       if (seq_set(sp, name, strlen(tkp->name),
-                           ts, strlen(t), output, strlen(tkp->output),
-                           SEQ_INPUT, SEQ_NOOVERWRITE | SEQ_SCREEN))
-                               return (1);
-               }
-       }
-
-       /*
-        * Rework any function key mappings that were set before the
-        * screen was initialized.
-        */
-       SLIST_FOREACH(qp, sp->gp->seqq, q)
-               if (F_ISSET(qp, SEQ_FUNCMAP))
-                       (void)cl_pfmap(sp, qp->stype,
-                           qp->input, qp->ilen, qp->output, qp->olen);
-       return (0);
-}
-
-/*
- * cl_term_end --
- *     End the special keys defined by the termcap/terminfo entry.
- *
- * PUBLIC: int cl_term_end __P((GS *));
- */
-int
-cl_term_end(GS *gp)
-{
-       SEQ *qp, *nqp;
-
-       /* Delete screen specific mappings. */
-       SLIST_FOREACH_MUTABLE(qp, gp->seqq, q, nqp)
-               if (F_ISSET(qp, SEQ_SCREEN)) {
-                       SLIST_REMOVE_HEAD(gp->seqq, q);
-                       (void)seq_free(qp);
-               }
-       return (0);
-}
-
-/*
- * cl_fmap --
- *     Map a function key.
- *
- * PUBLIC: int cl_fmap __P((SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t));
- */
-int
-cl_fmap(SCR *sp, seq_t stype, CHAR_T *from, size_t flen, CHAR_T *to, size_t tlen)
-{
-       /* Ignore until the screen is running, do the real work then. */
-       if (F_ISSET(sp, SC_VI) && !F_ISSET(sp, SC_SCR_VI))
-               return (0);
-       if (F_ISSET(sp, SC_EX) && !F_ISSET(sp, SC_SCR_EX))
-               return (0);
-
-       return (cl_pfmap(sp, stype, from, flen, to, tlen));
-}
-
-/*
- * cl_pfmap --
- *     Map a function key (private version).
- */
-static int
-cl_pfmap(SCR *sp, seq_t stype, CHAR_T *from, size_t flen, CHAR_T *to, size_t tlen)
-{
-       size_t nlen;
-       char *p;
-       char name[64];
-       CHAR_T keyname[64];
-       CHAR_T ts[20];
-       CHAR_T *wp;
-       size_t wlen;
-
-       (void)snprintf(name, sizeof(name), "kf%d", 
-                       (int)STRTOL(from+1,NULL,10));
-       if ((p = tigetstr(name)) == NULL ||
-           p == (char *)-1 || strlen(p) == 0)
-               p = NULL;
-       if (p == NULL) {
-               msgq_wstr(sp, M_ERR, from, "233|This terminal has no %s key");
-               return (1);
-       }
-
-       nlen = SPRINTF(keyname,
-           SIZE(keyname), L("function key %d"), 
-                       (int)STRTOL(from+1,NULL,10));
-       CHAR2INT(sp, p, strlen(p), wp, wlen);
-       MEMCPY(ts, wp, wlen);
-       return (seq_set(sp, keyname, nlen,
-           ts, strlen(p), to, tlen, stype, SEQ_NOOVERWRITE | SEQ_SCREEN));
-}
-
-/*
- * cl_optchange --
- *     Curses screen specific "option changed" routine.
- *
- * PUBLIC: int cl_optchange __P((SCR *, int, char *, u_long *));
- */
-int
-cl_optchange(SCR *sp, int opt, char *str, u_long *valp)
-{
-       CL_PRIVATE *clp;
-
-       clp = CLP(sp);
-
-       switch (opt) {
-       case O_COLUMNS:
-       case O_LINES:
-       case O_TERM:
-               /*
-                * Changing the columns, lines or terminal require that
-                * we restart the screen.
-                */
-               F_SET(sp->gp, G_SRESTART);
-               F_CLR(sp, SC_SCR_EX | SC_SCR_VI);
-               break;
-       case O_MESG:
-               (void)cl_omesg(sp, clp, *valp);
-               break;
-       case O_WINDOWNAME:
-               if (*valp) {
-                       F_SET(clp, CL_RENAME_OK);
-
-                       /*
-                        * If the screen is live, i.e. we're not reading the
-                        * .exrc file, update the window.
-                        */
-                       if (sp->frp != NULL && sp->frp->name != NULL)
-                               (void)cl_rename(sp, sp->frp->name, 1);
-               } else {
-                       F_CLR(clp, CL_RENAME_OK);
-
-                       (void)cl_rename(sp, NULL, 0);
-               }
-               break;
-       }
-       return (0);
-}
-
-/*
- * cl_omesg --
- *     Turn the tty write permission on or off.
- *
- * PUBLIC: int cl_omesg __P((SCR *, CL_PRIVATE *, int));
- */
-int
-cl_omesg(SCR *sp, CL_PRIVATE *clp, int on)
-{
-       struct stat sb;
-       char *tty;
-
-       /* Find the tty, get the current permissions. */
-       if ((tty = ttyname(STDERR_FILENO)) == NULL) {
-               if (sp != NULL)
-                       msgq(sp, M_SYSERR, "stderr");
-               return (1);
-       }
-       if (stat(tty, &sb) < 0) {
-               if (sp != NULL)
-                       msgq(sp, M_SYSERR, "%s", tty);
-               return (1);
-       }
-
-       /* Save the original status if it's unknown. */
-       if (clp->tgw == TGW_UNKNOWN)
-               clp->tgw = sb.st_mode & S_IWGRP ? TGW_SET : TGW_UNSET;
-
-       /* Toggle the permissions. */
-       if (on) {
-               if (chmod(tty, sb.st_mode | S_IWGRP) < 0) {
-                       if (sp != NULL)
-                               msgq(sp, M_SYSERR,
-                                   "046|messages not turned on: %s", tty);
-                       return (1);
-               }
-       } else
-               if (chmod(tty, sb.st_mode & ~S_IWGRP) < 0) {
-                       if (sp != NULL)
-                               msgq(sp, M_SYSERR,
-                                   "045|messages not turned off: %s", tty);
-                       return (1);
-               }
-       return (0);
-}
-
-/*
- * cl_ssize --
- *     Return the terminal size.
- *
- * PUBLIC: int cl_ssize __P((SCR *, int, size_t *, size_t *, int *));
- */
-int
-cl_ssize(SCR *sp, int sigwinch, size_t *rowp, size_t *colp, int *changedp)
-{
-       struct winsize win;
-       size_t col, row;
-       int rval;
-       char *p;
-
-       /* Assume it's changed. */
-       if (changedp != NULL)
-               *changedp = 1;
-
-       /*
-        * !!!
-        * sp may be NULL.
-        *
-        * Get the screen rows and columns.  If the values are wrong, it's
-        * not a big deal -- as soon as the user sets them explicitly the
-        * environment will be set and the screen package will use the new
-        * values.
-        *
-        * Try TIOCGWINSZ.
-        */
-       row = col = 0;
-       if (ioctl(STDERR_FILENO, TIOCGWINSZ, &win) != -1) {
-               row = win.ws_row;
-               col = win.ws_col;
-       }
-       /* If here because of suspend or a signal, only trust TIOCGWINSZ. */
-       if (sigwinch) {
-               /*
-                * Somebody didn't get TIOCGWINSZ right, or has suspend
-                * without window resizing support.  The user just lost,
-                * but there's nothing we can do.
-                */
-               if (row == 0 || col == 0) {
-                       if (changedp != NULL)
-                               *changedp = 0;
-                       return (0);
-               }
-
-               /*
-                * SunOS systems deliver SIGWINCH when windows are uncovered
-                * as well as when they change size.  In addition, we call
-                * here when continuing after being suspended since the window
-                * may have changed size.  Since we don't want to background
-                * all of the screens just because the window was uncovered,
-                * ignore the signal if there's no change.
-                */
-               if (sp != NULL &&
-                   row == O_VAL(sp, O_LINES) && col == O_VAL(sp, O_COLUMNS)) {
-                       if (changedp != NULL)
-                               *changedp = 0;
-                       return (0);
-               }
-
-               if (rowp != NULL)
-                       *rowp = row;
-               if (colp != NULL)
-                       *colp = col;
-               return (0);
-       }
-
-       /*
-        * !!!
-        * If TIOCGWINSZ failed, or had entries of 0, try termcap.  This
-        * routine is called before any termcap or terminal information
-        * has been set up.  If there's no TERM environmental variable set,
-        * let it go, at least ex can run.
-        */
-       if (row == 0 || col == 0) {
-               if ((p = getenv("TERM")) == NULL)
-                       goto noterm;
-               if (row == 0)
-                       if ((rval = tigetnum("lines")) < 0)
-                               msgq(sp, M_SYSERR, "tigetnum: lines");
-                       else
-                               row = rval;
-               if (col == 0)
-                       if ((rval = tigetnum("cols")) < 0)
-                               msgq(sp, M_SYSERR, "tigetnum: cols");
-                       else
-                               col = rval;
-       }
-
-       /* If nothing else, well, it's probably a VT100. */
-noterm:        if (row == 0)
-               row = 24;
-       if (col == 0)
-               col = 80;
-
-       /*
-        * !!!
-        * POSIX 1003.2 requires the environment to override everything.
-        * Often, people can get nvi to stop messing up their screen by
-        * deleting the LINES and COLUMNS environment variables from their
-        * dot-files.
-        */
-       if ((p = getenv("LINES")) != NULL)
-               row = strtol(p, NULL, 10);
-       if ((p = getenv("COLUMNS")) != NULL)
-               col = strtol(p, NULL, 10);
-
-       if (rowp != NULL)
-               *rowp = row;
-       if (colp != NULL)
-               *colp = col;
-       return (0);
-}
-
-/*
- * cl_putchar --
- *     Function version of putchar, for tputs.
- *
- * PUBLIC: int cl_putchar __P((int));
- */
-int
-cl_putchar(int ch)
-{
-       return (putchar(ch));
-}
diff --git a/contrib/nvi/cl/extern.h b/contrib/nvi/cl/extern.h
deleted file mode 100644 (file)
index 626f4fb..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-int cl_waddstr __P((SCR *, const CHAR_T *, size_t));
-int cl_addstr __P((SCR *, const char *, size_t));
-int cl_attr __P((SCR *, scr_attr_t, int));
-int cl_baud __P((SCR *, u_long *));
-int cl_bell __P((SCR *));
-int cl_clrtoeol __P((SCR *));
-int cl_cursor __P((SCR *, size_t *, size_t *));
-int cl_deleteln __P((SCR *));
-int cl_discard __P((SCR *, SCR **));
-int cl_ex_adjust __P((SCR *, exadj_t));
-int cl_insertln __P((SCR *));
-int cl_keyval __P((SCR *, scr_keyval_t, CHAR_T *, int *));
-int cl_move __P((SCR *, size_t, size_t));
-int cl_refresh __P((SCR *, int));
-int cl_rename __P((SCR *, char *, int));
-void cl_setname __P((GS *, char *));
-int cl_split __P((SCR *, SCR *));
-int cl_suspend __P((SCR *, int *));
-void cl_usage __P((void));
-int sig_init __P((GS *, SCR *));
-int cl_event __P((SCR *, EVENT *, u_int32_t, int));
-int cl_screen __P((SCR *, u_int32_t));
-int cl_quit __P((GS *));
-int cl_getcap __P((SCR *, char *, char **));
-int cl_term_init __P((SCR *));
-int cl_term_end __P((GS *));
-int cl_fmap __P((SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t));
-int cl_optchange __P((SCR *, int, char *, u_long *));
-int cl_omesg __P((SCR *, CL_PRIVATE *, int));
-int cl_ssize __P((SCR *, int, size_t *, size_t *, int *));
-int cl_putchar __P((int));
diff --git a/contrib/nvi/common/args.h b/contrib/nvi/common/args.h
deleted file mode 100644 (file)
index b23699c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- *
- *     $Id: args.h,v 10.2 1996/03/06 19:50:07 bostic Exp $
- */
-
-/*
- * Structure for building "argc/argv" vector of arguments.
- *
- * !!!
- * All arguments are nul terminated as well as having an associated length.
- * The argument vector is NOT necessarily NULL terminated.  The proper way
- * to check the number of arguments is to use the argc value in the EXCMDARG
- * structure or to walk the array until an ARGS structure with a length of 0
- * is found.
- */
-typedef struct _args {
-       CHAR_T  *bp;            /* Argument. */
-       size_t   blen;          /* Buffer length. */
-       size_t   len;           /* Argument length. */
-
-#define        A_ALLOCATED     0x01    /* If allocated space. */
-       u_int8_t flags;
-} ARGS;
diff --git a/contrib/nvi/common/common.h b/contrib/nvi/common/common.h
deleted file mode 100644 (file)
index 71f4c7f..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * Copyright (c) 1991, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1991, 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- *
- *     $Id: common.h,v 10.22 2012/04/13 05:21:50 zy Exp $
- */
-
-/*
- * Pseudo-local includes.  These are files that are unlikely to exist
- * on most machines to which we're porting vi, and we want to include
- * them in a very specific order, regardless.
- */
-#include <db.h>
-#include <regex.h>
-
-/*
- * Forward structure declarations.  Not pretty, but the include files
- * are far too interrelated for a clean solution.
- */
-typedef struct _cb             CB;
-typedef struct _csc            CSC;
-typedef struct _conv           CONV;
-typedef struct _conv_win       CONVWIN;
-typedef struct _event          EVENT;
-typedef struct _excmd          EXCMD;
-typedef struct _exf            EXF;
-typedef struct _fref           FREF;
-typedef struct _gs             GS;
-typedef struct _lmark          LMARK;
-typedef struct _mark           MARK;
-typedef struct _msg            MSGS;
-typedef struct _option         OPTION;
-typedef struct _optlist                OPTLIST;
-typedef struct _scr            SCR;
-typedef struct _script         SCRIPT;
-typedef struct _seq            SEQ;
-typedef struct _tag            TAG;
-typedef struct _tagf           TAGF;
-typedef struct _tagq           TAGQ;
-typedef struct _text           TEXT;
-
-/* Autoindent state. */
-typedef enum { C_NOTSET, C_CARATSET, C_ZEROSET } carat_t;
-
-/* Busy message types. */
-typedef enum { BUSY_ON = 1, BUSY_OFF, BUSY_UPDATE } busy_t;
-
-/*
- * Routines that return a confirmation return:
- *
- *     CONF_NO         User answered no.
- *     CONF_QUIT       User answered quit, eof or an error.
- *     CONF_YES        User answered yes.
- */
-typedef enum { CONF_NO, CONF_QUIT, CONF_YES } conf_t;
-
-/* Directions. */
-typedef enum { NOTSET, FORWARD, BACKWARD } dir_t;
-
-/* Line operations. */
-typedef enum { LINE_APPEND, LINE_DELETE, LINE_INSERT, LINE_RESET } lnop_t;
-
-/* Lock return values. */
-typedef enum { LOCK_FAILED, LOCK_SUCCESS, LOCK_UNAVAIL } lockr_t;
-
-/* Sequence types. */
-typedef enum { SEQ_ABBREV, SEQ_COMMAND, SEQ_INPUT } seq_t;
-
-/*
- * Local includes.
- */
-#include "key.h"               /* Required by args.h. */
-#include "args.h"              /* Required by options.h. */
-#include "options.h"           /* Required by screen.h. */
-
-#include "msg.h"               /* Required by gs.h. */
-#include "cut.h"               /* Required by gs.h. */
-#include "seq.h"               /* Required by screen.h. */
-#include "util.h"              /* Required by ex.h. */
-#include "mark.h"              /* Required by gs.h. */
-#include "conv.h"              /* Required by ex.h and screen.h */
-#include "../ex/ex.h"          /* Required by gs.h. */
-#include "gs.h"                        /* Required by screen.h. */
-#include "screen.h"            /* Required by exf.h. */
-#include "exf.h"
-#include "log.h"
-#include "mem.h"
-
-#include "extern.h"
diff --git a/contrib/nvi/common/conv.c b/contrib/nvi/common/conv.c
deleted file mode 100644 (file)
index 7803cec..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-/*-
- * Copyright (c) 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- * Copyright (c) 2011, 2012
- *     Zhihao Yuan.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: conv.c,v 2.39 2013/07/01 23:28:13 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-#include <sys/time.h>
-
-#include <bitstring.h>
-#include <errno.h>
-#include <limits.h>
-#include <langinfo.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <unistd.h>
-
-#include "common.h"
-
-/*
- * codeset --
- *     Get the locale encoding.
- *
- * PUBLIC: char * codeset __P((void));
- */
-char *
-codeset(void) {
-    static char *cs;
-
-    if (cs == NULL)
-       cs = nl_langinfo(CODESET);
-    return cs;
-}
-
-#ifdef USE_WIDECHAR
-static int 
-raw2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw,
-       size_t *tolen, CHAR_T **dst)
-{
-    int i;
-    CHAR_T **tostr = &cw->bp1.wc;
-    size_t  *blen = &cw->blen1;
-
-    BINC_RETW(NULL, *tostr, *blen, len);
-
-    *tolen = len;
-    for (i = 0; i < len; ++i)
-       (*tostr)[i] = (u_char) str[i];
-
-    *dst = cw->bp1.wc;
-
-    return 0;
-}
-
-#define CONV_BUFFER_SIZE    512
-/* fill the buffer with codeset encoding of string pointed to by str
- * left has the number of bytes left in str and is adjusted
- * len contains the number of bytes put in the buffer
- */
-#ifdef USE_ICONV
-#define CONVERT(str, left, src, len)                                   \
-    do {                                                               \
-       size_t outleft;                                                 \
-       char *bp = buffer;                                              \
-       outleft = CONV_BUFFER_SIZE;                                     \
-       errno = 0;                                                      \
-       if (iconv(id, (iconv_src_t)&str, &left, &bp, &outleft) == -1 && \
-               errno != E2BIG)                                         \
-           goto err;                                                   \
-       if ((len = CONV_BUFFER_SIZE - outleft) == 0) {                  \
-           error = -left;                                              \
-           goto err;                                                   \
-       }                                                               \
-       src = buffer;                                                   \
-    } while (0)
-
-#define IC_RESET()                                                     \
-    do {                                                               \
-       if (id != (iconv_t)-1)                                          \
-           iconv(id, NULL, NULL, NULL, NULL);                          \
-    } while(0)
-#else
-#define CONVERT(str, left, src, len)
-#define IC_RESET()
-#endif
-
-static int 
-default_char2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, 
-               size_t *tolen, CHAR_T **dst, iconv_t id)
-{
-    size_t i = 0, j;
-    CHAR_T **tostr = &cw->bp1.wc;
-    size_t  *blen = &cw->blen1;
-    mbstate_t mbs;
-    size_t   n;
-    ssize_t  nlen = len;
-    char *src = (char *)str;
-#ifdef USE_ICONV
-    char       buffer[CONV_BUFFER_SIZE];
-#endif
-    size_t     left = len;
-    int                error = 1;
-
-    BZERO(&mbs, 1);
-    BINC_RETW(NULL, *tostr, *blen, nlen);
-
-#ifdef USE_ICONV
-    if (id != (iconv_t)-1)
-       CONVERT(str, left, src, len);
-#endif
-
-    for (i = 0, j = 0; j < len; ) {
-       n = mbrtowc((*tostr)+i, src+j, len-j, &mbs);
-       /* NULL character converted */
-       if (n == -2) error = -(len-j);
-       if (n == -1 || n == -2) goto err;
-       if (n == 0) n = 1;
-       j += n;
-       if (++i >= *blen) {
-           nlen += 256;
-           BINC_RETW(NULL, *tostr, *blen, nlen);
-       }
-       if (id != (iconv_t)-1 && j == len && left) {
-           CONVERT(str, left, src, len);
-           j = 0;
-       }
-    }
-
-    error = 0;
-err:
-    *tolen = i;
-    *dst = cw->bp1.wc;
-    IC_RESET();
-
-    return error;
-}
-
-static int 
-fe_char2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, 
-           size_t *tolen, CHAR_T **dst)
-{
-    return default_char2int(sp, str, len, cw, tolen, dst,
-       sp->conv.id[IC_FE_CHAR2INT]);
-}
-
-static int 
-ie_char2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, 
-           size_t *tolen, CHAR_T **dst)
-{
-    return default_char2int(sp, str, len, cw, tolen, dst,
-       sp->conv.id[IC_IE_CHAR2INT]);
-}
-
-static int 
-cs_char2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, 
-           size_t *tolen, CHAR_T **dst)
-{
-    return default_char2int(sp, str, len, cw, tolen, dst,
-       (iconv_t)-1);
-}
-
-static int 
-int2raw(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw,
-       size_t *tolen, char **dst)
-{
-    int i;
-    char **tostr = &cw->bp1.c;
-    size_t  *blen = &cw->blen1;
-
-    BINC_RETC(NULL, *tostr, *blen, len);
-
-    *tolen = len;
-    for (i = 0; i < len; ++i)
-       (*tostr)[i] = str[i];
-
-    *dst = cw->bp1.c;
-
-    return 0;
-}
-
-static int 
-default_int2char(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw, 
-               size_t *tolen, char **pdst, iconv_t id)
-{
-    size_t i, j, offset = 0;
-    char **tostr = &cw->bp1.c;
-    size_t  *blen = &cw->blen1;
-    mbstate_t mbs;
-    size_t n;
-    ssize_t  nlen = len + MB_CUR_MAX;
-    char *dst;
-    size_t buflen;
-#ifdef USE_ICONV
-    char       buffer[CONV_BUFFER_SIZE];
-#endif
-    int                error = 1;
-
-/* convert first len bytes of buffer and append it to cw->bp
- * len is adjusted => 0
- * offset contains the offset in cw->bp and is adjusted
- * cw->bp is grown as required
- */
-#ifdef USE_ICONV
-#define CONVERT2(_buffer, lenp, cw, offset)                            \
-    do {                                                               \
-       char *bp = _buffer;                                             \
-       int ret;                                                        \
-       do {                                                            \
-           size_t outleft = cw->blen1 - offset;                        \
-           char *obp = cw->bp1.c + offset;                             \
-           if (cw->blen1 < offset + MB_CUR_MAX) {                      \
-               nlen += 256;                                            \
-               BINC_RETC(NULL, cw->bp1.c, cw->blen1, nlen);            \
-           }                                                           \
-           errno = 0;                                                  \
-           ret = iconv(id, (iconv_src_t)&bp, lenp, &obp, &outleft);    \
-           if (ret == -1 && errno != E2BIG)                            \
-               goto err;                                               \
-           offset = cw->blen1 - outleft;                               \
-       } while (ret != 0);                                             \
-    } while (0)
-#else
-#define CONVERT2(_buffer, lenp, cw, offset)
-#endif
-
-
-    BZERO(&mbs, 1);
-    BINC_RETC(NULL, *tostr, *blen, nlen);
-    dst = *tostr; buflen = *blen;
-
-#ifdef USE_ICONV
-    if (id != (iconv_t)-1) {
-       dst = buffer; buflen = CONV_BUFFER_SIZE;
-    }
-#endif
-
-    for (i = 0, j = 0; i < len; ++i) {
-       n = wcrtomb(dst+j, str[i], &mbs);
-       if (n == -1) goto err;
-       j += n;
-       if (buflen < j + MB_CUR_MAX) {
-           if (id != (iconv_t)-1) {
-               CONVERT2(buffer, &j, cw, offset);
-           } else {
-               nlen += 256;
-               BINC_RETC(NULL, *tostr, *blen, nlen);
-               dst = *tostr; buflen = *blen;
-           }
-       }
-    }
-
-    n = wcrtomb(dst+j, L'\0', &mbs);
-    j += n - 1;                                /* don't count NUL at the end */
-    *tolen = j;
-
-    if (id != (iconv_t)-1) {
-       CONVERT2(buffer, &j, cw, offset);
-       CONVERT2(NULL, NULL, cw, offset);  /* back to the initial state */
-       *tolen = offset;
-    }
-
-    error = 0;
-err:
-    if (error)
-       *tolen = j;
-    *pdst = cw->bp1.c;
-    IC_RESET();
-
-    return error;
-}
-
-static int 
-fe_int2char(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw, 
-           size_t *tolen, char **dst)
-{
-    return default_int2char(sp, str, len, cw, tolen, dst,
-       sp->conv.id[IC_FE_INT2CHAR]);
-}
-
-static int 
-cs_int2char(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw, 
-           size_t *tolen, char **dst)
-{
-    return default_int2char(sp, str, len, cw, tolen, dst,
-       (iconv_t)-1);
-}
-
-#endif
-
-/*
- * conv_init --
- *     Initialize the iconv environment.
- *
- * PUBLIC: void conv_init __P((SCR *, SCR *));
- */
-void
-conv_init(SCR *orig, SCR *sp)
-{
-    int i;
-
-    if (orig == NULL)
-       setlocale(LC_ALL, "");
-    if (orig != NULL)
-       BCOPY(&orig->conv, &sp->conv, 1);
-#ifdef USE_WIDECHAR
-    else {
-       char *ctype = setlocale(LC_CTYPE, NULL);
-
-       /*
-        * XXX
-        * This hack fixes the libncursesw issue on FreeBSD.
-        */
-       if (!strcmp(ctype, "ko_KR.CP949"))
-           setlocale(LC_CTYPE, "ko_KR.eucKR");
-       else if (!strcmp(ctype, "zh_CN.GB2312"))
-           setlocale(LC_CTYPE, "zh_CN.eucCN");
-       else if (!strcmp(ctype, "zh_CN.GBK"))
-           setlocale(LC_CTYPE, "zh_CN.GB18030");
-
-       /*
-        * Switch to 8bit mode if locale is C;
-        * LC_CTYPE should be reseted to C if unmatched.
-        */
-       if (!strcmp(ctype, "C") || !strcmp(ctype, "POSIX")) {
-           sp->conv.sys2int = sp->conv.file2int = raw2int;
-           sp->conv.int2sys = sp->conv.int2file = int2raw;
-           sp->conv.input2int = raw2int;
-       } else {
-           sp->conv.sys2int = cs_char2int;
-           sp->conv.int2sys = cs_int2char;
-           sp->conv.file2int = fe_char2int;
-           sp->conv.int2file = fe_int2char;
-           sp->conv.input2int = ie_char2int;
-       }
-#ifdef USE_ICONV
-       o_set(sp, O_INPUTENCODING, OS_STRDUP, codeset(), 0);
-#endif
-    }
-#endif
-
-    /* iconv descriptors must be distinct to screens. */
-    for (i = 0; i <= IC_IE_TO_UTF16; ++i)
-       sp->conv.id[i] = (iconv_t)-1;
-#ifdef USE_ICONV
-    conv_enc(sp, O_INPUTENCODING, 0);
-#endif
-}
-
-/*
- * conv_enc --
- *     Convert file/input encoding.
- *
- * PUBLIC: int conv_enc __P((SCR *, int, char *));
- */
-int
-conv_enc(SCR *sp, int option, char *enc)
-{
-#if defined(USE_WIDECHAR) && defined(USE_ICONV)
-    iconv_t *c2w, *w2c;
-
-    switch (option) {
-    case O_FILEENCODING:
-       c2w = sp->conv.id + IC_FE_CHAR2INT;
-       w2c = sp->conv.id + IC_FE_INT2CHAR;
-       if (!enc) enc = O_STR(sp, O_FILEENCODING);
-       if (*c2w != (iconv_t)-1)
-           iconv_close(*c2w);
-       if (*w2c != (iconv_t)-1)
-           iconv_close(*w2c);
-       if (strcasecmp(codeset(), enc)) {
-           if ((*c2w = iconv_open(codeset(), enc)) == (iconv_t)-1)
-               goto err;
-           if ((*w2c = iconv_open(enc, codeset())) == (iconv_t)-1)
-               goto err;
-       } else *c2w = *w2c = (iconv_t)-1;
-       break;
-    case O_INPUTENCODING:
-       c2w = sp->conv.id + IC_IE_CHAR2INT;
-       w2c = sp->conv.id + IC_IE_TO_UTF16;
-       if (!enc) enc = O_STR(sp, O_INPUTENCODING);
-       if (*c2w != (iconv_t)-1)
-           iconv_close(*c2w);
-       if (*w2c != (iconv_t)-1)
-           iconv_close(*w2c);
-       if (strcasecmp(codeset(), enc)) {
-           if ((*c2w = iconv_open(codeset(), enc)) == (iconv_t)-1)
-               goto err;
-       } else *c2w = (iconv_t)-1;
-       /* UTF-16 can not be locale and can not be inputed. */
-       if ((*w2c = iconv_open("utf-16be", enc)) == (iconv_t)-1)
-           goto err;
-       break;
-    }
-
-    F_CLR(sp, SC_CONV_ERROR);
-    F_SET(sp, SC_SCR_REFORMAT);
-
-    return 0;
-err:
-#endif
-    switch (option) {
-    case O_FILEENCODING:
-       msgq(sp, M_ERR,
-           "321|File encoding conversion not supported");
-       break;
-    case O_INPUTENCODING:
-       msgq(sp, M_ERR,
-           "322|Input encoding conversion not supported");
-       break;
-    }
-    return 1;
-}
-
-/*
- * conv_end --
- *     Close the iconv descriptors, release the buffer.
- *
- * PUBLIC: void conv_end __P((SCR *));
- */
-void
-conv_end(SCR *sp)
-{
-#if defined(USE_WIDECHAR) && defined(USE_ICONV)
-    int i;
-    for (i = 0; i <= IC_IE_TO_UTF16; ++i)
-       if (sp->conv.id[i] != (iconv_t)-1)
-           iconv_close(sp->conv.id[i]);
-       if (sp->cw.bp1.c != NULL)
-           free(sp->cw.bp1.c);
-#endif
-}
diff --git a/contrib/nvi/common/conv.h b/contrib/nvi/common/conv.h
deleted file mode 100644 (file)
index b17c3bb..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1992, 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- * Copyright (c) 2011, 2012
- *     Zhihao Yuan.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- *
- *     $Id: conv.h,v 2.32 2013/03/11 01:20:53 zy Exp $
- */
-
-#ifdef USE_ICONV
-#include <iconv.h>
-#ifdef ICONV_TRADITIONAL
-typedef char **                iconv_src_t;
-#else
-typedef char const **  iconv_src_t;
-#endif
-#else
-typedef int    iconv_t;
-#endif
-
-/*
- * XXX
- * We can not use MB_CUR_MAX here, since UTF-8 may report it as 6, but
- * a sequence longer than 4 is deprecated by RFC 3629.
- */
-#define KEY_NEEDSWIDE(sp, ch)                                          \
-       (INTISWIDE(ch) && KEY_LEN(sp, ch) <= 4)
-#define KEY_COL(sp, ch)                                                        \
-       (KEY_NEEDSWIDE(sp, ch) ? CHAR_WIDTH(sp, ch) : KEY_LEN(sp, ch))
-
-enum { IC_FE_CHAR2INT, IC_FE_INT2CHAR, IC_IE_CHAR2INT, IC_IE_TO_UTF16 };
-
-struct _conv_win {
-       union {
-               char    *c;
-               CHAR_T  *wc;
-       }       bp1;
-       size_t  blen1;
-};
-
-typedef int (*char2wchar_t) 
-    (SCR *, const char *, ssize_t, struct _conv_win *, size_t *, CHAR_T **);
-typedef int (*wchar2char_t) 
-    (SCR *, const CHAR_T *, ssize_t, struct _conv_win *, size_t *, char **);
-
-struct _conv {
-       char2wchar_t    sys2int;
-       wchar2char_t    int2sys;
-       char2wchar_t    file2int;
-       wchar2char_t    int2file;
-       char2wchar_t    input2int;
-       iconv_t         id[IC_IE_TO_UTF16 + 1];
-};
diff --git a/contrib/nvi/common/cut.c b/contrib/nvi/common/cut.c
deleted file mode 100644 (file)
index 11db42f..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-/*-
- * Copyright (c) 1992, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1992, 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- */
-
-#include "config.h"
-
-#ifndef lint
-static const char sccsid[] = "$Id: cut.c,v 10.12 2012/02/11 15:52:33 zy Exp $";
-#endif /* not lint */
-
-#include <sys/types.h>
-#include <sys/queue.h>
-
-#include <bitstring.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "common.h"
-
-static void    cb_rotate __P((SCR *));
-
-/*
- * cut --
- *     Put a range of lines/columns into a TEXT buffer.
- *
- * There are two buffer areas, both found in the global structure.  The first
- * is the linked list of all the buffers the user has named, the second is the
- * unnamed buffer storage.  There is a pointer, too, which is the current
- * default buffer, i.e. it may point to the unnamed buffer or a named buffer
- * depending on into what buffer the last text was cut.  Logically, in both
- * delete and yank operations, if the user names a buffer, the text is cut
- * into it.  If it's a delete of information on more than a single line, the
- * contents of the numbered buffers are rotated up one, the contents of the
- * buffer named '9' are discarded, and the text is cut into the buffer named
- * '1'.  The text is always cut into the unnamed buffer.
- *
- * In all cases, upper-case buffer names are the same as lower-case names,
- * with the exception that they cause the buffer to be appended to instead
- * of replaced.  Note, however, that if text is appended to a buffer, the
- * default buffer only contains the appended text, not the entire contents
- * of the buffer.
- *
- * !!!
- * The contents of the default buffer would disappear after most operations
- * in historic vi.  It's unclear that this is useful, so we don't bother.
- *
- * When users explicitly cut text into the numeric buffers, historic vi became
- * genuinely strange.  I've never been able to figure out what was supposed to
- * happen.  It behaved differently if you deleted text than if you yanked text,
- * and, in the latter case, the text was appended to the buffer instead of
- * replacing the contents.  Hopefully it's not worth getting right, and here
- * we just treat the numeric buffers like any other named buffer.
- *
- * PUBLIC: int cut __P((SCR *, CHAR_T *, MARK *, MARK *, int));
- */
-int
-cut(
-       SCR *sp,
-       CHAR_T *namep,
-       MARK *fm,
-       MARK *tm,
-       int flags)
-{
-       CB *cbp;
-       CHAR_T name = '\0';
-       recno_t lno;
-       int append, copy_one, copy_def;
-
-       /*
-        * If the user specified a buffer, put it there.  (This may require
-        * a copy into the numeric buffers.  We do the copy so that we don't
-        * have to reference count and so we don't have to deal with things
-        * like appends to buffers that are used multiple times.)
-        *
-        * Otherwise, if it's supposed to be put in a numeric buffer (usually
-        * a delete) put it there.  The rules for putting things in numeric
-        * buffers were historically a little strange.  There were three cases.
-        *
-        *      1: Some motions are always line mode motions, which means
-        *         that the cut always goes into the numeric buffers.
-        *      2: Some motions aren't line mode motions, e.g. d10w, but
-        *         can cross line boundaries.  For these commands, if the
-        *         cut crosses a line boundary, it goes into the numeric
-        *         buffers.  This includes most of the commands.
-        *      3: Some motions aren't line mode motions, e.g. d`<char>,
-        *         but always go into the numeric buffers, regardless.  This
-        *         was the commands: % ` / ? ( ) N n { } -- and nvi adds ^A.
-        *
-        * Otherwise, put it in the unnamed buffer.
-        */
-       append = copy_one = copy_def = 0;
-       if (namep != NULL) {
-               name = *namep;
-               if (LF_ISSET(CUT_NUMREQ) || (LF_ISSET(CUT_NUMOPT) &&
-                   (LF_ISSET(CUT_LINEMODE) || fm->lno != tm->lno))) {
-                       copy_one = 1;
-                       cb_rotate(sp);
-               }
-               if ((append = isupper(name))) {
-                       if (!copy_one)
-                               copy_def = 1;
-                       name = tolower(name);
-               }
-namecb:                CBNAME(sp, cbp, name);
-       } else if (LF_ISSET(CUT_NUMREQ) || (LF_ISSET(CUT_NUMOPT) &&
-           (LF_ISSET(CUT_LINEMODE) || fm->lno != tm->lno))) {
-               name = '1';
-               cb_rotate(sp);
-               goto namecb;
-       } else
-               cbp = &sp->gp->dcb_store;
-
-copyloop:
-       /*
-        * If this is a new buffer, create it and add it into the list.
-        * Otherwise, if it's not an append, free its current contents.
-        */
-       if (cbp == NULL) {
-               CALLOC_RET(sp, cbp, CB *, 1, sizeof(CB));
-               cbp->name = name;
-               TAILQ_INIT(cbp->textq);
-               SLIST_INSERT_HEAD(sp->gp->cutq, cbp, q);
-       } else if (!append) {
-               text_lfree(cbp->textq);
-               cbp->len = 0;
-               cbp->flags = 0;
-       }
-
-
-       /* In line mode, it's pretty easy, just cut the lines. */
-       if (LF_ISSET(CUT_LINEMODE)) {
-               cbp->flags |= CB_LMODE;
-               for (lno = fm->lno; lno <= tm->lno; ++lno)
-                       if (cut_line(sp, lno, 0, ENTIRE_LINE, cbp))
-                               goto cut_line_err;
-       } else {
-               /*
-                * Get the first line.  A length of ENTIRE_LINE causes
-                * cut_line to cut from the MARK to the end of the line.
-                */
-               if (cut_line(sp, fm->lno, fm->cno, fm->lno != tm->lno ?
-                   ENTIRE_LINE : (tm->cno - fm->cno) + 1, cbp))
-                       goto cut_line_err;
-
-               /* Get the intermediate lines. */
-               for (lno = fm->lno; ++lno < tm->lno;)
-                       if (cut_line(sp, lno, 0, ENTIRE_LINE, cbp))
-                               goto cut_line_err;
-
-               /* Get the last line. */
-               if (tm->lno != fm->lno &&
-                   cut_line(sp, lno, 0, tm->cno + 1, cbp))
-                       goto cut_line_err;
-       }
-
-       append = 0;             /* Only append to the named buffer. */
-       sp->gp->dcbp = cbp;     /* Repoint the default buffer on each pass. */
-
-       if (copy_one) {         /* Copy into numeric buffer 1. */
-               name = '1';
-               CBNAME(sp, cbp, name);
-               copy_one = 0;
-               goto copyloop;
-       }
-       if (copy_def) {         /* Copy into the default buffer. */
-               cbp = &sp->gp->dcb_store;
-               copy_def = 0;
-               goto copyloop;
-       }
-       return (0);
-
-cut_line_err:  
-       text_lfree(cbp->textq);
-       cbp->len = 0;
-       cbp->flags = 0;
-       return (1);
-}
-
-/*
- * cb_rotate --
- *     Rotate the numbered buffers up one.
- */
-static void
-cb_rotate(SCR *sp)
-{
-       CB *cbp, *del_cbp = NULL, *pre_cbp = NULL;
-
-       SLIST_FOREACH(cbp, sp->gp->cutq, q) {
-               switch(cbp->name) {
-               case '1': case '2': case '3':
-               case '4': case '5': case '6':
-               case '7': case '8':
-                       cbp->name += 1;
-                       break;
-               case '9':
-                       if (cbp == SLIST_FIRST(sp->gp->cutq))
-                               SLIST_REMOVE_HEAD(sp->gp->cutq, q);
-                       else
-                               SLIST_REMOVE_AFTER(pre_cbp, q);
-                       del_cbp = cbp;
-                       break;
-               }
-               pre_cbp = cbp;
-       }
-       if (del_cbp != NULL) {
-               text_lfree(del_cbp->textq);
-               free(del_cbp);
-       }
-}
-
-/*
- * cut_line --
- *     Cut a portion of a single line.
- *
- * PUBLIC: int cut_line __P((SCR *, recno_t, size_t, size_t, CB *));
- */
-int
-cut_line(
-       SCR *sp,
-       recno_t lno,
-       size_t fcno,
-       size_t clen,
-       CB *cbp)
-{
-       TEXT *tp;
-       size_t len;
-       CHAR_T *p;
-
-       /* Get the line. */
-       if (db_get(sp, lno, DBG_FATAL, &p, &len))
-               return (1);
-
-       /* Create a TEXT structure that can hold the entire line. */
-       if ((tp = text_init(sp, NULL, 0, len)) == NULL)
-               return (1);
-
-       /*
-        * If the line isn't empty and it's not the entire line,
-        * copy the portion we want, and reset the TEXT length.
-        */
-       if (len != 0) {
-               if (clen == ENTIRE_LINE)
-                       clen = len - fcno;
-               MEMCPY(tp->lb, p + fcno, clen);
-               tp->len = clen;
-       }
-
-       /* Append to the end of the cut buffer. */
-       TAILQ_INSERT_TAIL(cbp->textq, tp, q);
-       cbp->len += tp->len;
-
-       return (0);
-}
-
-/*
- * cut_close --
- *     Discard all cut buffers.
- *
- * PUBLIC: void cut_close __P((GS *));
- */
-void
-cut_close(GS *gp)
-{
-       CB *cbp;
-
-       /* Free cut buffer list. */
-       while ((cbp = SLIST_FIRST(gp->cutq)) != NULL) {
-               if (!TAILQ_EMPTY(cbp->textq))
-                       text_lfree(cbp->textq);
-               SLIST_REMOVE_HEAD(gp->cutq, q);
-               free(cbp);
-       }
-
-       /* Free default cut storage. */
-       cbp = &gp->dcb_store;
-       if (!TAILQ_EMPTY(cbp->textq))
-               text_lfree(cbp->textq);
-}
-
-/*
- * text_init --
- *     Allocate a new TEXT structure.
- *
- * PUBLIC: TEXT *text_init __P((SCR *, const CHAR_T *, size_t, size_t));
- */
-TEXT *
-text_init(
-       SCR *sp,
-       const CHAR_T *p,
-       size_t len,
-       size_t total_len)
-{
-       TEXT *tp;
-
-       CALLOC(sp, tp, TEXT *, 1, sizeof(TEXT));
-       if (tp == NULL)
-               return (NULL);
-       /* ANSI C doesn't define a call to malloc(3) for 0 bytes. */
-       if ((tp->lb_len = total_len * sizeof(CHAR_T)) != 0) {
-               MALLOC(sp, tp->lb, CHAR_T *, tp->lb_len);
-               if (tp->lb == NULL) {
-                       free(tp);
-                       return (NULL);
-               }
-               if (p != NULL && len != 0)
-                       MEMCPY(tp->lb, p, len);
-       }
-       tp->len = len;
-       return (tp);
-}
-
-/*
- * text_lfree --
- *     Free a chain of text structures.
- *
- * PUBLIC: void text_lfree __P((TEXTH *));
- */
-void
-text_lfree(TEXTH *headp)
-{
-       TEXT *tp;
-
-       while ((tp = TAILQ_FIRST(headp)) != NULL) {
-               TAILQ_REMOVE(headp, tp, q);
-               text_free(tp);
-       }
-}
-
-/*
- * text_free --
- *     Free a text structure.
- *
- * PUBLIC: void text_free __P((TEXT *));
- */
-void
-text_free(TEXT *tp)
-{
-       if (tp->lb != NULL)
-               free(tp->lb);
-       free(tp);
-}
diff --git a/contrib/nvi/common/cut.h b/contrib/nvi/common/cut.h
deleted file mode 100644 (file)
index 30e9350..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * Copyright (c) 1991, 1993, 1994
- *     The Regents of the University of California.  All rights reserved.
- * Copyright (c) 1991, 1993, 1994, 1995, 1996
- *     Keith Bostic.  All rights reserved.
- *
- * See the LICENSE file for redistribution information.
- *
- *     $Id: cut.h,v 10.10 2012/02/11 15:52:33 zy Exp $
- */
-
-typedef struct _texth TEXTH;           /* TEXT list head structure. */
-TAILQ_HEAD(_texth, _text);
-
-/* Cut buffers. */
-struct _cb {
-       SLIST_ENTRY(_cb) q;             /* Linked list of cut buffers. */
-       TEXTH    textq[1];              /* Linked list of TEXT structures. */
-       /* XXXX Needed ? Can non ascii-chars be cut buffer names ? */
-       CHAR_T   name;                  /* Cut buffer name. */
-       size_t   len;                   /* Total length of cut text. */
-
-#define        CB_LMODE        0x01            /* Cut was in line mode. */
-       u_int8_t flags;
-};
-
-/* Lines/blocks of text. */
-struct _text {                         /* Text: a linked list of lines. */
-       TAILQ_ENTRY(_text) q;           /* Linked list of text structures. */
-       CHAR_T  *lb;                    /* Line buffer. */
-       size_t   lb_len;                /* Line buffer length. */
-       size_t   len;                   /* Line length. */
-
-       /* These fields are used by the vi text input routine. */
-       recno_t  lno;                   /* 1-N: file line. */
-
-#define        ENTIRE_LINE     ((size_t)-1)    /* cno: end of the line. */
-       size_t   cno;                   /* 0-N: file character in line. */
-       size_t   ai;                    /* 0-N: autoindent bytes. */
-       size_t   insert;                /* 0-N: bytes to insert (push). */
-       size_t   offset;                /* 0-N: initial, unerasable chars. */
-       size_t   owrite;                /* 0-N: chars to overwrite. */
-       size_t   R_erase;               /* 0-N: 'R' erase count. */
-       size_t   sv_cno;                /* 0-N: Saved line cursor. */
-       size_t   sv_len;                /* 0-N: Saved line length. */
-
-       /*
-        * These fields returns information from the vi text input routine.
-        *
-        * The termination condition.  Note, this field is only valid if the
-        * text input routine returns success.
-        *      TERM_BS:        User backspaced over the prompt.
-        *      TERM_CEDIT:     User entered <edit-char>.
-        *      TERM_CR:        User entered <carriage-return>; no data.
-        *      TERM_ESC:       User entered <escape>; no data.
-        *      TERM_OK:        Data available.
-        *      TERM_SEARCH:    Incremental search.
-        */
-       enum {
-           TERM_BS, TERM_CEDIT, TERM_CR, TERM_ESC, TERM_OK, TERM_SEARCH
-       } term;
-};
-
-/*
- * Get named buffer 'name'.
- * Translate upper-case buffer names to lower-case buffer names.
- */
-#define        CBNAME(sp, cbp, nch) {