master
Always compile with WIDECHAR on and delete that preprocessor switch. OK martijn@. Diff also proofread by Christian Heckendorf <mbie at ulmus dot me>.
Cleanup of standard header inclusion:
Fix the inter-library dependency for libedit and libreadline. Previously they tried to depend on libtermcap which actually doesn't exist in the objdir.
Use calloc(3) and recallocarray(3) instead of *alloc* + memset(0).
Improve modularization at the chared/read boundary, no functional change.
Terminate NULL in argv. This fix is come from 1.31 from NetBSD lib/libedit/chartype.c via FreeBSD. From tj@
typos in comments; from Pedro Giffuni (FreeBSD) via Christos Zoulas (NetBSD)
Delete obsolete /* ARGSUSED */ lint comments.
Use getline(3) rather than fgetln(3) because it is standardized and simpler and safer to use. Implemented by Christos Zoulas following my suggestion, with a bug fix by me.
.Lb libedit libcurses ; OK tedu@
Fix next_history() and previous_history(): * The meaning of "next" and "previous" is exchanged in readline(3) with respect to editline(3); this part of the patch from Bastian Maerkisch. * next_history() can move beyond the newest entry; issue pointed out by Bastian Maerkisch, fix by me.
ce examples of "Ar arg Ar arg" with "Ar arg arg" and stop the spread;
Saving errno in el_errno is only needed for one purpose: Restoring the original errno found in el_wgetc() after el_wgets() did some cleanup that may have changed errno.
delete the "private" and "public" preprocessor macros, just use standard C; OK martijn@
get rid of the non-standard data type "Char" in almost all files; ok martijn@
Move the declaration of the function pointer type el_rfunc_t from the private header "read.h" to the public header <histedit.h>. That's not an interface change, it was already used and documented publicly, merely not properly declared.
The files editline.c, historyn.c, and tokenizern.c are completely constant and very short and simple. Check them into CVS rather than generating them at build time in a complicated way. OK martijn@, also proofread by Christian Heckendorf <mbie at ulmus dot me>
* Delete the unimplemented feature XK_EXE. * Delete the unused macro MIN(). No functional change. OK czarkoff@ martijn@
Replace the generated file "fcns.c" by a simpler header "func.h" included only in the one file needing it, "map.c". That allows to define el_action_t directly in "map.h", which in turn allows to stop including "fcns.h" from "el.h" and include it only in the modules needing it. Now we no longer autogenerate any C files.
Stop using a while loop for code that runs at most once, and garbage collect an automatic variable that is no longer needed and a comment that was probably contributed by Capt. Obvious. No functional change.
Cleanup of private header inclusion:
Update ncurses and associated libraries (form, panel, menu) to 6.4-20230826 (from 5.7-20081102).
Enable separate compilation while keeping internal interfaces hidden. Simplifies the build system and prevents modules from stomping on each other's static symbols.
Update to NetBSD libedit (from Oct 1, 2003), adding some string cleaning and history bug fixes. The code includes GNU libreadline functionality, but the corresponding header files are not installed, since some libreadline functions are missing. There are some minor API changes, notably: