Commit Graph

64 Commits

Author SHA1 Message Date
Alex Richardson
8ef98a8045 Allow building usr.bin/vi with MK_ASAN
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
2021-07-19 15:04:19 +01:00
Baptiste Daroussin
6680e5a52f import nvi 2.2.0-3bbdfe4 2021-05-21 22:51:21 +02:00
dankm
888ae57252 nvi: fix catalog generation
Upstream broke catalog generation with some over-eagre style cleanups.
This brings in my pull request.

Obtained from:	https://github.com/lichray/nvi2/pull/88
Differential Revision: https://reviews.freebsd.org/D28594
2021-02-26 16:32:01 +01:00
Alex Richardson
5ce117c698 Fix buildworld on Linux/macOS after nvi update
This re-applies r365941 which was lost in the nvi update.
2020-10-12 10:42:24 +00:00
Baptiste Daroussin
755cc40c21 Update nvi to 2.2.0-05ed8b9
This version incorporates many fixes in particular a fix for vi -w
Another approach was proposed to merge those fixes (see review), I find
it easier to track changes if we keep importing snapshot on regular
basis

PR:		241985
Reported by:	fernape
Differential Revision:	https://reviews.freebsd.org/D26158
2020-10-01 04:46:23 +00:00
Fernando Apesteguía
f1cba2b70c vi(1): Add URL to the vi/ex reference manual in the man page
Reported in PR 241985

The manual page references the "vi/ex reference manual" but there is no
information about where to find that document. Add a reference to the manual in
the SEE ALSO section since the Project hosts a copy of it[1].

Change sent upstream[2]

If D26158 gets reviewed and committed, we could close that PR.

[1] https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf).
[2] https://github.com/lichray/nvi2/pull/85

Submitted by:	freebsd@tim.thechases.com
Approved by:	manpages (gbe@)
Differential Revision:	https://reviews.freebsd.org/D26163
2020-09-25 10:20:12 +00:00
Alex Richardson
2bd2b11335 Fix vi build on Linux/macOS
This absolute include causes a build failure on Linux for me:
.../cheri/freebsd/contrib/nvi/cl/../common/common.h:10:10: fatal error: '/usr/include/db.h' file not found

This change patches the file to use #include <db.h> instead until a
solution has been found upstream. See also https://github.com/lichray/nvi2/issues/69

Reviewed By:	bapt
Differential Revision: https://reviews.freebsd.org/D26480
2020-09-21 09:03:42 +00:00
Baptiste Daroussin
110d525ec6 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

MFC after:	3 weeks
2020-09-09 08:38:47 +00:00
Yuri Pankov
1a176e87df Revert r362148.
Breaks UTF-8 input for new or having only 7bit characters present files.

Reported by:	glebius
2020-06-22 22:59:03 +00:00
Yuri Pankov
38f168e1a3 nvi: fallback to ISO8859-1 as last resort
Current logic of using user's locale encoding that is UTF-8 doesn't make
much sense if we already failed the looks_utf8() check and skipped
encoding set using "fileencoding" as being UTF-8 as well; fallback to
ISO8859-1 in that case.

Reviewed by:	Zhihao Yuan <lichray@gmail.com>
Differential Revision:	https://reviews.freebsd.org/D24919
2020-06-13 14:11:02 +00:00
Mateusz Piotrowski
2486d00026 vi.1: Fix a typo
Reviewed by:	bcr
Approved by:	bcr (mentor)
Differential Revision:	https://reviews.freebsd.org/D22734
2019-12-09 17:58:22 +00:00
Yuri Pankov
f2dfec1ffb vi: fix UTF-8 detection.
PR:		202290
Submitted by:	lampa@fit.vutbr.cz
Reviewed by:	bapt
Approved by:	kib (mentor, implicit)
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D17950
2018-11-26 15:33:55 +00:00
Ed Maste
c59e510923 nvi: remove superfluous space before ^\
This fixes alignment in vi's 'viusage' command and has been fixed
upstream and in OpenBSD.

Submitted by:	Raf Czlonka (github:rjc)
MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd/pull/122
2018-11-09 17:39:57 +00:00
Baptiste Daroussin
c271fa9295 Update nvi to 2.1.3 which fixes the data corruption when locale conversion
failed
2015-04-10 17:50:28 +00:00
Peter Wemm
37d5a7cdf8 Vendor import nvi-2.1.2-c80f493b038 a multikey mapping fix
PR:		bin/182463
2013-12-08 00:08:03 +00:00
Peter Wemm
9d9df6f478 Merge nvi-2.1.1 -> 2.1.2 2013-11-11 16:52:02 +00:00
Peter Wemm
f0957ccae4 Update nvi-1.79 to 2.1.1-4334a8297f
This is the gsoc-2011 project to clean up and backport multibyte support
from other nvi forks in a form we can use.

USE_WIDECHAR is on unless building for the rescue crunchgen. This should
allow editing in the native locale encoding.

USE_ICONV depends on make.conf having 'WITH_ICONV=YES' for now.  This
adds the ability to do things like edit a KOI8-R file while having $LANG
set to (say) en_US.UTF-8.  iconv is used to transcode the characters for
display.

Other points:
* It uses gencat and catopen/etc instead of homegrown msg catalog stuff.
* A lot of stuff has been trimmed out, eg: the perl and tcl bindings which
  we could never use in base anyway.
* It uses ncursesw when in widechar mode.  This could be interesting.

GSoC info: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/zy/1
Repo at: https://github.com/lichray/nvi2

Obtained from:  Zhihao Yuan <lichray@gmail.com>
2013-08-11 20:03:12 +00:00
Peter Wemm
84ed61ee23 Post-cvs2svn flatten pass. 2013-08-11 08:38:10 +00:00
Jaakko Heinonen
29c4b7861b Rename O_DIRECTORY to O_TMP_DIRECTORY to avoid shadowing the fcntl.h
O_DIRECTORY flag.

PR:		bin/173924
Obtained from:	git://repo.or.cz/nvi.git
2013-05-15 18:41:49 +00:00
Dimitry Andric
d21f31a1a7 Fix two instances of undefined behaviour in contrib/nvi.
Found by:	clang ToT
Obtained from:	NetBSD
Reviewed by:	jh
MFC after:	3 days
2013-02-16 12:48:06 +00:00
Jaakko Heinonen
725f5cdb0d Fixes from NetBSD for nvi visual mode:
- Fix handling of ^@ when reading an ex command. Don't try to replay
  the previous input.
- Fix handling of ^C in insert mode and when reading an ex command.
  Repeating an interrupted input could cause a crash and interrupting
  ex command input could cause a file corruption.
- Fix a bug which causes crashes in file name completion when a file
  name is longer than the screen width.
- When an error occurs in v_txt(), leave the input mode.

PR:		bin/21089, bin/136393
Obtained from:	NetBSD
2010-05-28 09:30:13 +00:00
Jaakko Heinonen
da93e82d24 Fix misspelling of "substitution".
PR:		bin/130874
Submitted by:	Yoshihiro Ota
2010-05-28 09:26:53 +00:00
Rong-En Fan
8473fea281 - Sort the headers per style(9)
Reminded by:	yar
Approved by:	delphij (mentor, implicit)
2007-06-06 11:14:30 +00:00
Rong-En Fan
781d8f4e76 - Fix crash with ncurses on FreeBSD/amd64 CURRENT by including missing
header <term.h>, which is required by both tputs() and tgoto().

  Without this header, nvi crashes with the call to tputs() at line 114.
  This is because the first argument of tputs() is a pointer, and the
  returned pointer from tgoto() is casted to an integer by compiler.

  For some reasons, this only crashes on amd64+CURRENT. On 6.x system,
  this does not happen.

PR:		101248
Reported by:	yar, infofarmer, Roland Smith
Tested by:	infofarmer, delphij, rafan
Approved by:	delphij (mentor)
2007-06-06 02:23:03 +00:00
Colin Percival
816e551836 Remove the dates from these files. They serve no purpose and result in
these files spuriously changing each time they are built.

Also, add $FreeBSD$ tags, because cvs is unhappy otherwise.
2005-08-17 15:56:04 +00:00
Andrey A. Chernov
f30d7f3d69 Remove ru_SU, we don't need it in favour to ru_RU
Submitted by:   ru
2003-06-23 13:21:15 +00:00
Andrey A. Chernov
536a12dbd6 Copy ru_SU spelling fixes to ru_RU
Submitted by:   ru
2003-06-23 13:18:42 +00:00
John Polstra
020e34e445 Fixes for the Russian translations of the messages.
PR:		bin/48035, bin/48036
Submitted by:	Sergey A.Osokin <osa@FreeBSD.org.ru>
Reviewed by:	ache
MFC after:	4 weeks
2003-03-08 22:45:12 +00:00
Sheldon Hearn
cd65b21c06 Merge rev 1.1.1.3 from vendor branch: fix refresh / warning deadlock 2002-01-31 14:23:49 +00:00
Sheldon Hearn
17c17f89c5 Fix deadlock between warning display and refresh engines. This fix
is taken from nvi-1.51.5.

PR:		bin/3170
Reported by:	fenner
Obtained from:	skimo@kotnet.org

MFC after:	1 month
2002-01-31 14:20:50 +00:00
Sheldon Hearn
85085b2098 Merge rev 1.1.1.2 from the vendor branch: fix leftright scrolling for
long lines
2002-01-31 13:45:31 +00:00
Sheldon Hearn
d9bf839744 Add $FreeBSD$ CVS Id tag so that I can merge rev 1.1.1.2 from the
vendor branch.  This file was taken off the vendor branch in 1998,
before we started enforcing the presence of CVS Id tags. :-(
2002-01-31 13:44:36 +00:00
Sheldon Hearn
b4f6fcd394 Fix core dump in left-right screen scrolling for long lines.
The nvi maintainer expects this patch to be included in the upcoming
nvi-1.81.6 unless a better fix presents itself.

The MFC reminder below should be taken as a cue to MFC rev 1.1.1.2
of vs_relative.c as well.

PR:		bin/26869
Reported by:	Alex Semenyaka <alexs@snark.ratmir.ru>
Obtained from:	skimo@kotnet.org (via "Alexey V. Neyman" <alex.neyman@auriga.ru>)
MFC after:	1 month
2002-01-31 13:28:37 +00:00
Sheldon Hearn
32c41949c6 This commit was generated by cvs2svn to compensate for changes in r90019,
which included commits to RCS files with non-trunk default branches.
2002-01-31 13:28:37 +00:00
Sheldon Hearn
55228c2a54 Import patch from vendor (taken from nvi-1.81.5) that fixes problematic
interaction between the leftright and number options.

PR:		bin/23912
Reported by:	"Stephen D. Spencer" <gladiatr@boneyard.lawrence.ks.us>
Obtained from:	skimo@kotnet.org
2002-01-07 14:26:12 +00:00
Sheldon Hearn
2228a60af1 This commit was generated by cvs2svn to compensate for changes in r89010,
which included commits to RCS files with non-trunk default branches.
2002-01-07 14:26:12 +00:00
Robert Watson
09333c6166 o nvi failed to correctly handle EINTR returned from tcsetattr(), exiting
instead of recovering, which happens in particular during a rapid series
  of SIGWINCH's.  This change forces nvi to loop on the call in the event
  that the call is interrupted.

Interestingly, I submitted this bug report in 1998, and a solution was
posted shortly thereafter by Matthias Buelow; it's been sitting in the
PR database ever since.

Note: this takes this file off the vendor branch.  If and when we find
a vendor for this code, the fix should be given back to them.

PR:		bin/8438
Submitted by:	Matthias Buelow <mkb@altair.mayn.de>
MFC after:	1 month
2001-11-09 02:23:05 +00:00
Jordan K. Hubbard
3f2d9117d4 Close buffer overflow noted in security advisory DSA-085.
Submitted by:	Koga Youichirou <y-koga@jp.FreeBSD.org>
Obtained from:	Debian
2001-10-26 08:25:32 +00:00
Dima Dorfman
489b9470ae Fix an underflow resulting from the assumption !O_ISSET(sp, O_LEFTRIGHT)
(ironically, the assumption is in a code block which is conditional on its
converse).  This isn't strictly the correct fix; it's more of a workaround
to prevent an infinite loop.  The correct fix (see
ports/editors/nvi-devel/files/patch-vi-relative r1.1) would take a file off
the vendor branch, but since the result for this version of nvi is
identical, this route was elected.

PR:		28687
Approved by:	-developers
2001-07-19 11:02:11 +00:00
David E. O'Brien
fbd7787b32 It is just stupid to have to do ``<ESC>!rm -f %'' to write a file you own.
So lets stop that nonsense and allow `w!' to do something useful.

Submitted by:	green
2001-07-09 04:11:33 +00:00
Maxim Sobolev
a4a7932740 Update/improve Ukrainian translation.
Submitted by:	Olexander Kunytsa <kunia@istc.kiev.ua> (author of translation)
2001-04-17 11:00:58 +00:00
Ben Smithurst
f0ff2d5f66 more(3) -> more(1), and add $FreeBSD$
PR:		24033
Submitted by:	Rich Morin <rdm@cfcl.com>
2001-01-03 18:32:10 +00:00
Ruslan Ermilov
b8d4dc6c68 Follow POLA and bind the <End> key to the `$' command.
This is committed to the vendor (BOSTIC) branch because
it was accepted (committed) by ``nvi'' maintainers:

On Fri, Dec 01, 2000 at 03:51:14PM +0100, Sven Verdoolaege wrote:
[...]
> RCS file: /b/CVSROOT/vi/cl/cl_bsd.c,v
> Working file: cl_bsd.c
> head: 8.32
> branch:
> locks: strict
> access list:
> symbolic names:
>         nvi1-81-1: 8.31
>         nvi1-81-0: 8.30
>         nvi1-80: 8.29.0.2
> keyword substitution: kv
> total revisions: 32;    selected revisions: 1
> description:
> ----------------------------
> revision 8.32
> date: 2000/12/01 13:56:17;  author: skimo;  state: Exp;  lines: +2 -1
> allow use of <End> key on AT-compatible keyboards (Ruslan Ermilov <ru@FreeBSD.org>)
> =============================================================================
>
> RCS file: /b/CVSROOT/vi/cl/cl_term.c,v
> Working file: cl_term.c
> head: 10.28
> branch:
> locks: strict
> access list:
> symbolic names:
>         nvi1-81-1: 10.27
>         nvi1-81-0: 10.23
>         nvi1-80: 10.23.0.2
> keyword substitution: kv
> total revisions: 47;    selected revisions: 1
> description:
> ----------------------------
> revision 10.28
> date: 2000/12/01 13:56:18;  author: skimo;  state: Exp;  lines: +2 -1
> allow use of <End> key on AT-compatible keyboards (Ruslan Ermilov <ru@FreeBSD.org>)
2000-12-01 15:36:10 +00:00
Ruslan Ermilov
d3bc44f91c This commit was generated by cvs2svn to compensate for changes in r69482,
which included commits to RCS files with non-trunk default branches.
2000-12-01 15:36:10 +00:00
Sheldon Hearn
52bb494f29 Catch up to perl-5.6.0. 2000-12-01 12:11:24 +00:00
Alexey Zelkin
2cdbd5eec4 Ukrainian message catalogs for vi.
Submitted by:	Kunytsa Oleksander <kunia@snark.ukma.kiev.ua>
2000-08-22 21:59:42 +00:00
Kris Kennaway
4f38e89827 10 X's in mkstemp(). 2000-01-10 09:17:46 +00:00
Jose M. Alcaide
f35e5d0ef0 Re-encode spanish messages using ISO-8859-1.
Patches also sent to bostic@bostic.com.

PR:		bin/5966
Submitted by:	Jose M. Alcaide <jose@we.lc.ehu.es>
1999-09-17 08:30:48 +00:00
Ruslan Ermilov
510108dbec Fix a coredump when commands in ~/.exrc prepended with addresses.
PR:		13000
1999-09-14 14:34:58 +00:00
Tim Vanderhoek
a173eb9a01 Fix potential buffer overflow when using gtags.
Submitted by:	Shigio Yamaguchi [3]shigio@wafu.netgate.net (gtags author)
PR:		bin/7607
1999-08-22 03:48:31 +00:00