Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Sep 2020 07:58:35 +0000 (UTC)
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r365496 - in vendor/nvi/2.2.0: . catalog cl common docs ex files man vi
Message-ID:  <202009090758.0897wZSR077500@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bapt
Date: Wed Sep  9 07:58:35 2020
New Revision: 365496
URL: https://svnweb.freebsd.org/changeset/base/365496

Log:
  Tag import of nvi 2.2.0

Added:
  vendor/nvi/2.2.0/
     - copied from r365494, vendor/nvi/dist/
  vendor/nvi/2.2.0/.gitignore
     - copied unchanged from r365495, vendor/nvi/dist/.gitignore
  vendor/nvi/2.2.0/CMakeLists.txt
     - copied unchanged from r365495, vendor/nvi/dist/CMakeLists.txt
  vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.base
     - copied unchanged from r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.base
  vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.owner
     - copied unchanged from r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.owner
  vendor/nvi/2.2.0/catalog/tr_TR.UTF-8.base
     - copied unchanged from r365495, vendor/nvi/dist/catalog/tr_TR.UTF-8.base
  vendor/nvi/2.2.0/catalog/tr_TR.UTF-8.owner
     - copied unchanged from r365495, vendor/nvi/dist/catalog/tr_TR.UTF-8.owner
  vendor/nvi/2.2.0/files/
     - copied from r365495, vendor/nvi/dist/files/
  vendor/nvi/2.2.0/man/
     - copied from r365495, vendor/nvi/dist/man/
Replaced:
  vendor/nvi/2.2.0/LICENSE
     - copied unchanged from r365495, vendor/nvi/dist/LICENSE
  vendor/nvi/2.2.0/README
     - copied unchanged from r365495, vendor/nvi/dist/README
  vendor/nvi/2.2.0/catalog/Makefile
     - copied unchanged from r365495, vendor/nvi/dist/catalog/Makefile
  vendor/nvi/2.2.0/catalog/README
     - copied unchanged from r365495, vendor/nvi/dist/catalog/README
  vendor/nvi/2.2.0/catalog/dump.c
     - copied unchanged from r365495, vendor/nvi/dist/catalog/dump.c
  vendor/nvi/2.2.0/cl/README.signal
     - copied unchanged from r365495, vendor/nvi/dist/cl/README.signal
  vendor/nvi/2.2.0/cl/cl.h
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl.h
  vendor/nvi/2.2.0/cl/cl_funcs.c
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl_funcs.c
  vendor/nvi/2.2.0/cl/cl_main.c
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl_main.c
  vendor/nvi/2.2.0/cl/cl_read.c
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl_read.c
  vendor/nvi/2.2.0/cl/cl_screen.c
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl_screen.c
  vendor/nvi/2.2.0/cl/cl_term.c
     - copied unchanged from r365495, vendor/nvi/dist/cl/cl_term.c
  vendor/nvi/2.2.0/common/args.h
     - copied unchanged from r365495, vendor/nvi/dist/common/args.h
  vendor/nvi/2.2.0/common/common.h
     - copied unchanged from r365495, vendor/nvi/dist/common/common.h
  vendor/nvi/2.2.0/common/conv.c
     - copied unchanged from r365495, vendor/nvi/dist/common/conv.c
  vendor/nvi/2.2.0/common/conv.h
     - copied unchanged from r365495, vendor/nvi/dist/common/conv.h
  vendor/nvi/2.2.0/common/cut.c
     - copied unchanged from r365495, vendor/nvi/dist/common/cut.c
  vendor/nvi/2.2.0/common/cut.h
     - copied unchanged from r365495, vendor/nvi/dist/common/cut.h
  vendor/nvi/2.2.0/common/delete.c
     - copied unchanged from r365495, vendor/nvi/dist/common/delete.c
  vendor/nvi/2.2.0/common/encoding.c
     - copied unchanged from r365495, vendor/nvi/dist/common/encoding.c
  vendor/nvi/2.2.0/common/exf.c
     - copied unchanged from r365495, vendor/nvi/dist/common/exf.c
  vendor/nvi/2.2.0/common/exf.h
     - copied unchanged from r365495, vendor/nvi/dist/common/exf.h
  vendor/nvi/2.2.0/common/gs.h
     - copied unchanged from r365495, vendor/nvi/dist/common/gs.h
  vendor/nvi/2.2.0/common/key.c
     - copied unchanged from r365495, vendor/nvi/dist/common/key.c
  vendor/nvi/2.2.0/common/key.h
     - copied unchanged from r365495, vendor/nvi/dist/common/key.h
  vendor/nvi/2.2.0/common/line.c
     - copied unchanged from r365495, vendor/nvi/dist/common/line.c
  vendor/nvi/2.2.0/common/log.c
     - copied unchanged from r365495, vendor/nvi/dist/common/log.c
  vendor/nvi/2.2.0/common/log.h
     - copied unchanged from r365495, vendor/nvi/dist/common/log.h
  vendor/nvi/2.2.0/common/main.c
     - copied unchanged from r365495, vendor/nvi/dist/common/main.c
  vendor/nvi/2.2.0/common/mark.c
     - copied unchanged from r365495, vendor/nvi/dist/common/mark.c
  vendor/nvi/2.2.0/common/mark.h
     - copied unchanged from r365495, vendor/nvi/dist/common/mark.h
  vendor/nvi/2.2.0/common/mem.h
     - copied unchanged from r365495, vendor/nvi/dist/common/mem.h
  vendor/nvi/2.2.0/common/msg.c
     - copied unchanged from r365495, vendor/nvi/dist/common/msg.c
  vendor/nvi/2.2.0/common/msg.h
     - copied unchanged from r365495, vendor/nvi/dist/common/msg.h
  vendor/nvi/2.2.0/common/multibyte.h
     - copied unchanged from r365495, vendor/nvi/dist/common/multibyte.h
  vendor/nvi/2.2.0/common/options.c
     - copied unchanged from r365495, vendor/nvi/dist/common/options.c
  vendor/nvi/2.2.0/common/options.h
     - copied unchanged from r365495, vendor/nvi/dist/common/options.h
  vendor/nvi/2.2.0/common/options_f.c
     - copied unchanged from r365495, vendor/nvi/dist/common/options_f.c
  vendor/nvi/2.2.0/common/put.c
     - copied unchanged from r365495, vendor/nvi/dist/common/put.c
  vendor/nvi/2.2.0/common/recover.c
     - copied unchanged from r365495, vendor/nvi/dist/common/recover.c
  vendor/nvi/2.2.0/common/screen.c
     - copied unchanged from r365495, vendor/nvi/dist/common/screen.c
  vendor/nvi/2.2.0/common/screen.h
     - copied unchanged from r365495, vendor/nvi/dist/common/screen.h
  vendor/nvi/2.2.0/common/search.c
     - copied unchanged from r365495, vendor/nvi/dist/common/search.c
  vendor/nvi/2.2.0/common/seq.c
     - copied unchanged from r365495, vendor/nvi/dist/common/seq.c
  vendor/nvi/2.2.0/common/seq.h
     - copied unchanged from r365495, vendor/nvi/dist/common/seq.h
  vendor/nvi/2.2.0/common/util.c
     - copied unchanged from r365495, vendor/nvi/dist/common/util.c
  vendor/nvi/2.2.0/common/util.h
     - copied unchanged from r365495, vendor/nvi/dist/common/util.h
  vendor/nvi/2.2.0/ex/ex.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex.c
  vendor/nvi/2.2.0/ex/ex.h
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex.h
  vendor/nvi/2.2.0/ex/ex_abbrev.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_abbrev.c
  vendor/nvi/2.2.0/ex/ex_append.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_append.c
  vendor/nvi/2.2.0/ex/ex_args.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_args.c
  vendor/nvi/2.2.0/ex/ex_argv.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_argv.c
  vendor/nvi/2.2.0/ex/ex_at.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_at.c
  vendor/nvi/2.2.0/ex/ex_bang.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_bang.c
  vendor/nvi/2.2.0/ex/ex_cd.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_cd.c
  vendor/nvi/2.2.0/ex/ex_cmd.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_cmd.c
  vendor/nvi/2.2.0/ex/ex_cscope.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_cscope.c
  vendor/nvi/2.2.0/ex/ex_delete.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_delete.c
  vendor/nvi/2.2.0/ex/ex_display.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_display.c
  vendor/nvi/2.2.0/ex/ex_edit.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_edit.c
  vendor/nvi/2.2.0/ex/ex_equal.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_equal.c
  vendor/nvi/2.2.0/ex/ex_file.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_file.c
  vendor/nvi/2.2.0/ex/ex_filter.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_filter.c
  vendor/nvi/2.2.0/ex/ex_global.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_global.c
  vendor/nvi/2.2.0/ex/ex_init.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_init.c
  vendor/nvi/2.2.0/ex/ex_join.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_join.c
  vendor/nvi/2.2.0/ex/ex_map.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_map.c
  vendor/nvi/2.2.0/ex/ex_mark.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_mark.c
  vendor/nvi/2.2.0/ex/ex_mkexrc.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_mkexrc.c
  vendor/nvi/2.2.0/ex/ex_move.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_move.c
  vendor/nvi/2.2.0/ex/ex_open.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_open.c
  vendor/nvi/2.2.0/ex/ex_preserve.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_preserve.c
  vendor/nvi/2.2.0/ex/ex_print.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_print.c
  vendor/nvi/2.2.0/ex/ex_put.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_put.c
  vendor/nvi/2.2.0/ex/ex_quit.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_quit.c
  vendor/nvi/2.2.0/ex/ex_read.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_read.c
  vendor/nvi/2.2.0/ex/ex_screen.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_screen.c
  vendor/nvi/2.2.0/ex/ex_script.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_script.c
  vendor/nvi/2.2.0/ex/ex_set.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_set.c
  vendor/nvi/2.2.0/ex/ex_shell.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_shell.c
  vendor/nvi/2.2.0/ex/ex_shift.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_shift.c
  vendor/nvi/2.2.0/ex/ex_source.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_source.c
  vendor/nvi/2.2.0/ex/ex_stop.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_stop.c
  vendor/nvi/2.2.0/ex/ex_subst.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_subst.c
  vendor/nvi/2.2.0/ex/ex_tag.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_tag.c
  vendor/nvi/2.2.0/ex/ex_txt.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_txt.c
  vendor/nvi/2.2.0/ex/ex_undo.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_undo.c
  vendor/nvi/2.2.0/ex/ex_usage.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_usage.c
  vendor/nvi/2.2.0/ex/ex_util.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_util.c
  vendor/nvi/2.2.0/ex/ex_version.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_version.c
  vendor/nvi/2.2.0/ex/ex_visual.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_visual.c
  vendor/nvi/2.2.0/ex/ex_write.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_write.c
  vendor/nvi/2.2.0/ex/ex_yank.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_yank.c
  vendor/nvi/2.2.0/ex/ex_z.c
     - copied unchanged from r365495, vendor/nvi/dist/ex/ex_z.c
  vendor/nvi/2.2.0/ex/script.h
     - copied unchanged from r365495, vendor/nvi/dist/ex/script.h
  vendor/nvi/2.2.0/ex/tag.h
     - copied unchanged from r365495, vendor/nvi/dist/ex/tag.h
  vendor/nvi/2.2.0/vi/getc.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/getc.c
  vendor/nvi/2.2.0/vi/v_at.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_at.c
  vendor/nvi/2.2.0/vi/v_ch.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_ch.c
  vendor/nvi/2.2.0/vi/v_cmd.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_cmd.c
  vendor/nvi/2.2.0/vi/v_delete.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_delete.c
  vendor/nvi/2.2.0/vi/v_ex.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_ex.c
  vendor/nvi/2.2.0/vi/v_increment.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_increment.c
  vendor/nvi/2.2.0/vi/v_init.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_init.c
  vendor/nvi/2.2.0/vi/v_itxt.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_itxt.c
  vendor/nvi/2.2.0/vi/v_left.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_left.c
  vendor/nvi/2.2.0/vi/v_mark.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_mark.c
  vendor/nvi/2.2.0/vi/v_match.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_match.c
  vendor/nvi/2.2.0/vi/v_paragraph.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_paragraph.c
  vendor/nvi/2.2.0/vi/v_put.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_put.c
  vendor/nvi/2.2.0/vi/v_redraw.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_redraw.c
  vendor/nvi/2.2.0/vi/v_replace.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_replace.c
  vendor/nvi/2.2.0/vi/v_right.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_right.c
  vendor/nvi/2.2.0/vi/v_screen.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_screen.c
  vendor/nvi/2.2.0/vi/v_scroll.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_scroll.c
  vendor/nvi/2.2.0/vi/v_search.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_search.c
  vendor/nvi/2.2.0/vi/v_section.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_section.c
  vendor/nvi/2.2.0/vi/v_sentence.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_sentence.c
  vendor/nvi/2.2.0/vi/v_status.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_status.c
  vendor/nvi/2.2.0/vi/v_txt.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_txt.c
  vendor/nvi/2.2.0/vi/v_ulcase.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_ulcase.c
  vendor/nvi/2.2.0/vi/v_undo.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_undo.c
  vendor/nvi/2.2.0/vi/v_util.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_util.c
  vendor/nvi/2.2.0/vi/v_word.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_word.c
  vendor/nvi/2.2.0/vi/v_xchar.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_xchar.c
  vendor/nvi/2.2.0/vi/v_yank.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_yank.c
  vendor/nvi/2.2.0/vi/v_z.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_z.c
  vendor/nvi/2.2.0/vi/v_zexit.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/v_zexit.c
  vendor/nvi/2.2.0/vi/vi.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vi.c
  vendor/nvi/2.2.0/vi/vi.h
     - copied unchanged from r365495, vendor/nvi/dist/vi/vi.h
  vendor/nvi/2.2.0/vi/vs_line.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_line.c
  vendor/nvi/2.2.0/vi/vs_msg.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_msg.c
  vendor/nvi/2.2.0/vi/vs_refresh.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_refresh.c
  vendor/nvi/2.2.0/vi/vs_relative.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_relative.c
  vendor/nvi/2.2.0/vi/vs_smap.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_smap.c
  vendor/nvi/2.2.0/vi/vs_split.c
     - copied unchanged from r365495, vendor/nvi/dist/vi/vs_split.c
Deleted:
  vendor/nvi/2.2.0/cl/extern.h
  vendor/nvi/2.2.0/common/extern.h
  vendor/nvi/2.2.0/common/options_def.h
  vendor/nvi/2.2.0/docs/
  vendor/nvi/2.2.0/ex/ex_def.h
  vendor/nvi/2.2.0/ex/extern.h
  vendor/nvi/2.2.0/ex/version.h
  vendor/nvi/2.2.0/vi/extern.h

Copied: vendor/nvi/2.2.0/.gitignore (from r365495, vendor/nvi/dist/.gitignore)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/.gitignore	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/.gitignore)
@@ -0,0 +1,9 @@
+*.swp
+*~
+*.orig
+*.core
+extern.h
+*_def.h
+version.h
+tags
+build/

Copied: vendor/nvi/2.2.0/CMakeLists.txt (from r365495, vendor/nvi/dist/CMakeLists.txt)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/CMakeLists.txt	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/CMakeLists.txt)
@@ -0,0 +1,190 @@
+cmake_minimum_required(VERSION 3.9)
+
+get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
+if(is_multi_config)
+    set(CMAKE_CONFIGURATION_TYPES Debug Release CACHE STRING
+        "Semicolon separated list of supported configuration types")
+    mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
+elseif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_C_FLAGS)
+    message(WARNING "No CMAKE_BUILD_TYPE is selected")
+endif()
+
+project(nvi2 C)
+
+include(CheckIncludeFiles)
+include(CheckFunctionExists)
+include(CheckCSourceCompiles)
+
+mark_as_advanced(CMAKE_INSTALL_PREFIX)
+
+option(USE_WIDECHAR "Enable wide character support" ON)
+option(USE_ICONV "Enable iconv support" ON)
+
+add_compile_options(-fcolor-diagnostics)
+add_compile_options($<$<CONFIG:Debug>:-Wall>)
+add_compile_options($<$<CONFIG:Debug>:-Wno-parentheses>)
+add_compile_options($<$<CONFIG:Debug>:-Wno-uninitialized>)
+add_compile_options($<$<CONFIG:Debug>:-Wmissing-prototypes>)
+add_compile_options($<$<CONFIG:Debug>:-Wsystem-headers>)
+add_compile_options($<$<CONFIG:Release>:-Wuninitialized>)
+add_compile_options($<$<CONFIG:Release>:-Wno-dangling-else>)
+add_compile_options(-Wstack-protector -fstack-protector)
+add_compile_options(-Wstrict-aliasing -fstrict-aliasing)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+set(MAIN_PROTOS
+    cl/extern.h common/extern.h ex/extern.h vi/extern.h
+    common/options_def.h ex/ex_def.h ex/version.h)
+
+set(CL_SRCS
+    cl/cl_funcs.c cl/cl_main.c cl/cl_read.c cl/cl_screen.c cl/cl_term.c)
+
+set(COMMON_SRCS
+    common/conv.c common/cut.c common/delete.c common/encoding.c common/exf.c
+    common/key.c common/line.c common/log.c common/main.c common/mark.c
+    common/msg.c common/options.c common/options_f.c common/put.c
+    common/recover.c common/screen.c common/search.c common/seq.c
+    common/util.c)
+
+set(EX_SRCS
+    ex/ex.c ex/ex_abbrev.c ex/ex_append.c ex/ex_args.c ex/ex_argv.c ex/ex_at.c
+    ex/ex_bang.c ex/ex_cd.c ex/ex_cmd.c ex/ex_cscope.c ex/ex_delete.c
+    ex/ex_display.c ex/ex_edit.c ex/ex_equal.c ex/ex_file.c ex/ex_filter.c
+    ex/ex_global.c ex/ex_init.c ex/ex_join.c ex/ex_map.c ex/ex_mark.c
+    ex/ex_mkexrc.c ex/ex_move.c ex/ex_open.c ex/ex_preserve.c ex/ex_print.c
+    ex/ex_put.c ex/ex_quit.c ex/ex_read.c ex/ex_screen.c ex/ex_script.c
+    ex/ex_set.c ex/ex_shell.c ex/ex_shift.c ex/ex_source.c ex/ex_stop.c
+    ex/ex_subst.c ex/ex_tag.c ex/ex_txt.c ex/ex_undo.c ex/ex_usage.c
+    ex/ex_util.c ex/ex_version.c ex/ex_visual.c ex/ex_write.c ex/ex_yank.c
+    ex/ex_z.c)
+
+set(VI_SRCS
+    vi/getc.c vi/v_at.c vi/v_ch.c vi/v_cmd.c vi/v_delete.c vi/v_ex.c
+    vi/v_increment.c vi/v_init.c vi/v_itxt.c vi/v_left.c vi/v_mark.c
+    vi/v_match.c vi/v_paragraph.c vi/v_put.c vi/v_redraw.c vi/v_replace.c
+    vi/v_right.c vi/v_screen.c vi/v_scroll.c vi/v_search.c vi/v_section.c
+    vi/v_sentence.c vi/v_status.c vi/v_txt.c vi/v_ulcase.c vi/v_undo.c
+    vi/v_util.c vi/v_word.c vi/v_xchar.c vi/v_yank.c vi/v_z.c vi/v_zexit.c
+    vi/vi.c vi/vs_line.c vi/vs_msg.c vi/vs_refresh.c vi/vs_relative.c
+    vi/vs_smap.c vi/vs_split.c)
+
+set(REGEX_SRCS
+    regex/regcomp.c regex/regerror.c regex/regexec.c regex/regfree.c)
+
+# commands to generate the public headers
+set(extract_protos sed -n 's/^ \\* PUBLIC: \\\(.*\\\)/\\1/p')
+set(extract_version sed -n
+    's/^.*version \\\([^\)]*\)\\\).*/\#define VI_VERSION \\\"\\1\\\"/p')
+
+add_custom_command(OUTPUT cl/extern.h
+                   COMMAND ${extract_protos} ${CL_SRCS} > cl/extern.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS ${CL_SRCS})
+add_custom_command(OUTPUT common/extern.h
+                   COMMAND ${extract_protos} ${COMMON_SRCS} > common/extern.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS ${COMMON_SRCS})
+add_custom_command(OUTPUT ex/extern.h
+                   COMMAND ${extract_protos} ${EX_SRCS} > ex/extern.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS ${EX_SRCS})
+add_custom_command(OUTPUT vi/extern.h
+                   COMMAND ${extract_protos} ${VI_SRCS} > vi/extern.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS ${VI_SRCS})
+add_custom_command(OUTPUT common/options_def.h
+                   COMMAND awk -f common/options.awk
+                           common/options.c > common/options_def.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS common/options.c)
+add_custom_command(OUTPUT ex/ex_def.h
+                   COMMAND awk -f ex/ex.awk ex/ex_cmd.c > ex/ex_def.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS ex/ex_cmd.c)
+add_custom_command(OUTPUT ex/version.h
+                   COMMAND ${extract_version} README > ex/version.h
+                   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+                   DEPENDS README)
+
+add_executable(nvi)
+target_sources(nvi PRIVATE ${MAIN_PROTOS} ${CL_SRCS} ${COMMON_SRCS}
+                           ${EX_SRCS} ${VI_SRCS})
+target_compile_definitions(nvi PRIVATE $<$<CONFIG:Debug>:DEBUG>
+                                       $<$<CONFIG:Debug>:COMLOG>)
+
+check_function_exists(openpty UTIL_IN_LIBC)
+if(NOT UTIL_IN_LIBC)
+    find_library(UTIL_LIBRARY util)
+    target_link_libraries(nvi PRIVATE ${UTIL_LIBRARY})
+endif()
+
+check_function_exists(__b64_ntop RESOLV_IN_LIBC)
+if(NOT RESOLV_IN_LIBC)
+    find_library(RESOLV_LIBRARY resolv)
+    target_link_libraries(nvi PRIVATE ${RESOLV_LIBRARY})
+endif()
+
+if(USE_WIDECHAR)
+    find_library(CURSES_LIBRARY NAMES ncursesw cursesw curses HINTS /usr/lib)
+
+    # link to the wchar_t awared BSD libregex.a
+    add_library(regex STATIC)
+    target_sources(regex PRIVATE ${REGEX_SRCS})
+    target_include_directories(regex PUBLIC regex)
+    target_compile_definitions(regex PUBLIC __REGEX_PRIVATE)
+    target_link_libraries(nvi PRIVATE regex)
+else()
+    find_library(CURSES_LIBRARY NAMES ncurses curses HINTS /usr/lib)
+    target_compile_options(nvi PRIVATE -Wno-pointer-sign)
+endif()
+
+target_link_libraries(nvi PRIVATE ${CURSES_LIBRARY})
+
+if(USE_ICONV)
+    check_function_exists(__iconv ICONV_IN_LIBC)
+    if(NOT ICONV_IN_LIBC)
+        find_path(ICONV_INCLUDE_DIR iconv.h)
+        find_library(ICONV_LIBRARY iconv)
+    endif()
+
+    # detect the prototype of iconv(3)
+    set(CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+    set(CMAKE_REQUIRED_INCLUDES "${ICONV_INCLUDE_DIR}")
+    set(CMAKE_REQUIRED_LIBRARIES "${ICONV_LIBRARY}")
+    check_c_source_compiles("
+    #include <iconv.h>
+    int main() {
+        iconv_t conv = 0;
+        char* in = 0;
+        size_t ilen = 0;
+        char* out = 0;
+        size_t olen = 0;
+        iconv(conv, &in, &ilen, &out, &olen);
+        return 0;
+    }
+    " ICONV_TRADITIONAL)
+    set(CMAKE_REQUIRED_INCLUDES)
+    set(CMAKE_REQUIRED_LIBRARIES)
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}")
+
+    target_include_directories(nvi PRIVATE ${ICONV_INCLUDE_DIR})
+    target_link_libraries(nvi PRIVATE ${ICONV_LIBRARY})
+endif()
+
+check_include_files(libutil.h HAVE_LIBUTIL_H)
+check_include_files(ncurses.h HAVE_NCURSES_H)
+check_include_files(term.h HAVE_TERM_H)
+
+configure_file(files/config.h.in config.h)
+
+set(vi_cv_path_preserve /var/tmp/vi.recover/)
+if(APPLE)
+    set(vi_cv_path_msgcat /usr/local/share/vi/catalog/)
+else()
+    set(vi_cv_path_msgcat /usr/share/vi/catalog/)
+endif()
+
+configure_file(files/pathnames.h.in pathnames.h)
+configure_file(files/recover.in recover @ONLY)

Copied: vendor/nvi/2.2.0/LICENSE (from r365495, vendor/nvi/dist/LICENSE)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/LICENSE	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/LICENSE)
@@ -0,0 +1,37 @@
+The following are the copyrights and redistribution conditions that apply
+to this copy of the Vi software.
+
+/*
+ * Copyright (c) 1991, 1992, 1993, 1994
+ *      The Regents of the University of California.  All rights reserved.
+ *  Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
+ *	Keith Bostic.  All rights reserved.
+ *  Copyright (c) 1999, 2000
+ *	Sven Verdoolaege.  All rights reserved.
+ *  Copyright (c) 2011
+ *	Zhihao Yuan.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */

Copied: vendor/nvi/2.2.0/README (from r365495, vendor/nvi/dist/README)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/README	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/README)
@@ -0,0 +1,64 @@
+This is version 2.2.0 (2020-08-01) 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.
+    catalog ....... Message catalogs; see catalog/README.
+    cl ............ Vi interface to the curses(3) library.
+    common ........ Code shared by ex and vi.
+    ex ............ Ex source code.
+    files ......... Template files.
+    man ........... Ex/vi documentation.
+    regex ......... Modified regex library with wide character support.
+    vi ............ Vi source code.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+o Nvi was written by Keith Bostic, and the last version is 1.79.  After that,
+
+	Sven Verdoolaege added the iconv support and the DB3 locking.
+
+	Jun-ichiro itojun Hagino developed the file encoding detection
+	techniques in his nvi-m17n.
+
+The following acknowledgments were written by Keith Bostic:
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+o This software is several years old and is the product of many folks' work.
+
+	This software was originally derived from software contributed to
+	the University of California, Berkeley by Steve Kirkendall, the
+	author of the vi clone elvis.  Without his work, this work would
+	have been far more difficult.
+
+	IEEE POSIX 1003.2 style regular expression support is courtesy of
+	Henry Spencer, for which I am *very* grateful.
+
+	Elan Amir did the original 4BSD curses work that made it possible
+	to support a full-screen editor using curses.
+
+	George Neville-Neil added the Tcl interpreter, and the initial
+	interpreter design was his.
+
+	Sven Verdoolaege added the Perl interpreter.
+
+	Rob Mayoff provided the original Cscope support.
+
+o Many, many people suggested enhancements, and provided bug reports and
+  testing, far too many to individually thank.
+
+o From the original vi acknowledgements, by William Joy and Mark Horton:
+
+	Bruce Englar encouraged the early development of this display
+	editor.  Peter Kessler helped bring sanity to version 2's
+	command layout.  Bill Joy wrote versions 1 and 2.0 through 2.7,
+	and created the framework that users see in the present editor.
+	Mark Horton added macros and other features and made the editor
+	work on a large number of terminals and Unix systems.
+
+o And...
+	The financial support of UUNET Communications Services is gratefully
+	acknowledged.

Copied: vendor/nvi/2.2.0/catalog/Makefile (from r365495, vendor/nvi/dist/catalog/Makefile)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/Makefile	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/Makefile)
@@ -0,0 +1,77 @@
+CAT=	dutch english french german polish ru_RU.KOI8-R spanish \
+	swedish tr_TR.ISO8859-9 tr_TR.UTF-8 uk_UA.KOI8-U zh_CN.GB2312
+FILES=	../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c
+
+all: dump ${CAT}
+
+${CAT}: english.base
+	@echo "... $@";							\
+	rm -f $@;							\
+	sort -u $@.base |						\
+	awk '{								\
+		if ($$1 == 1) {						\
+			print "\nMESSAGE NUMBER 1 IS NOT LEGAL";	\
+			exit 1;						\
+		}							\
+		if (++nline > $$1) {					\
+			print "DUPLICATE MESSAGE NUMBER " $$1;		\
+			exit 1;						\
+		}							\
+		print $0;						\
+	}' |								\
+	sed -e '1s/^/$$set 1~$$quote "~/; 1y/~/\n/' |			\
+	gencat $@ /dev/stdin;						\
+	chmod 444 $@;							\
+	if grep DUPLICATE $@ > /dev/null; then				\
+		grep DUPLICATE $@;					\
+	fi;								\
+	if grep 'NOT LEGAL' $@ > /dev/null; then			\
+		grep 'NOT LEGAL' $@;					\
+	fi
+
+CHK=	dutch.check english.check french.check german.check \
+	polish.check ru_RU.KOI8-R.check spanish.check swedish.check \
+	tr_TR.ISO8859-9.check tr_TR.UTF-8.check uk_UA.KOI8-U.check \
+	zh_CN.GB2312.check
+check: ${CHK}
+${CHK}: ${CAT}
+	@echo "... $@";							\
+	f=`basename $@ .check`;						\
+	(echo "Unused message id's (this is okay):";			\
+	awk '{								\
+		while (++nline < $$1)					\
+			printf "%03d\n", nline;				\
+	}' < $$f.base;							\
+	echo =========================;					\
+	echo "MISSING ERROR MESSAGES (Please add!):";			\
+	awk '{print $$1}' < $$f.base | sort -u > __ck1;			\
+	awk '{print $$1}' < english.base | sort -u > __ck2;		\
+	comm -13 __ck1 __ck2;						\
+	echo =========================;					\
+	echo "Extra error messages (just delete them):";		\
+	comm -23 __ck1 __ck2;						\
+	echo =========================;					\
+	echo "MESSAGES WITH THE SAME MESSAGE ID's (FIX!):";		\
+	for j in							\
+	    `sed '/^$$/d' < $$f.base | sort -u |			\
+	    awk '{print $$1}' | uniq -d`; do				\
+		egrep $$j $$f.base;					\
+	done;								\
+	echo =========================;					\
+	echo "Duplicate messages, both id and message (this is okay):";	\
+	sed '/^$$/d' < $$f.base | sort | uniq -c |			\
+	awk '$$1 != 1 { print $$0 }' | sort -n;				\
+	echo =========================) > $@
+
+english.base: dump ${FILES} #Makefile
+	./dump ${FILES} |\
+	sed -e '/|/!d' \
+	    -e 's/|/ "/' \
+	    -e 's/^"//' |\
+	sort -nu > $@
+
+dump: dump.c
+	${CC} -O -o dump dump.c
+
+clean:
+	rm -f dump dump.o ${CAT} english.base *.check __ck1 __ck2

Copied: vendor/nvi/2.2.0/catalog/README (from r365495, vendor/nvi/dist/catalog/README)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/README	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/README)
@@ -0,0 +1,125 @@
+Generally, all non-system error and informational messages in nvi are
+catalog messages, i.e. they can be tailored to a specific langauge.
+Command strings, usage strings, system errors and other 'known text'
+are not.
+
+Message catalogs in nvi are fairly simple.  Every catalog message
+consists of two parts -- an initial number followed by a pipe (`|')
+character, followed by the English text for the message.  For example:
+
+	msgq(sp, M_ERR, "001|This is an error message");
+
+would be a typical message.
+
+When the msgq() routine is called, if the user has specified a message
+catalog and the format string (the third argument) has a leading number,
+then it is converted to a record number, and that record is retrieved
+from the message catalog and used as a replacement format string.  If
+the record can't be retrieved for any reason, the English text is displayed
+instead.
+
+Each message format string MUST map into the English format string, i.e.
+it can't display more or different arguments than the English one.
+
+For example:
+
+	msgq(sp, M_ERR, "002|Error: %d %x", arg1, arg2);
+
+is a format string that displays two arguments.
+
+Arguments to the msgq function are required to contain ONLY printable
+characters.  No further translation is done by the msgq routine before
+displaying the message on the screen.  For example, in the msgq call:
+
+	msgq(sp, M_ERR, "003|File: %s", file_name);
+
+"file_name" must contain only printable characters.  The routine
+msg_print() returns a printable version of a string; the third argument
+indicates whether the string needs to be freed.  For example:
+
+	char *p;
+	int nf;
+
+	p = msg_print(sp, file_name, &nf);
+	msgq(sp, M_ERR, "003|File: %s", p);
+	if (nf)
+		FREE_SPACE(sp, p, 0);
+
+makes sure that "file_name" is printable before calling the msgq
+routine.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+The message catalogs themselves are maintained in two files.  The first
+is the "base file" which contains two fields, a record number and the
+message itself.  All base files are named using the convention
+"<language>.base", e.g. the English one is "english.base".  For
+example:
+
+	002 "Line length overflow"
+	003 "unable to delete line %lu"
+	004 "unable to append to line %lu"
+	005 "unable to insert at line %lu"
+	006 "unable to store line %lu"
+	007 "unable to get last line"
+
+are the first few lines of the current english.base file.
+
+Before this file being converted to the second file, the POSIX formatted
+message catalog file, by gencat(1), two lines:
+
+	$set 1
+	$quote "
+
+will be inserted before the base text to setup the set_id and the quote
+character.  So the double-quote needs to be escaped by a backslash to be
+included in a message; same as the backslash itself.
+
+These files are named for their language, e.g. "english".  However, a
+locale(1) name is also recommended.
+
+To create a new catalog for nvi:
+
+Copy the file english.base to a file that you can modify , e.g.  "cp
+english.base german.base".  For each of the messages in the file,
+replace the message with the string that you want to use.  If you have
+doubts about the meaning of a message, just email me.
+
+A latest english.base can be created from source by running the command
+"make english" in the catalog/ directory.
+
+Once you've translated all of the strings, then add your catalog to the
+"CAT=" line of the Makefile, and run the command "make catalog".  This
+will create the second (and corresponding) file for each file named
+<language>.base.
+
+Don't worry about missing line numbers, i.e. base files that look like:
+
+	005	Message number 5.
+	007	Message number 7.
+
+This simply means that a message was deleted during the course of nvi's
+development.  It will be taken care of automatically when you create
+the second form of the file.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+If you add new messages to the nvi sources, you can check your work by
+doing "make english; make check".  The "make check" target lists unused
+message numbers, duplicate message numbers, and duplicate messages.
+Unused message numbers are only useful if you are condensing messages.
+Duplicate message numbers are a serious problem and have to be fixed.
+Duplicate messages are only interesting if a message appears often enough
+that it's worth creating a routine so that the string is only need in
+a single place.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+To select a catalog when running nvi, set the "msgcat" option.  If the
+value of this option ends with a '/', it is treated as the name of a
+directory that contains a message catalog "$LC_MESSAGES", which is set
+through the LC_MESSAGES environment variable but returned by setlocale(3).
+Check the output of locale(1) to validate such a value.  If the option
+doesn't end in a '/', the option is treated as the full path name of the
+message catalog to use.
+
+If any messages are missing from the catalog, the backup text (English)
+is used instead.

Copied: vendor/nvi/2.2.0/catalog/dump.c (from r365495, vendor/nvi/dist/catalog/dump.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/dump.c	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/dump.c)
@@ -0,0 +1,97 @@
+/*-
+ * 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. 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.
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+
+static void
+parse(FILE *fp)
+{
+	int ch, s1, s2, s3;
+
+#define	TESTD(s) {							\
+	if ((s = getc(fp)) == EOF)					\
+		return;							\
+	if (!isdigit(s))						\
+		continue;						\
+}
+#define	TESTP {								\
+	if ((ch = getc(fp)) == EOF)					\
+		return;							\
+	if (ch != '|')							\
+		continue;						\
+}
+#define	MOVEC(t) {							\
+	do {								\
+		if ((ch = getc(fp)) == EOF)				\
+			return;						\
+	} while (ch != (t));						\
+}
+	for (;;) {
+		MOVEC('"');
+		TESTD(s1);
+		TESTD(s2);
+		TESTD(s3);
+		TESTP;
+		putchar('"');
+		putchar(s1);
+		putchar(s2);
+		putchar(s3);
+		putchar('|');
+		for (;;) {		/* dump to end quote. */
+			if ((ch = getc(fp)) == EOF)
+				return;
+			putchar(ch);
+			if (ch == '"')
+				break;
+			if (ch == '\\') {
+				if ((ch = getc(fp)) == EOF)
+					return;
+				putchar(ch);
+			}
+		}
+		putchar('\n');
+	}
+}
+
+int
+main(int argc, char *argv[])
+{
+	FILE *fp;
+
+	for (; *argv != NULL; ++argv) {
+		if ((fp = fopen(*argv, "r")) == NULL) {
+			perror(*argv);
+			return (1);
+		}
+		parse(fp);
+		(void)fclose(fp);
+	}
+	return (0);
+}

Copied: vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.base (from r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.base)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.base	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.base)
@@ -0,0 +1,304 @@
+002 "Satır uzunluğu taşımı"
+003 "%lu numaralı satır silinemiyor"
+004 "%lu numaralı satıra iliştirilemiyor"
+005 "%lu numaralı satırda ekleme yapılamıyor"
+006 "%lu numaralı satır kaydedilemiyor"
+007 "Son satır alınamıyor"
+008 "Hata: %lu numaralı satır okunamıyor"
+009 "Günlük dosyası"
+010 "Günlükleme gerçekleştirilmiyor, geri alma olanaklı değil"
+011 "Geri alınacak bir değişiklik yok"
+012 "Günlükleme gerçekleştirilmiyor, geri alma olanaklı değil"
+013 "Günlükleme gerçekleştirilmiyor, ileri sarma olanaklı değil"
+014 "Yinelenecek bir değişiklik yok"
+015 "%s/%d: Günlük kayıt hatası"
+016 "Vi'nin standart girdisi ve çıktısı bir uçbirim olmalı"
+017 "İm %s: Ayarlanmamış"
+018 "İm %s: Satır silinmiş"
+019 "İm %s: İmleç konumu artık yok"
+020 "Hata: "
+021 "yeni dosya
+022 "adı değişti"
+023 "değiştirildi"
+024 "değiştirilmedi"
+025 "KİLİDİ AÇILDI"
+026 "saltokunur"
+027 "satır %lu/%lu [%ld%%]"
+028 "boş dosya"
+029 "%lu. satır"
+030 "%s dosyası bir ileti kataloğu değil"
+031 "Öntanımlı %s seçeneği ayarlanamadı"
+032 "Kullanım: %s"
+033 "set: %s seçeneği yok: 'set all' tüm seçenek değerlerini verir"
+034 "set: [no]%s seçeneği bir değer almaz"
+035 "set: %s seçeneği bir Boole değeri değil"
+036 "set: %s seçeneği: %s"
+037 "set: %s seçeneği: %s: Değer taşımı"
+038 "set: %s seçeneği: %s izin verilmeyen bir sayı"
+039 "set: %s seçeneği bir Boole değeri değil"
+040 "Ekran sütun sayısı çok küçük, şundan daha az: %d"
+041 "Ekran sütun sayısı çok büyük, şundan daha çok: %d"
+042 "Ekran satır sayısı çok küçük, şundan daha az: %d"
+043 "Ekran satır sayısı çok büyük, şundan daha çok: %d"
+044 "Lisp seçeneği eklenmemiş"
+045 "İletiler kapatılmamış: %s"
+046 "İletiler açılmamış: %s"
+047 "%s seçeneği iki karakterli öbekler biçiminde olmalı"
+053 "Başlangıç arabelleği boş"
+054 "%s arabelleği boş"
+056 "Oturum başarısız olursa değişiklikler kurtarılamaz"
+057 "Dosya, kurtarma için kopyalanıyor..."
+058 "Koruma başarısız oldu: %s"
+059 "Oturum başarısız olursa değişiklikler kurtarılamaz"
+060 "Dosya yedeklemesi başarısız oldu: %s"
+061 "Dosya, kurtarma için kopyalanıyor..."
+062 "%u kullanıcısı üzerine bilgi bulunamadı"
+063 "Kurtarma dosyası kilitlenemiyor"
+065 "Kurtarma dosyası"
+066 "%s: Hatalı oluşturulmuş kurtarma dosyası"
+067 "%s: Hatalı oluşturulmuş kurtarma dosyası"
+068 "Kurtarılacak %s adında sizce okunabilir bir dosya yok"
+069 "Bu dosyanın kurtarabileceğiniz eski sürümleri var"
+070 "Kurtarabileceğiniz başka dosyalar var"
+071 "E-posta gönderilmedi: %s"
+072 "Dosya boş, aranacak bir şey yok"
+073 "Dizgi bulunamadan dosyanın sonuna erişildi"
+074 "Arama dizgisi yok"
+075 "Dizgi bulunamadı"
+076 "Dizgi bulunamadan dosyanın başına erişildi"
+077 "Arama tamamlandı"
+078 "Aranıyor..."
+079 "Yazdırılamaz karakter bulunmadı"
+080 "Bilinmeyen komut adı"
+082 "%s: Komut ex kipinde kullanılamaz"
+083 "Sayım sıfır olmayabilir"
+084 "%s: Hatalı satır belirtimi"
+085 "İç sözdizim tablo hatası (%s: %s)"
+086 "Kullanım: %s"
+087 "%s: Geçici arabellek salıverilmedi"
+088 "Bayrak göreli konumu birinci satırdan önceye"
+089 "Bayrak göreli konumu dosya sonunu geçiyor"
+090 "Erimli @, dosya/ekran değiştiğinde çalışır"
+091 "Global/v komutu dosya/ekran değiştiğinde çalışır"
+092 "Ex komutu başarısız: Sıradaki komutlar çıkarıldı"
+093 "Ex komutu başarısız: Eşlemlenen düğmeler çıkarıldı"
+094 "İkinci adres ilkinden daha küçük"
+095 "Bir im adı sağlanmadı"
+096 "\\ sonrasında / veya ? gelmiyor"
+097 "Bir satır numarasına yapılan başvuru sayısı sıfırdan az"
+098 "Bilinmeyen komut: %s"
+099 "Adres değeri taşımı"
+100 "Adres değeri alttaşımı"
+101 "İzin verilmeyen adres birleşimi"
+102 "İzin verilmeyen adres: Dosyada yalnızca %lu satır var"
+103 "İzin verilmeyen adres: Dosya boş"
+104 "%s komutu bir 0 adresine izin vermiyor"
+105 "Görüntülenecek kısaltma yok"
+106 "Kısaltmalar bir \"sözcük\" karakteri ile bitmelidir"
+107 "Kısaltmalar sekme veya boşluk içeremez"
+108 "Kısaltmalar sonu dışında sözcük/sözcük olmayan karakterleri karıştıramaz"
+109 "\"%s\" bir kısaltma değil"
+110 "Vi komutu başarısız: Eşlemlenen düğmeler çıkarıldı"
+111 "Düzenlenecek başka dosya yok"
+112 "Öncesinde düzenlenecek başka dosya yok"
+113 "Öncesinde geri sarılacak dosyalar yok"
+114 "Görüntülenecek dosya yok"
+115 "Öncesinde \"!\" ögesinin yerine geçecek bir komut yok"
+116 "%% yerine geçecek bir dosya adı yok"
+117 "# yerine geçecek bir dosya adı yok"
+118 "Hata: execl: %s"
+119 "Girdi/Çıktı hatası: %s"
+120 "Dosya son tam yazımdan bu yana değiştirilmiş; yazın veya yok saymak için ! kullanın"
+121 "Ev dizini konumu bulunamıyor"
+122 "Yeni şimdiki dizin: %s"
+123 "Görüntülenecek kesilmiş arabellek yok"
+124 "%s komutu bir global veya v komutunun parçası olarak kullanılamaz"
+128 "%s: kaynak alınmıyor: İyesi siz veya kök değil"
+129 "%s: kaynak alınmıyor: İyesi siz değilsiniz"
+130 "%s: kaynak alınmıyor: İyesi dışında başka bir kullanıcı tarafından yazılabilir"
+131 "Uç uca eklenecek bir satır yok"
+132 "Girdi eşlem girdisi yok"
+133 "Komut eşlem girdisi yok"
+134 "%s yeniden eşlemlenemeyebilir"
+135 "\"%s\" şu anda eşlemlenmemiş"
+136 "İm adları tek bir karakter olmalıdır"
+137 "%s mevcut, yazılmamış; yok saymak için ! kullanın"
+138 "Yeni exrc dosyası: %s"
+139 "Hedef satırı taşıma erimi içinde"
+140 "'open' komutu 'open' seçeneğinin ayarlı olmasını gerektirir"
+141 "'open' komutu henüz eklenmemiş"
+142 "Bu dosyanın korunması olanaklı değil"
+143 "Dosya korundu"
+144 "%s: Çok fazla dosya adına genişletilmiş"
+145 "Yalnızca sıradan dosyalar ve adlandırılmış veri yolları okunabilir"
+146 "%s: Okuma kilidi kullanılabilir değildi"
+147 "Okunuyor..."
+148 "%s: %lu satır, %lu karakter"
+149 "Görüntülenecek arkaplan ekranı yok"
+150 "'script' komutu yalnızca vi kipinde kullanılabilir"
+151 "Çalıştırılacak komut yok"
+152 "'shiftwidth' seçeneği 0 olarak ayarlanmış"
+153 "Sayım taşımı"
+154 "Sayım alttaşımı"
+155 "Düzenli ifade belirtilmiş; r bayrağı anlamsız"
+156 "#, l ve p bayrakları vi kipinde c bayrağı ile birlikte kullanılamaz"
+157 "Eşleşme bulunamadı"
+158 "Önceden bir etiket girilmemiş"
+159 "Etiket yığınında %s sayısından az girdi; :display t[ags] kullanın"
+160 "Etiket yığınında dönülecek bir %s dosyası yok; :display t[ags] kullanın"
+161 "Sürdürmek için Enter'a basın:"
+162 "%s: Etiket bulunamadı"
+163 "%s: %s içinde hasar görmüş etiket"
+164 "%s: Etiketin satır numarası dosya sonunu geçmiş"
+165 "Etiket yığını boş"
+166 "%s: Arama dizgisi bulunamadı"
+167 "%d dosya daha düzenlenecek"
+168 "%s arabelleği boş"
+169 "Değişikliği onayla? [n]"
+170 "Yarıda kesildi"
+171 "Öncesinde çalıştırılacak arabellek yok"
+172 "Öncesinde düzenli ifade yok"
+173 "%s komutu bir dosyanın halihazırda okunmuş olmasını gerektirir"
+174 "Kullanım: %s"
+175 "'visual' komutu 'open' seçeneğinin ayarlanmış olmasını gerektirir"
+177 "Boş dosya"
+178 "Öncesinde F, f, T veya t araması yok"
+179 "%s bulunamadı"
+180 "Düzenlenecek dosya yok"
+181 "İmleç bir sayıda değil"
+182 "Ortaya çıkan sayı çok büyük"
+183 "Ortaya çıkan sayı çok küçük"
+184 "Bu satırda eşleşen karakter yok"
+185 "Eşleşen karakter bulunamadı"
+186 "Değiştirilecek karakter yok"
+187 "Geçilecek başka ekran yok"
+188 "Arama dizgisinden, satır ofsetinden ve/veya 'z' komutundan sonraki karakterler"
+189 "Öncesinde arama dizgisi yok"
+190 "Arama başlanan konumda tamamlandı"
+191 "Kısaltma genişleme sınırını aştı: Karakterler çıkarıldı"
+192 "İzin verilmeyen karakter; giriş için tırnak içine alın"
+193 "Halihazırda eklemenin başında"
+194 "Silinecek başka karakter yok"
+195 "Hareket dosya sonunu geçti"
+196 "Hareket satır sonunu geçti"
+197 "İmleç hareket ettirilmedi"
+198 "Halihazırda dosyanın başında"
+199 "Hareket dosyanın başını geçti"
+200 "Halihazırda ilk sütunda"
+201 "Arabellekler komuttan önce belirtilmeli"
+202 "Halihazırda dosya sonunda"
+203 "Halihazırda satır sonunda"
+204 "%s bir vi komutu değil"
+205 "Kullanım: %s"
+206 "Silinecek karakter yok"
+207 "Q komutu ex uçbirim arabirimini gerektirir"
+208 "Yinelenecek komut yok"
+209 "Dosya boş"
+210 "%s bir hareket komutu olarak kullanılamaz"
+211 "Halihazırda komut kipi içinde"
+212 "İmleç bir sözcükte değil"
+214 "'windows' seçeneği değeri çok büyük, en çok %u olabilir"
+215 "İliştir"
+216 "Değişiklik yap"
+217 "Komut"
+218 "Ekle"
+219 "Değiştir"
+220 "Hareket ekran sonunu geçti"
+221 "Hareket ekran başını geçti"
+222 "Ekran bölünebilmesi için %d satırdan daha geniş olmalıdır"
+223 "Arkaplan ekranı yok"
+224 "Arkaplanda %s dosyasını düzenleyen bir ekran yok"
+225 "Açık olan tek ekranınızı arkaplana alamazsınız"
+226 "Ekran yalnızca %d satıra küçültülebilir"
+227 "Ekran küçülemez"
+228 "Ekran büyüyemez"
+230 "Bu ekran askıya alınamaz"
+231 "Yarıda kesildi: Eşlemlenen düğmeler çıkarıldı"
+232 "vi: Geçici arabellek salıverilmedi"
+233 "Bu uçbirimde %s düğmesi yok"
+234 "Yalnızca bir arabellek belirtilebilir"
+235 "Sayı şundan daha büyük: %lu"
+236 "Yarıda kesildi"
+237 "Geçici dosya oluşturulamıyor"
+238 "Uyarı: %s sıradan bir dosya değil"
+239 "%s halihazırda kilitlenmiş, oturum saltokunur"
+240 "%s: Kaldır"
+241 "%s: Kapat"
+242 "%s: Kaldır"
+243 "%s: Kaldır"
+244 "Saltokunur dosya, yazılmadı; yok saymak için ! kullanın"
+245 "Saltokunur dosya, yazılmadı"
+246 "%s mevcut, yazılmadı; yok saymak için ! kullanın"
+247 "%s mevcut, yazılmadı"
+248 "Kısmi dosya, yazılmadı; yok saymak için ! kullanın"
+249 "Kısmi dosya, yazılmadı"
+250 "%s: Dosya bu kopyadan daha önce değiştirilmiş; yok saymak için ! kullanın"
+251 "%s: Dosya bu kopyadan daha önce değiştirilmiş"
+252 "%s: Yazım koruması kullanılabilir değildi"
+253 "Yazılıyor..."
+254 "%s: UYARI: DOSYA KIRPILMIŞ"
+255 "Halihazırda bu grubun ilk etiketinde"
+256 "%s: Yeni dosya: %lu satır, %lu karakter"
+257 "%s: %lu satır, %lu karakter"
+258 "%s çok fazla dosya adına genişletilmiş"
+259 "%s: Sıradan bir dosya değil"
+260 "%s: İyesi siz değilsiniz"
+261 "%s: İyesi dışında başka bir kullanıcı tarafından da erişilebilir"
+262 "Dosya son tam yazımdan bu yana değiştirilmiş; yazın veya yok saymak için ! kullanın"
+263 "Dosya son tam yazımdan bu yana değiştirilmiş; yazın veya yok saymak için :edit! kullanın"
+264 "Dosya son tam yazımdan bu yana değiştirilmiş; yazın veya yok saymak için ! kullanın"
+265 "Dosya geçici; çıkarsanız değişiklikler atılacaktır"
+266 "Dosya saltokunur, değişiklikler kendiliğinden yazılmaz"
+267 "Günlük yeniden başlatıldı"
+268 "Onayla? [ynq]"
+269 "Sürdürmek için herhangi bir düğmeye basın: "
+270 "Sürdürmek için herhangi bir düğmeye basın [ex komutu girmek için :]: "
+271 "Sürdürmek için herhangi bir düğmeye basın [çıkış için q]: "
+272 "Bu biçim %s ex uçbirim arabirimini gerektirir"
+273 "ex girdisi kipine giriliyor"
+274 "Komut başarısız, henüz bir dosya okunmadı."
+275 " sürdür?"
+276 "Beklenmedik karakter olayı"
+277 "Beklenmedik dosya sonu olayı"
+278 "Sorgu eşleşmesi bulunamadı"
+279 "Beklenmedik yarıda kesme olayı"
+281 "Beklenmedik yeniden boyama olayı"
+282 "Halihazırda bu grubun son etiketinde"
+283 "%s komutu ex uçbirim arabirimini gerektirir"
+284 "Bu biçim %s 'secure edit' seçeneği ayarlandığında desteklenmez"
+285 "Beklenmedik dizi olayı"
+286 "Beklenmedik zaman aşımı olayı"
+288 "Bölünebilmesi için ekran %d sütundan daha geniş olmalıdır"
+289 "Kabuk genişletmeleri 'secure edit' seçeneği ayarlandığında desteklenmez"
+290 "%s komutu 'secure edit' seçeneği ayarlandığında desteklenmez"
+291 "set: %s seçeneği kapatılamaz"
+292 "Ekran çok küçük."
+293 "eklendi"
+294 "değiştirildi"
+295 "silindi"
+296 "uç uca eklendi"
+297 "taşındı"
+298 "kaydırıldı"
+299 "kopyalandı"
+300 "satır"
+301 "satır"
+303 "Dosya son yazımdan bu yana değiştirilmiş."
+304 "Kabuk genişletmesi başarısız"
+305 "Bir '%s' düzenleme seçeneği belirtilmedi"
+307 "Çalıştırılacak ex komutu yok"
+308 "Bir komut çalıştırmak için <CR>, çıkmak için :q girin"
+309 "Yardım için \"cscope help\" kullanın"
+310 "Çalışan bir cscope bağlantısı yok"
+311 "%s: Bilinmeyen arama türü: Şunlardan bir tanesini kullanın: %s"
+312 "%d: Böyle bir cscope oturumu yok"
+313 "set: %s seçeneği hiçbir zaman açılamaz"
+314 "set: %s seçeneği hiçbir zaman 0 olarak ayarlanamaz"
+315 "%s: İliştirildi: %lu satır, %lu karakter"
+316 "Beklenmedik yeniden boyutlandırma olayı"
+317 "Düzenlenecek %d dosya var"
+319 "%d ekran arkaplana alındı; onları listelemek için :display kullanın"
+320 "Bilinmeyen imleç konumu"
+321 "Dosya kodlama dönüştürmesi desteklenmiyor"
+322 "Girdi kodlama dönüştürmesi desteklenmiyor"
+323 "Geçersiz girdi. Kırpıldı."
+324 "%d numaralı satırda dönüştürme hatası"

Copied: vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.owner (from r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.owner)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/tr_TR.ISO8859-9.owner	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/tr_TR.ISO8859-9.owner)
@@ -0,0 +1 @@
+Emir SARI <bitigchi@me.com>

Copied: vendor/nvi/2.2.0/catalog/tr_TR.UTF-8.base (from r365495, vendor/nvi/dist/catalog/tr_TR.UTF-8.base)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/nvi/2.2.0/catalog/tr_TR.UTF-8.base	Wed Sep  9 07:58:35 2020	(r365496, copy of r365495, vendor/nvi/dist/catalog/tr_TR.UTF-8.base)
@@ -0,0 +1,304 @@
+002 "Satır uzunluğu taşımı"
+003 "%lu numaralı satır silinemiyor"
+004 "%lu numaralı satıra iliştirilemiyor"
+005 "%lu numaralı satırda ekleme yapılamıyor"
+006 "%lu numaralı satır kaydedilemiyor"
+007 "Son satır alınamıyor"
+008 "Hata: %lu numaralı satır okunamıyor"
+009 "Günlük dosyası"
+010 "Günlükleme gerçekleştirilmiyor, geri alma olanaklı değil"
+011 "Geri alınacak bir değişiklik yok"
+012 "Günlükleme gerçekleştirilmiyor, geri alma olanaklı değil"
+013 "Günlükleme gerçekleştirilmiyor, ileri sarma olanaklı değil"
+014 "Yinelenecek bir deÄŸiÅŸiklik yok"
+015 "%s/%d: Günlük kayıt hatası"
+016 "Vi'nin standart girdisi ve çıktısı bir uçbirim olmalı"
+017 "İm %s: Ayarlanmamış"
+018 "İm %s: Satır silinmiş"
+019 "İm %s: İmleç konumu artık yok"
+020 "Hata: "
+021 "yeni dosya
+022 "adı değişti"
+023 "deÄŸiÅŸtirildi"
+024 "deÄŸiÅŸtirilmedi"
+025 "KİLİDİ AÇILDI"
+026 "saltokunur"
+027 "satır %lu/%lu [%ld%%]"
+028 "boÅŸ dosya"
+029 "%lu. satır"
+030 "%s dosyası bir ileti kataloğu değil"
+031 "Öntanımlı %s seçeneği ayarlanamadı"
+032 "Kullanım: %s"
+033 "set: %s seçeneği yok: 'set all' tüm seçenek değerlerini verir"
+034 "set: [no]%s seçeneği bir değer almaz"
+035 "set: %s seçeneği bir Boole değeri değil"
+036 "set: %s seçeneği: %s"
+037 "set: %s seçeneği: %s: Değer taşımı"
+038 "set: %s seçeneği: %s izin verilmeyen bir sayı"
+039 "set: %s seçeneği bir Boole değeri değil"
+040 "Ekran sütun sayısı çok küçük, şundan daha az: %d"
+041 "Ekran sütun sayısı çok büyük, şundan daha çok: %d"
+042 "Ekran satır sayısı çok küçük, şundan daha az: %d"
+043 "Ekran satır sayısı çok büyük, şundan daha çok: %d"
+044 "Lisp seçeneği eklenmemiş"
+045 "İletiler kapatılmamış: %s"
+046 "İletiler açılmamış: %s"
+047 "%s seçeneği iki karakterli öbekler biçiminde olmalı"
+053 "Başlangıç arabelleği boş"
+054 "%s arabelleÄŸi boÅŸ"
+056 "Oturum başarısız olursa değişiklikler kurtarılamaz"
+057 "Dosya, kurtarma için kopyalanıyor..."
+058 "Koruma başarısız oldu: %s"
+059 "Oturum başarısız olursa değişiklikler kurtarılamaz"
+060 "Dosya yedeklemesi başarısız oldu: %s"
+061 "Dosya, kurtarma için kopyalanıyor..."
+062 "%u kullanıcısı üzerine bilgi bulunamadı"
+063 "Kurtarma dosyası kilitlenemiyor"
+065 "Kurtarma dosyası"
+066 "%s: Hatalı oluşturulmuş kurtarma dosyası"
+067 "%s: Hatalı oluşturulmuş kurtarma dosyası"
+068 "Kurtarılacak %s adında sizce okunabilir bir dosya yok"
+069 "Bu dosyanın kurtarabileceğiniz eski sürümleri var"
+070 "KurtarabileceÄŸiniz baÅŸka dosyalar var"
+071 "E-posta gönderilmedi: %s"
+072 "Dosya boÅŸ, aranacak bir ÅŸey yok"
+073 "Dizgi bulunamadan dosyanın sonuna erişildi"
+074 "Arama dizgisi yok"

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009090758.0897wZSR077500>