From owner-svn-src-vendor@FreeBSD.ORG Sun Aug 11 09:45:00 2013 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 0786FE6; Sun, 11 Aug 2013 09:45:00 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E51712C88; Sun, 11 Aug 2013 09:44:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r7B9ixue070082; Sun, 11 Aug 2013 09:44:59 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r7B9iwxR070074; Sun, 11 Aug 2013 09:44:58 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201308110944.r7B9iwxR070074@svn.freebsd.org> From: Peter Wemm Date: Sun, 11 Aug 2013 09:44:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r254211 - in vendor/nvi/dist: . build catalog cl clib common contrib docs docs/USD.doc/vi.man docs/USD.doc/vi.ref ex include ip ip_cl perl_api perl_scripts regex tcl_api tcl_scripts tk vi X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Aug 2013 09:45:00 -0000 Author: peter Date: Sun Aug 11 09:44:58 2013 New Revision: 254211 URL: http://svnweb.freebsd.org/changeset/base/254211 Log: Import nvi-2.1.1-4334a8297f into the work area. This is the gsoc-2011 project to clean up and backport multibyte support from other nvi forks in a form we can use. 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 Added: vendor/nvi/dist/catalog/polish.base (contents, props changed) vendor/nvi/dist/catalog/polish.owner vendor/nvi/dist/catalog/uk_UA.KOI8-U.base (contents, props changed) vendor/nvi/dist/catalog/uk_UA.KOI8-U.owner vendor/nvi/dist/catalog/zh_CN.GB2312.base (contents, props changed) vendor/nvi/dist/catalog/zh_CN.GB2312.owner vendor/nvi/dist/cl/extern.h (contents, props changed) vendor/nvi/dist/common/conv.c (contents, props changed) vendor/nvi/dist/common/conv.h (contents, props changed) vendor/nvi/dist/common/encoding.c (contents, props changed) vendor/nvi/dist/common/extern.h (contents, props changed) vendor/nvi/dist/common/multibyte.h (contents, props changed) vendor/nvi/dist/common/options_def.h (contents, props changed) vendor/nvi/dist/ex/ex_def.h (contents, props changed) vendor/nvi/dist/ex/extern.h (contents, props changed) vendor/nvi/dist/regex/ vendor/nvi/dist/regex/COPYRIGHT vendor/nvi/dist/regex/WHATSNEW vendor/nvi/dist/regex/cclass.h (contents, props changed) vendor/nvi/dist/regex/cname.h (contents, props changed) vendor/nvi/dist/regex/engine.c (contents, props changed) vendor/nvi/dist/regex/re_format.7 (contents, props changed) vendor/nvi/dist/regex/regcomp.c (contents, props changed) vendor/nvi/dist/regex/regerror.c (contents, props changed) vendor/nvi/dist/regex/regex.3 (contents, props changed) vendor/nvi/dist/regex/regex.h (contents, props changed) vendor/nvi/dist/regex/regex2.h (contents, props changed) vendor/nvi/dist/regex/regexec.c (contents, props changed) vendor/nvi/dist/regex/regfree.c (contents, props changed) vendor/nvi/dist/regex/utils.h (contents, props changed) vendor/nvi/dist/vi/extern.h (contents, props changed) Deleted: vendor/nvi/dist/FAQ vendor/nvi/dist/LAYOUT vendor/nvi/dist/build/ vendor/nvi/dist/catalog/dutch vendor/nvi/dist/catalog/dutch.check vendor/nvi/dist/catalog/english vendor/nvi/dist/catalog/english.base vendor/nvi/dist/catalog/english.check vendor/nvi/dist/catalog/french vendor/nvi/dist/catalog/french.check vendor/nvi/dist/catalog/german vendor/nvi/dist/catalog/german.check vendor/nvi/dist/catalog/ru_RU.KOI8-R vendor/nvi/dist/catalog/ru_RU.KOI8-R.check vendor/nvi/dist/catalog/ru_SU.KOI8-R vendor/nvi/dist/catalog/ru_SU.KOI8-R.base vendor/nvi/dist/catalog/ru_SU.KOI8-R.check vendor/nvi/dist/catalog/ru_SU.KOI8-R.owner vendor/nvi/dist/catalog/spanish vendor/nvi/dist/catalog/spanish.check vendor/nvi/dist/catalog/swedish vendor/nvi/dist/catalog/swedish.check vendor/nvi/dist/cl/cl_bsd.c vendor/nvi/dist/clib/ vendor/nvi/dist/common/api.c vendor/nvi/dist/contrib/ vendor/nvi/dist/ex/ex_perl.c vendor/nvi/dist/ex/ex_tcl.c vendor/nvi/dist/include/ vendor/nvi/dist/ip/ vendor/nvi/dist/ip_cl/ vendor/nvi/dist/perl_api/ vendor/nvi/dist/perl_scripts/ vendor/nvi/dist/tcl_api/ vendor/nvi/dist/tcl_scripts/ vendor/nvi/dist/tk/ Modified: vendor/nvi/dist/LICENSE vendor/nvi/dist/README vendor/nvi/dist/catalog/Makefile vendor/nvi/dist/catalog/README vendor/nvi/dist/catalog/dump.c vendor/nvi/dist/catalog/dutch.base (contents, props changed) vendor/nvi/dist/catalog/french.base (contents, props changed) vendor/nvi/dist/catalog/german.base (contents, props changed) vendor/nvi/dist/catalog/german.owner vendor/nvi/dist/catalog/ru_RU.KOI8-R.base (contents, props changed) vendor/nvi/dist/catalog/ru_RU.KOI8-R.owner vendor/nvi/dist/catalog/spanish.base (contents, props changed) vendor/nvi/dist/catalog/swedish.base (contents, props changed) vendor/nvi/dist/cl/README.signal vendor/nvi/dist/cl/cl.h vendor/nvi/dist/cl/cl_funcs.c vendor/nvi/dist/cl/cl_main.c vendor/nvi/dist/cl/cl_read.c vendor/nvi/dist/cl/cl_screen.c vendor/nvi/dist/cl/cl_term.c vendor/nvi/dist/common/args.h vendor/nvi/dist/common/common.h vendor/nvi/dist/common/cut.c vendor/nvi/dist/common/cut.h vendor/nvi/dist/common/delete.c vendor/nvi/dist/common/exf.c vendor/nvi/dist/common/exf.h vendor/nvi/dist/common/gs.h vendor/nvi/dist/common/key.c vendor/nvi/dist/common/key.h vendor/nvi/dist/common/line.c vendor/nvi/dist/common/log.c vendor/nvi/dist/common/main.c vendor/nvi/dist/common/mark.c vendor/nvi/dist/common/mark.h vendor/nvi/dist/common/mem.h vendor/nvi/dist/common/msg.c vendor/nvi/dist/common/msg.h vendor/nvi/dist/common/options.c vendor/nvi/dist/common/options.h vendor/nvi/dist/common/options_f.c vendor/nvi/dist/common/put.c vendor/nvi/dist/common/recover.c vendor/nvi/dist/common/screen.c vendor/nvi/dist/common/screen.h vendor/nvi/dist/common/search.c vendor/nvi/dist/common/seq.c vendor/nvi/dist/common/seq.h vendor/nvi/dist/common/util.c vendor/nvi/dist/common/util.h vendor/nvi/dist/docs/USD.doc/vi.man/vi.1 vendor/nvi/dist/docs/USD.doc/vi.ref/vi.ref vendor/nvi/dist/docs/help vendor/nvi/dist/ex/ex.c vendor/nvi/dist/ex/ex.h vendor/nvi/dist/ex/ex_abbrev.c vendor/nvi/dist/ex/ex_append.c vendor/nvi/dist/ex/ex_args.c vendor/nvi/dist/ex/ex_argv.c vendor/nvi/dist/ex/ex_at.c vendor/nvi/dist/ex/ex_bang.c vendor/nvi/dist/ex/ex_cd.c vendor/nvi/dist/ex/ex_cmd.c vendor/nvi/dist/ex/ex_cscope.c vendor/nvi/dist/ex/ex_delete.c vendor/nvi/dist/ex/ex_display.c vendor/nvi/dist/ex/ex_edit.c vendor/nvi/dist/ex/ex_equal.c vendor/nvi/dist/ex/ex_file.c vendor/nvi/dist/ex/ex_filter.c vendor/nvi/dist/ex/ex_global.c vendor/nvi/dist/ex/ex_init.c vendor/nvi/dist/ex/ex_join.c vendor/nvi/dist/ex/ex_map.c vendor/nvi/dist/ex/ex_mark.c vendor/nvi/dist/ex/ex_mkexrc.c vendor/nvi/dist/ex/ex_move.c vendor/nvi/dist/ex/ex_open.c vendor/nvi/dist/ex/ex_preserve.c vendor/nvi/dist/ex/ex_print.c vendor/nvi/dist/ex/ex_put.c vendor/nvi/dist/ex/ex_quit.c vendor/nvi/dist/ex/ex_read.c vendor/nvi/dist/ex/ex_screen.c vendor/nvi/dist/ex/ex_script.c vendor/nvi/dist/ex/ex_set.c vendor/nvi/dist/ex/ex_shell.c vendor/nvi/dist/ex/ex_shift.c vendor/nvi/dist/ex/ex_source.c vendor/nvi/dist/ex/ex_stop.c vendor/nvi/dist/ex/ex_subst.c vendor/nvi/dist/ex/ex_tag.c vendor/nvi/dist/ex/ex_txt.c vendor/nvi/dist/ex/ex_undo.c vendor/nvi/dist/ex/ex_usage.c vendor/nvi/dist/ex/ex_util.c vendor/nvi/dist/ex/ex_version.c vendor/nvi/dist/ex/ex_visual.c vendor/nvi/dist/ex/ex_write.c vendor/nvi/dist/ex/ex_yank.c vendor/nvi/dist/ex/ex_z.c vendor/nvi/dist/ex/script.h vendor/nvi/dist/ex/tag.h vendor/nvi/dist/ex/version.h vendor/nvi/dist/vi/getc.c vendor/nvi/dist/vi/v_at.c vendor/nvi/dist/vi/v_ch.c vendor/nvi/dist/vi/v_cmd.c vendor/nvi/dist/vi/v_delete.c vendor/nvi/dist/vi/v_ex.c vendor/nvi/dist/vi/v_increment.c vendor/nvi/dist/vi/v_init.c vendor/nvi/dist/vi/v_itxt.c vendor/nvi/dist/vi/v_left.c vendor/nvi/dist/vi/v_mark.c vendor/nvi/dist/vi/v_match.c vendor/nvi/dist/vi/v_paragraph.c vendor/nvi/dist/vi/v_put.c vendor/nvi/dist/vi/v_redraw.c vendor/nvi/dist/vi/v_replace.c vendor/nvi/dist/vi/v_right.c vendor/nvi/dist/vi/v_screen.c vendor/nvi/dist/vi/v_scroll.c vendor/nvi/dist/vi/v_search.c vendor/nvi/dist/vi/v_section.c vendor/nvi/dist/vi/v_sentence.c vendor/nvi/dist/vi/v_status.c vendor/nvi/dist/vi/v_txt.c vendor/nvi/dist/vi/v_ulcase.c vendor/nvi/dist/vi/v_undo.c vendor/nvi/dist/vi/v_util.c vendor/nvi/dist/vi/v_word.c vendor/nvi/dist/vi/v_xchar.c vendor/nvi/dist/vi/v_yank.c vendor/nvi/dist/vi/v_z.c vendor/nvi/dist/vi/v_zexit.c vendor/nvi/dist/vi/vi.c vendor/nvi/dist/vi/vi.h vendor/nvi/dist/vi/vs_line.c vendor/nvi/dist/vi/vs_msg.c vendor/nvi/dist/vi/vs_refresh.c vendor/nvi/dist/vi/vs_relative.c vendor/nvi/dist/vi/vs_smap.c vendor/nvi/dist/vi/vs_split.c Modified: vendor/nvi/dist/LICENSE ============================================================================== --- vendor/nvi/dist/LICENSE Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/LICENSE Sun Aug 11 09:44:58 2013 (r254211) @@ -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: vendor/nvi/dist/README ============================================================================== --- vendor/nvi/dist/README Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/README Sun Aug 11 09:44:58 2013 (r254211) @@ -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@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 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: vendor/nvi/dist/catalog/Makefile ============================================================================== --- vendor/nvi/dist/catalog/Makefile Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/catalog/Makefile Sun Aug 11 09:44:58 2013 (r254211) @@ -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 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 \ - 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: vendor/nvi/dist/catalog/README ============================================================================== --- vendor/nvi/dist/catalog/README Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/catalog/README Sun Aug 11 09:44:58 2013 (r254211) @@ -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_.base", e.g. the English one is "vi_english.base". For +".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: vendor/nvi/dist/catalog/dump.c ============================================================================== --- vendor/nvi/dist/catalog/dump.c Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/catalog/dump.c Sun Aug 11 09:44:58 2013 (r254211) @@ -2,43 +2,17 @@ * 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. + * %sccs.include.redist.c% */ #ifndef lint static char copyright[] = -"@(#) Copyright (c) 1992, 1993, 1994\n\ +"%Z% 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"; +static char sccsid[] = "$Id: dump.c,v 8.2 2011/07/14 00:05:25 zy Exp $"; #endif /* not lint */ #include @@ -105,10 +79,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: vendor/nvi/dist/catalog/dutch.base ============================================================================== --- vendor/nvi/dist/catalog/dutch.base Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/catalog/dutch.base Sun Aug 11 09:44:58 2013 (r254211) @@ -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 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: vendor/nvi/dist/catalog/french.base ============================================================================== --- vendor/nvi/dist/catalog/french.base Sun Aug 11 08:38:10 2013 (r254210) +++ vendor/nvi/dist/catalog/french.base Sun Aug 11 09:44:58 2013 (r254211) @@ -1,309 +1,306 @@ -002 "D‚passement de longueur de ligne" +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" +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" +007 "impossible d'obtenir la dernière ligne" +008 "Erreur : impossible de récupérer la ligne %lu" 009 "Fichier journal" -010 "Aucune connexion n'‚tant effectu‚e, impossible d'annuler" -011 "Aucune action … annuler" -012 "Aucune connexion n'‚tant effectu‚e, impossible d'annuler" -013 "Aucune connexion 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" +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 "DEVERROUILLE" +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" +031 "Impossible de configurer option %s par défaut" 032 "Utilisation : %s" -033 "D‚finition : pas d'option %s : 'tout d‚finir' 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" -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" -053 "Le tampon par d‚faut est vide" +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" +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" +072 "Fichier vide, rien à rechercher" 073 "Fin de fichier atteinte sans trouver le motif" -074 "Pas de motif de recherche pr‚c‚dent" +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" +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" +079 "Caractère non-imprimable introuvable" 080 "Nom de commande inconnu" 082 "%s : Commande non disponible en ex mode" -083 "Le compte ne peut ˆtre z‚ro" -084 "%s : mauvaise sp‚cification de ligne" +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" +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 "\\ pas suivi par / ou ?" -097 "R‚f‚rence … un num‚ro de ligne inf‚rieure … 0" +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" +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 des lignes %lu dans le fichier" +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 … #" +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" +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" +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" +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" +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]" +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 :" +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" +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" +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" +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 visuelle n‚cessite que l'option ouverte soit d‚finie" +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" +178 "Pas de recherche précédente F, f, T ou t" 179 "%s introuvable" -180 "Pas de fichier pr‚c‚dent … ‚diter" +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" +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" +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" -209 "Le fichier est vide" -210 "Vous ne pouvez pas utiliser %s comme commande de d‚placement" -211 "D‚j… en mode commande" +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" +214 "Valeur optionnelle de fenêtre trop grande, maximum est %u" 215 "Ajouter" 216 "Changer" 217 "Commande" -218 "Ins‚rer" +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‚" +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" +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" +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" +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, pas ‚crit, utiliser ! pour outrepasser" -245 "Fichier en lecture seule, pas ‚crit" -246 "%s existe, pas ‚crit; utiliser ! pour outrepasser" -247 "%s existe, pas ‚crit" -248 "Fichier partiel, pas ‚crit; utiliser ! pour outrepasser" -249 "Fichier partiel, pas ‚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" +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 TRONQUE" -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" +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" +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‚" +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." +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" +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" *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***