Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Sep 2021 10:31:02 GMT
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: b4a70dd2a25c - stable/12 - Update nvi to 2.2.0
Message-ID:  <202109221031.18MAV29W009187@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=b4a70dd2a25c8be82bf01048ff068ebe748a32e1

commit b4a70dd2a25c8be82bf01048ff068ebe748a32e1
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2020-09-09 08:38:47 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2021-09-22 10:25:30 +0000

    Update nvi to 2.2.0
    
    Main changes:
    * Vim-style expandtab option
    * Provides Turkish translation
    * Backspace now deletes \ rather than being escaped
    * T during motion commands is now VI-compatible
    * Encoding related fixes, such as UTF-8 detection
    * Fixed a number of memory management issues
    
    (cherry picked from commit 110d525ec6188f3c9dc4f54c4bc1cced2f7184cd)
---
 contrib/nvi/.gitignore                    |   9 +
 contrib/nvi/CMakeLists.txt                | 190 +++++++++++++++++++
 contrib/nvi/LICENSE                       |   4 -
 contrib/nvi/README                        |  10 +-
 contrib/nvi/catalog/Makefile              |   9 +-
 contrib/nvi/catalog/README                |   2 -
 contrib/nvi/catalog/dump.c                |   5 +-
 contrib/nvi/catalog/tr_TR.ISO8859-9.base  | 304 ++++++++++++++++++++++++++++++
 contrib/nvi/catalog/tr_TR.ISO8859-9.owner |   1 +
 contrib/nvi/catalog/tr_TR.UTF-8.base      | 304 ++++++++++++++++++++++++++++++
 contrib/nvi/catalog/tr_TR.UTF-8.owner     |   1 +
 contrib/nvi/cl/README.signal              |   2 -
 contrib/nvi/cl/cl.h                       |   2 -
 contrib/nvi/cl/cl_funcs.c                 |   4 -
 contrib/nvi/cl/cl_main.c                  |  65 ++-----
 contrib/nvi/cl/cl_read.c                  |   4 -
 contrib/nvi/cl/cl_screen.c                |  62 +++---
 contrib/nvi/cl/cl_term.c                  |  25 ++-
 contrib/nvi/common/args.h                 |   2 -
 contrib/nvi/common/common.h               |  11 +-
 contrib/nvi/common/conv.c                 |  13 +-
 contrib/nvi/common/conv.h                 |   2 -
 contrib/nvi/common/cut.c                  |  34 +---
 contrib/nvi/common/cut.h                  |   2 -
 contrib/nvi/common/delete.c               |  28 ++-
 contrib/nvi/common/encoding.c             |   4 -
 contrib/nvi/common/exf.c                  | 106 +++--------
 contrib/nvi/common/exf.h                  |   2 -
 contrib/nvi/common/extern.h               |   1 -
 contrib/nvi/common/gs.h                   |   4 -
 contrib/nvi/common/key.c                  |  61 ++----
 contrib/nvi/common/key.h                  |  12 +-
 contrib/nvi/common/line.c                 |  60 ++----
 contrib/nvi/common/log.c                  |  61 ++----
 contrib/nvi/common/log.h                  |   2 -
 contrib/nvi/common/main.c                 |  76 +++-----
 contrib/nvi/common/mark.c                 |  35 +---
 contrib/nvi/common/mark.h                 |   2 -
 contrib/nvi/common/mem.h                  |  51 ++---
 contrib/nvi/common/msg.c                  |  55 ++----
 contrib/nvi/common/msg.h                  |   2 -
 contrib/nvi/common/multibyte.h            |  36 +++-
 contrib/nvi/common/options.c              |  66 ++-----
 contrib/nvi/common/options.h              |   2 -
 contrib/nvi/common/options_def.h          | 137 +++++++-------
 contrib/nvi/common/options_f.c            |  94 ++-------
 contrib/nvi/common/put.c                  |  12 +-
 contrib/nvi/common/recover.c              |  68 ++-----
 contrib/nvi/common/screen.c               |  28 +--
 contrib/nvi/common/screen.h               |   2 -
 contrib/nvi/common/search.c               |  41 +---
 contrib/nvi/common/seq.c                  |  65 ++-----
 contrib/nvi/common/seq.h                  |   2 -
 contrib/nvi/common/util.c                 |  76 ++------
 contrib/nvi/common/util.h                 |   2 -
 contrib/nvi/docs/man/Makefile             |  16 --
 contrib/nvi/ex/ex.c                       |  11 +-
 contrib/nvi/ex/ex.h                       |   2 -
 contrib/nvi/ex/ex_abbrev.c                |   4 -
 contrib/nvi/ex/ex_append.c                |   4 -
 contrib/nvi/ex/ex_args.c                  |   9 +-
 contrib/nvi/ex/ex_argv.c                  |   8 +-
 contrib/nvi/ex/ex_at.c                    |  10 +-
 contrib/nvi/ex/ex_bang.c                  |  11 +-
 contrib/nvi/ex/ex_cd.c                    |   4 -
 contrib/nvi/ex/ex_cmd.c                   |   4 -
 contrib/nvi/ex/ex_cscope.c                |  63 +++----
 contrib/nvi/ex/ex_delete.c                |   4 -
 contrib/nvi/ex/ex_display.c               |   4 -
 contrib/nvi/ex/ex_edit.c                  |   4 -
 contrib/nvi/ex/ex_equal.c                 |   4 -
 contrib/nvi/ex/ex_file.c                  |   4 -
 contrib/nvi/ex/ex_filter.c                |   5 +-
 contrib/nvi/ex/ex_global.c                |  14 +-
 contrib/nvi/ex/ex_init.c                  |  17 +-
 contrib/nvi/ex/ex_join.c                  |   4 -
 contrib/nvi/ex/ex_map.c                   |   4 -
 contrib/nvi/ex/ex_mark.c                  |   4 -
 contrib/nvi/ex/ex_mkexrc.c                |   4 -
 contrib/nvi/ex/ex_move.c                  |   4 -
 contrib/nvi/ex/ex_open.c                  |   4 -
 contrib/nvi/ex/ex_preserve.c              |   4 -
 contrib/nvi/ex/ex_print.c                 |   6 +-
 contrib/nvi/ex/ex_put.c                   |   4 -
 contrib/nvi/ex/ex_quit.c                  |   4 -
 contrib/nvi/ex/ex_read.c                  |   7 +-
 contrib/nvi/ex/ex_screen.c                |   4 -
 contrib/nvi/ex/ex_script.c                |  11 +-
 contrib/nvi/ex/ex_set.c                   |   4 -
 contrib/nvi/ex/ex_shell.c                 |   4 -
 contrib/nvi/ex/ex_shift.c                 |  33 +++-
 contrib/nvi/ex/ex_source.c                |   9 +-
 contrib/nvi/ex/ex_stop.c                  |   4 -
 contrib/nvi/ex/ex_subst.c                 |  28 +--
 contrib/nvi/ex/ex_tag.c                   |  41 ++--
 contrib/nvi/ex/ex_txt.c                   |  12 +-
 contrib/nvi/ex/ex_undo.c                  |   4 -
 contrib/nvi/ex/ex_usage.c                 |   7 +-
 contrib/nvi/ex/ex_util.c                  |   4 -
 contrib/nvi/ex/ex_version.c               |   4 -
 contrib/nvi/ex/ex_visual.c                |   4 -
 contrib/nvi/ex/ex_write.c                 |   4 -
 contrib/nvi/ex/ex_yank.c                  |   4 -
 contrib/nvi/ex/ex_z.c                     |   4 -
 contrib/nvi/ex/extern.h                   |   1 +
 contrib/nvi/ex/script.h                   |   2 -
 contrib/nvi/ex/tag.h                      |   2 -
 contrib/nvi/ex/version.h                  |   2 +-
 contrib/nvi/files/config.h.in             |  17 ++
 contrib/nvi/files/pathnames.h.in          |  26 +++
 contrib/nvi/files/recover.in              |  53 ++++++
 contrib/nvi/{docs => }/man/vi.1           |  53 ++++--
 contrib/nvi/vi/getc.c                     |   4 -
 contrib/nvi/vi/v_at.c                     |   4 -
 contrib/nvi/vi/v_ch.c                     |  13 +-
 contrib/nvi/vi/v_cmd.c                    |   4 -
 contrib/nvi/vi/v_delete.c                 |   4 -
 contrib/nvi/vi/v_ex.c                     |   4 -
 contrib/nvi/vi/v_increment.c              |   4 -
 contrib/nvi/vi/v_init.c                   |  25 +--
 contrib/nvi/vi/v_itxt.c                   |   4 -
 contrib/nvi/vi/v_left.c                   |   4 -
 contrib/nvi/vi/v_mark.c                   |   4 -
 contrib/nvi/vi/v_match.c                  |   9 +-
 contrib/nvi/vi/v_paragraph.c              |   9 +-
 contrib/nvi/vi/v_put.c                    |   4 -
 contrib/nvi/vi/v_redraw.c                 |   4 -
 contrib/nvi/vi/v_replace.c                |   4 -
 contrib/nvi/vi/v_right.c                  |   4 -
 contrib/nvi/vi/v_screen.c                 |   4 -
 contrib/nvi/vi/v_scroll.c                 |   8 +-
 contrib/nvi/vi/v_search.c                 |   4 -
 contrib/nvi/vi/v_section.c                |   4 -
 contrib/nvi/vi/v_sentence.c               |   6 +-
 contrib/nvi/vi/v_status.c                 |   4 -
 contrib/nvi/vi/v_txt.c                    |  97 ++++------
 contrib/nvi/vi/v_ulcase.c                 |   4 -
 contrib/nvi/vi/v_undo.c                   |   4 -
 contrib/nvi/vi/v_util.c                   |   4 -
 contrib/nvi/vi/v_word.c                   |   4 -
 contrib/nvi/vi/v_xchar.c                  |   4 -
 contrib/nvi/vi/v_yank.c                   |   4 -
 contrib/nvi/vi/v_z.c                      |   4 -
 contrib/nvi/vi/v_zexit.c                  |   4 -
 contrib/nvi/vi/vi.c                       |  12 +-
 contrib/nvi/vi/vi.h                       |   4 +-
 contrib/nvi/vi/vs_line.c                  |   4 -
 contrib/nvi/vi/vs_msg.c                   |  17 +-
 contrib/nvi/vi/vs_refresh.c               |  11 +-
 contrib/nvi/vi/vs_relative.c              |   4 -
 contrib/nvi/vi/vs_smap.c                  |   4 -
 contrib/nvi/vi/vs_split.c                 |  10 +-
 usr.bin/vi/Makefile                       |   5 +-
 usr.bin/vi/catalog/Makefile               |   2 +-
 usr.bin/vi/config.h                       |   8 +-
 usr.bin/vi/pathnames.h                    |   1 -
 156 files changed, 1569 insertions(+), 1632 deletions(-)

diff --git a/contrib/nvi/.gitignore b/contrib/nvi/.gitignore
new file mode 100644
index 000000000000..aac7860d7299
--- /dev/null
+++ b/contrib/nvi/.gitignore
@@ -0,0 +1,9 @@
+*.swp
+*~
+*.orig
+*.core
+extern.h
+*_def.h
+version.h
+tags
+build/
diff --git a/contrib/nvi/CMakeLists.txt b/contrib/nvi/CMakeLists.txt
new file mode 100644
index 000000000000..00f43283f022
--- /dev/null
+++ b/contrib/nvi/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)
diff --git a/contrib/nvi/LICENSE b/contrib/nvi/LICENSE
index c79151197da6..f9238465b7c9 100644
--- a/contrib/nvi/LICENSE
+++ b/contrib/nvi/LICENSE
@@ -1,7 +1,3 @@
-/*-
- * $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.
 
diff --git a/contrib/nvi/README b/contrib/nvi/README
index 26fcc167fc6f..8f61a97144be 100644
--- a/contrib/nvi/README
+++ b/contrib/nvi/README
@@ -1,6 +1,4 @@
-#	$Id: README,v 9.2 2015/04/08 17:18:56 zy Exp $
-
-This is version 2.1.3 (2015-04-08) of nex/nvi, a reimplementation of the ex/vi
+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.
 
@@ -8,12 +6,12 @@ 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.
+    files ......... Template files.
+    man ........... Ex/vi documentation.
     regex ......... Modified regex library with wide character support.
     vi ............ Vi source code.
 
@@ -29,7 +27,7 @@ o Nvi was written by Keith Bostic, and the last version is 1.79.  After that,
 The following acknowledgments were written by Keith Bostic:
 
 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-o This software is several years old and is the product of many folks' work.  
+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
diff --git a/contrib/nvi/catalog/Makefile b/contrib/nvi/catalog/Makefile
index 11e71cce6d7b..d9f7cc91456d 100644
--- a/contrib/nvi/catalog/Makefile
+++ b/contrib/nvi/catalog/Makefile
@@ -1,7 +1,5 @@
-#	$Id: Makefile,v 9.0 2012/10/19 15:13:11 zy Exp $
-
-CAT=	dutch english french german polish ru_RU.KOI8-R spanish swedish \
-	uk_UA.KOI8-U zh_CN.GB2312
+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}
@@ -33,7 +31,8 @@ ${CAT}: english.base
 
 CHK=	dutch.check english.check french.check german.check \
 	polish.check ru_RU.KOI8-R.check spanish.check swedish.check \
-	uk_UA.KOI8-U.check zh_CN.GB2312.check
+	tr_TR.ISO8859-9.check tr_TR.UTF-8.check uk_UA.KOI8-U.check \
+	zh_CN.GB2312.check
 check: ${CHK}
 ${CHK}: ${CAT}
 	@echo "... $@";							\
diff --git a/contrib/nvi/catalog/README b/contrib/nvi/catalog/README
index 42a728afbe2e..14337c7c5981 100644
--- a/contrib/nvi/catalog/README
+++ b/contrib/nvi/catalog/README
@@ -1,5 +1,3 @@
-#	$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'
diff --git a/contrib/nvi/catalog/dump.c b/contrib/nvi/catalog/dump.c
index b87b29c1af78..74ab53b2f12c 100644
--- a/contrib/nvi/catalog/dump.c
+++ b/contrib/nvi/catalog/dump.c
@@ -27,10 +27,7 @@
  * SUCH DAMAGE.
  */
 
-#ifndef lint
-static char sccsid[] = "@(#)dump.c	8.1 (Berkeley) 8/31/94";
-#endif /* not lint */
-
+#include <ctype.h>
 #include <ctype.h>
 #include <stdio.h>
 
diff --git a/contrib/nvi/catalog/tr_TR.ISO8859-9.base b/contrib/nvi/catalog/tr_TR.ISO8859-9.base
new file mode 100644
index 000000000000..a591974e34d8
--- /dev/null
+++ b/contrib/nvi/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ı"
diff --git a/contrib/nvi/catalog/tr_TR.ISO8859-9.owner b/contrib/nvi/catalog/tr_TR.ISO8859-9.owner
new file mode 100644
index 000000000000..2739e5bbfd61
--- /dev/null
+++ b/contrib/nvi/catalog/tr_TR.ISO8859-9.owner
@@ -0,0 +1 @@
+Emir SARI <bitigchi@me.com>
diff --git a/contrib/nvi/catalog/tr_TR.UTF-8.base b/contrib/nvi/catalog/tr_TR.UTF-8.base
new file mode 100644
index 000000000000..9c27d4eb7423
--- /dev/null
+++ b/contrib/nvi/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"
+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"
*** 6370 LINES SKIPPED ***



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