summaryrefslogtreecommitdiffstats
path: root/lib/libedit/el.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Saving errno in el_errno is only needed for one purpose:schwarze2016-05-251-2/+1
| | | | | | | | | | | | | | | | | Restoring the original errno found in el_wgetc() after el_wgets() did some cleanup that may have changed errno. Improve clarity and robustness of the code by not setting and inspecting el_errno where it isn't needed; in particular, let keymacro_get() properly report read failure to read_getcmd(). Move el_errno to el_read_t because it's only used in read.c. Never set errno back to zero. Checked with a test program installing a USR1 signal handler without SA_RESTART, for the cases read_getcmd(), ed_quoted_insert(), keymacro_get(), ed_command(), and EL_EDITMODE=0. OK czarkoff@
* Move the declaration of the function pointer type el_rfunc_tschwarze2016-05-201-3/+4
| | | | | | | | | | | | | | | 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. Improve encapsulation: Make el_read a pointer to an opaque struct in struct editline, such that "read.h" no longer needs to be included from "el.h" but only from the two files using it, read.c and el.c. Only pass the required el_read_t to el_read_{s,g}etfn(), do not pass the full struct editline. OK czarkoff@, also proofread by Christian Heckendorf <mbie at ulmus dot me>.
* Replace the generated file "fcns.c" by a simpler header "func.h"schwarze2016-05-061-3/+2
| | | | | | | | | | | 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. Feedback and OK martijn@. First version also proofread by Christian Heckendorf <mbie at ulmus dot me>.
* get rid of the non-standard data type "Char" in almost all files;schwarze2016-04-111-11/+11
| | | | ok martijn@
* Always compile with WIDECHAR on and delete that preprocessor switch.schwarze2016-04-091-4/+2
| | | | | OK martijn@. Diff also proofread by Christian Heckendorf <mbie at ulmus dot me>.
* Make the read_char() function always take a wchar_t * argument.schwarze2016-03-211-3/+2
| | | | | | | | | | | On first sight, it might look as if this required a bump because it seems to change the public type el_rfunc_t. But we only compile with WIDECHAR, and in that case, there is no change in the interface. This also simplifies some logic by getting rid of the NARROW_READ flag which was broken anyway. OK czarkoff@
* Cleanup of standard header inclusion:schwarze2016-03-201-6/+4
| | | | | | | | | | | | | 1. Add the missing <errno.h> to sig.c. 2. Do not include standard headers from private headers "chared.h" and "el.h", include them directly where needed. 3. Delete a few needless inclusions of <ctype.h>. 4. Sort the standard headers. 5. Delete _GNU_SOURCE weirdness from histedit.h, that file doesn't even need the access to wcsdup(3) mentioned in the comment. 6. Delete some trailing blanks and blanks before tabs. OK czarkoff@
* delete useless "typedef int bool_t", use int directly;schwarze2016-03-201-3/+1
| | | | OK czarkoff@
* Cleanup of private header inclusion:schwarze2016-03-201-4/+2
| | | | | | | | | | | | | | 1. Do not include private headers from "chared.h", "hist.h", "prompt.h", "refresh.h", "search.h", "sig.h", "terminal.h", "tty.h". The only private header having to include other private headers is "el.h". 2. Do not include "common.h", "parse.h", "help.h" from "el.h", and do not include "emacs.h" and "vi.h" from "chared.h", include them directly where needed. 3. Do include "fcns.h" from "el.h" because el_func_t is needed for "map.h". 4. Do not include private headers again that are already included by "el.h". 5. Include private headers after standard headers. OK czarkoff@
* Delete the weird IGNORE_EXTCHARS flag, simplifying the codeschwarze2016-03-201-2/+1
| | | | | | | | in the generic low-level function read_char(). Until we fully enable UTF-8 support, instead filter out non-ASCII characters in the more logical place in the high-level function el_gets(3). OK czarkoff@.
* Third step in synching with NetBSD:schwarze2016-01-301-2/+2
| | | | | | | | | | | * rename fkey_t to funckey_t and el_term_t to el_terminal_t * rename struct editline member el_term to el_terminal * rename many functions in terminal.c from term_*() to terminal_*(), for consistency with the file name and to not look related to <term.h> No functional change. This makes refresh.c and sig.c almost identical to the NetBSD versions. It reduces the remaining diff from +2446 -1805 to +2053 -1420. OK czarkoff@
* Second step in synching with NetBSD:schwarze2016-01-291-2/+2
| | | | | | | | | | | * Rename some types from *key*_t to *keymacro*_t. * Rename struct editline member el_key to el_keymacro. * Rename some functions in keymacro.c from key*() to keymacro*(). This removes the conflict of key_clear(), key_end(), and key_print() with macros in <term.h>. No functional change. This makes keymacro.h identical to the NetBSD version. It reduces the remaining diff from +2640 -1998 to +2446 -1805. OK czarkoff@
* Start synching with NetBSD:schwarze2016-01-291-3/+3
| | | | | | | | | | Rename the files key.[hc] to keymacro.[hc] and term.[hc] to terminal.[hc]. The change makes sense because "term.h" conflicts with <term.h> and the functions key_clear(), key_end(), and key_print() in "key.h" conflict with macros in <term.h>. No content change yet, no binary change in *.o after "strip -d". This reduces the remaining diff from +4634 -3992 to +2640 -1998. OK czarkoff@, and mmcc@ agrees with the direction.
* Remove non-exposed malloc/realloc/free wrappers, and then substitutederaadt2014-10-171-8/+1
| | | | | reallocarray() where it helps. ok doug
* sync with upstream, retaining local modifications.okan2011-07-071-1/+3
| | | | ok nicm@
* Update libedit to bring it into sync with the latest version from NetBSD.nicm2010-06-301-12/+24
| | | | ok deraadt
* Sync libedit to NetBSD libedit as of Nov 8, 2003.otto2003-11-251-2/+3
| | | | Tested by jmc@ djm@ and myself
* Update to NetBSD libedit (from Oct 1, 2003), adding some stringotto2003-10-311-42/+63
| | | | | | | | | | | | | | | | | | 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: old: EditLine *el_init(const char *, FILE *, FILE *); new: EditLine *el_init(const char *, FILE *, FILE *, FILE *); old: HistEvent *history(History *h, int op, ...); new: int history(History *h, HistEvent *ev, int op, ...); plus some changes in operation names. See editline(3) for details. Tested by djm@, mouring@, jmc@. ok deraadt@
* Remove the advertising clause in the UCB license which Berkeleymillert2003-06-021-6/+2
| | | | rescinded 22 July 1999. Proofed by myself and Theo.
* fix el_source() - a block needed braces around it (from NetBSD)millert1997-03-141-1/+2
| | | | | | Some strcpy() -> strncpy (from NetBSD) Some KNF Add current NetBSD tags
* Merge in NetBSD libedit changes and new man pages. Also fix somemillert1997-01-161-0/+2
| | | | | | | | | | | | | | | | | | strncpy() usage in their code. NetBSD change log was: * add a man page for the editline routines * add a man page describing editrc * fix bugs in el_parse(): * didn't execute command when program name matched (test reversed) * was checking against empty string instead of program name * after checks, command to run also pointed to empty string * document ^char and \ escape sequences * when parsing ^char control chars, check the correct char when determining validity (previously, ^char was a NOP interpreted as the literal string because of this bug) * Implement CC_REDISPLAY, which (unlike CC_REFRESH) redraws the entire input * line (a la ^R). This is useful if the binding outputs information and * mucks up the input line. To be used in ``list-choices'' bindings (refer * to the ^D binding in csh when filec is set)
* initial import of NetBSD treederaadt1995-10-181-0/+129