| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
OK czarkoff@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
| |
I'm debugging the read module for weeks now,
but these ifdefs aren't helpful.
OK cpp(1).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop the read.c module from poking the el_chared.c_macro data
structure that used to belong to the chared.c module. Given that
no other module, not even chared itself, is using that data, move it
into the read modules's own opaque data structure, struct el_read_t.
That gets rid of one struct, one #define, one struct member, and one
function argument in the chared.h interface.
OK czarkoff@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>.
|
|
|
|
|
|
|
|
|
|
|
| |
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>.
|
|
|
|
|
|
|
|
|
|
| |
OpenBSD read.c rev. 1.4 1997/06/10 20:10:13 millert
FIONREAD takes int *, not long *
It got lost in the following merge from NetBSD:
OpenBSD read.c rev. 1.10 2003/10/31 08:42:24 otto
OK millert@ martijn@
|
|
|
|
|
|
|
| |
* Make the return value from read_getcmd() less confusing.
* No need to store that return value; testing it once is enough.
* Get rid of one #ifdef section in el_wgets().
OK czarkoff@ martijn@
|
|
|
|
|
|
| |
* Delete the unused macro MIN().
No functional change.
OK czarkoff@ martijn@
|
|
|
|
| |
OK martijn@
|
|
|
|
| |
ok martijn@
|
|
|
|
|
|
|
|
|
|
|
| |
FUNW, Strlen, Strdup, Strcmp, Strncmp, Strncpy, Strncat -> history.c
Strchr, tok_strdup -> tokenizer.c
FUN, TYPE, STR -> both of these files
OK martijn@
Also proofread by Christian Heckendorf <mbie at ulmus dot me>
who reported some whitespace issues in parse.c.
|
|
|
|
|
|
|
|
| |
longer needed now that we always compile with wide character support,
reducing code obfuscation.
OK czarkoff@ martijn@.
Diff also proofread by Christian Heckendorf <mbie at ulmus dot me>.
|
|
|
|
|
| |
OK martijn@.
Diff also proofread by Christian Heckendorf <mbie at ulmus dot me>.
|
|
|
|
|
|
| |
No functional change.
ok guenther@
|
|
|
|
| |
committing right away because this code is not even compiled by default
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
|
|
| |
Always use el_wgetc(3) internally. In the !WIDECHAR case, casting
the result to (Char) is safe because the function returns a byte
rather than a character in that case.
No functional change except for fixing a printf(3) format string issue
when compiled with DEBUG_READ and WIDECHAR.
OK czarkoff@
|
|
|
|
|
|
|
|
|
|
| |
NetBSD rev. 1.68 2012/09/10 christos (bugfixes from Steffen Nurpmeso)
* el_wgetc(): set el_errno after read_char() failure
* el_wgets(): flag error condition after read_getcmd() failure
NetBSD rev. 1.69 2012/09/11 christos (bugfix from Christos Zoulas)
* read_getcmd(): return failure after el_wgetc() failure
NetBSD rev. 1.75 2016/02/12 christos (cleanup from Christos Zoulas)
* read_getcmd(): use a constant rather than a magical number
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
|
|
|
| |
making the code more readable. Instead, provide an mbrtowc(3)
replacement function in chartype.[hc], files that encapsulate
such system dependencies anyway. No functional change.
OK czarkoff@
|
|
|
|
|
|
|
|
| |
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@.
|
|
|
|
|
|
|
| |
supporting other multibyte locales or having an internal representation
of wchar_t that doesn't match UCS-4.
No functional change on OpenBSD, but it makes the code less confusing.
OK czarkoff@.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now, this mainly help programs explicitly using
wide-character functions like el_wgetc(3) and el_wgets(3).
1. After reading an invalid byte sequence, do not throw away additional
valid bytes; fix by me using mbrtowc(3), obsoleting utf8_islead().
2. When read(2) returns EOF, return that information to the caller,
do not prod on and potentially access garbage data in the buffer;
from Linas Vepstas via NetBSD read.c rev. 1.70 2013/05/27.
3. After read__fixio() failure, restore errno to the one set by read();
from Steffen Nurpmeso via NetBSD read.c rev. 1.68 2012/09/10.
4. After read__fixio() success, restore errno to the initial state
upon function entry; fix by me.
OK czarkoff@. Also committed to NetBSD.
|
| |
|
|
|
|
|
|
|
|
|
| |
Delete the silly ptr_t and ioctl_t typedefs
and delete some "#ifdef notdef" code from "sys.h".
No functional change.
This makes hist.h identical to the NetBSD version.
It reduces the remaining diff from +1526 -734 to +1430 -592.
OK czarkoff@
|
|
|
|
|
|
|
| |
KNF: Remove parentheses from return lines. No object change.
This makes emacs.c and prompt.c identical to the NetBSD versions.
It reduces the remaining diff from +2053 -1261 to +1526 -734.
OK czarkoff@
|
|
|
|
|
|
|
|
|
|
|
| |
* 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@
|
|
|
|
|
|
|
|
|
|
|
| |
* 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@
|
|
|
|
|
| |
reallocarray() where it helps.
ok doug
|
|
|
|
| |
ok nicm@
|
|
|
|
| |
ok deraadt
|
|
|
|
|
|
|
| |
unmaintainable). these days, people use source. these id's do not provide
any benefit, and do hurt the small install media
(the 33,000 line diff is essentially mechanical)
ok with the idea millert, ok dms
|
|
|
|
| |
Tested by jmc@ djm@ and myself
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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@
|
|
|
|
| |
rescinded 22 July 1999. Proofed by myself and Theo.
|
| |
|
| |
|
|
|
|
|
| |
never tested. Closed NetBSD PR#4012 from David Holland
<dholland@bordeaux.eecs.harvard.edu>.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__
* Don't allow CSWTCH to interfere with CSUSP on __SVR4 systems.
* Return -1 if the terminal set operation resulted in dumb terminal settings.
* Handle properly the case where the last line in the sourced file does
not have a trailing '\n'. From Jeffrey C Honig.
* editrc -> editline in editline(3)
|
| |
|
|
|
|
|
|
| |
Some strcpy() -> strncpy (from NetBSD)
Some KNF
Add current NetBSD tags
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|