8ef98a8045
We have to namespace the regex functions to avoid duplicate symbol errors. This also ensures that vi doesn't define the libc reg* functions with mismatched signatures. ld: error: duplicate symbol: regcomp >>> defined at sanitizer_common_interceptors.inc:7519 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7519) >>> asan_interceptors.o:(__interceptor_regcomp) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a >>> defined at regcomp.c >>> .../regex/regcomp.c.o:(.text+0x0) ld: error: duplicate symbol: regerror >>> defined at sanitizer_common_interceptors.inc:7543 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7543) >>> asan_interceptors.o:(__interceptor_regerror) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a >>> defined at regerror.c >>> .../regex/regerror.c.o:(.text+0x0) ld: error: duplicate symbol: regexec >>> defined at sanitizer_common_interceptors.inc:7530 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7530) >>> asan_interceptors.o:(__interceptor_regexec) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a >>> defined at regexec.c >>> .../regex/regexec.c.o:(.text+0x0) ld: error: duplicate symbol: regfree >>> defined at sanitizer_common_interceptors.inc:7553 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:7553) >>> asan_interceptors.o:(__interceptor_regfree) in archive /usr/lib/clang/10.0.1/lib/freebsd/libclang_rt.asan-x86_64.a >>> defined at regfree.c >>> .../regex/regfree.c.o:(.text+0x0) Committed upstream as https://github.com/lichray/nvi2/pull/92 Reviewed By: bapt Differential Revision: https://reviews.freebsd.org/D31050 |
||
---|---|---|
.. | ||
catalog | ||
cl | ||
common | ||
ex | ||
files | ||
man | ||
regex | ||
vi | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
README |
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.