Home | History | Annotate | only in /src/lib/libedit/TEST
History log of /src/lib/libedit/TEST
RevisionDateAuthorComments
 1.8 15-Oct-2017  abhinav Add support for escaping special characters when doing filename completion.

For instance if the file name is "foo bar":
$ ls foo<TAB>
should get autocompleted to:
$ ls foo\ bar

Works for similar other characters too, which need escaping.

Also, add an accompanying test program to ensure the escaping is correct
in various scenarios (within quotes, without quotes, with other special characeters)

Thanks to Christos for reviews, help and feedback.
 1.7 23-Mar-2016  christos Start removing the WIDECHAR ifdefs; building without it has stopped working
anyway. (Ingo Schwarze)
 1.6 15-Feb-2016  christos Compile with WIDECHAR the same way the main Makefile does (Ingo Schwarze)
 1.5 03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.4 03-Jan-2010  christos rename historyw -> history_w for consistency.
add wide tst code and make it the default.
 1.3 31-Aug-2006  rpaulo Rename TEST/test.c to avoid problems when doing a cleandir on case-insensitive
file systems.
ok'ed christos.
 1.2 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.1 16-Oct-2003  christos I got tired of typing a cc line.
 1.1 10-Sep-2021  christos Add an LLVM fuzzing wrapper for the portable libedit (Christian Holler)
 1.2 29-Feb-2016  christos convert to 2 clause
 1.1 16-Sep-2010  christos unbreak readline history.
 1.7 17-Feb-2016  christos whitespace and header sorting changes (Ingo Schwarze). No functional changes.
 1.6 18-Jun-2014  christos cast gotsig because it is long on some systems.
 1.5 18-Apr-2010  christos branches: 1.5.12; 1.5.22;
\033 is more portable than \e still.
 1.4 15-Apr-2010  christos From Jess Thrysoee: call setlocale so we can test UTF-8
 1.3 17-Jul-2009  christos Use the proper prompt printing function.
 1.2 31-Mar-2009  christos Implement literal prompt sequences. Now someone can implement
RL_PROMPT_START_LITERAL/RL_PROMPT_END_LITERAL :-)
 1.1 31-Aug-2006  rpaulo branches: 1.1.26;
Rename TEST/test.c to avoid problems when doing a cleandir on case-insensitive
file systems.
ok'ed christos.
 1.1.26.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.5.22.1 10-Aug-2014  tls Rebase.
 1.5.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19 31-Aug-2006  rpaulo Rename TEST/test.c to avoid problems when doing a cleandir on case-insensitive
file systems.
ok'ed christos.
 1.18 01-Jun-2005  lukem Don't use non-standard uint or u_int.
 1.17 28-May-2005  lukem fix for WARNS=3
 1.16 18-May-2005  christos Make signal handler safe. From Michael Knudsen, many thanks.
 1.15 08-Dec-2003  lukem update for function name change
 1.14 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.13 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.12 09-Aug-2002  soren Remove extraneous \n's in {err,warn}{,x}.
 1.11 23-Mar-2002  christos make sure this compiles cleanly and works.
 1.10 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.9 04-Sep-2000  lukem convert to new style guide
 1.8 21-Sep-1999  lukem fix id header...
 1.7 02-Jul-1999  simonb More trailing white space.
 1.6 20-May-1998  christos Show the simpler way.
 1.5 20-May-1998  christos Fix for api changes.
 1.4 23-Oct-1997  lukem make this compile with the new libedit history()
 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.5 08-Sep-2019  abhinav PR lib/54510: Fix file completion inside quotes which broke in rev 1.53

While there also fix handling character appending in the file completions when
inside quotes. For example when inside a quote, if the completion is a directory then
append a '/' but don't close the quote. On the other hand when inside a quote if the
completion is a file name and it is the only match then we can close the quote.
 1.4 31-Mar-2019  abhinav Perform quoting of filename completions when there are multiple matches as well

Quoting of special characters in filename completion was implemented for single match
case, this enables it for multiple matches as well. For example:

$ touch 'foo bar'
$ touch 'foo baz'
$ ls fo<TAB>
autocompletes to =>
$ ls foo\ ba
hitting <TAB> again shows:
foo bar foo baz

This required unescaping escape sequences generated during last completion
in order to find the word to complete.

While there, also update the test to include cases for multiple matches.

Reviewed by christos
 1.3 04-May-2018  abhinav branches: 1.3.2;
Handle filename autocompletion when the cursor is at a backslash or quote character

For example, handle following case:
$ touch 'foo bar'
$ ls foo\<TAB> --> $ ls foo\ bar

Also add test cases for this.

Thanks to Christos for review
 1.2 15-Oct-2017  abhinav branches: 1.2.2;
Add copyright and rcs header to the test program.
Also, remove a test case which was not supposed to be there.
(While that test case works with the changes I committed, testing that
test case with the test program is not possible in its current form. I'm
working on that.)
 1.1 15-Oct-2017  abhinav Add support for escaping special characters when doing filename completion.

For instance if the file name is "foo bar":
$ ls foo<TAB>
should get autocompleted to:
$ ls foo\ bar

Works for similar other characters too, which need escaping.

Also, add an accompanying test program to ensure the escaping is correct
in various scenarios (within quotes, without quotes, with other special characeters)

Thanks to Christos for reviews, help and feedback.
 1.2.2.1 21-May-2018  pgoyette Sync with HEAD
 1.3.2.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.2.1 10-Jun-2019  christos Sync with HEAD
 1.8 17-Feb-2016  christos whitespace and header sorting changes (Ingo Schwarze). No functional changes.
 1.7 18-Jun-2014  christos cast gotsig because it is long on some systems.
 1.6 18-Nov-2011  christos branches: 1.6.6; 1.6.16;
Initialize res (Kamil Dudka)
 1.5 04-Aug-2011  christos branches: 1.5.2;
need err.h now
 1.4 28-Jul-2011  christos - check and don't cast malloc return
- more wide function use
 1.3 27-Jul-2011  christos add history testing code.
 1.2 18-Apr-2010  christos \033 is more portable than \e still.
 1.1 03-Jan-2010  christos rename historyw -> history_w for consistency.
add wide tst code and make it the default.
 1.5.2.1 17-Apr-2012  yamt sync with head
 1.6.16.1 10-Aug-2014  tls Rebase.
 1.6.6.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.

RSS XML Feed