History log of /netbsd-current/lib/libedit/history.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.63 08-Oct-2019 christos

Change strncpy to either memcpy (when we know the len), or strlcpy (when
we used to NUL terminate explicitly.


Revision tags: netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.62 13-Sep-2018 kre

Fix editing mistake, remove ) from func call that is now gone.


# 1.61 13-Sep-2018 christos

more efficient to use decode_result :-) Pointed out by kre@


# 1.60 12-Sep-2018 christos

PR/53597: Yasuhiro Horimoto: Avoid segmentation fault in bad history file.


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.59 23-Dec-2017 uwe

branches: 1.59.2; 1.59.4;
The order in which the arguments to a function are evaluated is
undefined, so don't use va_arg() twice.

PR lib/52849


# 1.58 01-Sep-2017 christos

PR/51517: Jay West: Tty settings not restored on exit
PR/51518: Jay West: prompt is interleaved with client output

Both these issues are caused by rl_restore_handler not DTRT; fix
it so that it kills the internal libedit state completely. This is
inefficient, but it works.

Also fix:
1. add append_history()/H_NSAVE_FP
2. call the rl_startup_hook before printing the first prompt as documented.
callint it from rl_initialize breaks python, because the callback ends
up being invoked before the readline module is installed, and we end up
dereferencing a NULL pointer.
3. add el_resize_terminal.

With those changes, s/lreadline/ledit/g in python works.


Revision tags: netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.57 11-Apr-2016 christos

Get rid of private/public; keep protected (Ingo Schwarze)


# 1.56 11-Apr-2016 christos

chartype cleanups from Ingo Schwarze:

- The file tokenizer.c no longer uses chartype.h,
so don't include the header.

- The dummy definitions of ct_{de,en}code_string() for the
NARROWCHAR case are only used in history.c, so move them there.

- Now the whole content of chartype.h is for the wide character
case only. So remove the NARROWCHAR ifdef and include the
header only in the wide character case.

- In chartype.h, move ct_encode_char() below the comment explaining it.

- No more need for underscores before ct_{de,en}code_string().

- Make the conversion buffer resize functions private.
They are only called from the decoding and encoding functions
inside chartype.c, and no need can possibly arise to call them
from anywhere else.


# 1.55 11-Apr-2016 christos

Char -> wchar_t from Ingo Schwarze.


# 1.54 11-Apr-2016 christos

more macro WIDECHAR undoing from Ingo Schwarze.


# 1.53 23-Mar-2016 christos

Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)


# 1.52 17-Feb-2016 christos

whitespace and header sorting changes (Ingo Schwarze). No functional changes.


# 1.51 15-Feb-2016 christos

Don't free getline memory (Ingo Schwarze).


# 1.50 15-Feb-2016 christos

Use getline for better portability.


# 1.49 15-Feb-2016 christos

Change the test for the size of encoded buffer to include the NULL, from
OpenBSD; no functional change.


# 1.48 15-Feb-2016 christos

Use fparseln to avoid newline hacks.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.47 11-May-2014 christos

Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.46 18-Nov-2011 christos

branches: 1.46.6; 1.46.16;
Add coverity annotations about unreachable code (Kamil Dudka)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.45 29-Jul-2011 christos

branches: 1.45.2;
pass -Wconversion


# 1.44 29-Jul-2011 christos

- fix unused params
- unconditionalize vis.h


# 1.43 29-Jul-2011 christos

KNF return (\1); -> return \1;


# 1.42 28-Jul-2011 christos

kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.


# 1.41 28-Jul-2011 christos

include vis.h from dot.


# 1.40 27-Jul-2011 christos

fix narrow compilation


# 1.39 27-Jul-2011 christos

- don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base
# 1.38 16-Jan-2011 christos

off by one in fetching history data. From: Gerry Swislow


Revision tags: matt-mips64-premerge-20101231
# 1.37 03-Jan-2010 christos

rename historyw -> history_w for consistency.
add wide tst code and make it the default.


# 1.36 30-Dec-2009 christos

Fix wide build, test it, but don't turn it on yet.


# 1.35 30-Dec-2009 christos

Wide character support (UTF-8) from Johny Mattsson; currently disabled.


Revision tags: matt-premerge-20091211
# 1.34 07-Sep-2009 christos

apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.33 06-Feb-2009 sketch

Plug memory leak, from MySQL.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.32 28-Sep-2006 christos

Fix memory leak found by valgrind (Julien Torres)


Revision tags: abandoned-netbsd-4-base
# 1.31 01-Aug-2005 christos

Don't forget to initialize h_del; from Julien Torres.


# 1.30 14-Jul-2005 christos

PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.


# 1.29 06-Jul-2005 christos

Fix memory leaks found by valgrind. From Julien Torres


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.28 27-Nov-2004 christos

PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure


# 1.27 24-Aug-2004 christos

make sure that we round up to 1K.


# 1.26 20-Aug-2004 christos

PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save()


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 18-Oct-2003 christos

change allocation policy in el_push to allocate the string itself.
fix issues with strdup.


# 1.24 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# 1.23 19-Jun-2003 christos

From michael@moria.de:
- use __attribute__((__unused__)) in arguments where appropriate.
- some int -> size_t and char * to const char * conversions.


# 1.22 21-Jan-2003 christos

Add a uniquefier for the history function.


Revision tags: fvdl_fs64_base
# 1.21 27-Oct-2002 christos

don't crash in memory shortage conditions.


# 1.20 13-Oct-2002 christos

write the vis(3) converted string into the file, not the original one.
Noted by Tim Robbins. Hi luke!


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.19 18-Mar-2002 christos

- constify; passes all gcc and lint strict checks.
- add config.h [Jason Evans], to create a portable version of libedit that
can be easily compiled on other OS's.


# 1.18 29-Sep-2001 jdolecek

history_def_enter: fix off-by-one mistake in delete condition (the behaviour
to keep at least one entry on the history list is retained)
This fixes lib/9704 by Phil Nelson.


# 1.17 20-Mar-2001 christos

chmod the history file to 600 so that only the owner can read it.
[inspired by the openbsd fix to readline]


# 1.16 04-Sep-2000 lukem

convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents


# 1.15 29-Aug-2000 lukem

history_def_set has a `const int' as a third arg, not an `int'.
picked up by the ultrix compiler, reported by simonb@ ...


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.14 02-Jul-1999 simonb

More trailing white space.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.13 06-Mar-1999 mycroft

Add missing , in he_errlist[] initializer. Yay lint.


# 1.12 05-Feb-1999 christos

Encode the history lines using strvis() before saving it. Fixes gdb history
problem with missing newlines.


# 1.11 12-Dec-1998 christos

- missing error message from array could cause core dump
- delint


# 1.10 03-Dec-1998 cgd

per e-mail with christos: history_next_event() should return -1, not NULL,
in case of error, just like history_prev_event() does.


# 1.9 20-May-1998 christos

Add H_APPEND to simplify the interface.


# 1.8 20-May-1998 christos

Add a function to be able to set the cursor to a given event number.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 14-Oct-1997 christos

PR/4257: Jaromir Dolecek: history() has no generic error handling and isn't
reentrant. This changes the interface of the history function, so we need
a major number bump.


# 1.6 06-Jul-1997 christos

Fix compiler warnings.


# 1.5 11-Apr-1997 christos

Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__


# 1.4 23-Jan-1997 mrg

- convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.


# 1.3 11-Jan-1997 lukem

RCSid police
editline first appeared in 4.4BSD not NetBSD1.0


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.2 15-Oct-1995 christos

Added history load and save to file functions.


# 1.1 06-May-1994 cgd

branches: 1.1.1;
Initial revision


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.62 13-Sep-2018 kre

Fix editing mistake, remove ) from func call that is now gone.


# 1.61 13-Sep-2018 christos

more efficient to use decode_result :-) Pointed out by kre@


# 1.60 12-Sep-2018 christos

PR/53597: Yasuhiro Horimoto: Avoid segmentation fault in bad history file.


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.59 23-Dec-2017 uwe

branches: 1.59.2;
The order in which the arguments to a function are evaluated is
undefined, so don't use va_arg() twice.

PR lib/52849


# 1.58 01-Sep-2017 christos

PR/51517: Jay West: Tty settings not restored on exit
PR/51518: Jay West: prompt is interleaved with client output

Both these issues are caused by rl_restore_handler not DTRT; fix
it so that it kills the internal libedit state completely. This is
inefficient, but it works.

Also fix:
1. add append_history()/H_NSAVE_FP
2. call the rl_startup_hook before printing the first prompt as documented.
callint it from rl_initialize breaks python, because the callback ends
up being invoked before the readline module is installed, and we end up
dereferencing a NULL pointer.
3. add el_resize_terminal.

With those changes, s/lreadline/ledit/g in python works.


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.57 11-Apr-2016 christos

Get rid of private/public; keep protected (Ingo Schwarze)


# 1.56 11-Apr-2016 christos

chartype cleanups from Ingo Schwarze:

- The file tokenizer.c no longer uses chartype.h,
so don't include the header.

- The dummy definitions of ct_{de,en}code_string() for the
NARROWCHAR case are only used in history.c, so move them there.

- Now the whole content of chartype.h is for the wide character
case only. So remove the NARROWCHAR ifdef and include the
header only in the wide character case.

- In chartype.h, move ct_encode_char() below the comment explaining it.

- No more need for underscores before ct_{de,en}code_string().

- Make the conversion buffer resize functions private.
They are only called from the decoding and encoding functions
inside chartype.c, and no need can possibly arise to call them
from anywhere else.


# 1.55 11-Apr-2016 christos

Char -> wchar_t from Ingo Schwarze.


# 1.54 11-Apr-2016 christos

more macro WIDECHAR undoing from Ingo Schwarze.


# 1.53 23-Mar-2016 christos

Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)


# 1.52 17-Feb-2016 christos

whitespace and header sorting changes (Ingo Schwarze). No functional changes.


# 1.51 15-Feb-2016 christos

Don't free getline memory (Ingo Schwarze).


# 1.50 15-Feb-2016 christos

Use getline for better portability.


# 1.49 15-Feb-2016 christos

Change the test for the size of encoded buffer to include the NULL, from
OpenBSD; no functional change.


# 1.48 15-Feb-2016 christos

Use fparseln to avoid newline hacks.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.47 11-May-2014 christos

Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.46 18-Nov-2011 christos

branches: 1.46.6; 1.46.16;
Add coverity annotations about unreachable code (Kamil Dudka)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.45 29-Jul-2011 christos

branches: 1.45.2;
pass -Wconversion


# 1.44 29-Jul-2011 christos

- fix unused params
- unconditionalize vis.h


# 1.43 29-Jul-2011 christos

KNF return (\1); -> return \1;


# 1.42 28-Jul-2011 christos

kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.


# 1.41 28-Jul-2011 christos

include vis.h from dot.


# 1.40 27-Jul-2011 christos

fix narrow compilation


# 1.39 27-Jul-2011 christos

- don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base
# 1.38 16-Jan-2011 christos

off by one in fetching history data. From: Gerry Swislow


Revision tags: matt-mips64-premerge-20101231
# 1.37 03-Jan-2010 christos

rename historyw -> history_w for consistency.
add wide tst code and make it the default.


# 1.36 30-Dec-2009 christos

Fix wide build, test it, but don't turn it on yet.


# 1.35 30-Dec-2009 christos

Wide character support (UTF-8) from Johny Mattsson; currently disabled.


Revision tags: matt-premerge-20091211
# 1.34 07-Sep-2009 christos

apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.33 06-Feb-2009 sketch

Plug memory leak, from MySQL.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.32 28-Sep-2006 christos

Fix memory leak found by valgrind (Julien Torres)


Revision tags: abandoned-netbsd-4-base
# 1.31 01-Aug-2005 christos

Don't forget to initialize h_del; from Julien Torres.


# 1.30 14-Jul-2005 christos

PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.


# 1.29 06-Jul-2005 christos

Fix memory leaks found by valgrind. From Julien Torres


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.28 27-Nov-2004 christos

PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure


# 1.27 24-Aug-2004 christos

make sure that we round up to 1K.


# 1.26 20-Aug-2004 christos

PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save()


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 18-Oct-2003 christos

change allocation policy in el_push to allocate the string itself.
fix issues with strdup.


# 1.24 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# 1.23 19-Jun-2003 christos

From michael@moria.de:
- use __attribute__((__unused__)) in arguments where appropriate.
- some int -> size_t and char * to const char * conversions.


# 1.22 21-Jan-2003 christos

Add a uniquefier for the history function.


Revision tags: fvdl_fs64_base
# 1.21 27-Oct-2002 christos

don't crash in memory shortage conditions.


# 1.20 13-Oct-2002 christos

write the vis(3) converted string into the file, not the original one.
Noted by Tim Robbins. Hi luke!


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.19 18-Mar-2002 christos

- constify; passes all gcc and lint strict checks.
- add config.h [Jason Evans], to create a portable version of libedit that
can be easily compiled on other OS's.


# 1.18 29-Sep-2001 jdolecek

history_def_enter: fix off-by-one mistake in delete condition (the behaviour
to keep at least one entry on the history list is retained)
This fixes lib/9704 by Phil Nelson.


# 1.17 20-Mar-2001 christos

chmod the history file to 600 so that only the owner can read it.
[inspired by the openbsd fix to readline]


# 1.16 04-Sep-2000 lukem

convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents


# 1.15 29-Aug-2000 lukem

history_def_set has a `const int' as a third arg, not an `int'.
picked up by the ultrix compiler, reported by simonb@ ...


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.14 02-Jul-1999 simonb

More trailing white space.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.13 06-Mar-1999 mycroft

Add missing , in he_errlist[] initializer. Yay lint.


# 1.12 05-Feb-1999 christos

Encode the history lines using strvis() before saving it. Fixes gdb history
problem with missing newlines.


# 1.11 12-Dec-1998 christos

- missing error message from array could cause core dump
- delint


# 1.10 03-Dec-1998 cgd

per e-mail with christos: history_next_event() should return -1, not NULL,
in case of error, just like history_prev_event() does.


# 1.9 20-May-1998 christos

Add H_APPEND to simplify the interface.


# 1.8 20-May-1998 christos

Add a function to be able to set the cursor to a given event number.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 14-Oct-1997 christos

PR/4257: Jaromir Dolecek: history() has no generic error handling and isn't
reentrant. This changes the interface of the history function, so we need
a major number bump.


# 1.6 06-Jul-1997 christos

Fix compiler warnings.


# 1.5 11-Apr-1997 christos

Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__


# 1.4 23-Jan-1997 mrg

- convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.


# 1.3 11-Jan-1997 lukem

RCSid police
editline first appeared in 4.4BSD not NetBSD1.0


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.2 15-Oct-1995 christos

Added history load and save to file functions.


# 1.1 06-May-1994 cgd

branches: 1.1.1;
Initial revision


# 1.59 23-Dec-2017 uwe

The order in which the arguments to a function are evaluated is
undefined, so don't use va_arg() twice.

PR lib/52849


# 1.58 01-Sep-2017 christos

PR/51517: Jay West: Tty settings not restored on exit
PR/51518: Jay West: prompt is interleaved with client output

Both these issues are caused by rl_restore_handler not DTRT; fix
it so that it kills the internal libedit state completely. This is
inefficient, but it works.

Also fix:
1. add append_history()/H_NSAVE_FP
2. call the rl_startup_hook before printing the first prompt as documented.
callint it from rl_initialize breaks python, because the callback ends
up being invoked before the readline module is installed, and we end up
dereferencing a NULL pointer.
3. add el_resize_terminal.

With those changes, s/lreadline/ledit/g in python works.


Revision tags: matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.57 11-Apr-2016 christos

Get rid of private/public; keep protected (Ingo Schwarze)


# 1.56 11-Apr-2016 christos

chartype cleanups from Ingo Schwarze:

- The file tokenizer.c no longer uses chartype.h,
so don't include the header.

- The dummy definitions of ct_{de,en}code_string() for the
NARROWCHAR case are only used in history.c, so move them there.

- Now the whole content of chartype.h is for the wide character
case only. So remove the NARROWCHAR ifdef and include the
header only in the wide character case.

- In chartype.h, move ct_encode_char() below the comment explaining it.

- No more need for underscores before ct_{de,en}code_string().

- Make the conversion buffer resize functions private.
They are only called from the decoding and encoding functions
inside chartype.c, and no need can possibly arise to call them
from anywhere else.


# 1.55 11-Apr-2016 christos

Char -> wchar_t from Ingo Schwarze.


# 1.54 11-Apr-2016 christos

more macro WIDECHAR undoing from Ingo Schwarze.


# 1.53 23-Mar-2016 christos

Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)


# 1.52 17-Feb-2016 christos

whitespace and header sorting changes (Ingo Schwarze). No functional changes.


# 1.51 15-Feb-2016 christos

Don't free getline memory (Ingo Schwarze).


# 1.50 15-Feb-2016 christos

Use getline for better portability.


# 1.49 15-Feb-2016 christos

Change the test for the size of encoded buffer to include the NULL, from
OpenBSD; no functional change.


# 1.48 15-Feb-2016 christos

Use fparseln to avoid newline hacks.


Revision tags: netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.47 11-May-2014 christos

Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.46 18-Nov-2011 christos

branches: 1.46.6; 1.46.16;
Add coverity annotations about unreachable code (Kamil Dudka)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.45 29-Jul-2011 christos

branches: 1.45.2;
pass -Wconversion


# 1.44 29-Jul-2011 christos

- fix unused params
- unconditionalize vis.h


# 1.43 29-Jul-2011 christos

KNF return (\1); -> return \1;


# 1.42 28-Jul-2011 christos

kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.


# 1.41 28-Jul-2011 christos

include vis.h from dot.


# 1.40 27-Jul-2011 christos

fix narrow compilation


# 1.39 27-Jul-2011 christos

- don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base
# 1.38 16-Jan-2011 christos

off by one in fetching history data. From: Gerry Swislow


Revision tags: matt-mips64-premerge-20101231
# 1.37 03-Jan-2010 christos

rename historyw -> history_w for consistency.
add wide tst code and make it the default.


# 1.36 30-Dec-2009 christos

Fix wide build, test it, but don't turn it on yet.


# 1.35 30-Dec-2009 christos

Wide character support (UTF-8) from Johny Mattsson; currently disabled.


Revision tags: matt-premerge-20091211
# 1.34 07-Sep-2009 christos

apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.33 06-Feb-2009 sketch

Plug memory leak, from MySQL.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.32 28-Sep-2006 christos

Fix memory leak found by valgrind (Julien Torres)


Revision tags: abandoned-netbsd-4-base
# 1.31 01-Aug-2005 christos

Don't forget to initialize h_del; from Julien Torres.


# 1.30 14-Jul-2005 christos

PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.


# 1.29 06-Jul-2005 christos

Fix memory leaks found by valgrind. From Julien Torres


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.28 27-Nov-2004 christos

PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure


# 1.27 24-Aug-2004 christos

make sure that we round up to 1K.


# 1.26 20-Aug-2004 christos

PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save()


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 18-Oct-2003 christos

change allocation policy in el_push to allocate the string itself.
fix issues with strdup.


# 1.24 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# 1.23 19-Jun-2003 christos

From michael@moria.de:
- use __attribute__((__unused__)) in arguments where appropriate.
- some int -> size_t and char * to const char * conversions.


# 1.22 21-Jan-2003 christos

Add a uniquefier for the history function.


Revision tags: fvdl_fs64_base
# 1.21 27-Oct-2002 christos

don't crash in memory shortage conditions.


# 1.20 13-Oct-2002 christos

write the vis(3) converted string into the file, not the original one.
Noted by Tim Robbins. Hi luke!


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.19 18-Mar-2002 christos

- constify; passes all gcc and lint strict checks.
- add config.h [Jason Evans], to create a portable version of libedit that
can be easily compiled on other OS's.


# 1.18 29-Sep-2001 jdolecek

history_def_enter: fix off-by-one mistake in delete condition (the behaviour
to keep at least one entry on the history list is retained)
This fixes lib/9704 by Phil Nelson.


# 1.17 20-Mar-2001 christos

chmod the history file to 600 so that only the owner can read it.
[inspired by the openbsd fix to readline]


# 1.16 04-Sep-2000 lukem

convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents


# 1.15 29-Aug-2000 lukem

history_def_set has a `const int' as a third arg, not an `int'.
picked up by the ultrix compiler, reported by simonb@ ...


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.14 02-Jul-1999 simonb

More trailing white space.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.13 06-Mar-1999 mycroft

Add missing , in he_errlist[] initializer. Yay lint.


# 1.12 05-Feb-1999 christos

Encode the history lines using strvis() before saving it. Fixes gdb history
problem with missing newlines.


# 1.11 12-Dec-1998 christos

- missing error message from array could cause core dump
- delint


# 1.10 03-Dec-1998 cgd

per e-mail with christos: history_next_event() should return -1, not NULL,
in case of error, just like history_prev_event() does.


# 1.9 20-May-1998 christos

Add H_APPEND to simplify the interface.


# 1.8 20-May-1998 christos

Add a function to be able to set the cursor to a given event number.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 14-Oct-1997 christos

PR/4257: Jaromir Dolecek: history() has no generic error handling and isn't
reentrant. This changes the interface of the history function, so we need
a major number bump.


# 1.6 06-Jul-1997 christos

Fix compiler warnings.


# 1.5 11-Apr-1997 christos

Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__


# 1.4 23-Jan-1997 mrg

- convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.


# 1.3 11-Jan-1997 lukem

RCSid police
editline first appeared in 4.4BSD not NetBSD1.0


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.2 15-Oct-1995 christos

Added history load and save to file functions.


# 1.1 06-May-1994 cgd

branches: 1.1.1;
Initial revision


# 1.58 01-Sep-2017 christos

PR/51517: Jay West: Tty settings not restored on exit
PR/51518: Jay West: prompt is interleaved with client output

Both these issues are caused by rl_restore_handler not DTRT; fix
it so that it kills the internal libedit state completely. This is
inefficient, but it works.

Also fix:
1. add append_history()/H_NSAVE_FP
2. call the rl_startup_hook before printing the first prompt as documented.
callint it from rl_initialize breaks python, because the callback ends
up being invoked before the readline module is installed, and we end up
dereferencing a NULL pointer.
3. add el_resize_terminal.

With those changes, s/lreadline/ledit/g in python works.


Revision tags: perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.57 11-Apr-2016 christos

Get rid of private/public; keep protected (Ingo Schwarze)


# 1.56 11-Apr-2016 christos

chartype cleanups from Ingo Schwarze:

- The file tokenizer.c no longer uses chartype.h,
so don't include the header.

- The dummy definitions of ct_{de,en}code_string() for the
NARROWCHAR case are only used in history.c, so move them there.

- Now the whole content of chartype.h is for the wide character
case only. So remove the NARROWCHAR ifdef and include the
header only in the wide character case.

- In chartype.h, move ct_encode_char() below the comment explaining it.

- No more need for underscores before ct_{de,en}code_string().

- Make the conversion buffer resize functions private.
They are only called from the decoding and encoding functions
inside chartype.c, and no need can possibly arise to call them
from anywhere else.


# 1.55 11-Apr-2016 christos

Char -> wchar_t from Ingo Schwarze.


# 1.54 11-Apr-2016 christos

more macro WIDECHAR undoing from Ingo Schwarze.


# 1.53 23-Mar-2016 christos

Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)


# 1.52 17-Feb-2016 christos

whitespace and header sorting changes (Ingo Schwarze). No functional changes.


# 1.51 15-Feb-2016 christos

Don't free getline memory (Ingo Schwarze).


# 1.50 15-Feb-2016 christos

Use getline for better portability.


# 1.49 15-Feb-2016 christos

Change the test for the size of encoded buffer to include the NULL, from
OpenBSD; no functional change.


# 1.48 15-Feb-2016 christos

Use fparseln to avoid newline hacks.


Revision tags: netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.47 11-May-2014 christos

Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.46 18-Nov-2011 christos

branches: 1.46.6; 1.46.16;
Add coverity annotations about unreachable code (Kamil Dudka)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.45 29-Jul-2011 christos

branches: 1.45.2;
pass -Wconversion


# 1.44 29-Jul-2011 christos

- fix unused params
- unconditionalize vis.h


# 1.43 29-Jul-2011 christos

KNF return (\1); -> return \1;


# 1.42 28-Jul-2011 christos

kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.


# 1.41 28-Jul-2011 christos

include vis.h from dot.


# 1.40 27-Jul-2011 christos

fix narrow compilation


# 1.39 27-Jul-2011 christos

- don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base
# 1.38 16-Jan-2011 christos

off by one in fetching history data. From: Gerry Swislow


Revision tags: matt-mips64-premerge-20101231
# 1.37 03-Jan-2010 christos

rename historyw -> history_w for consistency.
add wide tst code and make it the default.


# 1.36 30-Dec-2009 christos

Fix wide build, test it, but don't turn it on yet.


# 1.35 30-Dec-2009 christos

Wide character support (UTF-8) from Johny Mattsson; currently disabled.


Revision tags: matt-premerge-20091211
# 1.34 07-Sep-2009 christos

apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.33 06-Feb-2009 sketch

Plug memory leak, from MySQL.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.32 28-Sep-2006 christos

Fix memory leak found by valgrind (Julien Torres)


Revision tags: abandoned-netbsd-4-base
# 1.31 01-Aug-2005 christos

Don't forget to initialize h_del; from Julien Torres.


# 1.30 14-Jul-2005 christos

PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.


# 1.29 06-Jul-2005 christos

Fix memory leaks found by valgrind. From Julien Torres


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.28 27-Nov-2004 christos

PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure


# 1.27 24-Aug-2004 christos

make sure that we round up to 1K.


# 1.26 20-Aug-2004 christos

PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save()


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 18-Oct-2003 christos

change allocation policy in el_push to allocate the string itself.
fix issues with strdup.


# 1.24 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# 1.23 19-Jun-2003 christos

From michael@moria.de:
- use __attribute__((__unused__)) in arguments where appropriate.
- some int -> size_t and char * to const char * conversions.


# 1.22 21-Jan-2003 christos

Add a uniquefier for the history function.


Revision tags: fvdl_fs64_base
# 1.21 27-Oct-2002 christos

don't crash in memory shortage conditions.


# 1.20 13-Oct-2002 christos

write the vis(3) converted string into the file, not the original one.
Noted by Tim Robbins. Hi luke!


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.19 18-Mar-2002 christos

- constify; passes all gcc and lint strict checks.
- add config.h [Jason Evans], to create a portable version of libedit that
can be easily compiled on other OS's.


# 1.18 29-Sep-2001 jdolecek

history_def_enter: fix off-by-one mistake in delete condition (the behaviour
to keep at least one entry on the history list is retained)
This fixes lib/9704 by Phil Nelson.


# 1.17 20-Mar-2001 christos

chmod the history file to 600 so that only the owner can read it.
[inspired by the openbsd fix to readline]


# 1.16 04-Sep-2000 lukem

convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents


# 1.15 29-Aug-2000 lukem

history_def_set has a `const int' as a third arg, not an `int'.
picked up by the ultrix compiler, reported by simonb@ ...


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.14 02-Jul-1999 simonb

More trailing white space.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.13 06-Mar-1999 mycroft

Add missing , in he_errlist[] initializer. Yay lint.


# 1.12 05-Feb-1999 christos

Encode the history lines using strvis() before saving it. Fixes gdb history
problem with missing newlines.


# 1.11 12-Dec-1998 christos

- missing error message from array could cause core dump
- delint


# 1.10 03-Dec-1998 cgd

per e-mail with christos: history_next_event() should return -1, not NULL,
in case of error, just like history_prev_event() does.


# 1.9 20-May-1998 christos

Add H_APPEND to simplify the interface.


# 1.8 20-May-1998 christos

Add a function to be able to set the cursor to a given event number.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 14-Oct-1997 christos

PR/4257: Jaromir Dolecek: history() has no generic error handling and isn't
reentrant. This changes the interface of the history function, so we need
a major number bump.


# 1.6 06-Jul-1997 christos

Fix compiler warnings.


# 1.5 11-Apr-1997 christos

Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__


# 1.4 23-Jan-1997 mrg

- convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.


# 1.3 11-Jan-1997 lukem

RCSid police
editline first appeared in 4.4BSD not NetBSD1.0


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.2 15-Oct-1995 christos

Added history load and save to file functions.


# 1.1 06-May-1994 cgd

branches: 1.1.1;
Initial revision


Revision tags: pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.57 11-Apr-2016 christos

Get rid of private/public; keep protected (Ingo Schwarze)


# 1.56 11-Apr-2016 christos

chartype cleanups from Ingo Schwarze:

- The file tokenizer.c no longer uses chartype.h,
so don't include the header.

- The dummy definitions of ct_{de,en}code_string() for the
NARROWCHAR case are only used in history.c, so move them there.

- Now the whole content of chartype.h is for the wide character
case only. So remove the NARROWCHAR ifdef and include the
header only in the wide character case.

- In chartype.h, move ct_encode_char() below the comment explaining it.

- No more need for underscores before ct_{de,en}code_string().

- Make the conversion buffer resize functions private.
They are only called from the decoding and encoding functions
inside chartype.c, and no need can possibly arise to call them
from anywhere else.


# 1.55 11-Apr-2016 christos

Char -> wchar_t from Ingo Schwarze.


# 1.54 11-Apr-2016 christos

more macro WIDECHAR undoing from Ingo Schwarze.


# 1.53 23-Mar-2016 christos

Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)


# 1.52 17-Feb-2016 christos

whitespace and header sorting changes (Ingo Schwarze). No functional changes.


# 1.51 15-Feb-2016 christos

Don't free getline memory (Ingo Schwarze).


# 1.50 15-Feb-2016 christos

Use getline for better portability.


# 1.49 15-Feb-2016 christos

Change the test for the size of encoded buffer to include the NULL, from
OpenBSD; no functional change.


# 1.48 15-Feb-2016 christos

Use fparseln to avoid newline hacks.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base tls-maxphys-base
# 1.47 11-May-2014 christos

Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.46 18-Nov-2011 christos

branches: 1.46.6; 1.46.16;
Add coverity annotations about unreachable code (Kamil Dudka)


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.45 29-Jul-2011 christos

branches: 1.45.2;
pass -Wconversion


# 1.44 29-Jul-2011 christos

- fix unused params
- unconditionalize vis.h


# 1.43 29-Jul-2011 christos

KNF return (\1); -> return \1;


# 1.42 28-Jul-2011 christos

kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.


# 1.41 28-Jul-2011 christos

include vis.h from dot.


# 1.40 27-Jul-2011 christos

fix narrow compilation


# 1.39 27-Jul-2011 christos

- don't leave cursor dangling on memory failure or after clearing the list
- compute the string length to be strvis'ed after the string is encoded


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base
# 1.38 16-Jan-2011 christos

off by one in fetching history data. From: Gerry Swislow


Revision tags: matt-mips64-premerge-20101231
# 1.37 03-Jan-2010 christos

rename historyw -> history_w for consistency.
add wide tst code and make it the default.


# 1.36 30-Dec-2009 christos

Fix wide build, test it, but don't turn it on yet.


# 1.35 30-Dec-2009 christos

Wide character support (UTF-8) from Johny Mattsson; currently disabled.


Revision tags: matt-premerge-20091211
# 1.34 07-Sep-2009 christos

apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/


Revision tags: jym-xensuspend-nbase jym-xensuspend-base
# 1.33 06-Feb-2009 sketch

Plug memory leak, from MySQL.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 mjf-devfs2-base netbsd-4-0-1-RELEASE wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-fixsa-newbase wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase matt-armv6-prevmlocking wrstuden-fixsa-base-1 netbsd-4-0-RELEASE cube-autoconf-base netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 matt-armv6-base matt-mips64-base hpcarm-cleanup-base wrstuden-fixsa-base netbsd-4-base
# 1.32 28-Sep-2006 christos

Fix memory leak found by valgrind (Julien Torres)


Revision tags: abandoned-netbsd-4-base
# 1.31 01-Aug-2005 christos

Don't forget to initialize h_del; from Julien Torres.


# 1.30 14-Jul-2005 christos

PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.


# 1.29 06-Jul-2005 christos

Fix memory leaks found by valgrind. From Julien Torres


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.28 27-Nov-2004 christos

PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV shifts cursor on failure


# 1.27 24-Aug-2004 christos

make sure that we round up to 1K.


# 1.26 20-Aug-2004 christos

PR/26725: Sergey S. Kostyliov: Typo in libedit, possible buffer overflow in src/lib/libedit/history.c:history_save()


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 18-Oct-2003 christos

change allocation policy in el_push to allocate the string itself.
fix issues with strdup.


# 1.24 07-Aug-2003 agc

Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.


# 1.23 19-Jun-2003 christos

From michael@moria.de:
- use __attribute__((__unused__)) in arguments where appropriate.
- some int -> size_t and char * to const char * conversions.


# 1.22 21-Jan-2003 christos

Add a uniquefier for the history function.


Revision tags: fvdl_fs64_base
# 1.21 27-Oct-2002 christos

don't crash in memory shortage conditions.


# 1.20 13-Oct-2002 christos

write the vis(3) converted string into the file, not the original one.
Noted by Tim Robbins. Hi luke!


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.19 18-Mar-2002 christos

- constify; passes all gcc and lint strict checks.
- add config.h [Jason Evans], to create a portable version of libedit that
can be easily compiled on other OS's.


# 1.18 29-Sep-2001 jdolecek

history_def_enter: fix off-by-one mistake in delete condition (the behaviour
to keep at least one entry on the history list is retained)
This fixes lib/9704 by Phil Nelson.


# 1.17 20-Mar-2001 christos

chmod the history file to 600 so that only the owner can read it.
[inspired by the openbsd fix to readline]


# 1.16 04-Sep-2000 lukem

convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents


# 1.15 29-Aug-2000 lukem

history_def_set has a `const int' as a third arg, not an `int'.
picked up by the ultrix compiler, reported by simonb@ ...


Revision tags: netbsd-1-5-PATCH003 netbsd-1-5-PATCH002 netbsd-1-5-PATCH001 netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.14 02-Jul-1999 simonb

More trailing white space.


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.13 06-Mar-1999 mycroft

Add missing , in he_errlist[] initializer. Yay lint.


# 1.12 05-Feb-1999 christos

Encode the history lines using strvis() before saving it. Fixes gdb history
problem with missing newlines.


# 1.11 12-Dec-1998 christos

- missing error message from array could cause core dump
- delint


# 1.10 03-Dec-1998 cgd

per e-mail with christos: history_next_event() should return -1, not NULL,
in case of error, just like history_prev_event() does.


# 1.9 20-May-1998 christos

Add H_APPEND to simplify the interface.


# 1.8 20-May-1998 christos

Add a function to be able to set the cursor to a given event number.


Revision tags: netbsd-1-3-PATCH003 netbsd-1-3-PATCH003-CANDIDATE2 netbsd-1-3-PATCH003-CANDIDATE1 netbsd-1-3-PATCH003-CANDIDATE0 netbsd-1-3-PATCH002 netbsd-1-3-PATCH001 netbsd-1-3-RELEASE netbsd-1-3-BETA netbsd-1-3-base
# 1.7 14-Oct-1997 christos

PR/4257: Jaromir Dolecek: history() has no generic error handling and isn't
reentrant. This changes the interface of the history function, so we need
a major number bump.


# 1.6 06-Jul-1997 christos

Fix compiler warnings.


# 1.5 11-Apr-1997 christos

Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__


# 1.4 23-Jan-1997 mrg

- convert unsafe strcpy(), strcat() and sprintf() to the `n' versions.
- some KNF.


# 1.3 11-Jan-1997 lukem

RCSid police
editline first appeared in 4.4BSD not NetBSD1.0


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.2 15-Oct-1995 christos

Added history load and save to file functions.


# 1.1 06-May-1994 cgd

branches: 1.1.1;
Initial revision