Commit Graph

50 Commits

Author SHA1 Message Date
aymeric 59b6c0290c flush the current line cache on every operation on the DB.
We can't keep a reference to data returned by libdb after a subsequent call to
any other libdb function on that DB.

Fixes a bug reported privately by Miho Taniyama (thanks!)... and hopefully
other hard-to-reproduce bugs.
2004-05-02 17:00:31 +00:00
aymeric 14069c4665 Don't fail if asked to recover a file for which there is no recovery file.
Just continue. This matches the man page, the POSIX standard, and even the
comment above that code!
From OpenBSD, via jmc@openbsd, via wiz@netbsd.
POSIX part confirmed by kleink@netbsd
:-)
2004-04-05 07:19:08 +00:00
aymeric 1bc3c9fb86 fix copying and freeing of options, patch from yamt@ in PR bin/25050. Thanks! 2004-04-05 06:59:15 +00:00
dsl 43d69358c2 Use the options.awk script to generate options_def.h (as in nvi distribution).
Modify options.awk to detect an incorrectly sorted options array.
NB: if GTAGS is undefined theses sources will still generate invalid programs.
2003-08-28 16:23:40 +00:00
mrg d47feee1f7 can't print size_t with %d 2003-08-28 01:55:17 +00:00
dsl f25691d97c Increase maximum terminal size from 500x500 to 4000x4000.
Add a 'matchchars' option to set the character pairs that % looks for.
Traditionally this was []{}() but someone added <> to nvi - probably
for editing html, but it is a pain for C. :set matchars=[]{}() will
restore the traditional behaviour.
If the 'open' and 'close' characters are the same (eg "" or '') then % will
alternate forwards and backwards searches.
Use common code to detect options that must have an even number of characters.
2003-08-27 15:15:13 +00:00
dsl 9290245176 Coorectly sort options table (it is searched with a binary chop). 2003-08-27 13:47:51 +00:00
christos b2ee3e403d improve on previous. only adjust the length when it exceed the string length. 2003-04-18 18:46:26 +00:00
christos c0b1f367f4 Recovery of vi files has been broken for a long while. This patch is a
stopgap measure to make vi recovery mostly functional on non-binary files.
The problem is that the db holding the recovery file can become corrupted,
in which case the data size of the line becomes huge. We use heuristics to
correct the size when we load a db in recovery mode. We could use a slightly
better heuristic (looking for ascii chars before correcting the length),
but it is not worth it. Another way would have been to trap the SEGV and
access data[len] and see if that worked, but that seemed exceedingly ugly.
2003-04-18 18:33:41 +00:00
wiz 1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
simonb 767793d996 Use an "int" instead of an "u_char" for a variable that is as a loop
control variable that is checked against against "<= 255".
2002-05-09 02:36:57 +00:00
pooka a68282c497 Fix FreeBSD PR #12801 in such a way that it doesn't create unfortunate
side-effects, like the ones described in bin/15891 and bin/16210.

patch from Sven Verdoolaege (nvi maintainer)
2002-04-15 08:31:42 +00:00
thorpej 7f192498d4 Use __RCSID() and __COPYRIGHT(). 2002-04-09 01:47:30 +00:00
simonb c9f9583821 Back out rev 1.6, per discussion with Aymeric Vincent and Antti Kantee.
Rev 1.6 fixes an obscure core-dump problem, but changes the long time
behaviour of cursor positioning when switching files.

"Fixes" PR bin/15891.
2002-03-25 00:13:56 +00:00
pooka bbd559bc7a Exit the file_init "recursion" only if we are actually already trying for
a second time. Checking for the plain temp filename was not enough,
as it may be set even though we are calling the function for the
first time.

fixes bin/15474 by Chuck Cranor
2002-02-09 19:33:53 +00:00
aymeric 9000224da7 Fix FreeBSD PR #12801, the way nvi 1.81.5 does it.
(vi dumped core when editing a new file after having edited another one)
2002-01-13 11:57:38 +00:00
yamt 1856278572 backout my miscommit.
pointed by Aymeric Vincent.
2001-10-20 22:30:31 +00:00
aymeric be5a16fc47 Fix a cut_line() caller not using the right value for (former) ENTIRE_LINE,
by defining the (newer) CUT_LINE_TO_EOL define in common/cut.h and using it
where due.

Bug reported on current-users by Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>
diagnosed by Bang Jun-Young <bjy@mogua.org>,
quick-fixed by Robert Elz <kre@munnari.OZ.AU>.
2001-10-20 10:04:49 +00:00
yamt f8835551fd fix format string bugs.
pointed by Tomoaki IMAMURA in PR/14271.
2001-10-17 07:38:48 +00:00
aymeric 7ac97260c6 Fix a test condition for EOF. Together with previous commit in cut.c (1.4),
this fixes correctly PR #10367.
2001-09-09 11:03:02 +00:00
aymeric b88939bbba Define ENTIRE_LINE to be -1 instead of 0 since we may want to copy 0 characters.
(and use ENTIRE_LINE instead of 0 where appropriate)

This fixes a bug in the dw command with for example:

<cursor>
a b c

~
~
if you hit dw there, only the empty line would be killed but both the empty
line and the subsequent one would be pasted when asked for with P for example.
2001-09-09 11:01:09 +00:00
aymeric ca334636ac Prevent nvi from looping infinitely when it can't create a temporary file
because of a weird umask for example.
Make it exit instead.
This differs from the OpenBSD behaviour and is believed to be more correct.

Reported by Thomas Klausner in private e-mail, followed by a small discussion in
tech-userlevel a while ago.
2001-08-17 21:33:46 +00:00
aymeric 48c52c6884 ERR -> SYSERR when recdir does not exist.
This results in a more useful message for the user.
2001-05-13 12:03:00 +00:00
aymeric 52117b75a3 shutup most (non-intrusive) gcc warnings 2001-05-01 16:46:11 +00:00
aymeric 414f14c52d merge changes after import of nvi 1.79 2001-03-31 11:37:44 +00:00
lukem c2b84904ae use %ll_ instead of the less standard %q_ 2001-01-04 23:05:54 +00:00
is 135600f947 More format string cleanup by sommerfeld. 2000-10-11 14:46:00 +00:00
aymeric a803656ec6 Correct behavior of options octal, print and noprint
This fixes PR #6800
2000-06-19 20:09:37 +00:00
jdc 4a3a422fde Handle xterm's alternate screen when entering or leaving ex mode, e.g.
":!ls", so that the screen is not changed before the "Press any key"
message.  Taken from v1.79.
2000-05-31 19:49:23 +00:00
christos aab07b7582 Don't depend on BSD regexec extensions (REG_STARTEND)
Emulate it if it is not defined.
2000-03-17 02:23:17 +00:00
hubertf 56f2d188fc RCS ID police 1999-02-15 04:54:34 +00:00
abs 27134b4a8f Add Gtags support from shigio@wafu.netgate.net (PR 5978). Gtags are produced
by global (http://wafu.netgate.net/tama/unix/global.html)
1999-01-08 06:16:54 +00:00
mycroft af26acbc65 const poisoning. 1998-07-26 23:14:40 +00:00
mrg 32f519716b - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
1998-07-06 06:56:06 +00:00
perry 3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
mrg 050b6cd211 pull in core-dump fix from bostic (part of nvi 1.67) 1996-06-10 12:39:47 +00:00
mrg 19b430625c fix bug in wrapsearch/command line args. from bostic. 1996-06-10 12:28:53 +00:00
mrg 89b7050608 oops, forgot to remove this. 1996-06-02 04:41:52 +00:00
mrg 095b103c63 these files are either deleted (in nvi) or not necessary 1996-05-20 09:02:48 +00:00
mrg 12cc64d022 merge in nvi 1.66 1996-05-20 03:47:00 +00:00
mrg 490196e2bb import of nvi 1.66 1996-05-20 02:01:36 +00:00
jtc 67e1e27795 Changed recovery email message to refer to ex and vi instead of nex and nvi. 1995-06-23 02:07:16 +00:00
cgd ae32286b2a don't forget manual page links. 1994-08-30 17:12:59 +00:00
cgd eb7eaeab05 clean up import. 1994-08-17 20:12:00 +00:00
cgd ba92461eed new public version of nvi 1994-08-17 19:19:35 +00:00
cgd c0304c0e6d minor adjustment 1994-08-17 17:17:02 +00:00
cgd 0870ee7aa2 use PROG rather than nvi 1994-08-17 17:15:14 +00:00
cgd fe9e75cac5 vi not nvi, etc., build man page normally, and get BINDIR 1994-08-17 17:05:16 +00:00
cgd 1588279d5e new public version of nvi 1994-08-17 16:17:19 +00:00