svn commit: r254225 - in head: . contrib/nvi contrib/nvi/build contrib/nvi/catalog contrib/nvi/cl contrib/nvi/clib contrib/nvi/common contrib/nvi/docs/USD.doc/vi.man contrib/nvi/ex contrib/nvi/incl...

Peter Wemm peter at FreeBSD.org
Sun Aug 11 20:03:15 UTC 2013


Author: peter
Date: Sun Aug 11 20:03:12 2013
New Revision: 254225
URL: http://svnweb.freebsd.org/changeset/base/254225

Log:
  Update nvi-1.79 to 2.1.1-4334a8297f
  
  This is the gsoc-2011 project to clean up and backport multibyte support
  from other nvi forks in a form we can use.
  
  USE_WIDECHAR is on unless building for the rescue crunchgen. This should
  allow editing in the native locale encoding.
  
  USE_ICONV depends on make.conf having 'WITH_ICONV=YES' for now.  This
  adds the ability to do things like edit a KOI8-R file while having $LANG
  set to (say) en_US.UTF-8.  iconv is used to transcode the characters for
  display.
  
  Other points:
  * It uses gencat and catopen/etc instead of homegrown msg catalog stuff.
  * A lot of stuff has been trimmed out, eg: the perl and tcl bindings which
    we could never use in base anyway.
  * It uses ncursesw when in widechar mode.  This could be interesting.
  
  GSoC info: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1
  Repo at: https://github.com/lichray/nvi2
  
  Obtained from:  Zhihao Yuan <lichray at gmail.com>

Added:
  head/contrib/nvi/catalog/zh_CN.GB2312.base   (contents, props changed)
  head/contrib/nvi/catalog/zh_CN.GB2312.owner
  head/contrib/nvi/cl/extern.h   (contents, props changed)
  head/contrib/nvi/common/conv.c   (contents, props changed)
  head/contrib/nvi/common/conv.h   (contents, props changed)
  head/contrib/nvi/common/encoding.c   (contents, props changed)
  head/contrib/nvi/common/extern.h   (contents, props changed)
  head/contrib/nvi/common/multibyte.h   (contents, props changed)
  head/contrib/nvi/common/options_def.h   (contents, props changed)
  head/contrib/nvi/ex/ex_def.h   (contents, props changed)
  head/contrib/nvi/ex/extern.h   (contents, props changed)
  head/contrib/nvi/regex/
  head/contrib/nvi/regex/COPYRIGHT
  head/contrib/nvi/regex/WHATSNEW
  head/contrib/nvi/regex/cclass.h   (contents, props changed)
  head/contrib/nvi/regex/cname.h   (contents, props changed)
  head/contrib/nvi/regex/engine.c   (contents, props changed)
  head/contrib/nvi/regex/re_format.7   (contents, props changed)
  head/contrib/nvi/regex/regcomp.c   (contents, props changed)
  head/contrib/nvi/regex/regerror.c   (contents, props changed)
  head/contrib/nvi/regex/regex.3   (contents, props changed)
  head/contrib/nvi/regex/regex.h   (contents, props changed)
  head/contrib/nvi/regex/regex2.h   (contents, props changed)
  head/contrib/nvi/regex/regexec.c   (contents, props changed)
  head/contrib/nvi/regex/regfree.c   (contents, props changed)
  head/contrib/nvi/regex/utils.h   (contents, props changed)
  head/contrib/nvi/vi/extern.h   (contents, props changed)
  head/usr.bin/vi/catalog/
  head/usr.bin/vi/catalog/Makefile   (contents, props changed)
Deleted:
  head/contrib/nvi/FAQ
  head/contrib/nvi/LAYOUT
  head/contrib/nvi/build/
  head/contrib/nvi/catalog/dutch
  head/contrib/nvi/catalog/dutch.check
  head/contrib/nvi/catalog/english
  head/contrib/nvi/catalog/english.base
  head/contrib/nvi/catalog/english.check
  head/contrib/nvi/catalog/french
  head/contrib/nvi/catalog/french.check
  head/contrib/nvi/catalog/german
  head/contrib/nvi/catalog/german.check
  head/contrib/nvi/catalog/polish
  head/contrib/nvi/catalog/polish.check
  head/contrib/nvi/catalog/ru_RU.KOI8-R
  head/contrib/nvi/catalog/ru_RU.KOI8-R.check
  head/contrib/nvi/catalog/spanish
  head/contrib/nvi/catalog/spanish.check
  head/contrib/nvi/catalog/swedish
  head/contrib/nvi/catalog/swedish.check
  head/contrib/nvi/catalog/uk_UA.KOI8-U
  head/contrib/nvi/cl/cl_bsd.c
  head/contrib/nvi/clib/
  head/contrib/nvi/common/api.c
  head/contrib/nvi/ex/ex_perl.c
  head/contrib/nvi/ex/ex_tcl.c
  head/contrib/nvi/include/
  head/contrib/nvi/ip/
  head/contrib/nvi/ip_cl/
  head/contrib/nvi/perl_api/
  head/contrib/nvi/perl_scripts/
  head/contrib/nvi/tcl_api/
  head/contrib/nvi/tcl_scripts/
  head/contrib/nvi/tk/
  head/usr.bin/vi/port.h
Modified:
  head/Makefile.inc1
  head/contrib/nvi/LICENSE
  head/contrib/nvi/README
  head/contrib/nvi/catalog/Makefile
  head/contrib/nvi/catalog/README
  head/contrib/nvi/catalog/dump.c
  head/contrib/nvi/catalog/dutch.base   (contents, props changed)
  head/contrib/nvi/catalog/french.base   (contents, props changed)
  head/contrib/nvi/catalog/german.base   (contents, props changed)
  head/contrib/nvi/catalog/german.owner
  head/contrib/nvi/catalog/polish.base   (contents, props changed)
  head/contrib/nvi/catalog/ru_RU.KOI8-R.base   (contents, props changed)
  head/contrib/nvi/catalog/ru_RU.KOI8-R.owner
  head/contrib/nvi/catalog/spanish.base   (contents, props changed)
  head/contrib/nvi/catalog/swedish.base   (contents, props changed)
  head/contrib/nvi/catalog/uk_UA.KOI8-U.base   (contents, props changed)
  head/contrib/nvi/cl/README.signal
  head/contrib/nvi/cl/cl.h
  head/contrib/nvi/cl/cl_funcs.c
  head/contrib/nvi/cl/cl_main.c
  head/contrib/nvi/cl/cl_read.c
  head/contrib/nvi/cl/cl_screen.c
  head/contrib/nvi/cl/cl_term.c
  head/contrib/nvi/common/args.h
  head/contrib/nvi/common/common.h
  head/contrib/nvi/common/cut.c
  head/contrib/nvi/common/cut.h
  head/contrib/nvi/common/delete.c
  head/contrib/nvi/common/exf.c
  head/contrib/nvi/common/exf.h
  head/contrib/nvi/common/gs.h
  head/contrib/nvi/common/key.c
  head/contrib/nvi/common/key.h
  head/contrib/nvi/common/line.c
  head/contrib/nvi/common/log.c
  head/contrib/nvi/common/main.c
  head/contrib/nvi/common/mark.c
  head/contrib/nvi/common/mark.h
  head/contrib/nvi/common/mem.h
  head/contrib/nvi/common/msg.c
  head/contrib/nvi/common/msg.h
  head/contrib/nvi/common/options.c
  head/contrib/nvi/common/options.h
  head/contrib/nvi/common/options_f.c
  head/contrib/nvi/common/put.c
  head/contrib/nvi/common/recover.c
  head/contrib/nvi/common/screen.c
  head/contrib/nvi/common/screen.h
  head/contrib/nvi/common/search.c
  head/contrib/nvi/common/seq.c
  head/contrib/nvi/common/seq.h
  head/contrib/nvi/common/util.c
  head/contrib/nvi/common/util.h
  head/contrib/nvi/docs/USD.doc/vi.man/vi.1
  head/contrib/nvi/ex/ex.c
  head/contrib/nvi/ex/ex.h
  head/contrib/nvi/ex/ex_abbrev.c
  head/contrib/nvi/ex/ex_append.c
  head/contrib/nvi/ex/ex_args.c
  head/contrib/nvi/ex/ex_argv.c
  head/contrib/nvi/ex/ex_at.c
  head/contrib/nvi/ex/ex_bang.c
  head/contrib/nvi/ex/ex_cd.c
  head/contrib/nvi/ex/ex_cmd.c
  head/contrib/nvi/ex/ex_cscope.c
  head/contrib/nvi/ex/ex_delete.c
  head/contrib/nvi/ex/ex_display.c
  head/contrib/nvi/ex/ex_edit.c
  head/contrib/nvi/ex/ex_equal.c
  head/contrib/nvi/ex/ex_file.c
  head/contrib/nvi/ex/ex_filter.c
  head/contrib/nvi/ex/ex_global.c
  head/contrib/nvi/ex/ex_init.c
  head/contrib/nvi/ex/ex_join.c
  head/contrib/nvi/ex/ex_map.c
  head/contrib/nvi/ex/ex_mark.c
  head/contrib/nvi/ex/ex_mkexrc.c
  head/contrib/nvi/ex/ex_move.c
  head/contrib/nvi/ex/ex_open.c
  head/contrib/nvi/ex/ex_preserve.c
  head/contrib/nvi/ex/ex_print.c
  head/contrib/nvi/ex/ex_put.c
  head/contrib/nvi/ex/ex_quit.c
  head/contrib/nvi/ex/ex_read.c
  head/contrib/nvi/ex/ex_screen.c
  head/contrib/nvi/ex/ex_script.c
  head/contrib/nvi/ex/ex_set.c
  head/contrib/nvi/ex/ex_shell.c
  head/contrib/nvi/ex/ex_shift.c
  head/contrib/nvi/ex/ex_source.c
  head/contrib/nvi/ex/ex_stop.c
  head/contrib/nvi/ex/ex_subst.c
  head/contrib/nvi/ex/ex_tag.c
  head/contrib/nvi/ex/ex_txt.c
  head/contrib/nvi/ex/ex_undo.c
  head/contrib/nvi/ex/ex_usage.c
  head/contrib/nvi/ex/ex_util.c
  head/contrib/nvi/ex/ex_version.c
  head/contrib/nvi/ex/ex_visual.c
  head/contrib/nvi/ex/ex_write.c
  head/contrib/nvi/ex/ex_yank.c
  head/contrib/nvi/ex/ex_z.c
  head/contrib/nvi/ex/script.h
  head/contrib/nvi/ex/tag.h
  head/contrib/nvi/ex/version.h
  head/contrib/nvi/vi/getc.c
  head/contrib/nvi/vi/v_at.c
  head/contrib/nvi/vi/v_ch.c
  head/contrib/nvi/vi/v_cmd.c
  head/contrib/nvi/vi/v_delete.c
  head/contrib/nvi/vi/v_ex.c
  head/contrib/nvi/vi/v_increment.c
  head/contrib/nvi/vi/v_init.c
  head/contrib/nvi/vi/v_itxt.c
  head/contrib/nvi/vi/v_left.c
  head/contrib/nvi/vi/v_mark.c
  head/contrib/nvi/vi/v_match.c
  head/contrib/nvi/vi/v_paragraph.c
  head/contrib/nvi/vi/v_put.c
  head/contrib/nvi/vi/v_redraw.c
  head/contrib/nvi/vi/v_replace.c
  head/contrib/nvi/vi/v_right.c
  head/contrib/nvi/vi/v_screen.c
  head/contrib/nvi/vi/v_scroll.c
  head/contrib/nvi/vi/v_search.c
  head/contrib/nvi/vi/v_section.c
  head/contrib/nvi/vi/v_sentence.c
  head/contrib/nvi/vi/v_status.c
  head/contrib/nvi/vi/v_txt.c
  head/contrib/nvi/vi/v_ulcase.c
  head/contrib/nvi/vi/v_undo.c
  head/contrib/nvi/vi/v_util.c
  head/contrib/nvi/vi/v_word.c
  head/contrib/nvi/vi/v_xchar.c
  head/contrib/nvi/vi/v_yank.c
  head/contrib/nvi/vi/v_z.c
  head/contrib/nvi/vi/v_zexit.c
  head/contrib/nvi/vi/vi.c
  head/contrib/nvi/vi/vi.h
  head/contrib/nvi/vi/vs_line.c
  head/contrib/nvi/vi/vs_msg.c
  head/contrib/nvi/vi/vs_refresh.c
  head/contrib/nvi/vi/vs_relative.c
  head/contrib/nvi/vi/vs_smap.c
  head/contrib/nvi/vi/vs_split.c
  head/usr.bin/vi/Makefile
  head/usr.bin/vi/config.h
  head/usr.bin/vi/pathnames.h
Directory Properties:
  head/contrib/nvi/   (props changed)

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/Makefile.inc1	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1331,7 +1331,8 @@ build-tools: .MAKE
     usr.bin/awk \
     lib/libmagic \
     usr.bin/mkesdb_static \
-    usr.bin/mkcsmapper_static
+    usr.bin/mkcsmapper_static \
+    usr.bin/vi/catalog
 	${_+_}@${ECHODIR} "===> ${_tool} (obj,build-tools)"; \
 		cd ${.CURDIR}/${_tool} && \
 		${MAKE} DIRPRFX=${_tool}/ obj && \

Modified: head/contrib/nvi/LICENSE
==============================================================================
--- head/contrib/nvi/LICENSE	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/LICENSE	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1,14 +1,19 @@
-The vi program is freely redistributable.  You are welcome to copy, modify
-and share it with others under the conditions listed in this file.  If any
-company (not any individual!) finds vi sufficiently useful that you would
-have purchased it, or if any company wishes to redistribute it, contributions
-to the authors would be appreciated.
-
 /*-
+ * $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
+ *  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
@@ -18,11 +23,7 @@ to the authors would be appreciated.
  * 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
+ * 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.
  *

Modified: head/contrib/nvi/README
==============================================================================
--- head/contrib/nvi/README	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/README	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1,31 +1,32 @@
-#	@(#)README	8.147 (Berkeley) 10/19/96
+#	$Id: README,v 9.0 2012/10/07 09:13:54 zy Exp $
 
-This is the README for nex/nvi, a freely redistributable implementation
-of the ex/vi text editors originally distributed as part of the Fourth
-Berkeley Software Distribution (4BSD), by the University of California,
-Berkeley.
-
-The source code for nex/nvi can be retrieved by using anonymous ftp to
-ftp.cs.berkeley.edu.  The file ucb/4bsd/nvi.tar.gz is the gzip'd archive,
-of version 1.71 of nex/nvi.  This version is believed to be stable and
-problem free.  The file ucb/4bsd/nvi-###.ALPHA.tar.gz is a gzip'd archive
-of the current alpha-test release of nex/nvi.  This version reflects the
-current development tree, and will be more likely to have problems.
-
-See the file:
-	build/README	for information on building nvi.
-	LAYOUT		for a description of where everything is.
-	LICENSE		for the copyright and redistribution terms.
-
-If you have any questions about nex/nvi, problems with it, or concerns
-about the conditions for redistribution, please contact me:
-
-	Keith Bostic		+1-508-287-4781
-	394 E. Riding Dr.	bostic at bostic.com
-	Carlisle, MA 01741
-	USA
+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.
 
-Keith Bostic
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+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.  
@@ -63,51 +64,3 @@ o From the original vi acknowledgements,
 o And...
 	The financial support of UUNET Communications Services is gratefully
 	acknowledged.
-
-=-=-=-=-=-=-=-=-=-=-=
-o Status:
-
-This software is in beta test, and it's pretty stable.  Almost all of the
-historic functionality in ex/vi is there, the only major missing pieces
-are open mode and the lisp edit option.
-
-Nvi is largely 8-bit clean.  This isn't difficult to fix, and was left in
-during initial development to keep things simple.  Wide character support
-will be integrated at the same time that it is made fully 8-bit clean.
-
-There aren't a lot of new features in nex/nvi, but there are a few things
-you might like.  The "Additional Features" section of the reference work
-(docs/USD.doc/vi.ref/vi.ref.txt, docs/USD.doc/vi.ref/vi.ref.ps) has more
-information.
-
-=-=-=-=-=-=-=-=-=-=-=
-o Debugging:
-
-Code fixes are greatly appreciated, of course, but if you can't provide
-them, please email me as much information as you can as to how I might
-reproduce the bug, and I'll try to fix it locally.  Stack traces of core
-dumps are only rarely helpful -- an example file with a set of keystrokes
-that causes the problem is almost invariably necessary.  I know it's
-annoying, but simply playing with the bug until you can reproduce it at
-will, with minimal keystrokes, is immensely helpful to me.
-
-Please include the following in the bug report;
-
-	o The version of nvi you're running (use :version to get it).
-	o The row/column dimensions of the screen (80 x 32).
-	o Unless you're confident that they're not part of the problem,
-	  your startup files (.exrc, .nexrc) and the environment variable
-	  (EXINIT, NEXINIT) values.  (Cutting and pasting the output
-	  of ":set all" is usually sufficient.)
-
-If you want to do your own debugging, recompile the program with DEBUG
-defined.  (Configuring with --enable-debug will do this for you.)  This
-turns on the additional command-line option -D, that takes either s or w
-as an argument.  The option -Ds causes nvi to ignore the EXINIT and
-.exrc files on startup, and -Dw causes nvi to print out the process id
-and wait for you to enter a <carriage-return> to continue.
-
-If you're running a memory checker (e.g. Purify) on nvi, you will first
-want to  recompile everything with "-DPURIFY" set in the CFLAGS.  This
-initializes allocated pages in the DB code, and free's allocated memory
-at the end of the nvi execution.

Modified: head/contrib/nvi/catalog/Makefile
==============================================================================
--- head/contrib/nvi/catalog/Makefile	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/Makefile	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1,7 +1,8 @@
-#	@(#)Makefile	8.29 (Berkeley) 10/19/96
+#	$Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
 
-CAT=	dutch english french german polish ru_SU.KOI8-R spanish swedish
-FILES=	../cl/*.c ../common/*.c ../ex/*.c ../tk/*.c ../vi/*.c
+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}
 
@@ -18,13 +19,10 @@ ${CAT}: english.base
 			print "DUPLICATE MESSAGE NUMBER " $$1;		\
 			exit 1;						\
 		}							\
-		for (; nline < $$1; ++nline)				\
-			print "";					\
 		print $0;						\
 	}' |								\
-	sed -e '1s/^/VI_MESSAGE_CATALOG/'				\
-	    -e '/"/s/^[^"]*"//'						\
-	    -e '1!s/"$$/X/' > $@;					\
+	sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' |			\
+	gencat $@ /dev/stdin;						\
 	chmod 444 $@;							\
 	if grep DUPLICATE $@ > /dev/null; then				\
 		grep DUPLICATE $@;					\
@@ -34,7 +32,8 @@ ${CAT}: english.base
 	fi
 
 CHK=	dutch.check english.check french.check german.check \
-	polish.check ru_SU.KOI8-R.check spanish.check swedish.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 "... $@";							\
@@ -63,19 +62,14 @@ ${CHK}: ${CAT}
 	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 =========================;					\
-	echo "Duplicate messages, just message (this is okay):";	\
-	sed '/^$$/d' < $$f | 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/^"//' \
-	    -e 's/\\"/"/g' |\
-	sort -n > $@
+	    -e 's/^"//' |\
+	sort -nu > $@
 
 dump: dump.c
 	${CC} -O -o dump dump.c

Modified: head/contrib/nvi/catalog/README
==============================================================================
--- head/contrib/nvi/catalog/README	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/README	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1,15 +1,9 @@
-#	@(#)README	8.4 (Berkeley) 11/22/94
+#	$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.  It would certainly be possible to internationalize all the
-text strings in nvi, but it's unclear that it's the right thing to do.
-
-First, there's no portable way to do message catalogs.  The System V
-scheme is a reasonable choice, but none of the 4BSD derived systems
-support it.  So, catalogs are completely implemented within nvi, and
-don't require any library support.
+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 (`|')
@@ -33,19 +27,7 @@ For example:
 
 	msgq(sp, M_ERR, "002|Error: %d %x", arg1, arg2);
 
-is a format string that displays two arguments.  It is possible, however,
-to reorder the arguments or to not display all of them.  The convention
-nvi uses is the System V printf(3) convention, i.e. "%[0-9]*$" is the name
-of a specific, numbered argument.  For example:
-
-	msgq(sp, M_ERR, "002|Error: %2$d %1$x", arg1, arg2);
-
-displays the arguments in reverse order.
-
-If the system supports this convention in its library printf routines
-(as specified by the test #define NL_ARGMAX), nvi uses those routines.
-Otherwise, there is some serious magic going on in common/msg.c to make
-this all work.
+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
@@ -54,14 +36,16 @@ displaying the message on the screen.  F
 	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 in allocated
-memory.  For example:
+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);
-	msgq(sp, M_ERR, M("003", "File: %s"), p);
-	FREE_SPACE(sp, p, 0);
+	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.
@@ -71,63 +55,40 @@ 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
-"vi_<language>.base", e.g. the English one is "vi_english.base".  For
+"<language>.base", e.g. the English one is "english.base".  For
 example:
 
-	002 "Unable to create temporary file"
-	003 "Warning: %s is not a regular file"
-	004 "%s already locked, session is read-only"
-	005 "%s: remove"
-	006 "%s: close"
-	007 "%s: remove"
-	008 "%s: remove"
-	009 "Read-only file, not written; use ! to override"
-	010 "Read-only file, not written"
-
-are the first few lines of the current vi_english.base file.  Note that
-message #1 is missing -- the first message of each catalog is a special
-one, so that nvi can recognize message catalog files.  It's added by the
-Makefile script that creates the second version of the message catalog.
-
-The second file is the file used by nvi to access messages, and is a list
-of the messages, one per line:
-
-	VI_MESSAGE_CATALOG
-	Unable to create temporary fileX
-	Warning: %s is not a regular fileX
-	%s already locked, session is read-onlyX
-	%s: removeX
-	%s: closeX
-	%s: removeX
-	%s: removeX
-	Read-only file, not written; use ! to overrideX
-	Read-only file, not writtenX
-
-Note that all messages have had a trailing 'X' character appended.  This
-is to provide nvi a place to store a trailing nul for the message so that
-C library routines that expect one won't be disappointed.
+	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. "vi_english".  The second
-files are automatically created from the first files.
+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 vi_english.base to a file that you can modify , e.g.  "cp
-vi_english.base vi_german.base".  For each of the messages in the file,
-replace the message with the string that you want to use.  To find out
-what the arguments to a message are, I'm afraid you'll have to search
-the source code for the message number.  You can find them fairly quickly
-by doing:
-
-	cd ..; egrep '123\|' */*.[chys]
-
-I'm sorry that there's not an easier way, but I couldn't think of
-anything that wasn't a lot of work.
-
-If, for some reason, you don't have the file vi_english.base, or you
-have new sources for which you want to create a new base catalog, you
-can create it by running the command "make english" in the catalog
-directory.
+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
@@ -156,11 +117,11 @@ 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 "vi_XXXX", where XXXX is the
-value of the LANG environmental variable, if it's set, or the value of
-the LC_MESSAGES environmental variable if it's not.  If neither of those
-environmental variables are set, or if the option doesn't end in a '/',
-the option is treated as the full path name of the message catalog to use.
+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.

Modified: head/contrib/nvi/catalog/dump.c
==============================================================================
--- head/contrib/nvi/catalog/dump.c	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/dump.c	Sun Aug 11 20:03:12 2013	(r254225)
@@ -105,10 +105,10 @@ main(argc, argv)
 	for (; *argv != NULL; ++argv) {
 		if ((fp = fopen(*argv, "r")) == NULL) {
 			perror(*argv);
-			exit (1);
+			return (1);
 		}
 		parse(fp);
 		(void)fclose(fp);
 	}
-	exit (0);
+	return (0);
 }

Modified: head/contrib/nvi/catalog/dutch.base
==============================================================================
--- head/contrib/nvi/catalog/dutch.base	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/dutch.base	Sun Aug 11 20:03:12 2013	(r254225)
@@ -43,8 +43,7 @@
 044 "De lisp optie is niet ondersteund"
 045 "messages niet uitgeschakeld: %s"
 046 "messages niet geactiveerd: %s"
-048 "De paragraph optie moet karakter paren bevatten"
-049 "De section optie moet karakter paren bevatten"
+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"
@@ -97,16 +96,16 @@
 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"
+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"
+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"
+115 "Geen voorgaand commando om \"!\" te vervangen"
 116 "Geen bestandsnaam voor %%"
 117 "Geen bestandsnaam voor #"
 118 "Fout: execl: %s"
@@ -119,14 +118,14 @@
 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""
+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"
+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. "
@@ -296,7 +295,7 @@
 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"
+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"

Modified: head/contrib/nvi/catalog/french.base
==============================================================================
--- head/contrib/nvi/catalog/french.base	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/french.base	Sun Aug 11 20:03:12 2013	(r254225)
@@ -43,8 +43,7 @@
 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"
-048 "L'option de paragraphe doit être en groupe de deux caractères"
-049 "L'option de section doit être en groupe de deux caractères"
+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"
@@ -97,16 +96,16 @@
 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"
+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"
+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"!""
+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"
@@ -126,7 +125,7 @@
 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é"
+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"
@@ -200,7 +199,6 @@
 207 "La commande Q nécessite une interface terminal ex"
 208 "Pas de commande à répéter"
 209 "Le fichier est vide"
-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"
@@ -293,12 +291,11 @@
 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é"
-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"
+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"

Modified: head/contrib/nvi/catalog/german.base
==============================================================================
--- head/contrib/nvi/catalog/german.base	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/german.base	Sun Aug 11 20:03:12 2013	(r254225)
@@ -1,67 +1,66 @@
-002 "Zeilenlaengen Ueberlauf"
-003 "kann Zeile %lu nicht loeschen"
-004 "kann an Zeile %lu nicht anfuegen"
-005 "kann in Zeile %lu nicht einfuegen"
+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, rueckgaengig machen nicht moeglich"
-011 "Keine Aenderungen rueckgaengig zu machen"
-012 "Keine Protokollierung aktiv, rueckgaengig machen nicht moeglich"
-013 "Keine Protokollierung aktiv, Wiederholung von Aenderungen nicht moeglich"
-014 "Keine Aenderungen zu wiederholen"
+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 muss ein Terminal sein"
+016 "Vi's Standardein- und -ausgabe muß ein Terminal sein"
 017 "Marke %s: nicht gesetzt"
-018 "Marke %s: die Zeile wurde geloescht"
+018 "Marke %s: die Zeile wurde gelöscht"
 019 "Marke %s: Cursorposition existiert nicht mehr"
 020 "Fehler: "
 021 "neue Datei"
-022 "Name geaendert"
-023 "geaendert"
-024 "nicht geaendert"
-025 "NICHT GELOCKED"
+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 fuer %s Option nicht moeglich"
+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"
+035 "set: %s ist keine Boolsche Option"
 036 "set: %s Option: %s"
-037 "set: %s Option: %s: Wert Ueberlauf"
-038 "set: %s Option: %s ist eine ungueltige Zahl"
-039 "set: %s ist keine boolsche Option"
-040 "Anzeige hat zu wenig Spalten, weniger als %d"
-041 "Anzeige hat zu viele Spalten, mehr als %d"
-042 "Anzeige hat zu wenig Zeilen, weniger als %d"
-043 "Anzeige hat zu viele Zeilen, mehr als %d"
-044 "Die lisp Option ist nicht implementiert"
-045 "Messages nicht abgeschalten: %s"
-046 "Messages nicht eingeschalten: %s"
-048 "Die paragraph Option muss Gruppen zu zwei Zeichen enthalten"
-049 "Die section Option muss Gruppen zu zwei Zeichen enthalten"
+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 "Aenderungen nicht wiederherstellbar falls die Editorsitzung schief geht"
-057 "kopiere Datei fuer Wiederherstellung ..."
+056 "Änderungen nicht wiederherstellbar, falls die Editorsitzung schiefgeht"
+057 "kopiere Datei für Wiederherstellung ..."
 058 "Rettungsmechanismus funktioniert nicht: %s"
-059 "Aenderungen nicht wiederherstellbar falls die Editorsitzung schief geht"
+059 "Änderungen nicht wiederherstellbar, falls die Editorsitzung schiefgeht"
 060 "Sicherung der Datei gescheitert: %s"
-061 "kopiere Datei fuer Wiederherstellung ..."
-062 "Informationen ueber den Benutzer mit id %u nicht gefunden"
-063 "Wiederherstellungsdatei kann nicht gesperrt werden"
-064 "Puffer der Wiederherstellungsdatei uebergelaufen"
+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 aeltere Versionen dieser Datei von Ihnen 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"
@@ -69,110 +68,110 @@
 074 "Kein altes Suchmuster"
 075 "Suchmuster nicht gefunden"
 076 "Dateianfang erreicht, ohne das Suchmuster zu finden"
-077 "Suche umgeschlagen"
+077 "Suche beginnt von vorn"
 078 "suche ..."
 079 "Keine nichtdruckbaren Zeichen gefunden"
 080 "Unbekannter Kommandoname"
-082 "%s: Kommando im ex Modus nicht verfuegbar"
-083 "Count darf nicht Null sein"
+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: temporaerer Puffer nicht freigegeben"
+087 "%s: temporärer Puffer nicht freigegeben"
 088 "Flagoffset vor Zeile 1"
 089 "Flagoffset hinter dem Dateiende"
-090 "@ mit Bereich lief als Datei/Anzeige geaendert wurde"
-091 "globales oder v-Kommando lief als Datei/Anzeige geaendert wurde"
-092 "Ex Kommando misslungen: restliche Kommandoeingabe ignoriert"
-093 "Ex Kommando misslungen: umdefinierte Tasten ungueltig"
+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 "Adresswert zu gross"
-100 "Adresswert zu klein"
-101 "Ungueltige Adresskombination"
-102 "Ungueltige Adresse: nur %lu Zeilen in der Datei"
-103 "Ungueltige Adresse: die Datei ist leer"
+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 Abkuerzungen zum Anzeigen"
-106 "Abkuerzungen muessen mit einem "Wort"-Zeichen enden"
-107 "Abkuerzungen duerfen keine Tabulator- oder Leerzeichen enthalten"
-108 "In Abkuerzungen duerfen ausser am Ende Wort- und Nicht-Wort-Zeichen nicht gemischt werden"
-109 ""%s" ist keine Abkuerzung"
-110 "Vi Kommando misslungen: umdefinierte Tasten ungueltig"
-111 "Keine weiteren Dateien zu edieren"
-112 "Keine vorhergehenden Dateien zu edieren"
-113 "Keine vorhergehenden Dateien fuer rewind"
+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 fuer %%"
-117 "Kein Dateiname fuer #"
+115 "Kein vorhergehendes Kommando, um \"!\" zu ersetzen"
+116 "Kein Dateiname für %%"
+117 "Kein Dateiname für #"
 118 "Fehler: execl: %s"
-119 "I/O Fehler: %s"
-120 "Datei wurde seit dem letzten vollstaendigen Schreiben geaendert; schreibe oder verwende ! zum ignorieren"
+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: gehoehrt weder Ihnen noch root"
-126 "%s/%s: nicht gelesen: gehoehrt nicht Ihnen"
-127 "%s/%s: nicht gelesen: anderer Benutzer als Eigentuemer hat Schreibrecht"
-128 "%s: nicht gelesen: gehoehrt weder Ihnen noch root"
-129 "%s: nicht gelesen: gehoehrt nicht Ihnen"
-130 "%s: nicht gelesen: anderer Benutzer als Eigentuemer hat Schreibrecht"
+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 Eingabe-Map Eintrag"
-133 "Kein Kommando-Map Eintrag"
+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 muessen einzelne Buchstaben sein"
-137 "%s existiert, nicht geschrieben; verwende ! zum Ueberschreiben"
+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, dass die open Option gesetzt ist"
+140 "Das open Kommando verlangt, daß die open Option gesetzt ist"
 141 "Das open Kommando ist nocht nicht implementiert"
-142 "Rettung dieser Datei nicht moeglich"
+142 "Rettung dieser Datei nicht möglich"
 143 "Datei gerettet"
 144 "%s wurde in zu viele Dateinamen expandiert"
-145 "Nur regulaere Dateien und named pipes koennen gelesen werden"
-146 "%s: Lesesperrung war nicht moeglich"
+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 Hintegrundanzeigen vorhanden"
-150 "Das script Kommando ist nur im vi Modus verfuegbar"
-151 "Kein Kommando auszufuehren"
+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 "Count ueberlauf"
-154 "Count unterlauf"
-155 "Regulaerer Ausdruck angegeben; r Flag bedeutungslos"
-156 "Die #, l und p Flags koennen im vi Modus nicht mit dem c Flag kombiniert werden"
-157 "Keine Uebereinstimmung gefunden"
+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 Eintraege auf dem 'tag'-Stack; verwende :display t[ags]"
+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 "Druecke Enter um fortzufahren: "
+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 edieren"
+167 "%d weitere Dateien zu editieren"
 168 "Puffer %s ist leer"
-169 "Bestaetige Aenderung [n]"
+169 "Bestätige Änderung [n]"
 170 "Unterbrochen."
-171 "Kein vorhergehender Puffer zum Ausfuehren"
-172 "Kein vorhergehender regulaerer Ausdruck"
-173 "Das Kommando %s verlangt, dass bereits eine Datei eingelesen wurde"
+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 dass die open Option gesetzt ist"
+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 edieren"
+180 "Keine vorhergehende Datei zu editieren"
 181 "Cursor nicht auf einer Zahl"
-182 "Sich ergebende Zahl ist zu gross"
+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"
@@ -180,11 +179,11 @@
 187 "Keine andere Anzeige zum Hinschalten"
 188 "Zeichen nach Suchmuster, Zeilenoffset und/oder z Kommando"
 189 "Kein altes Suchmuster"
-190 "Suche zur urspruenglichen Position umgeschlagen"
-191 "Abkuerzung ueberschreitet Expansionsgrenze: Zeichen weggelassen"
+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 loeschen"
+194 "Keine weiteren Zeichen zu löschen"
 195 "Bewegung hinter das Dateiende"
 196 "Bewegung hinter das Zeilenende"
 197 "Keine Cursorbewegung gemacht"
@@ -196,73 +195,73 @@
 203 "Bereits am Zeilenende"
 204 "%s ist kein vi Kommando"
 205 "Benutzung: %s"
-206 "Keine Zeichen zu loeschen"
-207 "Das Q Kommando benoetigt das ex Terminal Interface"
+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 gross, max ist %u"
-215 "Anfuegen"
-216 "Aendern"
+214 "Wert der Window Option ist zu groß, max ist %u"
+215 "Anhängen"
+216 "Ändern"
 217 "Kommando"
-218 "Einfuegen"
+218 "Einfügen"
 219 "Ersetzen"
 220 "Bewegung hinter das Anzeigenende"
 221 "Bewegung vor den Anzeigenanfang"
-222 "Anzeige muss zum Zerlegen groesser als %d sein"
+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 ediert"
+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 vergroessert werden"
-230 "Diese Anzeige kann nicht gestopped werden"
-231 "Unterbrochen: umdefinierte Tasten ungueltig"
-232 "vi: temporaerer Puffer nicht freigegeben"
+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 groesser als %lu"
+235 "Zahl größer als %lu"
 236 "Unterbrochen"
-237 "Nicht moeglich temporaere Datei anzulegen"
-238 "Warnung: %s ist keine regulaere Datei"
-239 "%s ist bereits gesperrt, nur-lese Editorsitzung"
-240 "%s: loeschen"
-241 "%s: schliessen"
-242 "%s: loeschen"
-243 "%s: loeschen"
-244 "Nur-lese Datei, nicht geschrieben; verwende ! zum Ueberschreiben"
-245 "Nur-lese Datei, nicht geschrieben"
-246 "%s existiert, nicht geschrieben; verwende ! zum Ueberschreiben"
+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 Ueberschreiben"
+248 "Teil der Datei, nicht geschrieben; verwende ! zum Überschreiben"
 249 "Teil der Datei, nicht geschrieben"
-250 "%s: Datei wurde spaeter als diese Kopie veraendert; verwende ! zum Ueberschreiben"
-251 "%s: Datei wurde spaeter als diese Kopie veraendert"
-252 "%s: Schreibsperrung war nicht moeglich"
+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 regulaere Datei"
-260 "%s: gehoehrt nicht Ihnen"
-261 "%s: anderer Benutzer als Eigentuemer hat Zugriff"
-262 "Datei wurde seit dem letzten vollstaendigen Schreiben geaendert; schreibe oder verwende ! zum ignorieren"
-263 "Datei wurde seit dem letzten vollstaendigen Schreiben geaendert; schreibe oder verwende :edit! zum ignorieren"
-264 "Datei wurde seit dem letzten vollstaendigen Schreiben geaendert; schreibe oder verwende ! zum ignorieren"
-265 "Datei ist temporaer; beim Verlassen gehen die Aenderungen verloren"
-266 "Nur-lese Datei, Aenderungen werden nicht automatisch geschrieben"
+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 "bestaetigen [ynq]"
-269 "Druecke beliebige Taste um fortzufahren"
-270 "Druecke beliebige Taste um fortzufahren [: um weitere Kommandos einzugeben]: "
-271 "Druecke beliebige Taste um fortzufahren [q zum Verlassen]: "
-272 "Diese Form von %s benoetigt das ex Terminal-Interface"
+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 schief gelaufen, noch keine Datei eingelesen"
+274 "Kommando schiefgelaufen, noch keine Datei eingelesen"
 275 " weiter?"
 276 "unerwartetes Zeichen - Ereignis"
 277 "unerwartetes Dateiende - Ereignis"
@@ -271,18 +270,18 @@
 280 "unerwartetes Verlassen - Ereignis"
 281 "unerwartetes Wiederherstellungs - Ereignis"
 282 "Bereits am letzten 'tag' dieser Gruppe"
-283 "Das %s Kommando benoetigt das ex Terminal-Interface"
-284 "Diese Form von %s wird nicht unterstuetzt wenn die 'secure edit' - Option gesetzt ist"
+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 unterstuetzt wenn die 'secure edit' - Option gesetzt ist"
-290 "Das %s Kommando wird nicht unterstuetzt wenn die 'secure edit' - Option gesetzt ist"
+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 "angefuegt"
-294 "geaendert"
-295 "geloescht"
+293 "angefügt"
+294 "geändert"
+295 "gelöscht"
 296 "verbunden"
 297 "verschoben"
 298 "geschoben"
@@ -290,18 +289,18 @@
 300 "Zeile"
 301 "Zeilen"
 302 "Vi wurde nicht mit dem Tcl Interpreter gelinkt"
-303 "Datei wurde seit dem letzten Schreiben veraendert."
-304 "Shell Expansion nicht geklappt"
-305 "Es ist keine %s Edieroption angegeben"
+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 auszufuehren"
-308 "Druecke <CR> um ein Kommando auszufuehren, :q zum verlassen"
-309 "Verwende "cscope help" fuer Hilestellung"
+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: angefuegt: %lu Zeilen, %lu Zeichen"
-316 "unerwartetes Groessenveraenderungs - Ereignis"
+315 "%s: angefügt: %lu Zeilen, %lu Zeichen"
+316 "unerwartetes Größenveränderungs - Ereignis"
 317 "%d Dateien zu edieren"

Modified: head/contrib/nvi/catalog/german.owner
==============================================================================
--- head/contrib/nvi/catalog/german.owner	Sun Aug 11 18:57:27 2013	(r254224)
+++ head/contrib/nvi/catalog/german.owner	Sun Aug 11 20:03:12 2013	(r254225)

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


More information about the svn-src-head mailing list