History log of /src/lib/libedit/common.c |
Revision | | Date | Author | Comments |
1.50 |
| 30-Jun-2024 |
christos | Avoid moving the cursor before the buffer (Robert Morris) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279487
|
1.49 |
| 30-Mar-2020 |
ryo | branches: 1.49.8; fix build error with SDEBUG, MAP_DEBUG, DEBUG_REFRESH
|
1.48 |
| 26-Feb-2018 |
christos | branches: 1.48.4; PR/53058: Nikhil Benesch: use correctly typed variables (wchar_t vs wint_t) as parameters.
|
1.47 |
| 22-May-2016 |
christos | Stop the read module from poking the el_chared.c_macro data structure currently belonging to the chared module. The read module does so from three of its functions, while no other module uses the macro data, not even the chared module itself. That's quite logical because macros are a feature of input handling, all of which is done by the read module, and none by the chared module. So move the data into the read modules's own opaque data structure, struct el_read_t.
That simplifies internal interfaces in several respects: The semi-public chared.h has one fewer struct, one fewer #define, and one fewer member in struct el_chared_t; all three move to one single C file, read.c, and are now module-local. And the internal interface function ch_reset() needs one fewer argument, making the code of many functions in various modules more readable.
The price is one additional internal interface function, read_end(), 10 lines long including comments, called publicly from exactly one place: el_end() in el.c. That's hardly an increase in complexity since most other modules already have their *_end() function, read.c was the odd one out not having one.
From Ingo Schwarze
|
1.46 |
| 09-May-2016 |
christos | s/protected/libedit_private/g
|
1.45 |
| 18-Apr-2016 |
christos | From Ingo Schwarze: * Replace fcns.c by a shorter and simpler func.h and include it only in the one file needing it, map.c. * Combine help.h and help.c into a simplified help.h and include it only in the one file needing it, map.c. * Check the very simple, static files editline.c, historyn.c, and tokenizern.c into CVS rather than needlessly generating them. * So we no longer autogenerate any C files. :-) * Shorten and simplify makelist by deleting the options -n, -e, -bc, and -m; the latter was unused and useless in the first place. * Move the declaration of el_func_t from fcns.h to the header actually needing it, map.h. Since that header is already included by el.h for unrelated reasons, that makes el_func_t just as globally available as before. * No longer include the simplified fcns.h into el.h, include it directly into the *.c files needing it.
|
1.44 |
| 17-Apr-2016 |
christos | Remove empty callbacks (Ingo Schwartze)
|
1.43 |
| 11-Apr-2016 |
christos | Char -> wchar_t from Ingo Schwarze.
|
1.42 |
| 11-Apr-2016 |
christos | more macro WIDECHAR undoing from Ingo Schwarze.
|
1.41 |
| 09-Apr-2016 |
christos | More WIDECHAR elimination (Ingo Schwarze)
|
1.40 |
| 02-Mar-2016 |
christos | PR/50880: David Binderman: Remove redundant code. While here, fix all debugging formats.
|
1.39 |
| 24-Feb-2016 |
christos | Get split el_getc and el_wgetc completely and call el_wgetc internally. Change some character constants to they wide versions. (Ingo Schwarze)
|
1.38 |
| 17-Feb-2016 |
christos | whitespace and header sorting changes (Ingo Schwarze). No functional changes.
|
1.37 |
| 16-Feb-2016 |
christos | More header cleanups from Ingo Schwarze.
|
1.36 |
| 16-Feb-2016 |
christos | get rid of bool_t (Ingo Schwarze)
|
1.35 |
| 16-Feb-2016 |
christos | more include file cleanup (Ingo Schwarze)
|
1.34 |
| 16-Feb-2016 |
christos | From Ingo Scharze: Let "el.h" include everything needed for struct editline, and don't include that stuff multiple times. That also improves consistency, also avoids circular inclusions, and also makes it easier to follow what is going on, even though not quite as nice. But it seems like the best we can do...
|
1.33 |
| 16-Feb-2016 |
christos | cleanup chartype.h includes (Ingo Schwarze)
|
1.32 |
| 16-Feb-2016 |
christos | cleanup inclusion of histedit.h (Ingo Schwarze)
|
1.31 |
| 14-Feb-2016 |
christos | From Ingo Schwarze:
As we have seen before, "histedit.h" can never get rid of including the <wchar.h> header because using the data types defined there is deeply ingrained in the public interfaces of libedit.
Now POSIX unconditionally requires that <wchar.h> defines the type wint_t. Consequently, it can be used unconditionally, no matter whether WIDECHAR is active or not. Consequently, the #define Int is pointless.
Note that removing it is not gratuitious churn. Auditing for integer signedness problems is already hard when only fundamental types like "int" and "unsigned" are involved. It gets very hard when types come into the picture that have platform-dependent signedness, like "char" and "wint_t". Adding yet another layer on top, changing both the signedness and the width in a platform- dependent way, makes auditing yet harder, which IMHO is really dangerous. Note that while removing the #define, i already found one bug caused by this excessive complication - in the function re_putc() in refresh.c. If WIDECHAR was defined, it printed an Int = wint_t value with %c. Fortunately, that bug only affects debugging, not production. The fix is contained in the patch.
With WIDECHAR, this doesn't change anything. For the case without WIDECHAR, i checked that none of the places wants to store values that might not fit in wint_t.
This only changes internal interfaces; public ones remain unchanged.
|
1.30 |
| 11-Feb-2016 |
christos | - Add some more Char casts - reduce ifdefs by providing empty defs for nls functions (Ingo Schwarze)
|
1.29 |
| 24-Mar-2012 |
christos | From Jilles Tjoelker: Do not move the cursor for ed-delete-next-char in emacs mode. This makes ed-delete-next-char suitable for mapping to the <Delete> key. Behaviour in vi mode is unchanged (for 'x').
|
1.28 |
| 29-Jul-2011 |
christos | branches: 1.28.2; - fix unused params - unconditionalize vis.h
|
1.27 |
| 29-Jul-2011 |
christos | kill ifdef notdef
|
1.26 |
| 29-Jul-2011 |
christos | KNF return (\1); -> return \1;
|
1.25 |
| 28-Jul-2011 |
christos | term -> terminal XXX: need to rename key_ too.
|
1.24 |
| 30-Dec-2009 |
christos | Wide character support (UTF-8) from Johny Mattsson; currently disabled.
|
1.23 |
| 27-Feb-2009 |
msaitoh | fix mis-evaluating whether a char is digit or not.
|
1.22 |
| 15-Feb-2009 |
christos | pass lint on _LP64.
|
1.21 |
| 30-Sep-2008 |
aymeric | branches: 1.21.4; 1.21.6; 1.21.10; have '$' include the last character in the line when embedded in a command. This fixes c$, d$, y$, and so on in vi mode.
|
1.20 |
| 10-Sep-2008 |
christos | Allow a single process to control multiple ttys (for pthreads using _REENTRANT) using multiple EditLine objects. Mostly from Preston A. Elder.
|
1.19 |
| 06-Mar-2006 |
christos | branches: 1.19.4; 1.19.20; Print the actual eofc, instead of ^D\b\b. Change internal character decoding to prevent buffer oveflows.
|
1.18 |
| 08-Aug-2005 |
christos | Spelling mistakes and comment errors (from FreeBSD via Stefan Farfeleder; many thanks)
|
1.17 |
| 01-Aug-2005 |
christos | Don't reset the macro strings each time we enter el_gets(), otherwise el_push() is unusable programmatically.
|
1.16 |
| 07-Aug-2003 |
agc | branches: 1.16.6; Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
|
1.15 |
| 19-Jun-2003 |
christos | From michael@moria.de: - use __attribute__((__unused__)) in arguments where appropriate. - some int -> size_t and char * to const char * conversions.
|
1.14 |
| 20-Nov-2002 |
christos | Fix problem with previous patches that broke vi history. - c_gets() was usually returning a length, but sometimes one of the CC_xxx values (which are small +ve integers)! - fixed c_gets() by putting a ' ' under the cursor. From David Laight.
|
1.13 |
| 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.12 |
| 27-Oct-2002 |
christos | vi mode and memory fixes from david laight.
|
1.11 |
| 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.10 |
| 10-Jan-2001 |
jdolecek | Enlarge editline buffers as needed to support arbitrary length lines. This also addresses lib/9712 by Phil Nelson.
|
1.9 |
| 04-Sep-2000 |
lukem | convert to new style guide, which includes: - ansi prototypes & features (such as stdargs) - 8 space indents
|
1.8 |
| 02-Jul-1999 |
simonb | More trailing white space.
|
1.7 |
| 12-Dec-1998 |
christos | delint
|
1.6 |
| 20-May-1998 |
christos | Don't print to stderr, but to the editline error stream.
|
1.5 |
| 03-Feb-1998 |
perry | remove obsolete register declarations
|
1.4 |
| 06-Jul-1997 |
christos | Fix compiler warnings.
|
1.3 |
| 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.2 |
| 11-Jan-1997 |
lukem | RCSid police editline first appeared in 4.4BSD not NetBSD1.0
|
1.1 |
| 06-May-1994 |
cgd | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 06-May-1994 |
cgd | libedit!
|
1.16.6.1 |
| 23-Apr-2009 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #2006): lib/libedit/common.c: revision 1.23 fix mis-evaluating whether a char is digit or not.
|
1.19.20.1 |
| 24-Sep-2008 |
wrstuden | Merge in changes between wrstuden-revivesa-base-2 and wrstuden-revivesa-base-3.
|
1.19.4.1 |
| 30-Apr-2009 |
bouyer | Pull up following revision(s) (requested by msaitoh in ticket #1307): lib/libedit/common.c: revision 1.23 fix mis-evaluating whether a char is digit or not.
|
1.21.10.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.21.6.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.21.4.1 |
| 03-May-2009 |
snj | Pull up following revision(s) (requested by msaitoh in ticket #703): lib/libedit/common.c: revision 1.23 fix mis-evaluating whether a char is digit or not.
|
1.28.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.48.4.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.49.8.1 |
| 01-Jul-2024 |
perseant | Sync with HEAD.
|