Home | History | Annotate | Download | only in libedit
History log of /src/lib/libedit/histedit.h
RevisionDateAuthorComments
 1.62  03-Feb-2023  christos Add a entry point for the complete function for FreeBSD compatibility with sh.
 1.61  08-Feb-2022  rillig libedit: fix typos, apply KNF to newly imported code (PR/56693)

No binary change.
 1.60  08-Feb-2022  christos PR/56693: Walter Lozano: Add support for rl_delete_text and rl_set_key
 1.59  11-Jan-2022  christos PR/56618: Walter Lozano: Improve libedit compatibility with readline by
implementing:

rl_copy_text, rl_erase_empty_line, rl_message, rl_on_new_line,
rl_replace_line, rl_restore_prompt, rl_save_prompt
 1.58  15-Aug-2021  christos Disable attempts to handle EINTR and non-blocking I/O by default. It is
confusing to other programs and unexpected behavior. Reported by Ingo Schwarze.
This behavior is now controlled with EL_SAFEREAD.
 1.57  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.
 1.56  19-Apr-2016  christos From Ingo Schwarze:
- Put the data type el_rfunc_t into the public header <histedit.h>.
- Make el_read in struct editline an opaque pointer rather
than an embedded struct.
- Do not include "read.h" everywhere, but only in the two files
needing access to el_read, read.c and el.c.
- To functions that don't need more, pass the struct el_read_t *
rather than the full EditLine *.
- Of course, that means that read_init() can now fail from
memory exhaustion, but it's easy to clean up after that.
 1.55  17-Feb-2016  christos whitespace and header sorting changes (Ingo Schwarze). No functional changes.
 1.54  16-Feb-2016  christos - don't set _GNU_SOURCE. We are not supposed to make decisions for others.
- don't special-case wcsdup()
From Ingo Schwarze.
 1.53  18-Jun-2014  christos Don't depend on weak aliases to define the vi "alias" expansion function,
provide an API instead to set it.
 1.52  11-May-2014  christos Add a history function that takes a FILE pointer; needed for Capsicum.
From Eitan Adler
 1.51  12-Jul-2013  christos branches: 1.51.4;
Add a function to move the cursor.
 1.50  22-Jan-2013  christos provide an el_init_fd function.
 1.49  31-May-2012  christos branches: 1.49.2;
remove stdint.h; it is not used.
 1.48  28-Jul-2011  christos branches: 1.48.2;
kill ptr_t and ioctl_t, add * sizeof(*foo) to all allocations.
 1.47  28-Aug-2010  christos setup a callback to be invoked on resize buffers so that readline can
reset rl_line_buffer which unfortunately some applications use it directly.
 1.46  15-Apr-2010  christos From Jess Thrysoee: add ifndef around def of _GNU_SOURCE
 1.45  03-Jan-2010  christos rename historyw -> history_w for consistency.
add wide tst code and make it the default.
 1.44  31-Dec-2009  christos - Document and enable wide character support.
- Fix read function compatibility.
 1.43  30-Dec-2009  christos Fix wide build, test it, but don't turn it on yet.
 1.42  30-Dec-2009  christos Wide character support (UTF-8) from Johny Mattsson; currently disabled.
 1.41  07-Sep-2009  christos apply apple patches from:
http://opensource.apple.com/source/libedit/libedit-11/patches/
 1.40  11-May-2009  christos restore binary compatibility by providing new prompt functions that take
an extra literal character.
 1.39  31-Mar-2009  christos Implement literal prompt sequences. Now someone can implement
RL_PROMPT_START_LITERAL/RL_PROMPT_END_LITERAL :-)
 1.38  21-Feb-2009  christos back out all prompt changes. they are not needed.
 1.37  19-Feb-2009  christos bump version for prompt arg.
 1.36  17-Feb-2009  christos allow for a prompt argument.
 1.35  05-Feb-2009  christos branches: 1.35.2;
match documentation in el_push
 1.34  05-Apr-2008  christos bump minor.
 1.33  05-Apr-2008  christos add EL_REFRESH for the benefit of readline
 1.32  10-Jun-2007  christos Fix tab/space confusion; from Stefan Farfeleder
 1.31  15-Dec-2006  christos add EL_GETFP, and EL_SETFP.
 1.30  24-Nov-2006  christos bump minor.
 1.29  24-Nov-2006  christos - Add more readline functions, enough for gdb-6.5
- Make el_get varyadic, and implement EL_GETTC.
- XXX: the EL_SETTC api will change in the future.
 1.28  14-Jul-2005  christos PR/30747: David N. Williams: libedit is missing remove_history()
Added, please test.
 1.27  12-Jun-2005  christos make this useable from c++.
 1.26  07-May-2005  dsl Separate out the filename completion functions from the readline() code.
Pass in loads of parameters instead of relying on shed-loads of global
variables to modify the behaviour.
The filename completion code can now be enabled by code that uses el_gets().
(eg /bin/sh)
 1.25  05-Dec-2003  lukem Tokenization function enhancements:
* Make tok_init(), tok_end(), tok_reset(), tok_line() and tok_str()
publically available in <histedit.h>
* Documented the public functions in editline(3)
* Renamed tok_line() -> tok_str()
* Added new tok_line() which takes a "const LineInfo *" instead of
"const char *" (the former has "cursor" information), and optionally
return the argv index ("int *cursorc") and offset within that index
("int *cursorv"). This means that completion routines can use the
tokenization code to crack the line and easily find which word the
cursor is at. (mmm, context sensitive completion :)
* Fixed TEST/test.c when using "continuation" lines (unmatched quote
or \ at EOL), and added some more DEBUG messages including highlighting
where the cursor is (with a `_').
 1.24  16-Oct-2003  christos More libedit readline emulation functions from: Gerry Swislow
<gerry at certif dot com>
 1.23  26-Sep-2003  christos Implement enough of readline's 4.0 async mode to make gdb happy. This is
not complete yet, but it seems to work...
This required to introduce an unbuffered mode to el_gets(), but that was
a minor change.
 1.22  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.21  21-Jan-2003  christos Add a uniquefier for the history function.
 1.20  15-Nov-2002  christos PR/18995: David Laight: libedit fixes for posix conformant sh

The posix 'sh' specification defines vi-mode editing quite tightly.
The netbsd libedit code (used by sh to do this) was missing several
features, there were also minor errors in others.

Compare netbsd sh to the definition available from:
http://www.opengroup.org/onlinepubs/007904975/utilities/sh.html
In particular the following were not supported:
U - undo all changes to line
| - goto column
Y - yank to end of line
y - yank
# - comment out current line
@ - take input from shell alias [1]
G - goto numbered line in history buffer
v - edit history line with vi
_ - append word from last input line
. - redo last command
Other minor changes have also been made.

[1] This needs the shell to define an appropriate routine to
return the text of the alias. There is no requirement that
such a function exist.
 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  09-Oct-2001  christos PR/14188: Anthony Mallet: Provide an opaque data pointer to client programs.
 1.17  27-Sep-2001  christos PR/14067: Anthony Mallet: Provide a programmatic way to set the read_char
function via a new el_set() operation.
Thanks, nicely done :-)
 1.16  04-Sep-2000  lukem convert to new style guide, which includes:
- ansi prototypes & features (such as stdargs)
- 8 space indents
 1.15  28-Feb-2000  chopps el_insertstr takes a "const char *" not "char *" now as it doesn't modify
the argument.
 1.14  12-Nov-1999  lukem - implement printing a right-side prompt. code derived from similar work
I wrote for tcsh(1) three years ago.
- implement EL_RPROMPT, which allows a setting/getting of a function which
returns a string to be used as the right-side prompt.
- improve HISTORY and AUTHORS sections in editline(3).
- bump shlib minor version for EL_RPROMPT.

XXX: due to an implementation issue, the rprompt has a 1 space gap before the
edge of the logical screen. editline's logical screen is 1 space less
than the full screen width, so there's a 2 space gap between the rprompt
and the right end of the physical screen. i'm not concerned about this.
 1.13  20-Sep-1999  lukem branches: 1.13.4;
more whitespace fascism
 1.12  02-Jul-1999  simonb More trailing white space.
 1.11  20-Dec-1998  kleink Change multiple inclusion protection symbol name to NetBSD convention which
doesn't violate namespace rules.
 1.10  29-Jul-1998  lukem * add more checks for NULL pointers in passed arguments
* implement el_get(EditLine *, int op, void *result), which does the
inverse of el_set()
* add EL_EDITMODE operation to el_set and el_get; if non zero editing
is enabled (the default).
* add "edit on | off" editrc command, which modifies EL_EDITMODE.
users can now add '*:edit off' in ~/.editrc as an advisory to
disable editing.

NOTE: at this time EL_EDITMODE is just an indication of the
state of the 'edit' command. It's up to the application to check
this after el_source() or el_parse() to determine if editing is still
required.
 1.9  01-Jun-1998  lukem * implement CC_REFRESH_BEEP; as per CC_REFRESH but beep as well. this
is useful in completion when a partial completion is found
* remove entry in BUGS about el_parse(); that was fixed a while ago
 1.8  20-May-1998  christos Add H_APPEND to simplify the interface.
 1.7  20-May-1998  christos - add extra argument to el_init
- fix history functions
- add el_beep()
 1.6  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.5  11-Apr-1997  christos Portability fixes:
__const -> const
BADSIG -> SIG_ERR
int flags -> u_int flags
#if __STDC__ -> #ifdef __STDC__
 1.4  14-Jan-1997  lukem Implement CC_REDISPLAY, which (unlink 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)
 1.3  11-Jan-1997  lukem RCSid police
editline first appeared in 4.4BSD not NetBSD1.0
 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.1.1.1  06-May-1994  cgd libedit!
 1.13.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.35.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.48.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.48.2.1  30-Oct-2012  yamt sync with head
 1.49.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.49.2.1  25-Feb-2013  tls resync with head
 1.51.4.1  10-Aug-2014  tls Rebase.

RSS XML Feed