1*28ff4d35SBaptiste Daroussin2026-03-04 11:31 christos 291f76417SBaptiste Daroussin 3*28ff4d35SBaptiste Daroussin * makelist, map.c, map.h: No need to keep an allocated field. We 4*28ff4d35SBaptiste Daroussin know that the first EL_NUM_FCNS are not allocated. 5*28ff4d35SBaptiste Daroussin 6*28ff4d35SBaptiste Daroussin2026-03-04 00:04 christos 7*28ff4d35SBaptiste Daroussin 8*28ff4d35SBaptiste Daroussin * eln.c, makelist, map.c, map.h: PR/60054: Kristofer Peterson: 9*28ff4d35SBaptiste Daroussin adding user defined functions with narrow name/desription leaks 10*28ff4d35SBaptiste Daroussin memory 11*28ff4d35SBaptiste Daroussin 12*28ff4d35SBaptiste Daroussin2026-03-03 16:06 christos 13*28ff4d35SBaptiste Daroussin 14*28ff4d35SBaptiste Daroussin * history.c: PR/60052: Kristofer Peterson: history_load() off by 15*28ff4d35SBaptiste Daroussin one memory access bug 16*28ff4d35SBaptiste Daroussin 17*28ff4d35SBaptiste Daroussin2026-03-03 16:05 christos 18*28ff4d35SBaptiste Daroussin 19*28ff4d35SBaptiste Daroussin * chared.c, common.c, hist.c, hist.h: PR/60050: Kristofer Peterson: 20*28ff4d35SBaptiste Daroussin libedit doesn't handle long lines correctly Fix history resizing, 21*28ff4d35SBaptiste Daroussin and copying. 22*28ff4d35SBaptiste Daroussin 23*28ff4d35SBaptiste Daroussin2026-02-01 02:52 uwe 24*28ff4d35SBaptiste Daroussin 25*28ff4d35SBaptiste Daroussin * editline.7: editline(7): Document vi-histedit command 26*28ff4d35SBaptiste Daroussin 27*28ff4d35SBaptiste Daroussin PR lib/59953 by Artem Bunichev 28*28ff4d35SBaptiste Daroussin 29*28ff4d35SBaptiste Daroussin2026-01-18 18:18 christos 30*28ff4d35SBaptiste Daroussin 31*28ff4d35SBaptiste Daroussin * refresh.c: When trying to print a help message while editing a 32*28ff4d35SBaptiste Daroussin multiline entry, print move down enough so that the error message 33*28ff4d35SBaptiste Daroussin does not get printed on top of the newline from Yuishiro NAITO. 34*28ff4d35SBaptiste Daroussin Example program: 35*28ff4d35SBaptiste Daroussin 36*28ff4d35SBaptiste Daroussin #include <stdio.h> #include <histedit.h> 37*28ff4d35SBaptiste Daroussin 38*28ff4d35SBaptiste Daroussin char * prompt(EditLine *el) { return "(config) "; } 39*28ff4d35SBaptiste Daroussin 40*28ff4d35SBaptiste Daroussin static unsigned char help(EditLine *el, int ch) { 41*28ff4d35SBaptiste Daroussin 42*28ff4d35SBaptiste Daroussin printf("\n"); 43*28ff4d35SBaptiste Daroussin printf("aaa:\n"); 44*28ff4d35SBaptiste Daroussin printf("bbb:\n"); 45*28ff4d35SBaptiste Daroussin printf("ccc:\n"); 46*28ff4d35SBaptiste Daroussin printf("ddd:\n"); 47*28ff4d35SBaptiste Daroussin 48*28ff4d35SBaptiste Daroussin return CC_REDISPLAY; 49*28ff4d35SBaptiste Daroussin } 50*28ff4d35SBaptiste Daroussin 51*28ff4d35SBaptiste Daroussin int initialize(EditLine **ret) { EditLine *el; 52*28ff4d35SBaptiste Daroussin 53*28ff4d35SBaptiste Daroussin if ((el = el_init("sample", stdin, stdout, stderr)) == 54*28ff4d35SBaptiste Daroussin NULL) 55*28ff4d35SBaptiste Daroussin goto error; 56*28ff4d35SBaptiste Daroussin 57*28ff4d35SBaptiste Daroussin el_set(el, EL_PROMPT, prompt); 58*28ff4d35SBaptiste Daroussin el_set(el, EL_EDITOR, "emacs"); 59*28ff4d35SBaptiste Daroussin el_set(el, EL_ADDFN, "help", "", help); 60*28ff4d35SBaptiste Daroussin el_set(el, EL_BIND, "?", "help", NULL); 61*28ff4d35SBaptiste Daroussin 62*28ff4d35SBaptiste Daroussin *ret = el; 63*28ff4d35SBaptiste Daroussin return 0; 64*28ff4d35SBaptiste Daroussin 65*28ff4d35SBaptiste Daroussin error: el_end(el); *ret = NULL; return -1; } 66*28ff4d35SBaptiste Daroussin 67*28ff4d35SBaptiste Daroussin int main(int argc, char *argv[]) { EditLine *el; const 68*28ff4d35SBaptiste Daroussin wchar_t *cmd; int len; 69*28ff4d35SBaptiste Daroussin 70*28ff4d35SBaptiste Daroussin if (initialize(&el) < 0) { 71*28ff4d35SBaptiste Daroussin printf("initialize failed\n"); 72*28ff4d35SBaptiste Daroussin return 1; 73*28ff4d35SBaptiste Daroussin } 74*28ff4d35SBaptiste Daroussin 75*28ff4d35SBaptiste Daroussin while ((cmd = el_wgets(el, &len)) != NULL) { 76*28ff4d35SBaptiste Daroussin printf("ok\n"); 77*28ff4d35SBaptiste Daroussin } 78*28ff4d35SBaptiste Daroussin 79*28ff4d35SBaptiste Daroussin el_end(el); 80*28ff4d35SBaptiste Daroussin 81*28ff4d35SBaptiste Daroussin return 0; 82*28ff4d35SBaptiste Daroussin } 83*28ff4d35SBaptiste Daroussin 84*28ff4d35SBaptiste Daroussin2026-01-09 23:12 kre 85*28ff4d35SBaptiste Daroussin 86*28ff4d35SBaptiste Daroussin * edit.expsym: Add rl_kill_full_line which was recently added 87*28ff4d35SBaptiste Daroussin 88*28ff4d35SBaptiste Daroussin Probably that addition also warranted a libedit minor bump. 89*28ff4d35SBaptiste Daroussin 90*28ff4d35SBaptiste Daroussin Hopefully unbreak the builds. 91*28ff4d35SBaptiste Daroussin 92*28ff4d35SBaptiste Daroussin2026-01-09 18:49 christos 93*28ff4d35SBaptiste Daroussin 94*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: PR/59883: nia: implement 95*28ff4d35SBaptiste Daroussin rl_kill_full_line 96*28ff4d35SBaptiste Daroussin 97*28ff4d35SBaptiste Daroussin2025-12-16 03:40 kre 98*28ff4d35SBaptiste Daroussin 99*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, terminal.c, vi.c: [Prereq for 100*28ff4d35SBaptiste Daroussin PR bin/58609] Add EL_GETENV to libedit 101*28ff4d35SBaptiste Daroussin 102*28ff4d35SBaptiste Daroussin When interacting with the shell, and perhaps other applications, 103*28ff4d35SBaptiste Daroussin editline needs to obtain the values of some environment 104*28ff4d35SBaptiste Daroussin variables. 105*28ff4d35SBaptiste Daroussin 106*28ff4d35SBaptiste Daroussin Normally getenv(3) does that - but that doesn't work when being 107*28ff4d35SBaptiste Daroussin used in sh(1) as getenv() simply accesses the environment as it 108*28ff4d35SBaptiste Daroussin was when sh(1) was invoked - after that, in sh anyway, that 109*28ff4d35SBaptiste Daroussin environment is simply abandoned (well, kind of) - but certainly 110*28ff4d35SBaptiste Daroussin no changes made by the shell will be reflected there. 111*28ff4d35SBaptiste Daroussin 112*28ff4d35SBaptiste Daroussin To allow editline to obtain current values of environment 113*28ff4d35SBaptiste Daroussin variables, add a new el_set()/el_get() "op" parameter value, 114*28ff4d35SBaptiste Daroussin which can be used to instruct editline which function to use for 115*28ff4d35SBaptiste Daroussin the purpose. That is EL_GETENV. 116*28ff4d35SBaptiste Daroussin 117*28ff4d35SBaptiste Daroussin This is part of a (long pending, awaiting testing) fix for PR 118*28ff4d35SBaptiste Daroussin bin/58609 - but I'm getting tired of having it sitting 119*28ff4d35SBaptiste Daroussin uncommitted in my source tree - and I think this part is self 120*28ff4d35SBaptiste Daroussin contained, and simple enough, to simply commit. 121*28ff4d35SBaptiste Daroussin 122*28ff4d35SBaptiste Daroussin2025-12-14 19:07 christos 123*28ff4d35SBaptiste Daroussin 124*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, editline.3, el.c, eln.c, emacs.c, 125*28ff4d35SBaptiste Daroussin histedit.h, map.c, map.h, search.c, vi.c: PR/59737: Bernie 126*28ff4d35SBaptiste Daroussin Siegert: Add a method to set custom wordchars. 127*28ff4d35SBaptiste Daroussin 128*28ff4d35SBaptiste Daroussin2025-08-02 07:54 perseant 129*28ff4d35SBaptiste Daroussin 130*28ff4d35SBaptiste Daroussin * edit.expsym, el.c, el.h, history.c, keymacro.c, literal.c, map.c, 131*28ff4d35SBaptiste Daroussin read.c, readline.c, refresh.c, sig.c: Sync with HEAD 132*28ff4d35SBaptiste Daroussin 133*28ff4d35SBaptiste Daroussin2025-06-14 15:43 christos 134*28ff4d35SBaptiste Daroussin 135*28ff4d35SBaptiste Daroussin * readline.c, sig.c: Change kill(0, signo) -> raise(signo) so that 136*28ff4d35SBaptiste Daroussin we only signal the current process not the whole process group. 137*28ff4d35SBaptiste Daroussin Pointed out by geoff thomas. Related issues: 138*28ff4d35SBaptiste Daroussin https://www.postgresql.org/message-id/271520.1713052173%40sss.pgh.pa.us 139*28ff4d35SBaptiste Daroussin https://github.com/astral-sh/python-build-standalone/pull/652\ 140*28ff4d35SBaptiste Daroussin #issuecomment-2972762033 141*28ff4d35SBaptiste Daroussin https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=159226 142*28ff4d35SBaptiste Daroussin 143*28ff4d35SBaptiste Daroussin2025-01-03 01:40 rillig 144*28ff4d35SBaptiste Daroussin 145*28ff4d35SBaptiste Daroussin * el.c, el.h, keymacro.c, map.c, read.c: libedit: remove redundant 146*28ff4d35SBaptiste Daroussin break statements after EL_ABORT 147*28ff4d35SBaptiste Daroussin 148*28ff4d35SBaptiste Daroussin2024-12-18 16:38 christos 149*28ff4d35SBaptiste Daroussin 150*28ff4d35SBaptiste Daroussin * sig.c: From tkoeppe@github: Specify SA_ONSTACK when setting up a 151*28ff4d35SBaptiste Daroussin signal handler. This allows the handler to use the alternate 152*28ff4d35SBaptiste Daroussin signal stack if one is available in the handling thread, but has 153*28ff4d35SBaptiste Daroussin no effect otherwise. 154*28ff4d35SBaptiste Daroussin 155*28ff4d35SBaptiste Daroussin This change makes the signal handler respect existing choices 156*28ff4d35SBaptiste Daroussin better. Specifically, this allows signal handlers to be set when 157*28ff4d35SBaptiste Daroussin the process includes a Go runtime, since Go enforces that all 158*28ff4d35SBaptiste Daroussin signal handlers in the process use the SA_ONSTACK flag (e.g. see 159*28ff4d35SBaptiste Daroussin golang/go#20400). 160*28ff4d35SBaptiste Daroussin 161*28ff4d35SBaptiste Daroussin2024-12-05 23:21 christos 162*28ff4d35SBaptiste Daroussin 163*28ff4d35SBaptiste Daroussin * literal.c, refresh.c: Don't eat 0 width characters, print them. 164*28ff4d35SBaptiste Daroussin 165*28ff4d35SBaptiste Daroussin2024-11-21 20:49 riastradh 166*28ff4d35SBaptiste Daroussin 167*28ff4d35SBaptiste Daroussin * edit.expsym: libedit: Add expected symbols list. 168*28ff4d35SBaptiste Daroussin 169*28ff4d35SBaptiste Daroussin PR lib/58838: shared libraries in base should all have expsym 170*28ff4d35SBaptiste Daroussin lists 171*28ff4d35SBaptiste Daroussin 172*28ff4d35SBaptiste Daroussin2024-11-21 20:49 perseant 173*28ff4d35SBaptiste Daroussin 174*28ff4d35SBaptiste Daroussin * edit.expsym: file edit.expsym was added on branch 175*28ff4d35SBaptiste Daroussin perseant-exfatfs on 2025-08-02 05:54:48 +0000 176*28ff4d35SBaptiste Daroussin 177*28ff4d35SBaptiste Daroussin2024-07-11 07:41 kre 178*28ff4d35SBaptiste Daroussin 179*28ff4d35SBaptiste Daroussin * history.c: Don't fchmod(fileno(fp), ...) in history_save_fp(). 180*28ff4d35SBaptiste Daroussin 181*28ff4d35SBaptiste Daroussin There are two reasons for this, first, the permissions of the 182*28ff4d35SBaptiste Daroussin history file should be able to be set by the user, not forced to 183*28ff4d35SBaptiste Daroussin 0600 every time the history file is overwritten (or appended to). 184*28ff4d35SBaptiste Daroussin 185*28ff4d35SBaptiste Daroussin And more importantly, the fp used for fileno(fp) might have come 186*28ff4d35SBaptiste Daroussin from fmemopen() or funopen() (etc) - none of which put a file 187*28ff4d35SBaptiste Daroussin descriptor in the "fd" field (ie: fileno(fp) == -1). 188*28ff4d35SBaptiste Daroussin 189*28ff4d35SBaptiste Daroussin To compensate for that, when a history file is opened (in 190*28ff4d35SBaptiste Daroussin history_save()) set the default permissions then - if the file is 191*28ff4d35SBaptiste Daroussin actually created. As fopen() cannot do that (it simply uses 192*28ff4d35SBaptiste Daroussin 0666&~umask) create the (normal type) of fp using (approximately) 193*28ff4d35SBaptiste Daroussin fdopen(open(...), ...) where the open supplies the 0600 default 194*28ff4d35SBaptiste Daroussin permissions that are desired here (which might still be 195*28ff4d35SBaptiste Daroussin restricted even more by the umask). Callers using 196*28ff4d35SBaptiste Daroussin history(...,H_SAVE_FP,...) or history(...,H_NSAVE_FP,...) now 197*28ff4d35SBaptiste Daroussin need to look after any permission setting required themselves 198*28ff4d35SBaptiste Daroussin (but as the doc says absolutely nothing about that, one way or 199*28ff4d35SBaptiste Daroussin the other, what happens in this area has always been unspecified, 200*28ff4d35SBaptiste Daroussin and still is) 201*28ff4d35SBaptiste Daroussin 202*28ff4d35SBaptiste Daroussin One "feature" of the fchmod() method is lost here - apart from 203*28ff4d35SBaptiste Daroussin forcing the 0600 permissions (which isn't really desirable) that 204*28ff4d35SBaptiste Daroussin fchmod() would also have failed if the current (effective) uid is 205*28ff4d35SBaptiste Daroussin not the owner of the history file (or root). If that is 206*28ff4d35SBaptiste Daroussin required, a test for it could be added later - the effect would 207*28ff4d35SBaptiste Daroussin be as it has always been, the file named must have been writable 208*28ff4d35SBaptiste Daroussin (or its directory writable if the file did not exist) the open 209*28ff4d35SBaptiste Daroussin would occur (potentially truncating the file) after which the 210*28ff4d35SBaptiste Daroussin fchmod() would be attempted, possibly failing, and if so, never 211*28ff4d35SBaptiste Daroussin writing anything. Any new uid test would work the same way. 212*28ff4d35SBaptiste Daroussin 213*28ff4d35SBaptiste Daroussin OK christos@ 214*28ff4d35SBaptiste Daroussin 215*28ff4d35SBaptiste Daroussin2024-07-01 03:01 perseant 216*28ff4d35SBaptiste Daroussin 217*28ff4d35SBaptiste Daroussin * common.c, refresh.c, search.c: Sync with HEAD. 218*28ff4d35SBaptiste Daroussin 219*28ff4d35SBaptiste Daroussin2024-06-30 19:11 christos 220*28ff4d35SBaptiste Daroussin 221*28ff4d35SBaptiste Daroussin * refresh.c: Handle the case where the cursor is on the first 222*28ff4d35SBaptiste Daroussin character. set -o vi x ESC ~ (Robert Morris) 223*28ff4d35SBaptiste Daroussin https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279545 224*28ff4d35SBaptiste Daroussin 225*28ff4d35SBaptiste Daroussin2024-06-30 18:29 christos 226*28ff4d35SBaptiste Daroussin 227*28ff4d35SBaptiste Daroussin * common.c: Avoid moving the cursor before the buffer (Robert 228*28ff4d35SBaptiste Daroussin Morris) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279487 229*28ff4d35SBaptiste Daroussin 230*28ff4d35SBaptiste Daroussin2024-06-30 18:26 christos 231*28ff4d35SBaptiste Daroussin 232*28ff4d35SBaptiste Daroussin * search.c: Prevent reading before the line buffer (try ^R^W in 233*28ff4d35SBaptiste Daroussin emacs mode at the beginning of the line) (Robert Morris) 234*28ff4d35SBaptiste Daroussin https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279426 235*28ff4d35SBaptiste Daroussin 236*28ff4d35SBaptiste Daroussin2024-06-29 19:28 christos 237*28ff4d35SBaptiste Daroussin 238*28ff4d35SBaptiste Daroussin * emacs.c: don't use oldc before it is set. 239*28ff4d35SBaptiste Daroussin 240*28ff4d35SBaptiste Daroussin2024-06-29 16:13 christos 241*28ff4d35SBaptiste Daroussin 242*28ff4d35SBaptiste Daroussin * chared.c: Prevent testing out of bounds memory. From Robert 243*28ff4d35SBaptiste Daroussin Morris https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279762 244*28ff4d35SBaptiste Daroussin 245*28ff4d35SBaptiste Daroussin2024-06-29 16:09 christos 246*28ff4d35SBaptiste Daroussin 247*28ff4d35SBaptiste Daroussin * emacs.c: Retrieve the cursor position after calling c_insert, 248*28ff4d35SBaptiste Daroussin because c_insert could enlarge the line buffer making the old 249*28ff4d35SBaptiste Daroussin cursor position point to freed memory. From Robert Morris 250*28ff4d35SBaptiste Daroussin https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279772 251*28ff4d35SBaptiste Daroussin 252*28ff4d35SBaptiste Daroussin2024-05-17 04:59 christos 253*28ff4d35SBaptiste Daroussin 254*28ff4d35SBaptiste Daroussin * el.h, eln.c: When calling el_line make sure that we call the 255*28ff4d35SBaptiste Daroussin resizing function callback because el_line updates the legacy 256*28ff4d35SBaptiste Daroussin LineInfo structure and we need to notify that the cached copy of 257*28ff4d35SBaptiste Daroussin the the buffer has changed. Of course the resizing function can 258*28ff4d35SBaptiste Daroussin call el_line itself to update the buffer, so prevent recursion. 259*28ff4d35SBaptiste Daroussin Bug found by Peter Rufer at Arista. 260*28ff4d35SBaptiste Daroussin 261*28ff4d35SBaptiste Daroussin2024-04-06 15:36 christos 262*28ff4d35SBaptiste Daroussin 263*28ff4d35SBaptiste Daroussin * editline.7: update em-toggle-overwrite binding (Xose Vazquez 264*28ff4d35SBaptiste Daroussin Perez) 265*28ff4d35SBaptiste Daroussin 266*28ff4d35SBaptiste Daroussin2024-03-26 19:02 christos 267*28ff4d35SBaptiste Daroussin 268*28ff4d35SBaptiste Daroussin * readline.c: fix insert key (Xose Vazquez Perez) 269*28ff4d35SBaptiste Daroussin 270*28ff4d35SBaptiste Daroussin2024-02-04 19:47 andvar 271*28ff4d35SBaptiste Daroussin 272*28ff4d35SBaptiste Daroussin * editline.3: s/interrrupt/interrupt/ in comment and editline(3) 273*28ff4d35SBaptiste Daroussin man page. 274*28ff4d35SBaptiste Daroussin 275*28ff4d35SBaptiste Daroussin2023-08-10 22:38 mrg 276*28ff4d35SBaptiste Daroussin 277*28ff4d35SBaptiste Daroussin * chartype.c: avoid various use-after-free issues. 278*28ff4d35SBaptiste Daroussin 279*28ff4d35SBaptiste Daroussin create a ptrdiff_t offset between the start of an allocation 280*28ff4d35SBaptiste Daroussin region and some interesting pointer, so it can be adjusted with 281*28ff4d35SBaptiste Daroussin this offset after realloc() returns. 282*28ff4d35SBaptiste Daroussin 283*28ff4d35SBaptiste Daroussin found by GCC 12. 284*28ff4d35SBaptiste Daroussin 285*28ff4d35SBaptiste Daroussin2023-08-03 16:56 rin 286*28ff4d35SBaptiste Daroussin 287*28ff4d35SBaptiste Daroussin * Makefile: Revert CC_WNO_USE_AFTER_FREE from Makefile's (thanks 288*28ff4d35SBaptiste Daroussin uwe@) 289*28ff4d35SBaptiste Daroussin 290*28ff4d35SBaptiste Daroussin2023-08-03 15:36 rin 291*28ff4d35SBaptiste Daroussin 292*28ff4d35SBaptiste Daroussin * Makefile: Sprinkle CC_WNO_USE_AFTER_FREE for GCC 12 293*28ff4d35SBaptiste Daroussin 294*28ff4d35SBaptiste Daroussin All of them are blamed for idiom equivalent to: newbuf = 295*28ff4d35SBaptiste Daroussin realloc(buf, size); p = newbuf + (p - buf); 296*28ff4d35SBaptiste Daroussin 297*28ff4d35SBaptiste Daroussin2023-06-21 23:44 wiz 298*28ff4d35SBaptiste Daroussin 299*28ff4d35SBaptiste Daroussin * libedit.pc: libedit: fix pkg-config to really provide readline 300*28ff4d35SBaptiste Daroussin directory as intended 301*28ff4d35SBaptiste Daroussin 302*28ff4d35SBaptiste Daroussin2023-06-21 01:09 wiz 303*28ff4d35SBaptiste Daroussin 304*28ff4d35SBaptiste Daroussin * Makefile, libedit.pc: install pkg-config file for libedit 305*28ff4d35SBaptiste Daroussin 306*28ff4d35SBaptiste Daroussin version number matches portable libedit --cflags output matches 307*28ff4d35SBaptiste Daroussin portable libedit, since users probably want the readline 308*28ff4d35SBaptiste Daroussin interface 309*28ff4d35SBaptiste Daroussin 310*28ff4d35SBaptiste Daroussin2023-06-03 11:09 lukem 311*28ff4d35SBaptiste Daroussin 312*28ff4d35SBaptiste Daroussin * Makefile: bsd.own.mk: rename GCC_NO_* to CC_WNO_* 313*28ff4d35SBaptiste Daroussin 314*28ff4d35SBaptiste Daroussin Rename compiler-warning-disable variables from GCC_NO_warning to 315*28ff4d35SBaptiste Daroussin CC_WNO_warning where warning is the full warning name as 316*28ff4d35SBaptiste Daroussin used by the compiler. 317*28ff4d35SBaptiste Daroussin 318*28ff4d35SBaptiste Daroussin GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH 319*28ff4d35SBaptiste Daroussin 320*28ff4d35SBaptiste Daroussin Using the convention CC_compilerflag, where compilerflag is based 321*28ff4d35SBaptiste Daroussin on the full compiler flag name. 322*28ff4d35SBaptiste Daroussin 323*28ff4d35SBaptiste Daroussin2023-05-30 13:53 christos 324*28ff4d35SBaptiste Daroussin 325*28ff4d35SBaptiste Daroussin * tokenizer.c: Fix some const qual (Piotr Pawel Stefaniak) 326*28ff4d35SBaptiste Daroussin 327*28ff4d35SBaptiste Daroussin2023-04-25 19:51 christos 328*28ff4d35SBaptiste Daroussin 329*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, readline.c, sys.h, 330*28ff4d35SBaptiste Daroussin readline/readline.h: pass lint. 331*28ff4d35SBaptiste Daroussin 332*28ff4d35SBaptiste Daroussin2023-04-24 22:02 christos 333*28ff4d35SBaptiste Daroussin 334*28ff4d35SBaptiste Daroussin * readline.c: PR/57376: Jorge Giner: readline file completion does 335*28ff4d35SBaptiste Daroussin not quote; do the same. 336*28ff4d35SBaptiste Daroussin 337*28ff4d35SBaptiste Daroussin2023-04-21 16:56 christos 338*28ff4d35SBaptiste Daroussin 339*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Align types with readline-8.2 340*28ff4d35SBaptiste Daroussin (wiz@) 341*28ff4d35SBaptiste Daroussin 342*28ff4d35SBaptiste Daroussin2023-02-04 15:34 christos 343*28ff4d35SBaptiste Daroussin 344*28ff4d35SBaptiste Daroussin * config.h, sys.h, terminal.c: Remove unused stuff, and limit the 345*28ff4d35SBaptiste Daroussin scope of some of the used ones. (from des@freebsd) 346*28ff4d35SBaptiste Daroussin 347*28ff4d35SBaptiste Daroussin2023-02-03 23:01 christos 348*28ff4d35SBaptiste Daroussin 349*28ff4d35SBaptiste Daroussin * filecomplete.c, histedit.h: Add a entry point for the complete 350*28ff4d35SBaptiste Daroussin function for FreeBSD compatibility with sh. 351*28ff4d35SBaptiste Daroussin 352*28ff4d35SBaptiste Daroussin2023-02-03 20:47 christos 353*28ff4d35SBaptiste Daroussin 354*28ff4d35SBaptiste Daroussin * sig.c: Don't clear the handle to el "sel" and set it earlier to 355*28ff4d35SBaptiste Daroussin prevent handling a signal before the handle is set. (From: des at 356*28ff4d35SBaptiste Daroussin FreeBSD) 357*28ff4d35SBaptiste Daroussin 358*28ff4d35SBaptiste Daroussin2022-12-06 01:59 uwe 359*28ff4d35SBaptiste Daroussin 360*28ff4d35SBaptiste Daroussin * editrc.5: editrc(5): Markup fixes 361*28ff4d35SBaptiste Daroussin 362*28ff4d35SBaptiste Daroussin2022-12-02 20:23 christos 363*28ff4d35SBaptiste Daroussin 364*28ff4d35SBaptiste Daroussin * readline.c: PR/57095: Yilei Yang: Change readline's 365*28ff4d35SBaptiste Daroussin replace_history_entry to not make a copy of the string to replace 366*28ff4d35SBaptiste Daroussin since H_REPLACE already makes a copy (fixes memory leak) 367*28ff4d35SBaptiste Daroussin 368*28ff4d35SBaptiste Daroussin2022-10-30 20:11 christos 369*28ff4d35SBaptiste Daroussin 370*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, el.c, filecomplete.c, map.c, read.c, 371*28ff4d35SBaptiste Daroussin read.h, readline.c, terminal.c: improvements in malloc/free 372*28ff4d35SBaptiste Daroussin handling. 373*28ff4d35SBaptiste Daroussin 374*28ff4d35SBaptiste Daroussin2022-09-21 03:33 christos 375*28ff4d35SBaptiste Daroussin 376*28ff4d35SBaptiste Daroussin * readline.c: PR/57016: Ricky Zhou: declare lastidx 377*28ff4d35SBaptiste Daroussin 378*28ff4d35SBaptiste Daroussin2022-09-21 01:41 christos 379*28ff4d35SBaptiste Daroussin 380*28ff4d35SBaptiste Daroussin * readline.c: PR/57016: Ricky Zhou: Revert to trimming the last 381*28ff4d35SBaptiste Daroussin newline instead of the first one so that multi-line commands work 382*28ff4d35SBaptiste Daroussin again. 383*28ff4d35SBaptiste Daroussin 384*28ff4d35SBaptiste Daroussin2022-04-11 21:37 tnn 385*28ff4d35SBaptiste Daroussin 386*28ff4d35SBaptiste Daroussin * chartype.h: libedit/chartype.h: portability fix for OSF/1 387*28ff4d35SBaptiste Daroussin 388*28ff4d35SBaptiste Daroussin2022-04-08 22:11 christos 389*28ff4d35SBaptiste Daroussin 390*28ff4d35SBaptiste Daroussin * readline.c: PR/56778: Detlev Casanova: Missing rl_initialize call 391*28ff4d35SBaptiste Daroussin in rl_copy_text 392*28ff4d35SBaptiste Daroussin 393*28ff4d35SBaptiste Daroussin2022-03-12 16:29 christos 394*28ff4d35SBaptiste Daroussin 395*28ff4d35SBaptiste Daroussin * filecomplete.c: Fix filename autocompletion for strings like a\)b 396*28ff4d35SBaptiste Daroussin 397*28ff4d35SBaptiste Daroussin An escaped character should unconditionally be skipped together 398*28ff4d35SBaptiste Daroussin with the character that does the escaping. For example, in "a\)b" 399*28ff4d35SBaptiste Daroussin only the ")b" part was skipped but then the loop stopped at the 400*28ff4d35SBaptiste Daroussin "\" since it's one of the characters listed in word_break. (Piotr 401*28ff4d35SBaptiste Daroussin P. Stefaniak) 402*28ff4d35SBaptiste Daroussin 403*28ff4d35SBaptiste Daroussin2022-02-19 18:45 christos 404*28ff4d35SBaptiste Daroussin 405*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: PR/56695: Walter Lozano: Correct 406*28ff4d35SBaptiste Daroussin declaration of hook functions. 407*28ff4d35SBaptiste Daroussin 408*28ff4d35SBaptiste Daroussin2022-02-08 22:13 rillig 409*28ff4d35SBaptiste Daroussin 410*28ff4d35SBaptiste Daroussin * chared.c, histedit.h: libedit: fix typos, apply KNF to newly 411*28ff4d35SBaptiste Daroussin imported code (PR/56693) 412*28ff4d35SBaptiste Daroussin 413*28ff4d35SBaptiste Daroussin No binary change. 414*28ff4d35SBaptiste Daroussin 415*28ff4d35SBaptiste Daroussin2022-02-08 16:05 christos 416*28ff4d35SBaptiste Daroussin 417*28ff4d35SBaptiste Daroussin * chared.c, histedit.h, readline.c, readline/readline.h: PR/56693: 418*28ff4d35SBaptiste Daroussin Walter Lozano: Add support for rl_delete_text and rl_set_key 419*28ff4d35SBaptiste Daroussin 420*28ff4d35SBaptiste Daroussin2022-01-31 15:44 christos 421*28ff4d35SBaptiste Daroussin 422*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: PR/56622: Walter Lozano: Improve 423*28ff4d35SBaptiste Daroussin readline compatibility by adding rl_readline_state support. 424*28ff4d35SBaptiste Daroussin 425*28ff4d35SBaptiste Daroussin2022-01-29 21:52 christos 426*28ff4d35SBaptiste Daroussin 427*28ff4d35SBaptiste Daroussin * readline.c: Add more refreshes from Walter Lozano. The readline 428*28ff4d35SBaptiste Daroussin example in 429*28ff4d35SBaptiste Daroussin http://www.mcld.co.uk/blog/2009/simple-gnu-readline-callback-style-example.html 430*28ff4d35SBaptiste Daroussin still does not work, but it is better. 431*28ff4d35SBaptiste Daroussin 432*28ff4d35SBaptiste Daroussin2022-01-14 14:31 christos 433*28ff4d35SBaptiste Daroussin 434*28ff4d35SBaptiste Daroussin * readline/readline.h: Don't use __printflike, use the explicit 435*28ff4d35SBaptiste Daroussin attribute so that this works outside NetBSD. 436*28ff4d35SBaptiste Daroussin 437*28ff4d35SBaptiste Daroussin2022-01-14 13:48 tnn 438*28ff4d35SBaptiste Daroussin 439*28ff4d35SBaptiste Daroussin * readline/readline.h: libedit: rl_message: annotate __printflike 440*28ff4d35SBaptiste Daroussin 441*28ff4d35SBaptiste Daroussin2022-01-11 19:30 christos 442*28ff4d35SBaptiste Daroussin 443*28ff4d35SBaptiste Daroussin * chared.c, eln.c, histedit.h, readline.c, readline/readline.h: 444*28ff4d35SBaptiste Daroussin PR/56618: Walter Lozano: Improve libedit compatibility with 445*28ff4d35SBaptiste Daroussin readline by implementing: 446*28ff4d35SBaptiste Daroussin 447*28ff4d35SBaptiste Daroussin rl_copy_text, rl_erase_empty_line, rl_message, 448*28ff4d35SBaptiste Daroussin rl_on_new_line, 449*28ff4d35SBaptiste Daroussin rl_replace_line, rl_restore_prompt, rl_save_prompt 450*28ff4d35SBaptiste Daroussin 451*28ff4d35SBaptiste Daroussin2021-09-26 15:45 christos 452*28ff4d35SBaptiste Daroussin 453*28ff4d35SBaptiste Daroussin * filecomplete.h: make flag unsigned to match prototype of the 454*28ff4d35SBaptiste Daroussin function used 455*28ff4d35SBaptiste Daroussin 456*28ff4d35SBaptiste Daroussin2021-09-26 15:45 christos 457*28ff4d35SBaptiste Daroussin 458*28ff4d35SBaptiste Daroussin * filecomplete.c: - Completion should not add a quote at the end of 459*28ff4d35SBaptiste Daroussin the line to match an already quoted quote. (Piotr Stefaniak) - 460*28ff4d35SBaptiste Daroussin fix lint unconst warnings for strchr 461*28ff4d35SBaptiste Daroussin 462*28ff4d35SBaptiste Daroussin2021-09-10 20:51 rillig 463*28ff4d35SBaptiste Daroussin 464*28ff4d35SBaptiste Daroussin * readline.c: libedit: fix indentation 465*28ff4d35SBaptiste Daroussin 466*28ff4d35SBaptiste Daroussin No change to the resulting object files. 467*28ff4d35SBaptiste Daroussin 468*28ff4d35SBaptiste Daroussin2021-09-10 15:33 christos 469*28ff4d35SBaptiste Daroussin 470*28ff4d35SBaptiste Daroussin * TEST/fuzz1.c: Add an LLVM fuzzing wrapper for the portable 471*28ff4d35SBaptiste Daroussin libedit (Christian Holler) 472*28ff4d35SBaptiste Daroussin 473*28ff4d35SBaptiste Daroussin2021-09-10 15:29 christos 474*28ff4d35SBaptiste Daroussin 475*28ff4d35SBaptiste Daroussin * readline.c: rl_startup_hook should be called each time. From 476*28ff4d35SBaptiste Daroussin Carlos Henrique Lima Melara 477*28ff4d35SBaptiste Daroussin 478*28ff4d35SBaptiste Daroussin2021-09-09 22:25 christos 479*28ff4d35SBaptiste Daroussin 480*28ff4d35SBaptiste Daroussin * readline.c: fix memory issues found by fuzzing (double frees and 481*28ff4d35SBaptiste Daroussin buffer overflows) 482*28ff4d35SBaptiste Daroussin 483*28ff4d35SBaptiste Daroussin2021-09-09 22:24 christos 484*28ff4d35SBaptiste Daroussin 485*28ff4d35SBaptiste Daroussin * refresh.c, terminal.c: Add casts to appease conversions between 486*28ff4d35SBaptiste Daroussin wchar_t and wint_t 487*28ff4d35SBaptiste Daroussin 488*28ff4d35SBaptiste Daroussin2021-09-03 14:20 christos 489*28ff4d35SBaptiste Daroussin 490*28ff4d35SBaptiste Daroussin * readline.c: Try to refactor this in order to correct some of the 491*28ff4d35SBaptiste Daroussin memory issues reported by Christian Holler. 492*28ff4d35SBaptiste Daroussin 493*28ff4d35SBaptiste Daroussin2021-08-30 11:18 christos 494*28ff4d35SBaptiste Daroussin 495*28ff4d35SBaptiste Daroussin * ChangeLog: Add a changes file 496*28ff4d35SBaptiste Daroussin 497*28ff4d35SBaptiste Daroussin2021-08-29 11:41 christos 498*28ff4d35SBaptiste Daroussin 499*28ff4d35SBaptiste Daroussin * map.c: ^W is traditionally bound to ed-delete-prev-word and not 500*28ff4d35SBaptiste Daroussin kill-region ^R is traditionally bound to em-inc-search-next and 501*28ff4d35SBaptiste Daroussin not redisplay This is what mksh, zsh bash, readline do (Baptiste 502*28ff4d35SBaptiste Daroussin Daroussin) 503*28ff4d35SBaptiste Daroussin 504*28ff4d35SBaptiste Daroussin2021-08-28 19:17 christos 505*28ff4d35SBaptiste Daroussin 506*28ff4d35SBaptiste Daroussin * vi.c: Respect $EDITOR when execution one (Baptiste Daroussin) 507*28ff4d35SBaptiste Daroussin 508*28ff4d35SBaptiste Daroussin2021-08-21 14:38 christos 509*28ff4d35SBaptiste Daroussin 510*28ff4d35SBaptiste Daroussin * readline.c: PR/56370: mirabilos: libedit change from 2017 kills 511*28ff4d35SBaptiste Daroussin history in gdb 512*28ff4d35SBaptiste Daroussin 513*28ff4d35SBaptiste Daroussin2021-08-21 14:34 christos 514*28ff4d35SBaptiste Daroussin 515*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Add more api to make gdb-11 516*28ff4d35SBaptiste Daroussin happy (but not gdbtui as usual) 517*28ff4d35SBaptiste Daroussin 518*28ff4d35SBaptiste Daroussin2021-08-16 00:22 rillig 519*28ff4d35SBaptiste Daroussin 520*28ff4d35SBaptiste Daroussin * readline.c: libedit: simplify calls to macro ADD_STRING 521*28ff4d35SBaptiste Daroussin 522*28ff4d35SBaptiste Daroussin The lint comments CONSTCOND and LINTED were not necessary. It is 523*28ff4d35SBaptiste Daroussin simpler to just specify what to free. GCC optimizes free(NULL) 524*28ff4d35SBaptiste Daroussin to be a no-op. 525*28ff4d35SBaptiste Daroussin 526*28ff4d35SBaptiste Daroussin No functional change. 527*28ff4d35SBaptiste Daroussin 528*28ff4d35SBaptiste Daroussin2021-08-16 00:14 rillig 529*28ff4d35SBaptiste Daroussin 530*28ff4d35SBaptiste Daroussin * readline.c: readline: fix lint warning about effective unconst 531*28ff4d35SBaptiste Daroussin cast 532*28ff4d35SBaptiste Daroussin 533*28ff4d35SBaptiste Daroussin Calling strchr to avoid the syntactical unconst cast is not 534*28ff4d35SBaptiste Daroussin necessary here. A simple pointer assignment is enough. 535*28ff4d35SBaptiste Daroussin 536*28ff4d35SBaptiste Daroussin No functional change. 537*28ff4d35SBaptiste Daroussin 538*28ff4d35SBaptiste Daroussin2021-08-15 12:12 wiz 539*28ff4d35SBaptiste Daroussin 540*28ff4d35SBaptiste Daroussin * editline.3: Add verb to sentence. 541*28ff4d35SBaptiste Daroussin 542*28ff4d35SBaptiste Daroussin2021-08-15 12:08 christos 543*28ff4d35SBaptiste Daroussin 544*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, eln.c, histedit.h, read.c: Disable 545*28ff4d35SBaptiste Daroussin attempts to handle EINTR and non-blocking I/O by default. It is 546*28ff4d35SBaptiste Daroussin confusing to other programs and unexpected behavior. Reported by 547*28ff4d35SBaptiste Daroussin Ingo Schwarze. This behavior is now controlled with EL_SAFEREAD. 548*28ff4d35SBaptiste Daroussin 549*28ff4d35SBaptiste Daroussin2021-08-15 12:06 christos 550*28ff4d35SBaptiste Daroussin 551*28ff4d35SBaptiste Daroussin * readline.c: Add a LINTED comment... Why doesn't NOTREACHED work? 552*28ff4d35SBaptiste Daroussin 553*28ff4d35SBaptiste Daroussin2021-07-31 22:51 andvar 554*28ff4d35SBaptiste Daroussin 555*28ff4d35SBaptiste Daroussin * tty.h: s/dependend/dependent/ 556*28ff4d35SBaptiste Daroussin 557*28ff4d35SBaptiste Daroussin2021-07-14 09:47 christos 558*28ff4d35SBaptiste Daroussin 559*28ff4d35SBaptiste Daroussin * tty.c: Via Jess Thrysoee, from Adrian Bunk: Fix libedit build on 560*28ff4d35SBaptiste Daroussin Linux/Alpha Alpha is the only Linux architecture that has 561*28ff4d35SBaptiste Daroussin SIGINFO: 562*28ff4d35SBaptiste Daroussin https://sources.debian.org/src/manpages/5.10-1/man7/signal.7/#L522 563*28ff4d35SBaptiste Daroussin 564*28ff4d35SBaptiste Daroussin But even on Alpha Ctrl-T is not supported, and therefore no 565*28ff4d35SBaptiste Daroussin VSTATUS: 566*28ff4d35SBaptiste Daroussin https://sources.debian.org/src/manpages/5.10-1/man3/termios.3/#L603-L608 567*28ff4d35SBaptiste Daroussin 568*28ff4d35SBaptiste Daroussin For consistency check both signal existence and character 569*28ff4d35SBaptiste Daroussin existence 570*28ff4d35SBaptiste Daroussin 571*28ff4d35SBaptiste Daroussin2021-05-05 16:49 christos 572*28ff4d35SBaptiste Daroussin 573*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/56147: Miroslav Lichvar: Avoid memory leak if 574*28ff4d35SBaptiste Daroussin strdup fails. 575*28ff4d35SBaptiste Daroussin 576*28ff4d35SBaptiste Daroussin2021-03-28 15:39 christos 577*28ff4d35SBaptiste Daroussin 578*28ff4d35SBaptiste Daroussin * filecomplete.c: Only unescape when we are quoting and don't add a 579*28ff4d35SBaptiste Daroussin space if we are quoting (we already did) (Piotr Stefaniak) 580*28ff4d35SBaptiste Daroussin 581*28ff4d35SBaptiste Daroussin2021-03-28 15:38 christos 582*28ff4d35SBaptiste Daroussin 583*28ff4d35SBaptiste Daroussin * filecomplete.h: document the flag 584*28ff4d35SBaptiste Daroussin 585*28ff4d35SBaptiste Daroussin2021-03-28 15:33 christos 586*28ff4d35SBaptiste Daroussin 587*28ff4d35SBaptiste Daroussin * filecomplete.c: Pass the unescaped filename the the append 588*28ff4d35SBaptiste Daroussin function so it has to do less work (for example it can call 589*28ff4d35SBaptiste Daroussin stat(2) directly (Piotr Stefaniak) 590*28ff4d35SBaptiste Daroussin 591*28ff4d35SBaptiste Daroussin2021-03-27 19:55 christos 592*28ff4d35SBaptiste Daroussin 593*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h: Add fn_complete2() that controls 594*28ff4d35SBaptiste Daroussin the quoting of the returned match. Before it was based on the 595*28ff4d35SBaptiste Daroussin heuristic that we were not supplied an 596*28ff4d35SBaptiste Daroussin attempted_completion_function, which worked well because programs 597*28ff4d35SBaptiste Daroussin that supplied that function were not shells and did not 598*28ff4d35SBaptiste Daroussin want/understand shell quoting. Recently though Piotr Stefaniak 599*28ff4d35SBaptiste Daroussin wanted to enhance command completion for the Bourne Shell and 600*28ff4d35SBaptiste Daroussin this could benefit quoting the returned command. This function 601*28ff4d35SBaptiste Daroussin adds an extra flags argument that controls that quoting. 602*28ff4d35SBaptiste Daroussin 603*28ff4d35SBaptiste Daroussin2020-07-10 22:34 christos 604*28ff4d35SBaptiste Daroussin 605*28ff4d35SBaptiste Daroussin * terminal.c: Fix numeric variable handling in settc (lyzliyuzhi at 606*28ff4d35SBaptiste Daroussin 163 dot com) 607*28ff4d35SBaptiste Daroussin 608*28ff4d35SBaptiste Daroussin2020-06-01 01:24 christos 609*28ff4d35SBaptiste Daroussin 610*28ff4d35SBaptiste Daroussin * terminal.c, tty.c: use strlcpy() instead of strncpy() for gcc 611*28ff4d35SBaptiste Daroussin happiness 612*28ff4d35SBaptiste Daroussin 613*28ff4d35SBaptiste Daroussin2020-04-13 10:03 martin 614*28ff4d35SBaptiste Daroussin 615*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chartype.c, chartype.h, el.c, el.h, 616*28ff4d35SBaptiste Daroussin filecomplete.c, hist.c, history.c, keymacro.c, literal.c, map.c, 617*28ff4d35SBaptiste Daroussin parse.c, read.c, readline.c, search.c, terminal.c, vi.c, 618*28ff4d35SBaptiste Daroussin TEST/test_filecompletion.c: Mostly merge changes from HEAD upto 619*28ff4d35SBaptiste Daroussin 20200411 620*28ff4d35SBaptiste Daroussin 621*28ff4d35SBaptiste Daroussin2020-04-08 16:07 martin 622*28ff4d35SBaptiste Daroussin 623*28ff4d35SBaptiste Daroussin * common.c, map.c, refresh.c, search.c: Merge changes from current 624*28ff4d35SBaptiste Daroussin as of 20200406 625*28ff4d35SBaptiste Daroussin 626*28ff4d35SBaptiste Daroussin2020-03-30 08:56 ryo 627*28ff4d35SBaptiste Daroussin 628*28ff4d35SBaptiste Daroussin * search.c: patbuf must be updated if the length of patbuf is 629*28ff4d35SBaptiste Daroussin greater than or equal to 0. (that is always) fix of r1.7 was 630*28ff4d35SBaptiste Daroussin incorrect. 631*28ff4d35SBaptiste Daroussin 632*28ff4d35SBaptiste Daroussin2020-03-30 08:54 ryo 633*28ff4d35SBaptiste Daroussin 634*28ff4d35SBaptiste Daroussin * common.c, map.c, refresh.c, search.c: fix build error with 635*28ff4d35SBaptiste Daroussin SDEBUG, MAP_DEBUG, DEBUG_REFRESH 636*28ff4d35SBaptiste Daroussin 637*28ff4d35SBaptiste Daroussin2020-01-05 08:12 abhinav 638*28ff4d35SBaptiste Daroussin 639*28ff4d35SBaptiste Daroussin * filecomplete.c: PR lib/54510 - when user supplied completion 640*28ff4d35SBaptiste Daroussin function is there, don't unescape the string to be completed. 641*28ff4d35SBaptiste Daroussin 642*28ff4d35SBaptiste Daroussin2020-01-05 01:03 tih 643*28ff4d35SBaptiste Daroussin 644*28ff4d35SBaptiste Daroussin * filecomplete.c: Summary: Remove over-simplified extraneous test 645*28ff4d35SBaptiste Daroussin 646*28ff4d35SBaptiste Daroussin The file name matching code in libedit tries to adjust to the 647*28ff4d35SBaptiste Daroussin presence of explicit " or ' characters in the input line, but 648*28ff4d35SBaptiste Daroussin tries too hard. Remove a conditional that goes overboard, and 649*28ff4d35SBaptiste Daroussin causes the completion code to fail if a quoted string is seen 650*28ff4d35SBaptiste Daroussin before the filename to be expanded, as in 651*28ff4d35SBaptiste Daroussin 652*28ff4d35SBaptiste Daroussin grep 'foo' bar<TAB> 653*28ff4d35SBaptiste Daroussin 654*28ff4d35SBaptiste Daroussin Before this change, the above would not expand any possible 655*28ff4d35SBaptiste Daroussin completions, even if they existed, because it would choose to 656*28ff4d35SBaptiste Daroussin look for files whose names started with " bar". 657*28ff4d35SBaptiste Daroussin 658*28ff4d35SBaptiste Daroussin2019-12-10 20:42 christos 659*28ff4d35SBaptiste Daroussin 660*28ff4d35SBaptiste Daroussin * filecomplete.c: When 'attempted_completion_function' non-NULL, 661*28ff4d35SBaptiste Daroussin with a 'single_match' match, the expected space is not being 662*28ff4d35SBaptiste Daroussin added. Problem observed with "chronyc" and "sqlite3" tab 663*28ff4d35SBaptiste Daroussin completion. That functionality got moved to escape_filename() for 664*28ff4d35SBaptiste Daroussin the !attempted_completion_function case, but the non-NULL 665*28ff4d35SBaptiste Daroussin 'attempted_completion_function' case must also be handled. 666*28ff4d35SBaptiste Daroussin (Lonnie Abelbeck) 667*28ff4d35SBaptiste Daroussin 668*28ff4d35SBaptiste Daroussin2019-11-12 21:59 christos 669*28ff4d35SBaptiste Daroussin 670*28ff4d35SBaptiste Daroussin * terminal.c: PR/54654: Soren Tempel: Make sure el_cursor.v < 671*28ff4d35SBaptiste Daroussin el_terminal.t_size.v when moving around. 672*28ff4d35SBaptiste Daroussin 673*28ff4d35SBaptiste Daroussin2019-10-13 09:28 mrg 674*28ff4d35SBaptiste Daroussin 675*28ff4d35SBaptiste Daroussin * Makefile: introduce some common variables for use in GCC warning 676*28ff4d35SBaptiste Daroussin disables: 677*28ff4d35SBaptiste Daroussin 678*28ff4d35SBaptiste Daroussin GCC_NO_FORMAT_TRUNCATION -Wno-format-truncation (GCC 7/8) 679*28ff4d35SBaptiste Daroussin GCC_NO_STRINGOP_TRUNCATION -Wno-stringop-truncation (GCC 8) 680*28ff4d35SBaptiste Daroussin GCC_NO_STRINGOP_OVERFLOW -Wno-stringop-overflow (GCC 8) 681*28ff4d35SBaptiste Daroussin GCC_NO_CAST_FUNCTION_TYPE -Wno-cast-function-type (GCC 8) 682*28ff4d35SBaptiste Daroussin 683*28ff4d35SBaptiste Daroussin use these to turn off warnings for most GCC-8 complaints. many 684*28ff4d35SBaptiste Daroussin of these are false positives, most of the real bugs are already 685*28ff4d35SBaptiste Daroussin commited, or are yet to come. 686*28ff4d35SBaptiste Daroussin 687*28ff4d35SBaptiste Daroussin we plan to introduce versions of (some?) of these that use the 688*28ff4d35SBaptiste Daroussin "-Wno-error=" form, which still displays the warnings but does 689*28ff4d35SBaptiste Daroussin not make it an error, and all of the above will be re-considered 690*28ff4d35SBaptiste Daroussin as either being "fix me" (warning still displayed) or "warning is 691*28ff4d35SBaptiste Daroussin wrong." 692*28ff4d35SBaptiste Daroussin 693*28ff4d35SBaptiste Daroussin2019-10-09 16:31 christos 694*28ff4d35SBaptiste Daroussin 695*28ff4d35SBaptiste Daroussin * filecomplete.c, readline.c: add +1 to strlcpy's (Patrick Welche) 696*28ff4d35SBaptiste Daroussin 697*28ff4d35SBaptiste Daroussin2019-10-08 21:21 christos 698*28ff4d35SBaptiste Daroussin 699*28ff4d35SBaptiste Daroussin * filecomplete.c: remore error(1) comment 700*28ff4d35SBaptiste Daroussin 701*28ff4d35SBaptiste Daroussin2019-10-08 21:17 christos 702*28ff4d35SBaptiste Daroussin 703*28ff4d35SBaptiste Daroussin * filecomplete.c, history.c, readline.c: Change strncpy to either 704*28ff4d35SBaptiste Daroussin memcpy (when we know the len), or strlcpy (when we used to NUL 705*28ff4d35SBaptiste Daroussin terminate explicitly. 706*28ff4d35SBaptiste Daroussin 707*28ff4d35SBaptiste Daroussin2019-09-15 23:09 christos 708*28ff4d35SBaptiste Daroussin 709*28ff4d35SBaptiste Daroussin * chartype.h, terminal.c: Fix type and remove cast (Yuichiro 710*28ff4d35SBaptiste Daroussin NAITO/FreeBSD). 711*28ff4d35SBaptiste Daroussin 712*28ff4d35SBaptiste Daroussin2019-09-08 07:50 abhinav 713*28ff4d35SBaptiste Daroussin 714*28ff4d35SBaptiste Daroussin * filecomplete.c, TEST/test_filecompletion.c: PR lib/54510: Fix 715*28ff4d35SBaptiste Daroussin file completion inside quotes which broke in rev 1.53 716*28ff4d35SBaptiste Daroussin 717*28ff4d35SBaptiste Daroussin While there also fix handling character appending in the file 718*28ff4d35SBaptiste Daroussin completions when inside quotes. For example when inside a quote, 719*28ff4d35SBaptiste Daroussin if the completion is a directory then append a '/' but don't 720*28ff4d35SBaptiste Daroussin close the quote. On the other hand when inside a quote if the 721*28ff4d35SBaptiste Daroussin completion is a file name and it is the only match then we can 722*28ff4d35SBaptiste Daroussin close the quote. 723*28ff4d35SBaptiste Daroussin 724*28ff4d35SBaptiste Daroussin2019-08-21 13:11 christos 725*28ff4d35SBaptiste Daroussin 726*28ff4d35SBaptiste Daroussin * readline.c: Increment offset when adding an element to history to 727*28ff4d35SBaptiste Daroussin keep it aligned with the last element entered (Sandy Li 728*28ff4d35SBaptiste Daroussin Changqing) 729*28ff4d35SBaptiste Daroussin 730*28ff4d35SBaptiste Daroussin2019-07-28 11:27 christos 731*28ff4d35SBaptiste Daroussin 732*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/54415: Ricky Zhou: libedit stats completions 733*28ff4d35SBaptiste Daroussin for non-file completions Use the proper completion function and 734*28ff4d35SBaptiste Daroussin account for the character appended by the function when computing 735*28ff4d35SBaptiste Daroussin the number of columns. 736*28ff4d35SBaptiste Daroussin 737*28ff4d35SBaptiste Daroussin2019-07-23 15:10 christos 738*28ff4d35SBaptiste Daroussin 739*28ff4d35SBaptiste Daroussin * literal.c: remove stray brace 740*28ff4d35SBaptiste Daroussin 741*28ff4d35SBaptiste Daroussin2019-07-23 12:19 christos 742*28ff4d35SBaptiste Daroussin 743*28ff4d35SBaptiste Daroussin * hist.c: put the NULL check immediately after the allocation 744*28ff4d35SBaptiste Daroussin 745*28ff4d35SBaptiste Daroussin2019-07-23 12:18 christos 746*28ff4d35SBaptiste Daroussin 747*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, el.c, el.h, filecomplete.c, hist.c, 748*28ff4d35SBaptiste Daroussin keymacro.c, literal.c, map.c, parse.c, read.c, readline.c, 749*28ff4d35SBaptiste Daroussin search.c, terminal.c, vi.c: PR/54399: S�ren Tempel: Uninitialized 750*28ff4d35SBaptiste Daroussin memory access in libedit history. Initialize the buffer using 751*28ff4d35SBaptiste Daroussin calloc. While here change all malloc(a * sizeof(b)) to calloc(a, 752*28ff4d35SBaptiste Daroussin sizeof(b)). XXX: should fix realloc similarly. 753*28ff4d35SBaptiste Daroussin 754*28ff4d35SBaptiste Daroussin2019-07-23 11:47 christos 755*28ff4d35SBaptiste Daroussin 756*28ff4d35SBaptiste Daroussin * chared.c: PR/54400: S�ren Tempel: out-of-bounds read in libedit 757*28ff4d35SBaptiste Daroussin c_delbefore 758*28ff4d35SBaptiste Daroussin 759*28ff4d35SBaptiste Daroussin2019-06-30 15:30 christos 760*28ff4d35SBaptiste Daroussin 761*28ff4d35SBaptiste Daroussin * terminal.c: Add a comment explaining why we don't use DO here. 762*28ff4d35SBaptiste Daroussin Correct the attribution on the previous patch: The patch was from 763*28ff4d35SBaptiste Daroussin Jordan Lewis and the report from Raphael Poss. 764*28ff4d35SBaptiste Daroussin 765*28ff4d35SBaptiste Daroussin2019-06-29 23:35 christos 766*28ff4d35SBaptiste Daroussin 767*28ff4d35SBaptiste Daroussin * terminal.c: PR/54329: Raphael Ross: According to 768*28ff4d35SBaptiste Daroussin https://www.gnu.org/software/termutils/\ 769*28ff4d35SBaptiste Daroussin manual/termcap-1.3/html_chapter/termcap_4.html#SEC23 the cursor 770*28ff4d35SBaptiste Daroussin move multiple escapes have undefined results when moving out of 771*28ff4d35SBaptiste Daroussin the screen. Stop using DO to move down multiple lines and use a 772*28ff4d35SBaptiste Daroussin loop of newlines instead. 773*28ff4d35SBaptiste Daroussin 774*28ff4d35SBaptiste Daroussin2019-06-11 00:05 christos 775*28ff4d35SBaptiste Daroussin 776*28ff4d35SBaptiste Daroussin * chartype.c, editline.3, el.c, el.h, eln.c, filecomplete.c, 777*28ff4d35SBaptiste Daroussin history.c, parse.c, read.c, readline.c, refresh.c, terminal.c, 778*28ff4d35SBaptiste Daroussin tty.c, tty.h, TEST/test_filecompletion.c, readline/readline.h: 779*28ff4d35SBaptiste Daroussin Sync with HEAD 780*28ff4d35SBaptiste Daroussin 781*28ff4d35SBaptiste Daroussin2019-06-07 17:21 christos 782*28ff4d35SBaptiste Daroussin 783*28ff4d35SBaptiste Daroussin * readline.c: PR/54281: Jonathan Perkins: NUL terminate 784*28ff4d35SBaptiste Daroussin rl_line_buffer on modification to avoid completion leak. 785*28ff4d35SBaptiste Daroussin 786*28ff4d35SBaptiste Daroussin2019-06-07 17:19 christos 787*28ff4d35SBaptiste Daroussin 788*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: PR/54280: 789*28ff4d35SBaptiste Daroussin rl_completer_quote_characters should be const for readline compat 790*28ff4d35SBaptiste Daroussin 791*28ff4d35SBaptiste Daroussin2019-06-07 17:18 christos 792*28ff4d35SBaptiste Daroussin 793*28ff4d35SBaptiste Daroussin * readline.c: PR/54279: Jonathan Perkins: Ignore adjacent start/end 794*28ff4d35SBaptiste Daroussin prompt ignore. 795*28ff4d35SBaptiste Daroussin 796*28ff4d35SBaptiste Daroussin2019-04-26 18:56 christos 797*28ff4d35SBaptiste Daroussin 798*28ff4d35SBaptiste Daroussin * el.c, eln.c, readline.c: Follow the man page for EL_GETTC and not 799*28ff4d35SBaptiste Daroussin require a NULL terminated argument list: 800*28ff4d35SBaptiste Daroussin https://reviews.llvm.org/D61191 801*28ff4d35SBaptiste Daroussin 802*28ff4d35SBaptiste Daroussin2019-04-20 10:44 abhinav 803*28ff4d35SBaptiste Daroussin 804*28ff4d35SBaptiste Daroussin * filecomplete.c: PR lib/54131 - declare the loop variable outside 805*28ff4d35SBaptiste Daroussin the for loop 806*28ff4d35SBaptiste Daroussin 807*28ff4d35SBaptiste Daroussin2019-04-12 19:30 christos 808*28ff4d35SBaptiste Daroussin 809*28ff4d35SBaptiste Daroussin * terminal.c: PR/52359: Benjamin Lorenz: When resizing because of a 810*28ff4d35SBaptiste Daroussin signal save and restore the cursor position, since it does not 811*28ff4d35SBaptiste Daroussin change. 812*28ff4d35SBaptiste Daroussin 813*28ff4d35SBaptiste Daroussin2019-04-12 17:12 christos 814*28ff4d35SBaptiste Daroussin 815*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/54117: Paavo Helde: Fix memory overrun: 816*28ff4d35SBaptiste Daroussin Account for the closing quote in memory allocation if quoted. 817*28ff4d35SBaptiste Daroussin 818*28ff4d35SBaptiste Daroussin2019-03-31 05:04 abhinav 819*28ff4d35SBaptiste Daroussin 820*28ff4d35SBaptiste Daroussin * filecomplete.c, TEST/test_filecompletion.c: Perform quoting of 821*28ff4d35SBaptiste Daroussin filename completions when there are multiple matches as well 822*28ff4d35SBaptiste Daroussin 823*28ff4d35SBaptiste Daroussin Quoting of special characters in filename completion was 824*28ff4d35SBaptiste Daroussin implemented for single match case, this enables it for multiple 825*28ff4d35SBaptiste Daroussin matches as well. For example: 826*28ff4d35SBaptiste Daroussin 827*28ff4d35SBaptiste Daroussin $ touch 'foo bar' $ touch 'foo baz' $ ls fo<TAB> autocompletes to 828*28ff4d35SBaptiste Daroussin => $ ls foo\ ba hitting <TAB> again shows: foo bar foo baz 829*28ff4d35SBaptiste Daroussin 830*28ff4d35SBaptiste Daroussin This required unescaping escape sequences generated during last 831*28ff4d35SBaptiste Daroussin completion in order to find the word to complete. 832*28ff4d35SBaptiste Daroussin 833*28ff4d35SBaptiste Daroussin While there, also update the test to include cases for multiple 834*28ff4d35SBaptiste Daroussin matches. 835*28ff4d35SBaptiste Daroussin 836*28ff4d35SBaptiste Daroussin Reviewed by christos 837*28ff4d35SBaptiste Daroussin 838*28ff4d35SBaptiste Daroussin2019-03-24 17:42 abhinav 839*28ff4d35SBaptiste Daroussin 840*28ff4d35SBaptiste Daroussin * filecomplete.c: Only quote the completion matches if we are doing 841*28ff4d35SBaptiste Daroussin filename completion 842*28ff4d35SBaptiste Daroussin 843*28ff4d35SBaptiste Daroussin If the user supplies a value for the 844*28ff4d35SBaptiste Daroussin attempted_completion_function parameter then we cannot be sure if 845*28ff4d35SBaptiste Daroussin the completion is for filename or something else, in such a case 846*28ff4d35SBaptiste Daroussin don't attempt to quote the completion matches. 847*28ff4d35SBaptiste Daroussin 848*28ff4d35SBaptiste Daroussin Reviewed by christos 849*28ff4d35SBaptiste Daroussin 850*28ff4d35SBaptiste Daroussin This should address PR lib/54067 851*28ff4d35SBaptiste Daroussin 852*28ff4d35SBaptiste Daroussin2019-02-16 00:20 christos 853*28ff4d35SBaptiste Daroussin 854*28ff4d35SBaptiste Daroussin * readline.c, terminal.c, readline/readline.h: PR/53983: Jonathan 855*28ff4d35SBaptiste Daroussin Perkins: Fix types for readline compatibility 856*28ff4d35SBaptiste Daroussin 857*28ff4d35SBaptiste Daroussin2019-02-14 21:09 christos 858*28ff4d35SBaptiste Daroussin 859*28ff4d35SBaptiste Daroussin * readline.c: PR/53981: Jonathan Perkins: history_list should 860*28ff4d35SBaptiste Daroussin null-terminate 861*28ff4d35SBaptiste Daroussin 862*28ff4d35SBaptiste Daroussin2019-01-18 09:50 pgoyette 863*28ff4d35SBaptiste Daroussin 864*28ff4d35SBaptiste Daroussin * readline.c, refresh.c: Synch with HEAD 865*28ff4d35SBaptiste Daroussin 866*28ff4d35SBaptiste Daroussin2019-01-10 19:41 christos 867*28ff4d35SBaptiste Daroussin 868*28ff4d35SBaptiste Daroussin * readline.c: PR/53856: F. Aragon: editline/libedit not prompting 869*28ff4d35SBaptiste Daroussin colors in readline mode 870*28ff4d35SBaptiste Daroussin 871*28ff4d35SBaptiste Daroussin2019-01-04 04:03 uwe 872*28ff4d35SBaptiste Daroussin 873*28ff4d35SBaptiste Daroussin * refresh.c: Fix mis-applied change in previous. Don't increment 874*28ff4d35SBaptiste Daroussin r_oldcv twice. PR lib/53803 875*28ff4d35SBaptiste Daroussin 876*28ff4d35SBaptiste Daroussin2018-12-26 15:01 pgoyette 877*28ff4d35SBaptiste Daroussin 878*28ff4d35SBaptiste Daroussin * parse.c, readline.c, tty.c, tty.h, readline/readline.h: Sync with 879*28ff4d35SBaptiste Daroussin HEAD, resolve a few conflicts 880*28ff4d35SBaptiste Daroussin 881*28ff4d35SBaptiste Daroussin2018-12-02 17:58 christos 882*28ff4d35SBaptiste Daroussin 883*28ff4d35SBaptiste Daroussin * readline.c, tty.c, tty.h, readline/readline.h: Add a couple more 884*28ff4d35SBaptiste Daroussin readline compat functions. 885*28ff4d35SBaptiste Daroussin 886*28ff4d35SBaptiste Daroussin2018-11-29 04:10 christos 887*28ff4d35SBaptiste Daroussin 888*28ff4d35SBaptiste Daroussin * parse.c: Fix off by one <tsahara at iij> 889*28ff4d35SBaptiste Daroussin 890*28ff4d35SBaptiste Daroussin2018-11-26 02:52 pgoyette 891*28ff4d35SBaptiste Daroussin 892*28ff4d35SBaptiste Daroussin * chartype.c, editline.3, el.c, el.h, read.c, refresh.c, 893*28ff4d35SBaptiste Daroussin terminal.c: Sync with HEAD, resolve a couple of conflicts 894*28ff4d35SBaptiste Daroussin 895*28ff4d35SBaptiste Daroussin2018-11-25 17:21 christos 896*28ff4d35SBaptiste Daroussin 897*28ff4d35SBaptiste Daroussin * read.c: From Yuichiro Naito (FreeBSD): 898*28ff4d35SBaptiste Daroussin 899*28ff4d35SBaptiste Daroussin hrs@ says that (cbp >= MB_LEN_MAX) condition is necessary for 900*28ff4d35SBaptiste Daroussin checking invalid byte sequences. If malicious input was given, 901*28ff4d35SBaptiste Daroussin libedit would read byte sequences forever. 902*28ff4d35SBaptiste Daroussin 903*28ff4d35SBaptiste Daroussin2018-11-25 17:20 christos 904*28ff4d35SBaptiste Daroussin 905*28ff4d35SBaptiste Daroussin * chartype.c: From Yuichiro Naito (FreeBSD): hrs@ says that 906*28ff4d35SBaptiste Daroussin wctomb(3) has an internal shift state, if wctomb(3) is called 907*28ff4d35SBaptiste Daroussin outside of libedit, the internal state can be changed and causes 908*28ff4d35SBaptiste Daroussin miscalculate multibyte size. 909*28ff4d35SBaptiste Daroussin 910*28ff4d35SBaptiste Daroussin So in this part, wcrtomb(3) should be used. wcrtomb(3) requires 911*28ff4d35SBaptiste Daroussin that shift state is given in the argument. We always initialize 912*28ff4d35SBaptiste Daroussin the shift state in ct_enc_width() to keep independent from 913*28ff4d35SBaptiste Daroussin outside of libedit. 914*28ff4d35SBaptiste Daroussin 915*28ff4d35SBaptiste Daroussin2018-11-24 13:17 christos 916*28ff4d35SBaptiste Daroussin 917*28ff4d35SBaptiste Daroussin * terminal.c: PR/53682: Jordan Lewis: use newlines instead of 918*28ff4d35SBaptiste Daroussin padded spaces when restoring multi-line histories. 919*28ff4d35SBaptiste Daroussin 920*28ff4d35SBaptiste Daroussin2018-11-18 18:15 christos 921*28ff4d35SBaptiste Daroussin 922*28ff4d35SBaptiste Daroussin * chartype.c: fix compilation 923*28ff4d35SBaptiste Daroussin 924*28ff4d35SBaptiste Daroussin2018-11-18 18:09 christos 925*28ff4d35SBaptiste Daroussin 926*28ff4d35SBaptiste Daroussin * chartype.c, editline.3, el.c, el.h, read.c: Remove utf-8 927*28ff4d35SBaptiste Daroussin requirement (Yuichiro NAITO) 928*28ff4d35SBaptiste Daroussin 929*28ff4d35SBaptiste Daroussin2018-10-23 18:49 christos 930*28ff4d35SBaptiste Daroussin 931*28ff4d35SBaptiste Daroussin * refresh.c: Apply revisions 1.21, 1.22 from OpenBSD: 932*28ff4d35SBaptiste Daroussin 933*28ff4d35SBaptiste Daroussin In re_fastputc(), set lastline to the new line, not the previous 934*28ff4d35SBaptiste Daroussin line so it gets initialized properly. Fixes a crash in bc with 935*28ff4d35SBaptiste Daroussin MALLOC_OPTIONS=UJ. OK deraadt@, committing on behalf of yasuoka@ 936*28ff4d35SBaptiste Daroussin 937*28ff4d35SBaptiste Daroussin Initialize "old" screen buffer lines before use; otherwise, they 938*28ff4d35SBaptiste Daroussin would never get NUL-terminated and cause read buffer overruns. 939*28ff4d35SBaptiste Daroussin This fixes for example segfaults in sftp(1) that could be 940*28ff4d35SBaptiste Daroussin triggered by typing in an extremely long string (more than one 941*28ff4d35SBaptiste Daroussin line - the longer, the likelier to crash), then hitting backspace 942*28ff4d35SBaptiste Daroussin once. Problem reported and patch OK'ed by sthen@. 943*28ff4d35SBaptiste Daroussin 944*28ff4d35SBaptiste Daroussin XXX: pullup-8 945*28ff4d35SBaptiste Daroussin 946*28ff4d35SBaptiste Daroussin2018-09-30 03:45 pgoyette 947*28ff4d35SBaptiste Daroussin 948*28ff4d35SBaptiste Daroussin * history.c: Ssync with HEAD 949*28ff4d35SBaptiste Daroussin 950*28ff4d35SBaptiste Daroussin2018-09-13 11:03 kre 951*28ff4d35SBaptiste Daroussin 952*28ff4d35SBaptiste Daroussin * history.c: 953*28ff4d35SBaptiste Daroussin Fix editing mistake, remove ) from func call that is now gone. 954*28ff4d35SBaptiste Daroussin 955*28ff4d35SBaptiste Daroussin2018-09-13 03:26 christos 956*28ff4d35SBaptiste Daroussin 957*28ff4d35SBaptiste Daroussin * history.c: more efficient to use decode_result :-) Pointed out by 958*28ff4d35SBaptiste Daroussin kre@ 959*28ff4d35SBaptiste Daroussin 960*28ff4d35SBaptiste Daroussin2018-09-13 00:10 christos 961*28ff4d35SBaptiste Daroussin 962*28ff4d35SBaptiste Daroussin * history.c: PR/53597: Yasuhiro Horimoto: Avoid segmentation fault 963*28ff4d35SBaptiste Daroussin in bad history file. 964*28ff4d35SBaptiste Daroussin 965*28ff4d35SBaptiste Daroussin2018-06-25 09:25 pgoyette 966*28ff4d35SBaptiste Daroussin 967*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Sync with HEAD 968*28ff4d35SBaptiste Daroussin 969*28ff4d35SBaptiste Daroussin2018-06-09 19:41 christos 970*28ff4d35SBaptiste Daroussin 971*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Provide more compatibility with 972*28ff4d35SBaptiste Daroussin readline headers; now python-3.6.5 works when changing 'readline' 973*28ff4d35SBaptiste Daroussin -> 'edit' in setup.py. Revert previous conditional setting of 974*28ff4d35SBaptiste Daroussin unbuffered. 975*28ff4d35SBaptiste Daroussin 976*28ff4d35SBaptiste Daroussin2018-05-21 06:35 pgoyette 977*28ff4d35SBaptiste Daroussin 978*28ff4d35SBaptiste Daroussin * filecomplete.c, TEST/test_filecompletion.c: Sync with HEAD 979*28ff4d35SBaptiste Daroussin 980*28ff4d35SBaptiste Daroussin2018-05-04 22:38 christos 981*28ff4d35SBaptiste Daroussin 982*28ff4d35SBaptiste Daroussin * filecomplete.c: fix uninitialized 983*28ff4d35SBaptiste Daroussin 984*28ff4d35SBaptiste Daroussin2018-05-04 18:39 abhinav 985*28ff4d35SBaptiste Daroussin 986*28ff4d35SBaptiste Daroussin * filecomplete.c, TEST/test_filecompletion.c: Handle filename 987*28ff4d35SBaptiste Daroussin autocompletion when the cursor is at a backslash or quote 988*28ff4d35SBaptiste Daroussin character 989*28ff4d35SBaptiste Daroussin 990*28ff4d35SBaptiste Daroussin For example, handle following case: $ touch 'foo bar' $ 991*28ff4d35SBaptiste Daroussin ls foo\<TAB> --> $ ls foo\ bar 992*28ff4d35SBaptiste Daroussin 993*28ff4d35SBaptiste Daroussin Also add test cases for this. 994*28ff4d35SBaptiste Daroussin 995*28ff4d35SBaptiste Daroussin Thanks to Christos for review 996*28ff4d35SBaptiste Daroussin 997*28ff4d35SBaptiste Daroussin2018-05-02 10:45 abhinav 998*28ff4d35SBaptiste Daroussin 999*28ff4d35SBaptiste Daroussin * filecomplete.c: Add '*' and '[' to the list of characters which 1000*28ff4d35SBaptiste Daroussin need escaping during autocompletion 1001*28ff4d35SBaptiste Daroussin 1002*28ff4d35SBaptiste Daroussin2018-02-26 18:36 christos 1003*28ff4d35SBaptiste Daroussin 1004*28ff4d35SBaptiste Daroussin * common.c, search.c: PR/53058: Nikhil Benesch: use correctly typed 1005*28ff4d35SBaptiste Daroussin variables (wchar_t vs wint_t) as parameters. 1006*28ff4d35SBaptiste Daroussin 1007*28ff4d35SBaptiste Daroussin2018-01-01 23:32 christos 1008*28ff4d35SBaptiste Daroussin 1009*28ff4d35SBaptiste Daroussin * el.c, readline.c, tty.c, tty.h: Only FLUSH if we are ending 1010*28ff4d35SBaptiste Daroussin libedit; DRAIN if we suspend for readline. This allows pasting 1011*28ff4d35SBaptiste Daroussin multiline buffers (Gerry Swislow) 1012*28ff4d35SBaptiste Daroussin 1013*28ff4d35SBaptiste Daroussin2017-12-23 19:25 uwe 1014*28ff4d35SBaptiste Daroussin 1015*28ff4d35SBaptiste Daroussin * history.c: The order in which the arguments to a function are 1016*28ff4d35SBaptiste Daroussin evaluated is undefined, so don't use va_arg() twice. 1017*28ff4d35SBaptiste Daroussin 1018*28ff4d35SBaptiste Daroussin PR lib/52849 1019*28ff4d35SBaptiste Daroussin 1020*28ff4d35SBaptiste Daroussin2017-12-08 17:56 christos 1021*28ff4d35SBaptiste Daroussin 1022*28ff4d35SBaptiste Daroussin * readline.c: For applications that don't issue their own prompt 1023*28ff4d35SBaptiste Daroussin (like python) don't set unbuffered unless they've already printed 1024*28ff4d35SBaptiste Daroussin the prompt. This avoids printing the prompt before the 1025*28ff4d35SBaptiste Daroussin application has a chance to process the input line. From sjg@ 1026*28ff4d35SBaptiste Daroussin 1027*28ff4d35SBaptiste Daroussin2017-10-27 20:16 abhinav 1028*28ff4d35SBaptiste Daroussin 1029*28ff4d35SBaptiste Daroussin * filecomplete.c: Add NULL check after doing memory allocation at a 1030*28ff4d35SBaptiste Daroussin couple of places 1031*28ff4d35SBaptiste Daroussin 1032*28ff4d35SBaptiste Daroussin ok christos@ 1033*28ff4d35SBaptiste Daroussin 1034*28ff4d35SBaptiste Daroussin2017-10-15 21:17 abhinav 1035*28ff4d35SBaptiste Daroussin 1036*28ff4d35SBaptiste Daroussin * TEST/test_filecompletion.c: Add copyright and rcs header to the 1037*28ff4d35SBaptiste Daroussin test program. Also, remove a test case which was not supposed to 1038*28ff4d35SBaptiste Daroussin be there. (While that test case works with the changes I 1039*28ff4d35SBaptiste Daroussin committed, testing that test case with the test program is not 1040*28ff4d35SBaptiste Daroussin possible in its current form. I'm working on that.) 1041*28ff4d35SBaptiste Daroussin 1042*28ff4d35SBaptiste Daroussin2017-10-15 20:59 abhinav 1043*28ff4d35SBaptiste Daroussin 1044*28ff4d35SBaptiste Daroussin * filecomplete.c, TEST/Makefile, TEST/test_filecompletion.c: Add 1045*28ff4d35SBaptiste Daroussin support for escaping special characters when doing filename 1046*28ff4d35SBaptiste Daroussin completion. 1047*28ff4d35SBaptiste Daroussin 1048*28ff4d35SBaptiste Daroussin For instance if the file name is "foo bar": $ ls foo<TAB> should 1049*28ff4d35SBaptiste Daroussin get autocompleted to: $ ls foo\ bar 1050*28ff4d35SBaptiste Daroussin 1051*28ff4d35SBaptiste Daroussin Works for similar other characters too, which need escaping. 1052*28ff4d35SBaptiste Daroussin 1053*28ff4d35SBaptiste Daroussin Also, add an accompanying test program to ensure the escaping is 1054*28ff4d35SBaptiste Daroussin correct in various scenarios (within quotes, without quotes, with 1055*28ff4d35SBaptiste Daroussin other special characeters) 1056*28ff4d35SBaptiste Daroussin 1057*28ff4d35SBaptiste Daroussin Thanks to Christos for reviews, help and feedback. 1058*28ff4d35SBaptiste Daroussin 1059*28ff4d35SBaptiste Daroussin2017-10-11 08:49 abhinav 1060*28ff4d35SBaptiste Daroussin 1061*28ff4d35SBaptiste Daroussin * chared.c: Fix typo in comment 1062*28ff4d35SBaptiste Daroussin 1063*28ff4d35SBaptiste Daroussin2017-09-17 10:10 kre 1064*28ff4d35SBaptiste Daroussin 1065*28ff4d35SBaptiste Daroussin * readline.c: PR lib/52547 - read_history (readline.c) should now 1066*28ff4d35SBaptiste Daroussin sets history_length. 1067*28ff4d35SBaptiste Daroussin 1068*28ff4d35SBaptiste Daroussin Patch from Yen Chi Hsuan in the PR, extracted from Apple's 1069*28ff4d35SBaptiste Daroussin version of readline.c, then modified by me to be consistent about 1070*28ff4d35SBaptiste Daroussin what the return value really is. 1071*28ff4d35SBaptiste Daroussin 1072*28ff4d35SBaptiste Daroussin2017-09-16 22:40 abhinav 1073*28ff4d35SBaptiste Daroussin 1074*28ff4d35SBaptiste Daroussin * filecomplete.c: Fix indentation (convert spaces to tab) 1075*28ff4d35SBaptiste Daroussin 1076*28ff4d35SBaptiste Daroussin2017-09-05 20:07 christos 1077*28ff4d35SBaptiste Daroussin 1078*28ff4d35SBaptiste Daroussin * el.c, el.h, readline.c, tty.c: For readline emulation, don't 1079*28ff4d35SBaptiste Daroussin reset the tty to "sane" (cooked) mode if we did not start this 1080*28ff4d35SBaptiste Daroussin way. Also set and reset the tty on entry and exit from readline() 1081*28ff4d35SBaptiste Daroussin since this is what readline does. 1082*28ff4d35SBaptiste Daroussin 1083*28ff4d35SBaptiste Daroussin2017-09-02 08:48 wiz 1084*28ff4d35SBaptiste Daroussin 1085*28ff4d35SBaptiste Daroussin * editline.3: Remove trailing whitespace; convert Xr readline to Nm 1086*28ff4d35SBaptiste Daroussin readline, since we won't get a readline man page in base. 1087*28ff4d35SBaptiste Daroussin 1088*28ff4d35SBaptiste Daroussin2017-09-01 12:19 christos 1089*28ff4d35SBaptiste Daroussin 1090*28ff4d35SBaptiste Daroussin * editline.3, hist.h, histedit.h, history.c, readline.c, 1091*28ff4d35SBaptiste Daroussin readline/readline.h: PR/51517: Jay West: Tty settings not 1092*28ff4d35SBaptiste Daroussin restored on exit PR/51518: Jay West: prompt is interleaved with 1093*28ff4d35SBaptiste Daroussin client output 1094*28ff4d35SBaptiste Daroussin 1095*28ff4d35SBaptiste Daroussin Both these issues are caused by rl_restore_handler not DTRT; fix 1096*28ff4d35SBaptiste Daroussin it so that it kills the internal libedit state completely. This 1097*28ff4d35SBaptiste Daroussin is inefficient, but it works. 1098*28ff4d35SBaptiste Daroussin 1099*28ff4d35SBaptiste Daroussin Also fix: 1. add append_history()/H_NSAVE_FP 2. call the 1100*28ff4d35SBaptiste Daroussin rl_startup_hook before printing the first prompt as documented. 1101*28ff4d35SBaptiste Daroussin callint it from rl_initialize breaks python, because the 1102*28ff4d35SBaptiste Daroussin callback ends up being invoked before the readline module is 1103*28ff4d35SBaptiste Daroussin installed, and we end up dereferencing a NULL pointer. 3. 1104*28ff4d35SBaptiste Daroussin add el_resize_terminal. 1105*28ff4d35SBaptiste Daroussin 1106*28ff4d35SBaptiste Daroussin With those changes, s/lreadline/ledit/g in python works. 1107*28ff4d35SBaptiste Daroussin 1108*28ff4d35SBaptiste Daroussin2017-07-23 16:41 snj 1109*28ff4d35SBaptiste Daroussin 1110*28ff4d35SBaptiste Daroussin * Makefile, editline.3, editrc.5, el.c, el.h, literal.c, literal.h, 1111*28ff4d35SBaptiste Daroussin prompt.c, read.c, refresh.c, refresh.h, terminal.c: Pull up 1112*28ff4d35SBaptiste Daroussin following revision(s) (requested by kre in ticket #102): 1113*28ff4d35SBaptiste Daroussin lib/libedit/Makefile: 1.64-1.65 lib/libedit/editline.3: 1114*28ff4d35SBaptiste Daroussin 1.94-1.96 lib/libedit/editrc.5: 1.33 lib/libedit/el.c: 1115*28ff4d35SBaptiste Daroussin 1.93-1.94 lib/libedit/el.h: 1.42 lib/libedit/literal.c: 1116*28ff4d35SBaptiste Daroussin 1.1-1.3 lib/libedit/literal.h: 1.1-1.2 lib/libedit/prompt.c: 1117*28ff4d35SBaptiste Daroussin 1.27 lib/libedit/read.c: 1.103 lib/libedit/refresh.c: 1118*28ff4d35SBaptiste Daroussin 1.52-1.54 lib/libedit/refresh.h: 1.11 1119*28ff4d35SBaptiste Daroussin lib/libedit/terminal.c: 1.33 Make the default editrc file be 1120*28ff4d35SBaptiste Daroussin $EDITRC (from env) if set, falling back to $HOME/.editrc 1121*28ff4d35SBaptiste Daroussin otherwise. Better support for this in sh coming. -- Include 1122*28ff4d35SBaptiste Daroussin EDITRC in doc. -- mention the limitation of the literal sequence 1123*28ff4d35SBaptiste Daroussin delimiter. -- - handle literal escape sequence printing. - 1124*28ff4d35SBaptiste Daroussin factor out common code in allocation and freeing of the display. 1125*28ff4d35SBaptiste Daroussin -- - add literal sequence handling. -- remove unused variable -- 1126*28ff4d35SBaptiste Daroussin add literal escape sequence support, patterned after the tcsh 1127*28ff4d35SBaptiste Daroussin ones. -- fix comment -- Fix an obvious, but almost invisible 1128*28ff4d35SBaptiste Daroussin typo (avoid some core dumps). -- Allow wide characters (properly 1129*28ff4d35SBaptiste Daroussin encoded as byte strings according to LC_CTYPE) to be (perhaps 1130*28ff4d35SBaptiste Daroussin part of) the "invisible" characters in a prompt, or the required 1131*28ff4d35SBaptiste Daroussin prompt character which follows the literal sequence (this 1132*28ff4d35SBaptiste Daroussin character must be one with a printing column width >= 1). The 1133*28ff4d35SBaptiste Daroussin literal indicator character (which is just a marker, and not 1134*28ff4d35SBaptiste Daroussin printed anywhere) (the PSlit parameter in sh(1)) can also be a 1135*28ff4d35SBaptiste Daroussin wide char (passed to libedit as a wchar_t, encoded as that by 1136*28ff4d35SBaptiste Daroussin sh(1) or other applications that support this.) Note: this has 1137*28ff4d35SBaptiste Daroussin currently only been tested with everything ascii (C locale). -- 1138*28ff4d35SBaptiste Daroussin Remove workaround for ancient HTML generation code. 1139*28ff4d35SBaptiste Daroussin 1140*28ff4d35SBaptiste Daroussin2017-07-03 23:32 wiz 1141*28ff4d35SBaptiste Daroussin 1142*28ff4d35SBaptiste Daroussin * editline.3: Remove workaround for ancient HTML generation code. 1143*28ff4d35SBaptiste Daroussin 1144*28ff4d35SBaptiste Daroussin2017-06-30 22:26 snj 1145*28ff4d35SBaptiste Daroussin 1146*28ff4d35SBaptiste Daroussin * literal.c: file literal.c was added on branch netbsd-8 on 1147*28ff4d35SBaptiste Daroussin 2017-07-23 14:41:26 +0000 1148*28ff4d35SBaptiste Daroussin 1149*28ff4d35SBaptiste Daroussin2017-06-30 22:26 snj 1150*28ff4d35SBaptiste Daroussin 1151*28ff4d35SBaptiste Daroussin * literal.h: file literal.h was added on branch netbsd-8 on 1152*28ff4d35SBaptiste Daroussin 2017-07-23 14:41:26 +0000 1153*28ff4d35SBaptiste Daroussin 1154*28ff4d35SBaptiste Daroussin2017-06-30 22:26 kre 1155*28ff4d35SBaptiste Daroussin 1156*28ff4d35SBaptiste Daroussin * Makefile, literal.c, literal.h, refresh.c: 1157*28ff4d35SBaptiste Daroussin Allow wide characters (properly encoded as byte strings according 1158*28ff4d35SBaptiste Daroussin to LC_CTYPE) to be (perhaps part of) the "invisible" characters 1159*28ff4d35SBaptiste Daroussin in a prompt, or the required prompt character which follows the 1160*28ff4d35SBaptiste Daroussin literal sequence (this character must be one with a printing 1161*28ff4d35SBaptiste Daroussin column width >= 1). The literal indicator character (which is 1162*28ff4d35SBaptiste Daroussin just a marker, and not printed anywhere) (the PSlit parameter in 1163*28ff4d35SBaptiste Daroussin sh(1)) can also be a wide char (passed to libedit as a wchar_t, 1164*28ff4d35SBaptiste Daroussin encoded as that by sh(1) or other applications that support 1165*28ff4d35SBaptiste Daroussin this.) 1166*28ff4d35SBaptiste Daroussin 1167*28ff4d35SBaptiste Daroussin Note: this has currently only been tested with everything ascii 1168*28ff4d35SBaptiste Daroussin (C locale). 1169*28ff4d35SBaptiste Daroussin 1170*28ff4d35SBaptiste Daroussin2017-06-29 04:54 kre 1171*28ff4d35SBaptiste Daroussin 1172*28ff4d35SBaptiste Daroussin * literal.c: 1173*28ff4d35SBaptiste Daroussin Fix an obvious, but almost invisible typo (avoid some core 1174*28ff4d35SBaptiste Daroussin dumps). 1175*28ff4d35SBaptiste Daroussin 1176*28ff4d35SBaptiste Daroussin2017-06-28 01:29 christos 1177*28ff4d35SBaptiste Daroussin 1178*28ff4d35SBaptiste Daroussin * refresh.c: fix comment 1179*28ff4d35SBaptiste Daroussin 1180*28ff4d35SBaptiste Daroussin2017-06-28 01:25 christos 1181*28ff4d35SBaptiste Daroussin 1182*28ff4d35SBaptiste Daroussin * Makefile, el.c, el.h, literal.c, literal.h, prompt.c: add literal 1183*28ff4d35SBaptiste Daroussin escape sequence support, patterned after the tcsh ones. 1184*28ff4d35SBaptiste Daroussin 1185*28ff4d35SBaptiste Daroussin2017-06-28 01:24 christos 1186*28ff4d35SBaptiste Daroussin 1187*28ff4d35SBaptiste Daroussin * read.c: remove unused variable 1188*28ff4d35SBaptiste Daroussin 1189*28ff4d35SBaptiste Daroussin2017-06-28 01:23 christos 1190*28ff4d35SBaptiste Daroussin 1191*28ff4d35SBaptiste Daroussin * refresh.c, refresh.h: - add literal sequence handling. 1192*28ff4d35SBaptiste Daroussin 1193*28ff4d35SBaptiste Daroussin2017-06-28 01:23 christos 1194*28ff4d35SBaptiste Daroussin 1195*28ff4d35SBaptiste Daroussin * terminal.c: - handle literal escape sequence printing. - factor 1196*28ff4d35SBaptiste Daroussin out common code in allocation and freeing of the display. 1197*28ff4d35SBaptiste Daroussin 1198*28ff4d35SBaptiste Daroussin2017-06-28 01:22 christos 1199*28ff4d35SBaptiste Daroussin 1200*28ff4d35SBaptiste Daroussin * editline.3: mention the limitation of the literal sequence 1201*28ff4d35SBaptiste Daroussin delimiter. 1202*28ff4d35SBaptiste Daroussin 1203*28ff4d35SBaptiste Daroussin2017-06-27 03:22 kre 1204*28ff4d35SBaptiste Daroussin 1205*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: 1206*28ff4d35SBaptiste Daroussin Include EDITRC in doc. 1207*28ff4d35SBaptiste Daroussin 1208*28ff4d35SBaptiste Daroussin2017-06-27 02:47 kre 1209*28ff4d35SBaptiste Daroussin 1210*28ff4d35SBaptiste Daroussin * el.c: 1211*28ff4d35SBaptiste Daroussin Make the default editrc file be $EDITRC (from env) if set, 1212*28ff4d35SBaptiste Daroussin falling back to $HOME/.editrc otherwise. Better support for 1213*28ff4d35SBaptiste Daroussin this in sh coming. 1214*28ff4d35SBaptiste Daroussin 1215*28ff4d35SBaptiste Daroussin2017-05-22 21:16 christos 1216*28ff4d35SBaptiste Daroussin 1217*28ff4d35SBaptiste Daroussin * chartype.h: Add DragonFly. 1218*28ff4d35SBaptiste Daroussin 1219*28ff4d35SBaptiste Daroussin2017-04-26 04:52 pgoyette 1220*28ff4d35SBaptiste Daroussin 1221*28ff4d35SBaptiste Daroussin * editline.3, filecomplete.c, filecomplete.h, readline.c: Sync with 1222*28ff4d35SBaptiste Daroussin HEAD 1223*28ff4d35SBaptiste Daroussin 1224*28ff4d35SBaptiste Daroussin2017-04-21 18:53 bouyer 1225*28ff4d35SBaptiste Daroussin 1226*28ff4d35SBaptiste Daroussin * editline.3, filecomplete.c, filecomplete.h, hist.c, readline.c: 1227*28ff4d35SBaptiste Daroussin Sync with HEAD 1228*28ff4d35SBaptiste Daroussin 1229*28ff4d35SBaptiste Daroussin2017-04-21 07:38 abhinav 1230*28ff4d35SBaptiste Daroussin 1231*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, readline.c: When doing filename 1232*28ff4d35SBaptiste Daroussin autocompletion, append a trailing slash at the end of directory 1233*28ff4d35SBaptiste Daroussin names. We already do this when there is only one completion 1234*28ff4d35SBaptiste Daroussin option but in case of of multiple completion options, it wasn't 1235*28ff4d35SBaptiste Daroussin being done. 1236*28ff4d35SBaptiste Daroussin 1237*28ff4d35SBaptiste Daroussin ok christos@ 1238*28ff4d35SBaptiste Daroussin 1239*28ff4d35SBaptiste Daroussin2017-04-10 17:02 abhinav 1240*28ff4d35SBaptiste Daroussin 1241*28ff4d35SBaptiste Daroussin * editline.3: Add missing argument for H_SET. 1242*28ff4d35SBaptiste Daroussin 1243*28ff4d35SBaptiste Daroussin ok christos@ 1244*28ff4d35SBaptiste Daroussin 1245*28ff4d35SBaptiste Daroussin2017-03-20 07:56 pgoyette 1246*28ff4d35SBaptiste Daroussin 1247*28ff4d35SBaptiste Daroussin * chartype.c, hist.c, readline.c: Sync with HEAD 1248*28ff4d35SBaptiste Daroussin 1249*28ff4d35SBaptiste Daroussin2017-03-05 20:23 christos 1250*28ff4d35SBaptiste Daroussin 1251*28ff4d35SBaptiste Daroussin * hist.c: one extra char for NUL. 1252*28ff4d35SBaptiste Daroussin 1253*28ff4d35SBaptiste Daroussin2017-03-05 18:30 christos 1254*28ff4d35SBaptiste Daroussin 1255*28ff4d35SBaptiste Daroussin * hist.c: Grow the buffer for event search if there was not enough 1256*28ff4d35SBaptiste Daroussin space. From Gerry Swislow 1257*28ff4d35SBaptiste Daroussin 1258*28ff4d35SBaptiste Daroussin2017-01-09 04:09 christos 1259*28ff4d35SBaptiste Daroussin 1260*28ff4d35SBaptiste Daroussin * readline.c: Make sure we take into account history_base when 1261*28ff4d35SBaptiste Daroussin computing negative history offsets. (Gerry Swinslow) 1262*28ff4d35SBaptiste Daroussin 1263*28ff4d35SBaptiste Daroussin2017-01-09 03:54 christos 1264*28ff4d35SBaptiste Daroussin 1265*28ff4d35SBaptiste Daroussin * chartype.c: Make sure that argv is NULL terminated since 1266*28ff4d35SBaptiste Daroussin functions like tty_stty rely on it to be so (Gerry Swinslow) 1267*28ff4d35SBaptiste Daroussin 1268*28ff4d35SBaptiste Daroussin2017-01-07 09:56 pgoyette 1269*28ff4d35SBaptiste Daroussin 1270*28ff4d35SBaptiste Daroussin * hist.c, read.c: Sync with HEAD. (Note that most of these changes 1271*28ff4d35SBaptiste Daroussin are simply $NetBSD$ tag issues.) 1272*28ff4d35SBaptiste Daroussin 1273*28ff4d35SBaptiste Daroussin2016-12-11 16:47 christos 1274*28ff4d35SBaptiste Daroussin 1275*28ff4d35SBaptiste Daroussin * read.c: PR/51706: Amir Plivatsky: Fix memory leak 1276*28ff4d35SBaptiste Daroussin 1277*28ff4d35SBaptiste Daroussin2016-11-07 16:30 christos 1278*28ff4d35SBaptiste Daroussin 1279*28ff4d35SBaptiste Daroussin * hist.c: Change the way the built-in history works; some programs 1280*28ff4d35SBaptiste Daroussin enter history with the trailing newline, others don't so don't 1281*28ff4d35SBaptiste Daroussin make any assumptions about it when printing. Also print the 1282*28ff4d35SBaptiste Daroussin correct event number (generated), separate the event number from 1283*28ff4d35SBaptiste Daroussin the event with a tab, and visually encode the string (don't 1284*28ff4d35SBaptiste Daroussin encode tabs and spaces though). 1285*28ff4d35SBaptiste Daroussin 1286*28ff4d35SBaptiste Daroussin2016-11-04 15:48 pgoyette 1287*28ff4d35SBaptiste Daroussin 1288*28ff4d35SBaptiste Daroussin * filecomplete.c, readline.c, readline/readline.h: Sync with HEAD 1289*28ff4d35SBaptiste Daroussin 1290*28ff4d35SBaptiste Daroussin2016-10-31 18:46 abhinav 1291*28ff4d35SBaptiste Daroussin 1292*28ff4d35SBaptiste Daroussin * filecomplete.c: Fix file name auto completion in one specific 1293*28ff4d35SBaptiste Daroussin case. 1294*28ff4d35SBaptiste Daroussin 1295*28ff4d35SBaptiste Daroussin For example if you do $mkdir -p /tmp/dir1/dir2 1296*28ff4d35SBaptiste Daroussin 1297*28ff4d35SBaptiste Daroussin Then: $ls /tmp/di <TAB> auto completes to $ls /tmp/dir1/ 1298*28ff4d35SBaptiste Daroussin 1299*28ff4d35SBaptiste Daroussin Hitting <TAB> again auto completes to $ls /tmp/dir1/dir2 1300*28ff4d35SBaptiste Daroussin 1301*28ff4d35SBaptiste Daroussin Whereas it should auto complete to $ls /tmp/dir1/dir2/ 1302*28ff4d35SBaptiste Daroussin 1303*28ff4d35SBaptiste Daroussin Essentially, in cases like above where you have to hit <TAB> 1304*28ff4d35SBaptiste Daroussin twice to get to the match and there is only one match (because 1305*28ff4d35SBaptiste Daroussin only one file/sub-directory) then auto complete doesn't work 1306*28ff4d35SBaptiste Daroussin correctly. It doesn't append a trailing slash (in case of 1307*28ff4d35SBaptiste Daroussin directory) or a space (in case of a file) to the match name. 1308*28ff4d35SBaptiste Daroussin 1309*28ff4d35SBaptiste Daroussin I have tested file name completion in sh(1) and symbol completion 1310*28ff4d35SBaptiste Daroussin in gdb after this change. 1311*28ff4d35SBaptiste Daroussin 1312*28ff4d35SBaptiste Daroussin2016-10-28 20:32 christos 1313*28ff4d35SBaptiste Daroussin 1314*28ff4d35SBaptiste Daroussin * readline/readline.h: export rl_done 1315*28ff4d35SBaptiste Daroussin 1316*28ff4d35SBaptiste Daroussin2016-10-28 20:32 christos 1317*28ff4d35SBaptiste Daroussin 1318*28ff4d35SBaptiste Daroussin * readline.c: pass the stream to the getc function 1319*28ff4d35SBaptiste Daroussin 1320*28ff4d35SBaptiste Daroussin2016-09-01 15:23 mbalmer 1321*28ff4d35SBaptiste Daroussin 1322*28ff4d35SBaptiste Daroussin * readline.c: fix typo 1323*28ff4d35SBaptiste Daroussin 1324*28ff4d35SBaptiste Daroussin2016-08-24 15:10 christos 1325*28ff4d35SBaptiste Daroussin 1326*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: more compatible with readline 1327*28ff4d35SBaptiste Daroussin history functions. 1328*28ff4d35SBaptiste Daroussin 1329*28ff4d35SBaptiste Daroussin2016-06-02 23:40 christos 1330*28ff4d35SBaptiste Daroussin 1331*28ff4d35SBaptiste Daroussin * readline.c: Fix previous to better match readline behavior (Ingo 1332*28ff4d35SBaptiste Daroussin Schwarze) 1333*28ff4d35SBaptiste Daroussin 1334*28ff4d35SBaptiste Daroussin2016-06-02 17:11 christos 1335*28ff4d35SBaptiste Daroussin 1336*28ff4d35SBaptiste Daroussin * readline.c: From Ingo Schwarze: 1337*28ff4d35SBaptiste Daroussin 1338*28ff4d35SBaptiste Daroussin In libedit, the only way how H_ENTER can fail is memory 1339*28ff4d35SBaptiste Daroussin exhaustion, too, and of course it is handled gracefully, 1340*28ff4d35SBaptiste Daroussin returning -1 from history(). So of course, we will continue to 1341*28ff4d35SBaptiste Daroussin handle it gracefully in add_history() as well, but we are free to 1342*28ff4d35SBaptiste Daroussin decide what to do with the library state in this case because GNU 1343*28ff4d35SBaptiste Daroussin just dies... 1344*28ff4d35SBaptiste Daroussin 1345*28ff4d35SBaptiste Daroussin I think the most reasonable course of action is to simply not 1346*28ff4d35SBaptiste Daroussin change the library state in any way when add_history() fails due 1347*28ff4d35SBaptiste Daroussin to memory exhaustion, but just return. 1348*28ff4d35SBaptiste Daroussin 1349*28ff4d35SBaptiste Daroussin If H_ENTER does not fail, we know that the history now contains 1350*28ff4d35SBaptiste Daroussin at least one entry, so there is no need any longer to check the 1351*28ff4d35SBaptiste Daroussin H_GETSIZE return value. And we can of course always set 1352*28ff4d35SBaptiste Daroussin current_history_valid. 1353*28ff4d35SBaptiste Daroussin 1354*28ff4d35SBaptiste Daroussin While testing these changes, i noticed three problems so closely 1355*28ff4d35SBaptiste Daroussin related that i'd like to fix them in the same diff. 1356*28ff4d35SBaptiste Daroussin 1357*28ff4d35SBaptiste Daroussin 1. libedit has the wrong prototype for add_history(). 1358*28ff4d35SBaptiste Daroussin GNU readline-6.3 defines it as void add_history(const char 1359*28ff4d35SBaptiste Daroussin *). 1360*28ff4d35SBaptiste Daroussin Of course, that is very stupid - no way to report problems to 1361*28ff4d35SBaptiste Daroussin the caller! But the whole point of a compatibility mode is 1362*28ff4d35SBaptiste Daroussin being compatible, so we should ultimately change this. 1363*28ff4d35SBaptiste Daroussin Of course, changing the prototype of a public symbol requires 1364*28ff4d35SBaptiste Daroussin a libedit major bump. I don't want to do that casually. 1365*28ff4d35SBaptiste Daroussin Rather, i will take a note and change the prototype the next 1366*28ff4d35SBaptiste Daroussin time we need a libedit major bump for more important reasons. 1367*28ff4d35SBaptiste Daroussin For now, let's just always return 0. 1368*28ff4d35SBaptiste Daroussin 1369*28ff4d35SBaptiste Daroussin 2. While *implicitely* pushing an old entry off the history 1370*28ff4d35SBaptiste Daroussin increments history_base in GNU readline, testing reveals that 1371*28ff4d35SBaptiste Daroussin *explicitly* deleting one does not. Again, this is not 1372*28ff4d35SBaptiste Daroussin documented, but it applies to both remove_history() and 1373*28ff4d35SBaptiste Daroussin stifle_history(). So delete history_base manipulation 1374*28ff4d35SBaptiste Daroussin from stifle_history(), which also allows to simplify the 1375*28ff4d35SBaptiste Daroussin code and delete two automatic variables. 1376*28ff4d35SBaptiste Daroussin 1377*28ff4d35SBaptiste Daroussin 3. GNU readline add_history(NULL) crashes with a segfault. 1378*28ff4d35SBaptiste Daroussin There is nothing wrong with having a public interface 1379*28ff4d35SBaptiste Daroussin behave that way. Many standard interfaces do, including 1380*28ff4d35SBaptiste Daroussin strlen(3). Such crashes can even be useful to catch 1381*28ff4d35SBaptiste Daroussin buggy application programs. 1382*28ff4d35SBaptiste Daroussin In libedit/readline.c rev. 1.104, Christos made add_history() 1383*28ff4d35SBaptiste Daroussin silently ignore this coding error, according to the commit 1384*28ff4d35SBaptiste Daroussin message to hide a bug in nslookup(1). That change was never 1385*28ff4d35SBaptiste Daroussin merged to OpenBSD. I strongly disagree with this change. 1386*28ff4d35SBaptiste Daroussin If nslookup(1) is still broken, that program needs to be 1387*28ff4d35SBaptiste Daroussin fixed instead. In any case, delete the bogus check; hiding 1388*28ff4d35SBaptiste Daroussin bugs is dangerous. 1389*28ff4d35SBaptiste Daroussin 1390*28ff4d35SBaptiste Daroussin2016-05-31 21:25 christos 1391*28ff4d35SBaptiste Daroussin 1392*28ff4d35SBaptiste Daroussin * readline.c: remove the right history entry (Ingo Schwarze) 1393*28ff4d35SBaptiste Daroussin 1394*28ff4d35SBaptiste Daroussin2016-05-25 15:01 christos 1395*28ff4d35SBaptiste Daroussin 1396*28ff4d35SBaptiste Daroussin * read.c: abstract read code to a single function (Ingo Schwarze) 1397*28ff4d35SBaptiste Daroussin 1398*28ff4d35SBaptiste Daroussin2016-05-24 21:31 christos 1399*28ff4d35SBaptiste Daroussin 1400*28ff4d35SBaptiste Daroussin * read.c: el_map.alt can't be NULL here (Ingo Schwarze) 1401*28ff4d35SBaptiste Daroussin 1402*28ff4d35SBaptiste Daroussin2016-05-24 19:42 christos 1403*28ff4d35SBaptiste Daroussin 1404*28ff4d35SBaptiste Daroussin * Makefile, read.c: remove debug read (Ingo Schwarze) 1405*28ff4d35SBaptiste Daroussin 1406*28ff4d35SBaptiste Daroussin2016-05-24 17:00 christos 1407*28ff4d35SBaptiste Daroussin 1408*28ff4d35SBaptiste Daroussin * el.h, keymacro.c, read.c: From Ingo Schwarze: 1409*28ff4d35SBaptiste Daroussin 1410*28ff4d35SBaptiste Daroussin Reduce obfuscation of errno handling. There is only one purpose 1411*28ff4d35SBaptiste Daroussin non-local errno handling is needed for: Inside el_wgets(), 1412*28ff4d35SBaptiste Daroussin several functions call down indirectly to el_wgetc(), many of 1413*28ff4d35SBaptiste Daroussin them via the dispatch table. When el_wgetc() fails, it does 1414*28ff4d35SBaptiste Daroussin properly report failure, but then various cleanup is done which 1415*28ff4d35SBaptiste Daroussin may clobber errno. But when returning due to failure, el_wgets() 1416*28ff4d35SBaptiste Daroussin wants to have errno set to the reason of the original read 1417*28ff4d35SBaptiste Daroussin failure, not to the reason of some subsequent failure of some 1418*28ff4d35SBaptiste Daroussin cleanup operation. So el_wgetc() needs to save errno, and if 1419*28ff4d35SBaptiste Daroussin it's non-zero, el_wgets() needs to restore it on failure. 1420*28ff4d35SBaptiste Daroussin 1421*28ff4d35SBaptiste Daroussin This core logic is currently obscured by the fact that el_errno 1422*28ff4d35SBaptiste Daroussin is set and inspected at some additional places where it isn't 1423*28ff4d35SBaptiste Daroussin needed. Besides, since el_wgetc() and and el_wgets() are both in 1424*28ff4d35SBaptiste Daroussin read.c, el_errno does not need to be in struct editline, it can 1425*28ff4d35SBaptiste Daroussin and should be local to read.c in struct el_read_t. 1426*28ff4d35SBaptiste Daroussin 1427*28ff4d35SBaptiste Daroussin Let's look at what can be simplified. 1428*28ff4d35SBaptiste Daroussin 1429*28ff4d35SBaptiste Daroussin 1. keymacro_get() abuses el_errno instead of having a proper 1430*28ff4d35SBaptiste Daroussin error return code. Adding that error return code is easy 1431*28ff4d35SBaptiste Daroussin because node_trav() already detects the condition and an 1432*28ff4d35SBaptiste Daroussin adequate code is already defined. Returning it, testing 1433*28ff4d35SBaptiste Daroussin for it in read_getcmd(), and returning with error from there 1434*28ff4d35SBaptiste Daroussin removes the need to inspect el_errno from el_wgets() after 1435*28ff4d35SBaptiste Daroussin calling read_getcmd(). 1436*28ff4d35SBaptiste Daroussin Note that resetting lastchar and cursor and clearing 1437*28ff4d35SBaptiste Daroussin buffer[0] 1438*28ff4d35SBaptiste Daroussin is irrelevant. The code returns from el_wgets() right 1439*28ff4d35SBaptiste Daroussin afterwards. 1440*28ff4d35SBaptiste Daroussin Outside el_wgets(), these variables are no longer relevant. 1441*28ff4d35SBaptiste Daroussin When el_wgets() is called the next time, it will call 1442*28ff4d35SBaptiste Daroussin ch_reset() 1443*28ff4d35SBaptiste Daroussin anyway, resetting the two pointers. And as long as lastchar 1444*28ff4d35SBaptiste Daroussin points to the beginning of the buffer, the contents of the 1445*28ff4d35SBaptiste Daroussin buffer won't be used for anything. 1446*28ff4d35SBaptiste Daroussin 1447*28ff4d35SBaptiste Daroussin 2. read_getcmd() doesn't need to set el_errno again after 1448*28ff4d35SBaptiste Daroussin el_wgetc() 1449*28ff4d35SBaptiste Daroussin failure since el_wgetc() already did so. While here, remove 1450*28ff4d35SBaptiste Daroussin the silly "if EOF or error" comments from the el_wgetc() 1451*28ff4d35SBaptiste Daroussin return value tests. It's a public interface documented in a 1452*28ff4d35SBaptiste Daroussin manual, so people working on the implementation can obviously 1453*28ff4d35SBaptiste Daroussin be expected to know how it works. It's a case of 1454*28ff4d35SBaptiste Daroussin 1455*28ff4d35SBaptiste Daroussin count++; /* Increment count. */ 1456*28ff4d35SBaptiste Daroussin 1457*28ff4d35SBaptiste Daroussin 3. In the two code paths of el_wgets() that lead up to "goto 1458*28ff4d35SBaptiste Daroussin noedit", 1459*28ff4d35SBaptiste Daroussin there is no need to save the errno because nothing that might 1460*28ff4d35SBaptiste Daroussin change it happens before returning. 1461*28ff4d35SBaptiste Daroussin 1462*28ff4d35SBaptiste Daroussin For clarity, since el_wgets() is the function restoring the 1463*28ff4d35SBaptiste Daroussin errno, also move initializing it to the same function. 1464*28ff4d35SBaptiste Daroussin 1465*28ff4d35SBaptiste Daroussin Finally, note that restoring errno when the saved value is zero 1466*28ff4d35SBaptiste Daroussin is wrong. No library code is ever allowed to clear a previously 1467*28ff4d35SBaptiste Daroussin set value of errno. Only application programs are allowed to do 1468*28ff4d35SBaptiste Daroussin that, and even they usually don't need to do so, except when 1469*28ff4d35SBaptiste Daroussin using certain ill-designed interfaces like strtol(3). 1470*28ff4d35SBaptiste Daroussin 1471*28ff4d35SBaptiste Daroussin I tested that the behaviour remains sane in the following cases, 1472*28ff4d35SBaptiste Daroussin all during execution of el_wgets(3) and with a signal handler for 1473*28ff4d35SBaptiste Daroussin USR1 installed without SA_RESTART. 1474*28ff4d35SBaptiste Daroussin 1475*28ff4d35SBaptiste Daroussin * Enter some text and maybe move around a bit. 1476*28ff4d35SBaptiste Daroussin Then send a USR1 signal. 1477*28ff4d35SBaptiste Daroussin The signal gets processed, then read_char() resumes reading. 1478*28ff4d35SBaptiste Daroussin Send another USR1 signal. 1479*28ff4d35SBaptiste Daroussin Now el_wgets() sets errno=EINTR and returns -1. 1480*28ff4d35SBaptiste Daroussin 1481*28ff4d35SBaptiste Daroussin * Press Ctrl-V to activate ed-quoted-insert. 1482*28ff4d35SBaptiste Daroussin Then send a USR1 signal. 1483*28ff4d35SBaptiste Daroussin The signal gets processed, then read_char() resumes reading. 1484*28ff4d35SBaptiste Daroussin Send another USR1 signal. 1485*28ff4d35SBaptiste Daroussin ed_quoted_insert() returns ed_end_of_file(), i.e. CC_EOF, 1486*28ff4d35SBaptiste Daroussin and el_wgets() returns 0. 1487*28ff4d35SBaptiste Daroussin 1488*28ff4d35SBaptiste Daroussin * Press a key starting a keyboard macro. 1489*28ff4d35SBaptiste Daroussin Then send a USR1 signal. 1490*28ff4d35SBaptiste Daroussin The signal gets processed, then read_char() resumes reading. 1491*28ff4d35SBaptiste Daroussin Send another USR1 signal. 1492*28ff4d35SBaptiste Daroussin Now el_wgets() sets errno=EINTR and returns -1. 1493*28ff4d35SBaptiste Daroussin 1494*28ff4d35SBaptiste Daroussin * Press : to enter builtin command mode. 1495*28ff4d35SBaptiste Daroussin Start typing a command. 1496*28ff4d35SBaptiste Daroussin Then send a USR1 signal. 1497*28ff4d35SBaptiste Daroussin The signal gets processed, then read_char() resumes reading. 1498*28ff4d35SBaptiste Daroussin Send another USR1 signal. 1499*28ff4d35SBaptiste Daroussin Now c_gets() returns -1, ed_command() beeps and returns 1500*28ff4d35SBaptiste Daroussin CC_REFRESH, 1501*28ff4d35SBaptiste Daroussin and el_wgets() resumes operation as it should. 1502*28ff4d35SBaptiste Daroussin 1503*28ff4d35SBaptiste Daroussin I also tested with "el_set(el, EL_EDITMODE, 0)", and it returns 1504*28ff4d35SBaptiste Daroussin the right value and sets errno correctly. 1505*28ff4d35SBaptiste Daroussin 1506*28ff4d35SBaptiste Daroussin2016-05-23 01:54 christos 1507*28ff4d35SBaptiste Daroussin 1508*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: documentation improvements (Ingo Schwarze) 1509*28ff4d35SBaptiste Daroussin 1510*28ff4d35SBaptiste Daroussin2016-05-22 21:44 christos 1511*28ff4d35SBaptiste Daroussin 1512*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, read.c, read.h: Stop the read 1513*28ff4d35SBaptiste Daroussin module from poking the el_chared.c_macro data structure currently 1514*28ff4d35SBaptiste Daroussin belonging to the chared module. The read module does so from 1515*28ff4d35SBaptiste Daroussin three of its functions, while no other module uses the macro 1516*28ff4d35SBaptiste Daroussin data, not even the chared module itself. That's quite logical 1517*28ff4d35SBaptiste Daroussin because macros are a feature of input handling, all of which is 1518*28ff4d35SBaptiste Daroussin done by the read module, and none by the chared module. So move 1519*28ff4d35SBaptiste Daroussin the data into the read modules's own opaque data structure, 1520*28ff4d35SBaptiste Daroussin struct el_read_t. 1521*28ff4d35SBaptiste Daroussin 1522*28ff4d35SBaptiste Daroussin That simplifies internal interfaces in several respects: The 1523*28ff4d35SBaptiste Daroussin semi-public chared.h has one fewer struct, one fewer #define, and 1524*28ff4d35SBaptiste Daroussin one fewer member in struct el_chared_t; all three move to one 1525*28ff4d35SBaptiste Daroussin single C file, read.c, and are now module-local. And the 1526*28ff4d35SBaptiste Daroussin internal interface function ch_reset() needs one fewer argument, 1527*28ff4d35SBaptiste Daroussin making the code of many functions in various modules more 1528*28ff4d35SBaptiste Daroussin readable. 1529*28ff4d35SBaptiste Daroussin 1530*28ff4d35SBaptiste Daroussin The price is one additional internal interface function, 1531*28ff4d35SBaptiste Daroussin read_end(), 10 lines long including comments, called publicly 1532*28ff4d35SBaptiste Daroussin from exactly one place: el_end() in el.c. That's hardly an 1533*28ff4d35SBaptiste Daroussin increase in complexity since most other modules already have 1534*28ff4d35SBaptiste Daroussin their *_end() function, read.c was the odd one out not having 1535*28ff4d35SBaptiste Daroussin one. 1536*28ff4d35SBaptiste Daroussin 1537*28ff4d35SBaptiste Daroussin From Ingo Schwarze 1538*28ff4d35SBaptiste Daroussin 1539*28ff4d35SBaptiste Daroussin2016-05-21 19:06 christos 1540*28ff4d35SBaptiste Daroussin 1541*28ff4d35SBaptiste Daroussin * editline.3: Fix the prototype used by EL_GETCFN, mention the 1542*28ff4d35SBaptiste Daroussin associated typedef name, document the return values, expand the 1543*28ff4d35SBaptiste Daroussin list of affected functions, warn against using EL_GETCFN, and 1544*28ff4d35SBaptiste Daroussin clarify some wording and notation. (Ingo Schwarze) 1545*28ff4d35SBaptiste Daroussin 1546*28ff4d35SBaptiste Daroussin2016-05-13 17:55 christos 1547*28ff4d35SBaptiste Daroussin 1548*28ff4d35SBaptiste Daroussin * readline.c: From Bastian Maerkisch, via Igno Schwarze: 1549*28ff4d35SBaptiste Daroussin 1550*28ff4d35SBaptiste Daroussin Even though section "2.3.3 Information About the History List" of 1551*28ff4d35SBaptiste Daroussin the history(3) info(1) manual only says 1552*28ff4d35SBaptiste Daroussin 1553*28ff4d35SBaptiste Daroussin -- Function: int where_history (void) 1554*28ff4d35SBaptiste Daroussin Returns the offset of the current history element. 1555*28ff4d35SBaptiste Daroussin 1556*28ff4d35SBaptiste Daroussin which maybe isn't completely clear, a plausible implementation is 1557*28ff4d35SBaptiste Daroussin that the offset returned is the same offset that can be used for 1558*28ff4d35SBaptiste Daroussin history_set_pos(), i.e. that it is 0 for the oldest entry and 1559*28ff4d35SBaptiste Daroussin increases with time, and that's how the GNU implementation 1560*28ff4d35SBaptiste Daroussin behaves indeed. 1561*28ff4d35SBaptiste Daroussin 1562*28ff4d35SBaptiste Daroussin The libedit implementation, on the other hand, returns 1 for the 1563*28ff4d35SBaptiste Daroussin newest entry and increases going back in time. 1564*28ff4d35SBaptiste Daroussin 1565*28ff4d35SBaptiste Daroussin2016-05-09 23:46 christos 1566*28ff4d35SBaptiste Daroussin 1567*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.c, chartype.h, common.c, el.c, el.h, 1568*28ff4d35SBaptiste Daroussin emacs.c, hist.c, hist.h, keymacro.c, keymacro.h, makelist, map.c, 1569*28ff4d35SBaptiste Daroussin map.h, parse.c, parse.h, prompt.c, prompt.h, read.c, read.h, 1570*28ff4d35SBaptiste Daroussin refresh.c, refresh.h, search.c, search.h, sig.c, sig.h, sys.h, 1571*28ff4d35SBaptiste Daroussin terminal.c, terminal.h, tty.c, tty.h, vi.c: 1572*28ff4d35SBaptiste Daroussin s/protected/libedit_private/g 1573*28ff4d35SBaptiste Daroussin 1574*28ff4d35SBaptiste Daroussin2016-05-09 23:38 christos 1575*28ff4d35SBaptiste Daroussin 1576*28ff4d35SBaptiste Daroussin * Makefile, editline.c, sys.h: Instead of compiling all the source 1577*28ff4d35SBaptiste Daroussin files together in one big file, use protected visibility to 1578*28ff4d35SBaptiste Daroussin achieve the same effect. 1579*28ff4d35SBaptiste Daroussin 1580*28ff4d35SBaptiste Daroussin2016-05-09 23:37 christos 1581*28ff4d35SBaptiste Daroussin 1582*28ff4d35SBaptiste Daroussin * eln.c: Elide gcc warning about intermediate const casts caused by 1583*28ff4d35SBaptiste Daroussin visibility change. 1584*28ff4d35SBaptiste Daroussin 1585*28ff4d35SBaptiste Daroussin2016-05-09 23:27 christos 1586*28ff4d35SBaptiste Daroussin 1587*28ff4d35SBaptiste Daroussin * editline.3, editline.7, readline.c: GNU readline(3) regards 1588*28ff4d35SBaptiste Daroussin history chronologically, that is, from the perspective of the 1589*28ff4d35SBaptiste Daroussin dawn of time, so "next" means "newer" and "previous" means 1590*28ff4d35SBaptiste Daroussin "older". Libedit, by contrast, uses reverse chronology and 1591*28ff4d35SBaptiste Daroussin regards history from the perspective of the present, such that 1592*28ff4d35SBaptiste Daroussin "next" means "longer ago" and "previous" means "not so long ago". 1593*28ff4d35SBaptiste Daroussin 1594*28ff4d35SBaptiste Daroussin The following patch fixes previous_history() and next_history() 1595*28ff4d35SBaptiste Daroussin as proposed by Bastian Maerkisch. 1596*28ff4d35SBaptiste Daroussin 1597*28ff4d35SBaptiste Daroussin But there is a related problem demonstrated by Bastian's 1598*28ff4d35SBaptiste Daroussin regression tests that his patch did not fix: next_history() can 1599*28ff4d35SBaptiste Daroussin advance not only to the newest entry, but beyond it, which core 1600*28ff4d35SBaptiste Daroussin libedit cannot do. So that feature must be implemented locally 1601*28ff4d35SBaptiste Daroussin in readline.c. 1602*28ff4d35SBaptiste Daroussin 1603*28ff4d35SBaptiste Daroussin With that, the last of Bastians tests is fixed, 1604*28ff4d35SBaptiste Daroussin test_movement_direction(). 1605*28ff4d35SBaptiste Daroussin 1606*28ff4d35SBaptiste Daroussin This patch also improves libedit documentation to more clearly 1607*28ff4d35SBaptiste Daroussin state what "previous" and "next" mean. GNU readline 1608*28ff4d35SBaptiste Daroussin documentation is just as unclear, but we can't easily fix that 1609*28ff4d35SBaptiste Daroussin since libedit doesn't include its own readline.3 manual. 1610*28ff4d35SBaptiste Daroussin 1611*28ff4d35SBaptiste Daroussin (Ingo Schwarze) 1612*28ff4d35SBaptiste Daroussin 1613*28ff4d35SBaptiste Daroussin2016-05-09 23:25 christos 1614*28ff4d35SBaptiste Daroussin 1615*28ff4d35SBaptiste Daroussin * readline.c: The libedit implementation of history_get() also 1616*28ff4d35SBaptiste Daroussin differs from the GNU implementation: libedit goes to the entry 1617*28ff4d35SBaptiste Daroussin with the given number stored in the HistEvent structure, while 1618*28ff4d35SBaptiste Daroussin GNU subtracts history_base, then advances that many entries from 1619*28ff4d35SBaptiste Daroussin the oldest one. If entries were removed in between, GNU advances 1620*28ff4d35SBaptiste Daroussin further than libedit. 1621*28ff4d35SBaptiste Daroussin 1622*28ff4d35SBaptiste Daroussin The call sequence H_CURR, H_DELDATA, H_CURR, H_NEXT_EVDATA looks 1623*28ff4d35SBaptiste Daroussin weird, as if part of that must somehow be redundant. But 1624*28ff4d35SBaptiste Daroussin actually, the user interface is so counter-intuitive that every 1625*28ff4d35SBaptiste Daroussin single step is really required. 1626*28ff4d35SBaptiste Daroussin 1627*28ff4d35SBaptiste Daroussin - The first H_CURR is needed to be able to go back after an 1628*28ff4d35SBaptiste Daroussin error. 1629*28ff4d35SBaptiste Daroussin - The H_DELDATA is needed to move the cursor. Even though it 1630*28ff4d35SBaptiste Daroussin takes 1631*28ff4d35SBaptiste Daroussin a pointer to ev, that structure is not filled in when the call 1632*28ff4d35SBaptiste Daroussin succeeds. H_DELDATA only moves the cursor, it doesn't tell us 1633*28ff4d35SBaptiste Daroussin the new event number. 1634*28ff4d35SBaptiste Daroussin - Consequently, the second H_CURR is required to get ev.num 1635*28ff4d35SBaptiste Daroussin filled 1636*28ff4d35SBaptiste Daroussin in. But it doesn't return the data because ev has no field 1637*28ff4d35SBaptiste Daroussin for 1638*28ff4d35SBaptiste Daroussin that. 1639*28ff4d35SBaptiste Daroussin - So even though the cursor is already positioned correctly, 1640*28ff4d35SBaptiste Daroussin H_NEXT_EVDATA is needed as the final step merely to get the 1641*28ff4d35SBaptiste Daroussin data. 1642*28ff4d35SBaptiste Daroussin 1643*28ff4d35SBaptiste Daroussin (Ingo Schwarze) 1644*28ff4d35SBaptiste Daroussin 1645*28ff4d35SBaptiste Daroussin2016-05-08 22:15 christos 1646*28ff4d35SBaptiste Daroussin 1647*28ff4d35SBaptiste Daroussin * readline.c: In stiffle_history(), trim excessive entries from the 1648*28ff4d35SBaptiste Daroussin history and advance history_base like the GNU implementation 1649*28ff4d35SBaptiste Daroussin does. (from Bastian Maerkisch) 1650*28ff4d35SBaptiste Daroussin 1651*28ff4d35SBaptiste Daroussin2016-05-06 23:01 christos 1652*28ff4d35SBaptiste Daroussin 1653*28ff4d35SBaptiste Daroussin * readline.c: fix logic (Ingo Schwarze) 1654*28ff4d35SBaptiste Daroussin 1655*28ff4d35SBaptiste Daroussin2016-05-02 18:48 christos 1656*28ff4d35SBaptiste Daroussin 1657*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h, el.c, el.h, terminal.c: eliminate static 1658*28ff4d35SBaptiste Daroussin buffer with custom resizing code. 1659*28ff4d35SBaptiste Daroussin 1660*28ff4d35SBaptiste Daroussin2016-05-02 18:35 christos 1661*28ff4d35SBaptiste Daroussin 1662*28ff4d35SBaptiste Daroussin * chartype.h, refresh.c: fix typos from Pedro Giffuni @FreeBSD 1663*28ff4d35SBaptiste Daroussin 1664*28ff4d35SBaptiste Daroussin2016-05-02 16:12 wiz 1665*28ff4d35SBaptiste Daroussin 1666*28ff4d35SBaptiste Daroussin * Makefile: Add missing backslash that broke build. 1667*28ff4d35SBaptiste Daroussin 1668*28ff4d35SBaptiste Daroussin2016-05-02 15:01 christos 1669*28ff4d35SBaptiste Daroussin 1670*28ff4d35SBaptiste Daroussin * Makefile: Add more MLINKS, sort 1671*28ff4d35SBaptiste Daroussin 1672*28ff4d35SBaptiste Daroussin2016-05-02 14:51 wiz 1673*28ff4d35SBaptiste Daroussin 1674*28ff4d35SBaptiste Daroussin * editline.7: Fix Dd argument. 1675*28ff4d35SBaptiste Daroussin 1676*28ff4d35SBaptiste Daroussin2016-05-02 14:43 christos 1677*28ff4d35SBaptiste Daroussin 1678*28ff4d35SBaptiste Daroussin * editline.7: Add more explicit xrefs 1679*28ff4d35SBaptiste Daroussin 1680*28ff4d35SBaptiste Daroussin2016-05-02 11:39 wiz 1681*28ff4d35SBaptiste Daroussin 1682*28ff4d35SBaptiste Daroussin * editline.7: Fix Dd argument. 1683*28ff4d35SBaptiste Daroussin 1684*28ff4d35SBaptiste Daroussin2016-04-28 17:50 christos 1685*28ff4d35SBaptiste Daroussin 1686*28ff4d35SBaptiste Daroussin * Makefile, editline.3, editline.7, editrc.5: new man page from 1687*28ff4d35SBaptiste Daroussin Ingo Schwarze. 1688*28ff4d35SBaptiste Daroussin 1689*28ff4d35SBaptiste Daroussin2016-04-28 14:27 christos 1690*28ff4d35SBaptiste Daroussin 1691*28ff4d35SBaptiste Daroussin * search.c: Initialize patbuf (Ingo Schwarze) 1692*28ff4d35SBaptiste Daroussin 1693*28ff4d35SBaptiste Daroussin2016-04-19 21:50 christos 1694*28ff4d35SBaptiste Daroussin 1695*28ff4d35SBaptiste Daroussin * el.c, el.h, histedit.h, read.c, read.h: From Ingo Schwarze: - 1696*28ff4d35SBaptiste Daroussin Put the data type el_rfunc_t into the public header <histedit.h>. 1697*28ff4d35SBaptiste Daroussin - Make el_read in struct editline an opaque pointer rather 1698*28ff4d35SBaptiste Daroussin than an embedded struct. - Do not include "read.h" everywhere, 1699*28ff4d35SBaptiste Daroussin but only in the two files needing access to el_read, read.c 1700*28ff4d35SBaptiste Daroussin and el.c. - To functions that don't need more, pass the struct 1701*28ff4d35SBaptiste Daroussin el_read_t * rather than the full EditLine *. - Of course, 1702*28ff4d35SBaptiste Daroussin that means that read_init() can now fail from memory 1703*28ff4d35SBaptiste Daroussin exhaustion, but it's easy to clean up after that. 1704*28ff4d35SBaptiste Daroussin 1705*28ff4d35SBaptiste Daroussin2016-04-18 19:01 christos 1706*28ff4d35SBaptiste Daroussin 1707*28ff4d35SBaptiste Daroussin * Makefile, chared.c, common.c, editline.c, el.h, emacs.c, 1708*28ff4d35SBaptiste Daroussin historyn.c, keymacro.c, makelist, map.c, map.h, read.c, 1709*28ff4d35SBaptiste Daroussin readline.c, search.c, terminal.c, tokenizern.c, tty.c, vi.c: From 1710*28ff4d35SBaptiste Daroussin Ingo Schwarze: * Replace fcns.c by a shorter and simpler func.h 1711*28ff4d35SBaptiste Daroussin and include it only in the one file needing it, map.c. * 1712*28ff4d35SBaptiste Daroussin Combine help.h and help.c into a simplified help.h and 1713*28ff4d35SBaptiste Daroussin include it only in the one file needing it, map.c. * Check the 1714*28ff4d35SBaptiste Daroussin very simple, static files editline.c, historyn.c, and 1715*28ff4d35SBaptiste Daroussin tokenizern.c into CVS rather than needlessly generating them. * 1716*28ff4d35SBaptiste Daroussin So we no longer autogenerate any C files. :-) * Shorten and 1717*28ff4d35SBaptiste Daroussin simplify makelist by deleting the options -n, -e, -bc, and 1718*28ff4d35SBaptiste Daroussin -m; the latter was unused and useless in the first place. * 1719*28ff4d35SBaptiste Daroussin Move the declaration of el_func_t from fcns.h to the header 1720*28ff4d35SBaptiste Daroussin actually needing it, map.h. Since that header is already 1721*28ff4d35SBaptiste Daroussin included by el.h for unrelated reasons, that makes el_func_t 1722*28ff4d35SBaptiste Daroussin just as globally available as before. * No longer include the 1723*28ff4d35SBaptiste Daroussin simplified fcns.h into el.h, include it directly into the *.c 1724*28ff4d35SBaptiste Daroussin files needing it. 1725*28ff4d35SBaptiste Daroussin 1726*28ff4d35SBaptiste Daroussin2016-04-17 20:39 christos 1727*28ff4d35SBaptiste Daroussin 1728*28ff4d35SBaptiste Daroussin * common.c, editrc.5, map.c: Remove empty callbacks (Ingo 1729*28ff4d35SBaptiste Daroussin Schwartze) 1730*28ff4d35SBaptiste Daroussin 1731*28ff4d35SBaptiste Daroussin2016-04-12 13:15 christos 1732*28ff4d35SBaptiste Daroussin 1733*28ff4d35SBaptiste Daroussin * read.c: FIONREAD takes int as an argument (Ingo Schwarze) 1734*28ff4d35SBaptiste Daroussin 1735*28ff4d35SBaptiste Daroussin2016-04-12 02:16 christos 1736*28ff4d35SBaptiste Daroussin 1737*28ff4d35SBaptiste Daroussin * keymacro.c, keymacro.h, map.c, read.c: From Ingo Schwarze: 1738*28ff4d35SBaptiste Daroussin 1739*28ff4d35SBaptiste Daroussin * Delete the stubs of the XK_EXE mechanism that was never 1740*28ff4d35SBaptiste Daroussin implemented. 1741*28ff4d35SBaptiste Daroussin From a security, stability, and simplicity perspective, i 1742*28ff4d35SBaptiste Daroussin would 1743*28ff4d35SBaptiste Daroussin consider implementing it a truly terrible idea, so let's 1744*28ff4d35SBaptiste Daroussin better 1745*28ff4d35SBaptiste Daroussin get rid of it. 1746*28ff4d35SBaptiste Daroussin 1747*28ff4d35SBaptiste Daroussin * Do not use the local variable "num" in el_wgets() alternately 1748*28ff4d35SBaptiste Daroussin for 1749*28ff4d35SBaptiste Daroussin two completely different purposes. Only use it for the number 1750*28ff4d35SBaptiste Daroussin of characters read, as stated in the comment (or -1 as long as 1751*28ff4d35SBaptiste Daroussin that number is still unknown), not for the (more or less 1752*28ff4d35SBaptiste Daroussin boolean) 1753*28ff4d35SBaptiste Daroussin return value of read_getcmd(). Actually, there is no need at 1754*28ff4d35SBaptiste Daroussin all to save the latter return value after testing it once. 1755*28ff4d35SBaptiste Daroussin 1756*28ff4d35SBaptiste Daroussin * The function read_getcmd() has very unusual return values: 1757*28ff4d35SBaptiste Daroussin It returns -1 for success and 0 for EOF/error. Switch that 1758*28ff4d35SBaptiste Daroussin around 1759*28ff4d35SBaptiste Daroussin to 0 for success and -1 for EOF/error to be less confusing, 1760*28ff4d35SBaptiste Daroussin and 1761*28ff4d35SBaptiste Daroussin get rid of the OKCMD preprocessor macro. 1762*28ff4d35SBaptiste Daroussin 1763*28ff4d35SBaptiste Daroussin * Get rid of one #ifdef section in el_wgets() by using 1764*28ff4d35SBaptiste Daroussin el->el_chared.c_macro directly at the only place 1765*28ff4d35SBaptiste Daroussin where it is used. 1766*28ff4d35SBaptiste Daroussin 1767*28ff4d35SBaptiste Daroussin * Delete the unused MIN() macro. 1768*28ff4d35SBaptiste Daroussin 1769*28ff4d35SBaptiste Daroussin2016-04-12 00:30 christos 1770*28ff4d35SBaptiste Daroussin 1771*28ff4d35SBaptiste Daroussin * parse.c: Fix indentation, Ingo Schwarze 1772*28ff4d35SBaptiste Daroussin 1773*28ff4d35SBaptiste Daroussin2016-04-11 20:56 christos 1774*28ff4d35SBaptiste Daroussin 1775*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, chartype.h, el.c, eln.c, history.c, 1776*28ff4d35SBaptiste Daroussin keymacro.c, makelist, map.c, parse.c, prompt.c, read.c, 1777*28ff4d35SBaptiste Daroussin refresh.c, search.c, sig.c, sys.h, terminal.c, tokenizer.c, 1778*28ff4d35SBaptiste Daroussin tty.c, vi.c: Get rid of private/public; keep protected (Ingo 1779*28ff4d35SBaptiste Daroussin Schwarze) 1780*28ff4d35SBaptiste Daroussin 1781*28ff4d35SBaptiste Daroussin2016-04-11 18:06 christos 1782*28ff4d35SBaptiste Daroussin 1783*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h, history.c, tokenizer.c: chartype cleanups 1784*28ff4d35SBaptiste Daroussin from Ingo Schwarze: 1785*28ff4d35SBaptiste Daroussin 1786*28ff4d35SBaptiste Daroussin - The file tokenizer.c no longer uses chartype.h, 1787*28ff4d35SBaptiste Daroussin so don't include the header. 1788*28ff4d35SBaptiste Daroussin 1789*28ff4d35SBaptiste Daroussin - The dummy definitions of ct_{de,en}code_string() for the 1790*28ff4d35SBaptiste Daroussin NARROWCHAR case are only used in history.c, so move them 1791*28ff4d35SBaptiste Daroussin there. 1792*28ff4d35SBaptiste Daroussin 1793*28ff4d35SBaptiste Daroussin - Now the whole content of chartype.h is for the wide character 1794*28ff4d35SBaptiste Daroussin case only. So remove the NARROWCHAR ifdef and include the 1795*28ff4d35SBaptiste Daroussin header only in the wide character case. 1796*28ff4d35SBaptiste Daroussin 1797*28ff4d35SBaptiste Daroussin - In chartype.h, move ct_encode_char() below the comment 1798*28ff4d35SBaptiste Daroussin explaining it. 1799*28ff4d35SBaptiste Daroussin 1800*28ff4d35SBaptiste Daroussin - No more need for underscores before ct_{de,en}code_string(). 1801*28ff4d35SBaptiste Daroussin 1802*28ff4d35SBaptiste Daroussin - Make the conversion buffer resize functions private. 1803*28ff4d35SBaptiste Daroussin They are only called from the decoding and encoding functions 1804*28ff4d35SBaptiste Daroussin inside chartype.c, and no need can possibly arise to call them 1805*28ff4d35SBaptiste Daroussin from anywhere else. 1806*28ff4d35SBaptiste Daroussin 1807*28ff4d35SBaptiste Daroussin2016-04-11 02:50 christos 1808*28ff4d35SBaptiste Daroussin 1809*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.c, chartype.h, common.c, el.c, el.h, 1810*28ff4d35SBaptiste Daroussin eln.c, emacs.c, filecomplete.c, filecomplete.h, hist.c, hist.h, 1811*28ff4d35SBaptiste Daroussin history.c, keymacro.c, keymacro.h, map.c, map.h, parse.c, 1812*28ff4d35SBaptiste Daroussin parse.h, prompt.c, prompt.h, read.c, refresh.c, search.c, 1813*28ff4d35SBaptiste Daroussin search.h, terminal.c, terminal.h, tokenizer.c, tty.c, tty.h, 1814*28ff4d35SBaptiste Daroussin vi.c: Char -> wchar_t from Ingo Schwarze. 1815*28ff4d35SBaptiste Daroussin 1816*28ff4d35SBaptiste Daroussin2016-04-11 02:22 christos 1817*28ff4d35SBaptiste Daroussin 1818*28ff4d35SBaptiste Daroussin * chared.c, chartype.h, common.c, el.c, eln.c, filecomplete.c, 1819*28ff4d35SBaptiste Daroussin hist.c, hist.h, history.c, keymacro.c, makelist, map.c, parse.c, 1820*28ff4d35SBaptiste Daroussin read.c, refresh.c, search.c, terminal.c, tokenizer.c, tty.c, 1821*28ff4d35SBaptiste Daroussin vi.c: more macro WIDECHAR undoing from Ingo Schwarze. 1822*28ff4d35SBaptiste Daroussin 1823*28ff4d35SBaptiste Daroussin2016-04-09 20:47 christos 1824*28ff4d35SBaptiste Daroussin 1825*28ff4d35SBaptiste Daroussin * filecomplete.c, vi.c: Change some 0's to NULL's from Pedro 1826*28ff4d35SBaptiste Daroussin Giffuni 1827*28ff4d35SBaptiste Daroussin 1828*28ff4d35SBaptiste Daroussin2016-04-09 20:43 christos 1829*28ff4d35SBaptiste Daroussin 1830*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, chartype.h, common.c, el.c, eln.c, emacs.c, 1831*28ff4d35SBaptiste Daroussin hist.c, keymacro.c, map.c, read.c, refresh.c, search.c, 1832*28ff4d35SBaptiste Daroussin terminal.c, tty.c, vi.c: More WIDECHAR elimination (Ingo 1833*28ff4d35SBaptiste Daroussin Schwarze) 1834*28ff4d35SBaptiste Daroussin 1835*28ff4d35SBaptiste Daroussin2016-03-23 23:27 christos 1836*28ff4d35SBaptiste Daroussin 1837*28ff4d35SBaptiste Daroussin * Makefile, chartype.c, chartype.h, config.h, el.c, el.h, eln.c, 1838*28ff4d35SBaptiste Daroussin hist.c, hist.h, history.c, keymacro.c, makelist, read.c, 1839*28ff4d35SBaptiste Daroussin readline.c, search.c, sys.h, terminal.c, TEST/Makefile: Start 1840*28ff4d35SBaptiste Daroussin removing the WIDECHAR ifdefs; building without it has stopped 1841*28ff4d35SBaptiste Daroussin working anyway. (Ingo Schwarze) 1842*28ff4d35SBaptiste Daroussin 1843*28ff4d35SBaptiste Daroussin2016-03-22 02:38 christos 1844*28ff4d35SBaptiste Daroussin 1845*28ff4d35SBaptiste Daroussin * terminal.c: put back NUL check (Ingo Schwarze) 1846*28ff4d35SBaptiste Daroussin 1847*28ff4d35SBaptiste Daroussin2016-03-22 02:34 christos 1848*28ff4d35SBaptiste Daroussin 1849*28ff4d35SBaptiste Daroussin * tty.c: Fix reversed condition in tty_end() (Ingo Schwarze) Also 1850*28ff4d35SBaptiste Daroussin don't succeed if calling setup twice. 1851*28ff4d35SBaptiste Daroussin 1852*28ff4d35SBaptiste Daroussin2016-03-07 01:05 christos 1853*28ff4d35SBaptiste Daroussin 1854*28ff4d35SBaptiste Daroussin * chartype.h: Remove advertising clause. 1855*28ff4d35SBaptiste Daroussin 1856*28ff4d35SBaptiste Daroussin2016-03-02 20:24 christos 1857*28ff4d35SBaptiste Daroussin 1858*28ff4d35SBaptiste Daroussin * Makefile, chartype.h, common.c, read.c, refresh.c, terminal.c, 1859*28ff4d35SBaptiste Daroussin vi.c: PR/50880: David Binderman: Remove redundant code. While 1860*28ff4d35SBaptiste Daroussin here, fix all debugging formats. 1861*28ff4d35SBaptiste Daroussin 1862*28ff4d35SBaptiste Daroussin2016-02-29 01:54 christos 1863*28ff4d35SBaptiste Daroussin 1864*28ff4d35SBaptiste Daroussin * TEST/rl1.c: convert to 2 clause 1865*28ff4d35SBaptiste Daroussin 1866*28ff4d35SBaptiste Daroussin2016-02-29 00:02 christos 1867*28ff4d35SBaptiste Daroussin 1868*28ff4d35SBaptiste Daroussin * chartype.c, eln.c: remove 4 clause licenses. 1869*28ff4d35SBaptiste Daroussin 1870*28ff4d35SBaptiste Daroussin2016-02-27 19:13 christos 1871*28ff4d35SBaptiste Daroussin 1872*28ff4d35SBaptiste Daroussin * tty.c, tty.h: PR/50863: John Hein: libedit el_end() messes up 1873*28ff4d35SBaptiste Daroussin term settings if piped Keep track if we initialized the tty, and 1874*28ff4d35SBaptiste Daroussin only reset it if we did. 1875*28ff4d35SBaptiste Daroussin 1876*28ff4d35SBaptiste Daroussin2016-02-25 15:59 wiz 1877*28ff4d35SBaptiste Daroussin 1878*28ff4d35SBaptiste Daroussin * editline.3: Use \- for minus sign, use Ev, use Er. 1879*28ff4d35SBaptiste Daroussin 1880*28ff4d35SBaptiste Daroussin2016-02-24 20:45 christos 1881*28ff4d35SBaptiste Daroussin 1882*28ff4d35SBaptiste Daroussin * editline.3: Fix el_{w,}getc documentation (Ingo Schwarze) 1883*28ff4d35SBaptiste Daroussin 1884*28ff4d35SBaptiste Daroussin2016-02-24 19:28 christos 1885*28ff4d35SBaptiste Daroussin 1886*28ff4d35SBaptiste Daroussin * editline.3: Fixes from OpenBSD via Ingo Schwarze: 1) Missing 1887*28ff4d35SBaptiste Daroussin comma after tok_str in NAME. OpenBSD rev. 1.38 Sep 10, 2015 1888*28ff4d35SBaptiste Daroussin (schwarze) 2) Style: void in argument list. OpenBSD rev. 1889*28ff4d35SBaptiste Daroussin 1.39 Sep 14, 2015 (schwarze) 3) English punctuation: stray 1890*28ff4d35SBaptiste Daroussin comma. OpenBSD rev. 1.37 Mar 13, 2015 (jmc) 1891*28ff4d35SBaptiste Daroussin 1892*28ff4d35SBaptiste Daroussin2016-02-24 18:20 christos 1893*28ff4d35SBaptiste Daroussin 1894*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h, read.c: Tuck in mbstate_t to the wide 1895*28ff4d35SBaptiste Daroussin char version only to avoid exposing the zeroing hack and doing it 1896*28ff4d35SBaptiste Daroussin in the narrow case. 1897*28ff4d35SBaptiste Daroussin 1898*28ff4d35SBaptiste Daroussin2016-02-24 18:13 christos 1899*28ff4d35SBaptiste Daroussin 1900*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h, el.c, el.h, eln.c, read.c, read.h, 1901*28ff4d35SBaptiste Daroussin readline.c: Make the read_char function always take a wchar_t * 1902*28ff4d35SBaptiste Daroussin argument (Ingo Schwarze) 1903*28ff4d35SBaptiste Daroussin 1904*28ff4d35SBaptiste Daroussin2016-02-24 15:29 christos 1905*28ff4d35SBaptiste Daroussin 1906*28ff4d35SBaptiste Daroussin * chared.c: A very simple, non-intrusive patch to fix a segfault 1907*28ff4d35SBaptiste Daroussin (and a functional error) in c_gets(), file chared.c. 1908*28ff4d35SBaptiste Daroussin 1909*28ff4d35SBaptiste Daroussin Run any program using libedit in the default way. At the 1910*28ff4d35SBaptiste Daroussin el_[w]gets() prompt, invoke ed-command (for example, in emacs 1911*28ff4d35SBaptiste Daroussin mode, press the escape key, then type the letter 'x'). You 1912*28ff4d35SBaptiste Daroussin should see a ": " prompt. Type the letter 'x' again. Now press 1913*28ff4d35SBaptiste Daroussin the backspace key a few times, looking at the screen after each 1914*28ff4d35SBaptiste Daroussin key press: 1915*28ff4d35SBaptiste Daroussin 1916*28ff4d35SBaptiste Daroussin - The 1st BS deletes the 'x'. 1917*28ff4d35SBaptiste Daroussin - The 2nd BS deletes the blank after the prompt. 1918*28ff4d35SBaptiste Daroussin - The 3rd BS deletes the colon of the prompt. 1919*28ff4d35SBaptiste Daroussin - The 4th BS moves the cursor up one line. 1920*28ff4d35SBaptiste Daroussin - The 5th BS gives me "Segmentation fault (core dumped)". 1921*28ff4d35SBaptiste Daroussin 1922*28ff4d35SBaptiste Daroussin Depending on your platform, it might take a few more or a few 1923*28ff4d35SBaptiste Daroussin less backspaces for the buffer underrun to trigger the segfault, 1924*28ff4d35SBaptiste Daroussin but you should be able to hit it sooner or later no matter what. 1925*28ff4d35SBaptiste Daroussin 1926*28ff4d35SBaptiste Daroussin Run the same program again, connect again and invoke ed-command 1927*28ff4d35SBaptiste Daroussin again. Now type: 'b', backspace, 'i', backspace, 'n', backspace, 1928*28ff4d35SBaptiste Daroussin 'd', enter. The "bind" command gets executed, even though you 1929*28ff4d35SBaptiste Daroussin deleted what you typed before hitting enter. 1930*28ff4d35SBaptiste Daroussin 1931*28ff4d35SBaptiste Daroussin From Ingo Schwatze. 1932*28ff4d35SBaptiste Daroussin 1933*28ff4d35SBaptiste Daroussin2016-02-24 15:25 christos 1934*28ff4d35SBaptiste Daroussin 1935*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chartype.c, common.c, eln.c, keymacro.c, 1936*28ff4d35SBaptiste Daroussin read.c, search.c: Get split el_getc and el_wgetc completely and 1937*28ff4d35SBaptiste Daroussin call el_wgetc internally. Change some character constants to 1938*28ff4d35SBaptiste Daroussin they wide versions. (Ingo Schwarze) 1939*28ff4d35SBaptiste Daroussin 1940*28ff4d35SBaptiste Daroussin2016-02-17 20:47 christos 1941*28ff4d35SBaptiste Daroussin 1942*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chartype.c, chartype.h, common.c, el.c, el.h, 1943*28ff4d35SBaptiste Daroussin filecomplete.c, hist.h, histedit.h, history.c, keymacro.c, 1944*28ff4d35SBaptiste Daroussin makelist, map.c, parse.c, prompt.h, read.c, read.h, readline.c, 1945*28ff4d35SBaptiste Daroussin refresh.c, sys.h, terminal.c, tokenizer.c, tty.c, vi.c, 1946*28ff4d35SBaptiste Daroussin TEST/tc1.c, TEST/wtc1.c, readline/Makefile, readline/readline.h: 1947*28ff4d35SBaptiste Daroussin whitespace and header sorting changes (Ingo Schwarze). No 1948*28ff4d35SBaptiste Daroussin functional changes. 1949*28ff4d35SBaptiste Daroussin 1950*28ff4d35SBaptiste Daroussin2016-02-16 23:53 christos 1951*28ff4d35SBaptiste Daroussin 1952*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.c, common.c, el.h, emacs.c, 1953*28ff4d35SBaptiste Daroussin filecomplete.c, hist.c, map.c, parse.c, read.c, refresh.c, 1954*28ff4d35SBaptiste Daroussin search.c, tty.c, vi.c: More header cleanups from Ingo Schwarze. 1955*28ff4d35SBaptiste Daroussin 1956*28ff4d35SBaptiste Daroussin2016-02-16 20:29 christos 1957*28ff4d35SBaptiste Daroussin 1958*28ff4d35SBaptiste Daroussin * config.h, histedit.h, sys.h: - don't set _GNU_SOURCE. We are not 1959*28ff4d35SBaptiste Daroussin supposed to make decisions for others. - don't special-case 1960*28ff4d35SBaptiste Daroussin wcsdup() From Ingo Schwarze. 1961*28ff4d35SBaptiste Daroussin 1962*28ff4d35SBaptiste Daroussin2016-02-16 20:11 christos 1963*28ff4d35SBaptiste Daroussin 1964*28ff4d35SBaptiste Daroussin * common.c, el.h: get rid of bool_t (Ingo Schwarze) 1965*28ff4d35SBaptiste Daroussin 1966*28ff4d35SBaptiste Daroussin2016-02-16 20:08 christos 1967*28ff4d35SBaptiste Daroussin 1968*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, el.h, emacs.c, 1969*28ff4d35SBaptiste Daroussin filecomplete.c, makelist, map.c, parse.c, readline.c, search.c, 1970*28ff4d35SBaptiste Daroussin sig.c, tty.c, vi.c: more include file cleanup (Ingo Schwarze) 1971*28ff4d35SBaptiste Daroussin 1972*28ff4d35SBaptiste Daroussin2016-02-16 16:54 christos 1973*28ff4d35SBaptiste Daroussin 1974*28ff4d35SBaptiste Daroussin * sig.c: include errno.h 1975*28ff4d35SBaptiste Daroussin 1976*28ff4d35SBaptiste Daroussin2016-02-16 16:53 christos 1977*28ff4d35SBaptiste Daroussin 1978*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.c, common.c, el.c, el.h, eln.c, 1979*28ff4d35SBaptiste Daroussin emacs.c, filecomplete.c, hist.c, hist.h, keymacro.c, makelist, 1980*28ff4d35SBaptiste Daroussin map.c, parse.c, prompt.c, prompt.h, read.c, readline.c, 1981*28ff4d35SBaptiste Daroussin refresh.c, refresh.h, search.c, search.h, sig.c, sig.h, 1982*28ff4d35SBaptiste Daroussin terminal.c, terminal.h, tty.c, tty.h, vi.c: From Ingo Scharze: 1983*28ff4d35SBaptiste Daroussin Let "el.h" include everything needed for struct editline, and 1984*28ff4d35SBaptiste Daroussin don't include that stuff multiple times. That also improves 1985*28ff4d35SBaptiste Daroussin consistency, also avoids circular inclusions, and also makes it 1986*28ff4d35SBaptiste Daroussin easier to follow what is going on, even though not quite as nice. 1987*28ff4d35SBaptiste Daroussin But it seems like the best we can do... 1988*28ff4d35SBaptiste Daroussin 1989*28ff4d35SBaptiste Daroussin2016-02-16 15:08 christos 1990*28ff4d35SBaptiste Daroussin 1991*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, common.c, el.c, el.h, eln.c, emacs.c, 1992*28ff4d35SBaptiste Daroussin filecomplete.c, hist.c, keymacro.c, makelist, map.c, parse.c, 1993*28ff4d35SBaptiste Daroussin prompt.c, read.c, readline.c, refresh.c, search.c, sig.c, 1994*28ff4d35SBaptiste Daroussin terminal.c, tty.c, vi.c: cleanup chartype.h includes (Ingo 1995*28ff4d35SBaptiste Daroussin Schwarze) 1996*28ff4d35SBaptiste Daroussin 1997*28ff4d35SBaptiste Daroussin2016-02-16 15:07 christos 1998*28ff4d35SBaptiste Daroussin 1999*28ff4d35SBaptiste Daroussin * sig.c: one more 2000*28ff4d35SBaptiste Daroussin 2001*28ff4d35SBaptiste Daroussin2016-02-16 15:06 christos 2002*28ff4d35SBaptiste Daroussin 2003*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.c, common.c, el.c, el.h, emacs.c, 2004*28ff4d35SBaptiste Daroussin filecomplete.c, hist.c, hist.h, keymacro.c, makelist, map.c, 2005*28ff4d35SBaptiste Daroussin parse.c, prompt.c, prompt.h, read.c, readline.c, refresh.c, 2006*28ff4d35SBaptiste Daroussin refresh.h, search.c, search.h, sig.h, terminal.c, terminal.h, 2007*28ff4d35SBaptiste Daroussin tty.c, tty.h, vi.c: cleanup inclusion of histedit.h (Ingo 2008*28ff4d35SBaptiste Daroussin Schwarze) 2009*28ff4d35SBaptiste Daroussin 2010*28ff4d35SBaptiste Daroussin2016-02-16 15:04 christos 2011*28ff4d35SBaptiste Daroussin 2012*28ff4d35SBaptiste Daroussin * sig.c: include explicitly errno.h since we use it. 2013*28ff4d35SBaptiste Daroussin 2014*28ff4d35SBaptiste Daroussin2016-02-16 15:04 christos 2015*28ff4d35SBaptiste Daroussin 2016*28ff4d35SBaptiste Daroussin * tty.h: No need to include "sys.h" from here; it is included from 2017*28ff4d35SBaptiste Daroussin config.h 2018*28ff4d35SBaptiste Daroussin 2019*28ff4d35SBaptiste Daroussin2016-02-16 00:36 christos 2020*28ff4d35SBaptiste Daroussin 2021*28ff4d35SBaptiste Daroussin * readline.c: attribute unused 2022*28ff4d35SBaptiste Daroussin 2023*28ff4d35SBaptiste Daroussin2016-02-15 23:53 christos 2024*28ff4d35SBaptiste Daroussin 2025*28ff4d35SBaptiste Daroussin * terminal.c: OpenBSD term.c rev. 1.7 2002/11/29 20:13:39 deraadt 2026*28ff4d35SBaptiste Daroussin spelling 2027*28ff4d35SBaptiste Daroussin 2028*28ff4d35SBaptiste Daroussin2016-02-15 23:48 christos 2029*28ff4d35SBaptiste Daroussin 2030*28ff4d35SBaptiste Daroussin * config.h, readline.c, sys.h: OpenBSD readline.c rev. 1.14 2031*28ff4d35SBaptiste Daroussin 2015/02/06 23:21:58 millert use SIZE_MAX 2032*28ff4d35SBaptiste Daroussin 2033*28ff4d35SBaptiste Daroussin2016-02-15 22:58 christos 2034*28ff4d35SBaptiste Daroussin 2035*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: OpenBSD readline.c rev. 1.13 2036*28ff4d35SBaptiste Daroussin 2015/01/13 08:33:12 reyk rl_set_keyboard_input_timeout() for 2037*28ff4d35SBaptiste Daroussin readline 4.2 compat 2038*28ff4d35SBaptiste Daroussin 2039*28ff4d35SBaptiste Daroussin2016-02-15 22:56 christos 2040*28ff4d35SBaptiste Daroussin 2041*28ff4d35SBaptiste Daroussin * eln.c: OpenBSD eln.c rev. 1.3 2011/11/27 21:46:44 pascal kill a 2042*28ff4d35SBaptiste Daroussin C++-style comment 2043*28ff4d35SBaptiste Daroussin 2044*28ff4d35SBaptiste Daroussin2016-02-15 22:38 christos 2045*28ff4d35SBaptiste Daroussin 2046*28ff4d35SBaptiste Daroussin * TEST/Makefile: Compile with WIDECHAR the same way the main 2047*28ff4d35SBaptiste Daroussin Makefile does (Ingo Schwarze) 2048*28ff4d35SBaptiste Daroussin 2049*28ff4d35SBaptiste Daroussin2016-02-15 22:35 christos 2050*28ff4d35SBaptiste Daroussin 2051*28ff4d35SBaptiste Daroussin * history.c: Don't free getline memory (Ingo Schwarze). 2052*28ff4d35SBaptiste Daroussin 2053*28ff4d35SBaptiste Daroussin2016-02-15 18:35 christos 2054*28ff4d35SBaptiste Daroussin 2055*28ff4d35SBaptiste Daroussin * sys.h: forgot one fgetln define 2056*28ff4d35SBaptiste Daroussin 2057*28ff4d35SBaptiste Daroussin2016-02-15 17:14 christos 2058*28ff4d35SBaptiste Daroussin 2059*28ff4d35SBaptiste Daroussin * config.h, sys.h: change tests for fgetln. 2060*28ff4d35SBaptiste Daroussin 2061*28ff4d35SBaptiste Daroussin2016-02-15 16:53 christos 2062*28ff4d35SBaptiste Daroussin 2063*28ff4d35SBaptiste Daroussin * el.c, history.c: Use getline for better portability. 2064*28ff4d35SBaptiste Daroussin 2065*28ff4d35SBaptiste Daroussin2016-02-15 16:37 christos 2066*28ff4d35SBaptiste Daroussin 2067*28ff4d35SBaptiste Daroussin * tokenizer.c: OpenBSD tokenizer.c rev. 1.8 2003/08/11 18:21:40 2068*28ff4d35SBaptiste Daroussin deraadt don't increase amax on realloc failure 2069*28ff4d35SBaptiste Daroussin 2070*28ff4d35SBaptiste Daroussin2016-02-15 16:35 christos 2071*28ff4d35SBaptiste Daroussin 2072*28ff4d35SBaptiste Daroussin * terminal.c: OpenBSD term.c rev. 1.13 2009/12/11 18:58:59 jacekm 2073*28ff4d35SBaptiste Daroussin fix two memory leaks 2074*28ff4d35SBaptiste Daroussin 2075*28ff4d35SBaptiste Daroussin2016-02-15 16:30 christos 2076*28ff4d35SBaptiste Daroussin 2077*28ff4d35SBaptiste Daroussin * history.c: Change the test for the size of encoded buffer to 2078*28ff4d35SBaptiste Daroussin include the NULL, from OpenBSD; no functional change. 2079*28ff4d35SBaptiste Daroussin 2080*28ff4d35SBaptiste Daroussin2016-02-15 16:29 christos 2081*28ff4d35SBaptiste Daroussin 2082*28ff4d35SBaptiste Daroussin * sig.c: OpenBSD sig.c rev. 1.6 2001/12/06 04:26:00 deraadt save 2083*28ff4d35SBaptiste Daroussin and restore errno in signal handler 2084*28ff4d35SBaptiste Daroussin 2085*28ff4d35SBaptiste Daroussin2016-02-15 16:26 christos 2086*28ff4d35SBaptiste Daroussin 2087*28ff4d35SBaptiste Daroussin * history.c: Use fparseln to avoid newline hacks. 2088*28ff4d35SBaptiste Daroussin 2089*28ff4d35SBaptiste Daroussin2016-02-15 16:18 christos 2090*28ff4d35SBaptiste Daroussin 2091*28ff4d35SBaptiste Daroussin * el.c: use fparseln() to avoid needing to deal with missing \n in 2092*28ff4d35SBaptiste Daroussin the last line and also to handle comments automatically. 2093*28ff4d35SBaptiste Daroussin 2094*28ff4d35SBaptiste Daroussin2016-02-14 18:06 christos 2095*28ff4d35SBaptiste Daroussin 2096*28ff4d35SBaptiste Daroussin * chartype.h, eln.c: From Ingo Schwarze: 2097*28ff4d35SBaptiste Daroussin 2098*28ff4d35SBaptiste Daroussin el_getc() for the WIDECHAR case, that is, the version in eln.c. 2099*28ff4d35SBaptiste Daroussin For a UTF-8 locale, it is broken in four ways: 2100*28ff4d35SBaptiste Daroussin 2101*28ff4d35SBaptiste Daroussin 1. If the character read is outside the ASCII range, the 2102*28ff4d35SBaptiste Daroussin function 2103*28ff4d35SBaptiste Daroussin does an undefined cast from wchar_t to char. Even if wchar_t 2104*28ff4d35SBaptiste Daroussin is internally represented as UCS-4, that is wrong and 2105*28ff4d35SBaptiste Daroussin dangerous 2106*28ff4d35SBaptiste Daroussin because characters beyond codepoint U+0255 get their high 2107*28ff4d35SBaptiste Daroussin bits 2108*28ff4d35SBaptiste Daroussin truncated, meaning that perfectly valid printable Unicode 2109*28ff4d35SBaptiste Daroussin characters get mapped to arbitrary bytes, even the ASCII 2110*28ff4d35SBaptiste Daroussin escape 2111*28ff4d35SBaptiste Daroussin character for some Unicode characters. But wchar_t need not 2112*28ff4d35SBaptiste Daroussin be implemented in terms of UCS-4, so the outcome of this 2113*28ff4d35SBaptiste Daroussin function 2114*28ff4d35SBaptiste Daroussin is undefined for any and all input. 2115*28ff4d35SBaptiste Daroussin 2116*28ff4d35SBaptiste Daroussin 2. If insufficient space is available for the result, the 2117*28ff4d35SBaptiste Daroussin function 2118*28ff4d35SBaptiste Daroussin fails to detect failure and returns garbage rather than -1 as 2119*28ff4d35SBaptiste Daroussin specified in the documentation. 2120*28ff4d35SBaptiste Daroussin 2121*28ff4d35SBaptiste Daroussin 3. The documentation says that errno will be set on failure, but 2122*28ff4d35SBaptiste Daroussin that doesn't happen either in the above case. 2123*28ff4d35SBaptiste Daroussin 2124*28ff4d35SBaptiste Daroussin 4. Even for ASCII characters, the results may be wrong if 2125*28ff4d35SBaptiste Daroussin wchar_t 2126*28ff4d35SBaptiste Daroussin is not using UCS-4. 2127*28ff4d35SBaptiste Daroussin 2128*28ff4d35SBaptiste Daroussin2016-02-14 15:49 christos 2129*28ff4d35SBaptiste Daroussin 2130*28ff4d35SBaptiste Daroussin * chared.c, chared.h, chartype.h, common.c, emacs.c, keymacro.c, 2131*28ff4d35SBaptiste Daroussin makelist, map.c, parse.c, refresh.c, refresh.h, search.c, 2132*28ff4d35SBaptiste Daroussin search.h, terminal.c, terminal.h, tty.c, vi.c: From Ingo 2133*28ff4d35SBaptiste Daroussin Schwarze: 2134*28ff4d35SBaptiste Daroussin 2135*28ff4d35SBaptiste Daroussin As we have seen before, "histedit.h" can never get rid of 2136*28ff4d35SBaptiste Daroussin including the <wchar.h> header because using the data types 2137*28ff4d35SBaptiste Daroussin defined there is deeply ingrained in the public interfaces of 2138*28ff4d35SBaptiste Daroussin libedit. 2139*28ff4d35SBaptiste Daroussin 2140*28ff4d35SBaptiste Daroussin Now POSIX unconditionally requires that <wchar.h> defines the 2141*28ff4d35SBaptiste Daroussin type wint_t. Consequently, it can be used unconditionally, no 2142*28ff4d35SBaptiste Daroussin matter whether WIDECHAR is active or not. Consequently, the 2143*28ff4d35SBaptiste Daroussin #define Int is pointless. 2144*28ff4d35SBaptiste Daroussin 2145*28ff4d35SBaptiste Daroussin Note that removing it is not gratuitious churn. Auditing for 2146*28ff4d35SBaptiste Daroussin integer signedness problems is already hard when only fundamental 2147*28ff4d35SBaptiste Daroussin types like "int" and "unsigned" are involved. It gets very hard 2148*28ff4d35SBaptiste Daroussin when types come into the picture that have platform-dependent 2149*28ff4d35SBaptiste Daroussin signedness, like "char" and "wint_t". Adding yet another layer 2150*28ff4d35SBaptiste Daroussin on top, changing both the signedness and the width in a platform- 2151*28ff4d35SBaptiste Daroussin dependent way, makes auditing yet harder, which IMHO is really 2152*28ff4d35SBaptiste Daroussin dangerous. Note that while removing the #define, i already found 2153*28ff4d35SBaptiste Daroussin one bug caused by this excessive complication - in the function 2154*28ff4d35SBaptiste Daroussin re_putc() in refresh.c. If WIDECHAR was defined, it printed an 2155*28ff4d35SBaptiste Daroussin Int = wint_t value with %c. Fortunately, that bug only affects 2156*28ff4d35SBaptiste Daroussin debugging, not production. The fix is contained in the patch. 2157*28ff4d35SBaptiste Daroussin 2158*28ff4d35SBaptiste Daroussin With WIDECHAR, this doesn't change anything. For the case 2159*28ff4d35SBaptiste Daroussin without WIDECHAR, i checked that none of the places wants to 2160*28ff4d35SBaptiste Daroussin store values that might not fit in wint_t. 2161*28ff4d35SBaptiste Daroussin 2162*28ff4d35SBaptiste Daroussin This only changes internal interfaces; public ones remain 2163*28ff4d35SBaptiste Daroussin unchanged. 2164*28ff4d35SBaptiste Daroussin 2165*28ff4d35SBaptiste Daroussin2016-02-14 15:47 christos 2166*28ff4d35SBaptiste Daroussin 2167*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h, read.c: From Ingo Schwartze: 2168*28ff4d35SBaptiste Daroussin 2169*28ff4d35SBaptiste Daroussin Next step: Remove #ifdef'ing in read_char(), in the same style 2170*28ff4d35SBaptiste Daroussin as we did for setlocale(3) in el.c. 2171*28ff4d35SBaptiste Daroussin 2172*28ff4d35SBaptiste Daroussin A few remarks are required to explain the choices made. 2173*28ff4d35SBaptiste Daroussin 2174*28ff4d35SBaptiste Daroussin * On first sight, handling mbrtowc(3) seems a bit less trivial 2175*28ff4d35SBaptiste Daroussin than handling setlocale(3) because its prototype uses the data 2176*28ff4d35SBaptiste Daroussin type mbstate_t from <wchar.h>. However, it turns out that 2177*28ff4d35SBaptiste Daroussin "histedit.h" already includes <wchar.h> unconditionally (i 2178*28ff4d35SBaptiste Daroussin don't 2179*28ff4d35SBaptiste Daroussin like headers including other headers, but that ship has 2180*28ff4d35SBaptiste Daroussin sailed, 2181*28ff4d35SBaptiste Daroussin people are by now certainly used to the fact that including 2182*28ff4d35SBaptiste Daroussin "histedit.h" doesn't require including <wchar.h> before), and 2183*28ff4d35SBaptiste Daroussin "histedit.h" is of course included all over the place. So 2184*28ff4d35SBaptiste Daroussin from 2185*28ff4d35SBaptiste Daroussin that perspective, there is no problem with using mbrtowc(3) 2186*28ff4d35SBaptiste Daroussin unconditionally ever for !WIDECHAR. 2187*28ff4d35SBaptiste Daroussin 2188*28ff4d35SBaptiste Daroussin * However, <wchar.h> also defines the mbrtowc(3) prototype, 2189*28ff4d35SBaptiste Daroussin so we cannot just #define mbrtowc away, or including the 2190*28ff4d35SBaptiste Daroussin header 2191*28ff4d35SBaptiste Daroussin will break. It would also be a bad idea to porovide a local 2192*28ff4d35SBaptiste Daroussin implementation of mbrtowc() and hope that it overrides the one 2193*28ff4d35SBaptiste Daroussin in libc. Besides, the required prototype is subtly different: 2194*28ff4d35SBaptiste Daroussin While mbrtowc(3) takes "wchar_t *" as its first argument, we 2195*28ff4d35SBaptiste Daroussin need a function that takes "Char *". So unfortunately, we 2196*28ff4d35SBaptiste Daroussin have 2197*28ff4d35SBaptiste Daroussin to keep a ct_mbrtowc #define, at least until we can maybe get 2198*28ff4d35SBaptiste Daroussin rid of "Char *" in the more remote future. 2199*28ff4d35SBaptiste Daroussin 2200*28ff4d35SBaptiste Daroussin * After getting rid of the #else clause in read_char(), we can 2201*28ff4d35SBaptiste Daroussin pull "return 1;" into the default: clause. After that, we can 2202*28ff4d35SBaptiste Daroussin get rid of the ugly "goto again_lastbyte;" and just "break;". 2203*28ff4d35SBaptiste Daroussin As a bonus, that also gets rid of the ugly CONSTCOND. 2204*28ff4d35SBaptiste Daroussin 2205*28ff4d35SBaptiste Daroussin * While here, delete the unused ct_mbtowc() from chartype.h. 2206*28ff4d35SBaptiste Daroussin 2207*28ff4d35SBaptiste Daroussin2016-02-12 18:23 christos 2208*28ff4d35SBaptiste Daroussin 2209*28ff4d35SBaptiste Daroussin * eln.c: Avoid c99 for now. 2210*28ff4d35SBaptiste Daroussin 2211*28ff4d35SBaptiste Daroussin2016-02-12 16:36 christos 2212*28ff4d35SBaptiste Daroussin 2213*28ff4d35SBaptiste Daroussin * el.h, eln.c, read.c: GC IGNORE_EXTCHARS and simplify code (Ingo 2214*28ff4d35SBaptiste Daroussin Schwarze) 2215*28ff4d35SBaptiste Daroussin 2216*28ff4d35SBaptiste Daroussin2016-02-12 16:11 christos 2217*28ff4d35SBaptiste Daroussin 2218*28ff4d35SBaptiste Daroussin * read.c: From Ingo Schwarze: 2219*28ff4d35SBaptiste Daroussin 2220*28ff4d35SBaptiste Daroussin If CHARSET_IS_UTF8 is not set, read_char() is broken in a large 2221*28ff4d35SBaptiste Daroussin number of ways: 2222*28ff4d35SBaptiste Daroussin 2223*28ff4d35SBaptiste Daroussin 1. The isascii(3) check can yield false positives. If a string 2224*28ff4d35SBaptiste Daroussin in 2225*28ff4d35SBaptiste Daroussin an arbitrary encoding contains a byte in the range 0..127, 2226*28ff4d35SBaptiste Daroussin that does not at all imply that it forms a character all by 2227*28ff4d35SBaptiste Daroussin itself, and even less that it represents the same character 2228*28ff4d35SBaptiste Daroussin as in ASCII. Consequently, read_char() may return characters 2229*28ff4d35SBaptiste Daroussin the user never typed. 2230*28ff4d35SBaptiste Daroussin Even if the encoding is not state dependent, the assumption 2231*28ff4d35SBaptiste Daroussin that 2232*28ff4d35SBaptiste Daroussin bytes in the range 0..127 represent ASCII characters is 2233*28ff4d35SBaptiste Daroussin broken. 2234*28ff4d35SBaptiste Daroussin Consider UTF-16, for example. 2235*28ff4d35SBaptiste Daroussin 2236*28ff4d35SBaptiste Daroussin 2. The reverse problem can also occur. In an arbitrary 2237*28ff4d35SBaptiste Daroussin encoding, 2238*28ff4d35SBaptiste Daroussin there is no guarantee that a character that can be 2239*28ff4d35SBaptiste Daroussin represented 2240*28ff4d35SBaptiste Daroussin by ASCII is represented by a seven-bit byte, and even less by 2241*28ff4d35SBaptiste Daroussin the same byte as in ASCII. 2242*28ff4d35SBaptiste Daroussin Even for single-byte encodings, these assumptions are broken. 2243*28ff4d35SBaptiste Daroussin Consider the ISO 646 national variants, for example. 2244*28ff4d35SBaptiste Daroussin Consequently, the current code is insufficient to keep ASCII 2245*28ff4d35SBaptiste Daroussin characters working even for single-byte encodings. 2246*28ff4d35SBaptiste Daroussin 2247*28ff4d35SBaptiste Daroussin 3. The condition "++cbp != 1" can never trigger (because 2248*28ff4d35SBaptiste Daroussin initially, 2249*28ff4d35SBaptiste Daroussin cbp is 0, and the code can only go back up via the final 2250*28ff4d35SBaptiste Daroussin goto, 2251*28ff4d35SBaptiste Daroussin which has another cbp = 0 right before it) and it has no 2252*28ff4d35SBaptiste Daroussin effect 2253*28ff4d35SBaptiste Daroussin (because cbp isn't used afterwards). 2254*28ff4d35SBaptiste Daroussin 2255*28ff4d35SBaptiste Daroussin 4. bytes = ct_mbtowc(cp, cbuf, cbp) is broken. If this returns 2256*28ff4d35SBaptiste Daroussin -1, 2257*28ff4d35SBaptiste Daroussin the code assumes that is can just call mbtowc(3) again for 2258*28ff4d35SBaptiste Daroussin later 2259*28ff4d35SBaptiste Daroussin input bytes. In some implementations, that may even be 2260*28ff4d35SBaptiste Daroussin broken 2261*28ff4d35SBaptiste Daroussin for state-independent encodings, but trying again after 2262*28ff4d35SBaptiste Daroussin mbtowc(3) 2263*28ff4d35SBaptiste Daroussin failure certainly produces completely erratic and meaningless 2264*28ff4d35SBaptiste Daroussin results in state-dependent encodings. 2265*28ff4d35SBaptiste Daroussin 2266*28ff4d35SBaptiste Daroussin 5. The assignment "*cp = (Char)(unsigned char)cbuf[0]" is 2267*28ff4d35SBaptiste Daroussin completely bogus. Even if the byte cbuf[0] represents a 2268*28ff4d35SBaptiste Daroussin character all by itself, which it usually will not, whether 2269*28ff4d35SBaptiste Daroussin or not the cast produces the desired result depends on the 2270*28ff4d35SBaptiste Daroussin internal representation of wchar_t in the C library, which 2271*28ff4d35SBaptiste Daroussin the application program can know nothing about. Even for 2272*28ff4d35SBaptiste Daroussin ASCII 2273*28ff4d35SBaptiste Daroussin in the C/POSIX locale, an ASCII character other than '\0' == 2274*28ff4d35SBaptiste Daroussin L'\0' == 0 need not have the same numeric value as a char and 2275*28ff4d35SBaptiste Daroussin as a wchar_t. 2276*28ff4d35SBaptiste Daroussin 2277*28ff4d35SBaptiste Daroussin To summarize, this code only works if all of the following 2278*28ff4d35SBaptiste Daroussin conditions hold: 2279*28ff4d35SBaptiste Daroussin 2280*28ff4d35SBaptiste Daroussin - The encoding is a single-byte encoding. 2281*28ff4d35SBaptiste Daroussin - ASCII is a subset of the encoding. 2282*28ff4d35SBaptiste Daroussin - The implementation of mbtowc(3) in the C library does not 2283*28ff4d35SBaptiste Daroussin require re-initialization after encoding errors. 2284*28ff4d35SBaptiste Daroussin - The implementation of wchar_t in the C library uses the 2285*28ff4d35SBaptiste Daroussin same numerical values as ASCII. 2286*28ff4d35SBaptiste Daroussin 2287*28ff4d35SBaptiste Daroussin Otherwise, it silently produces wrong results. 2288*28ff4d35SBaptiste Daroussin 2289*28ff4d35SBaptiste Daroussin The simplest way to fix this is to just use the same code as for 2290*28ff4d35SBaptiste Daroussin UTF-8 (right above). Of course, that causes functional changes 2291*28ff4d35SBaptiste Daroussin but that shouldn't matter since current behaviour is undefined. 2292*28ff4d35SBaptiste Daroussin 2293*28ff4d35SBaptiste Daroussin The patch below provides the following improvements: 2294*28ff4d35SBaptiste Daroussin 2295*28ff4d35SBaptiste Daroussin - It works for all stateless single-byte encodings, no matter 2296*28ff4d35SBaptiste Daroussin whether they are somehow related to ASCII, no matter how 2297*28ff4d35SBaptiste Daroussin mb[r]towc(3) are internally implemented, and no matter how 2298*28ff4d35SBaptiste Daroussin wchar_t is internally represented. 2299*28ff4d35SBaptiste Daroussin - Instead of producing unpredictable and definitely wrong 2300*28ff4d35SBaptiste Daroussin results for non-UTF-8 multibyte characters, it behaves in 2301*28ff4d35SBaptiste Daroussin a well-defined way: It aborts input processing, sets errno, 2302*28ff4d35SBaptiste Daroussin and returns failure. 2303*28ff4d35SBaptiste Daroussin Note that short of providing full support for arbitrary 2304*28ff4d35SBaptiste Daroussin locales, 2305*28ff4d35SBaptiste Daroussin it is impossible to do better. We cannot know whether a given 2306*28ff4d35SBaptiste Daroussin unsupported locale is state-dependent, and for a 2307*28ff4d35SBaptiste Daroussin state-dependent 2308*28ff4d35SBaptiste Daroussin locale, it makes no sense to retry parsing after an encoding 2309*28ff4d35SBaptiste Daroussin error, so the best we can do is abort processing for *any* 2310*28ff4d35SBaptiste Daroussin unsupported multi-byte character. 2311*28ff4d35SBaptiste Daroussin - Note that single-byte characters in arbitrary 2312*28ff4d35SBaptiste Daroussin state-independent 2313*28ff4d35SBaptiste Daroussin locales still work, even in locales that may potentially also 2314*28ff4d35SBaptiste Daroussin contain multibyte characters, as long as those don't occur in 2315*28ff4d35SBaptiste Daroussin input. I'm not sure whether any such locales exist in 2316*28ff4d35SBaptiste Daroussin practice... 2317*28ff4d35SBaptiste Daroussin 2318*28ff4d35SBaptiste Daroussin Tested with UTF-8 and C/POSIX on OpenBSD. Also tested that in 2319*28ff4d35SBaptiste Daroussin the C/POSIX locale, non-ASCII bytes get through unmangled. You 2320*28ff4d35SBaptiste Daroussin may wish to test with ISO-LATIN on NetBSD if NetBSD supports 2321*28ff4d35SBaptiste Daroussin that. 2322*28ff4d35SBaptiste Daroussin 2323*28ff4d35SBaptiste Daroussin ---- Also use a constant for meta to avoid warnings. 2324*28ff4d35SBaptiste Daroussin 2325*28ff4d35SBaptiste Daroussin2016-02-11 20:21 christos 2326*28ff4d35SBaptiste Daroussin 2327*28ff4d35SBaptiste Daroussin * chartype.c, common.c, el.c, emacs.c, keymacro.c, map.c, parse.c, 2328*28ff4d35SBaptiste Daroussin read.c, refresh.c, search.c, sys.h, terminal.c, tty.c: - Add some 2329*28ff4d35SBaptiste Daroussin more Char casts - reduce ifdefs by providing empty defs for nls 2330*28ff4d35SBaptiste Daroussin functions (Ingo Schwarze) 2331*28ff4d35SBaptiste Daroussin 2332*28ff4d35SBaptiste Daroussin2016-02-11 20:10 christos 2333*28ff4d35SBaptiste Daroussin 2334*28ff4d35SBaptiste Daroussin * chartype.h: remove unused wrapper (Ingo Schwarze) 2335*28ff4d35SBaptiste Daroussin 2336*28ff4d35SBaptiste Daroussin2016-02-11 17:08 christos 2337*28ff4d35SBaptiste Daroussin 2338*28ff4d35SBaptiste Daroussin * read.c: Remove utf8_islead() mbrtowc() handles this just fine 2339*28ff4d35SBaptiste Daroussin (Ingo Schwarze) 2340*28ff4d35SBaptiste Daroussin 2341*28ff4d35SBaptiste Daroussin2016-02-08 18:18 christos 2342*28ff4d35SBaptiste Daroussin 2343*28ff4d35SBaptiste Daroussin * chartype.h, read.c: UTF-8 fixes from Ingo Schwarze: 2344*28ff4d35SBaptiste Daroussin 2345*28ff4d35SBaptiste Daroussin 1. Assume that errno is non-zero when entering read_char() 2346*28ff4d35SBaptiste Daroussin and that read(2) returns 0 (indicating end of file). 2347*28ff4d35SBaptiste Daroussin Then, the code will clear errno before returning. 2348*28ff4d35SBaptiste Daroussin (Obviously, the statement "errno = 0" is almost always 2349*28ff4d35SBaptiste Daroussin a bug unless there is save_errno = errno right before it 2350*28ff4d35SBaptiste Daroussin and the previous value is properly restored later, 2351*28ff4d35SBaptiste Daroussin in all reachable code paths.) 2352*28ff4d35SBaptiste Daroussin 2353*28ff4d35SBaptiste Daroussin 2. When encountering an invalid byte sequence, the code discards 2354*28ff4d35SBaptiste Daroussin all following bytes until MB_LEN_MAX overflows; consider, for 2355*28ff4d35SBaptiste Daroussin example, 0xc2 immediately followed by a few valid ASCII 2356*28ff4d35SBaptiste Daroussin bytes. 2357*28ff4d35SBaptiste Daroussin Three of those ASCII bytes will be discarded. 2358*28ff4d35SBaptiste Daroussin 2359*28ff4d35SBaptiste Daroussin 3. On a POSIX system, EILSEQ will always be set after reading a 2360*28ff4d35SBaptiste Daroussin valid (yes, valid, not invalid!) UTF-8 character. The reason 2361*28ff4d35SBaptiste Daroussin is that mbtowc(3) will first be called with a length limit 2362*28ff4d35SBaptiste Daroussin (third argument) of 1, which will fail, return -1, and - on 2363*28ff4d35SBaptiste Daroussin a POSIX system - set errno to EILSEQ. 2364*28ff4d35SBaptiste Daroussin This third bug is mitigated a bit because i couldn't find any 2365*28ff4d35SBaptiste Daroussin system that actually conforms to POSIX in this respect: None 2366*28ff4d35SBaptiste Daroussin of OpenBSD, NetBSD, FreeBSD, Solaris 11, and glibc set errno 2367*28ff4d35SBaptiste Daroussin when an incomplete character is passed to mbtowc(3), even 2368*28ff4d35SBaptiste Daroussin though 2369*28ff4d35SBaptiste Daroussin that is required by POSIX. 2370*28ff4d35SBaptiste Daroussin Anyway, that mbtowc(3) bug will be fixed at least in OpenBSD 2371*28ff4d35SBaptiste Daroussin after release unlock, so it would be good to fix this bug in 2372*28ff4d35SBaptiste Daroussin libedit before fixing the bug in mbtowc(3). 2373*28ff4d35SBaptiste Daroussin 2374*28ff4d35SBaptiste Daroussin How can these three bugs be fixed? 2375*28ff4d35SBaptiste Daroussin 2376*28ff4d35SBaptiste Daroussin 1. As far as i understand it, the intention of the bogus errno = 2377*28ff4d35SBaptiste Daroussin 0 2378*28ff4d35SBaptiste Daroussin is to undo the effects of failing system calls in el_wset(), 2379*28ff4d35SBaptiste Daroussin sig_set(), and read__fixio() if the subsequent read(2) 2380*28ff4d35SBaptiste Daroussin indicates 2381*28ff4d35SBaptiste Daroussin end of file. So, restoring errno has to be moved right after 2382*28ff4d35SBaptiste Daroussin read__fixio(). Of course, neither 0 nor e is the right value 2383*28ff4d35SBaptiste Daroussin to restore: 0 is wrong if errno happened to be set on entry, 2384*28ff4d35SBaptiste Daroussin e 2385*28ff4d35SBaptiste Daroussin would be wrong because if one read(2) fails but a second 2386*28ff4d35SBaptiste Daroussin attempt 2387*28ff4d35SBaptiste Daroussin succeeds after read__fixio(), errno should not be touched. 2388*28ff4d35SBaptiste Daroussin So, 2389*28ff4d35SBaptiste Daroussin the errno to be restored in this case has to be saved before 2390*28ff4d35SBaptiste Daroussin calling read(2) for the first time. 2391*28ff4d35SBaptiste Daroussin 2392*28ff4d35SBaptiste Daroussin 2. Solving the second issue requires distinguishing invalid and 2393*28ff4d35SBaptiste Daroussin incomplete characters, but that is impossible with the 2394*28ff4d35SBaptiste Daroussin function 2395*28ff4d35SBaptiste Daroussin mbtowc(3) because it returns -1 in both cases and sets errno 2396*28ff4d35SBaptiste Daroussin to EILSEQ in both cases (once properly implemented). 2397*28ff4d35SBaptiste Daroussin 2398*28ff4d35SBaptiste Daroussin It is vital that each input character is processed right 2399*28ff4d35SBaptiste Daroussin away. 2400*28ff4d35SBaptiste Daroussin It is not acceptable to wait for the next input character 2401*28ff4d35SBaptiste Daroussin before 2402*28ff4d35SBaptiste Daroussin processing the previous one because this is an interactive 2403*28ff4d35SBaptiste Daroussin library, not a batch system. Consequently, the only 2404*28ff4d35SBaptiste Daroussin situation 2405*28ff4d35SBaptiste Daroussin where it is acceptable to wait for the next byte without 2406*28ff4d35SBaptiste Daroussin first 2407*28ff4d35SBaptiste Daroussin processing the previous one(s) is when the previous one(s) 2408*28ff4d35SBaptiste Daroussin form 2409*28ff4d35SBaptiste Daroussin an incomplete sequence that can be continued to form a valid 2410*28ff4d35SBaptiste Daroussin character. 2411*28ff4d35SBaptiste Daroussin 2412*28ff4d35SBaptiste Daroussin Consequently, short of reimplementing a full UTF-8 state 2413*28ff4d35SBaptiste Daroussin machine 2414*28ff4d35SBaptiste Daroussin by hand, the only correct way forward is to use mbrtowc(3). 2415*28ff4d35SBaptiste Daroussin Even then, care is needed to always have the state object 2416*28ff4d35SBaptiste Daroussin properly initialized before using it, and to not discard a 2417*28ff4d35SBaptiste Daroussin valid 2418*28ff4d35SBaptiste Daroussin ASCII or UTF-8 lead byte if it happens to follow an invalid 2419*28ff4d35SBaptiste Daroussin sequence. 2420*28ff4d35SBaptiste Daroussin 2421*28ff4d35SBaptiste Daroussin 3. Fortunately, solution 2. also solves issue 3. as a side 2422*28ff4d35SBaptiste Daroussin effect, 2423*28ff4d35SBaptiste Daroussin by no longer using mbtowc(3) in the first place. 2424*28ff4d35SBaptiste Daroussin 2425*28ff4d35SBaptiste Daroussin2016-01-30 16:05 christos 2426*28ff4d35SBaptiste Daroussin 2427*28ff4d35SBaptiste Daroussin * hist.h: Whitespace fix (Ingo Schwarze) 2428*28ff4d35SBaptiste Daroussin 2429*28ff4d35SBaptiste Daroussin2016-01-30 05:02 christos 2430*28ff4d35SBaptiste Daroussin 2431*28ff4d35SBaptiste Daroussin * search.c, tokenizer.c: Fix misplaced parentheses (Ingo Schwarze) 2432*28ff4d35SBaptiste Daroussin 2433*28ff4d35SBaptiste Daroussin2016-01-29 20:59 christos 2434*28ff4d35SBaptiste Daroussin 2435*28ff4d35SBaptiste Daroussin * keymacro.h: One macro is enough (Ingo Schwarze) 2436*28ff4d35SBaptiste Daroussin 2437*28ff4d35SBaptiste Daroussin2015-12-08 17:53 gson 2438*28ff4d35SBaptiste Daroussin 2439*28ff4d35SBaptiste Daroussin * tty.c: unbreak the build 2440*28ff4d35SBaptiste Daroussin 2441*28ff4d35SBaptiste Daroussin2015-12-08 13:57 christos 2442*28ff4d35SBaptiste Daroussin 2443*28ff4d35SBaptiste Daroussin * tty.c: If we did not setup the tty, don't reset it. 2444*28ff4d35SBaptiste Daroussin 2445*28ff4d35SBaptiste Daroussin2015-12-08 13:56 christos 2446*28ff4d35SBaptiste Daroussin 2447*28ff4d35SBaptiste Daroussin * el.c: Only reset the terminal if we have a tty (Boris Ranto) 2448*28ff4d35SBaptiste Daroussin 2449*28ff4d35SBaptiste Daroussin2015-11-03 22:36 christos 2450*28ff4d35SBaptiste Daroussin 2451*28ff4d35SBaptiste Daroussin * editline.3: Fix descriptions of el_set functions. Americanise 2452*28ff4d35SBaptiste Daroussin initialise :-) 2453*28ff4d35SBaptiste Daroussin 2454*28ff4d35SBaptiste Daroussin2015-10-21 23:45 christos 2455*28ff4d35SBaptiste Daroussin 2456*28ff4d35SBaptiste Daroussin * vi.c: Use the full buffer for the conversion; ideally we should 2457*28ff4d35SBaptiste Daroussin be dynamically allocating this. From Jilles Tjoelker 2458*28ff4d35SBaptiste Daroussin 2459*28ff4d35SBaptiste Daroussin2015-10-19 02:36 christos 2460*28ff4d35SBaptiste Daroussin 2461*28ff4d35SBaptiste Daroussin * vi.c: make sure we have space for NUL and NUL terminate buffer 2462*28ff4d35SBaptiste Daroussin array (Jilles Tjoelker) 2463*28ff4d35SBaptiste Daroussin 2464*28ff4d35SBaptiste Daroussin2015-06-02 17:36 christos 2465*28ff4d35SBaptiste Daroussin 2466*28ff4d35SBaptiste Daroussin * readline/readline.h: remove duplicate declaration 2467*28ff4d35SBaptiste Daroussin 2468*28ff4d35SBaptiste Daroussin2015-06-02 17:35 christos 2469*28ff4d35SBaptiste Daroussin 2470*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Adjust API to a more modern 2471*28ff4d35SBaptiste Daroussin readline (Ryo Onodera) 2472*28ff4d35SBaptiste Daroussin 2473*28ff4d35SBaptiste Daroussin2015-05-26 21:59 christos 2474*28ff4d35SBaptiste Daroussin 2475*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: - fix types of 2476*28ff4d35SBaptiste Daroussin rl_completion_entry_function and rl_add_defun - call update pos 2477*28ff4d35SBaptiste Daroussin before completion to refresh the screen From Thomas Eriksson 2478*28ff4d35SBaptiste Daroussin 2479*28ff4d35SBaptiste Daroussin2015-05-18 17:07 christos 2480*28ff4d35SBaptiste Daroussin 2481*28ff4d35SBaptiste Daroussin * eln.c: make el_gets() return the number of characters read in 2482*28ff4d35SBaptiste Daroussin wide mode (not the number of wide characters) From khorben@ by 2483*28ff4d35SBaptiste Daroussin FreeBSD: 2484*28ff4d35SBaptiste Daroussin https://svnweb.freebsd.org/ports/head/devel/libedit/files/patch-src_eln.c?\ 2485*28ff4d35SBaptiste Daroussin revision=382458&view=markup XXX: Pullup-7 2486*28ff4d35SBaptiste Daroussin 2487*28ff4d35SBaptiste Daroussin2015-05-17 15:14 christos 2488*28ff4d35SBaptiste Daroussin 2489*28ff4d35SBaptiste Daroussin * chartype.h: add FreeBSD 2490*28ff4d35SBaptiste Daroussin 2491*28ff4d35SBaptiste Daroussin2015-05-14 12:44 christos 2492*28ff4d35SBaptiste Daroussin 2493*28ff4d35SBaptiste Daroussin * chartype.h, map.c, tty.c: fix warnings on ubuntu 32 bit (Miki 2494*28ff4d35SBaptiste Daroussin Rozloznik) 2495*28ff4d35SBaptiste Daroussin 2496*28ff4d35SBaptiste Daroussin2015-05-13 15:33 martin 2497*28ff4d35SBaptiste Daroussin 2498*28ff4d35SBaptiste Daroussin * Makefile, chartype.h, editline.3, editrc.5, eln.c, 2499*28ff4d35SBaptiste Daroussin filecomplete.c, readline.c: Sync lib/libedit with head, requested 2500*28ff4d35SBaptiste Daroussin by christos in #753: 2501*28ff4d35SBaptiste Daroussin 2502*28ff4d35SBaptiste Daroussin lib/libedit/Makefile 1.53 2503*28ff4d35SBaptiste Daroussin lib/libedit/chartype.h 1.13 2504*28ff4d35SBaptiste Daroussin lib/libedit/editline.3 1.83-1.84 2505*28ff4d35SBaptiste Daroussin lib/libedit/editrc.5 1.28-1.29 2506*28ff4d35SBaptiste Daroussin lib/libedit/eln.c 1.18 2507*28ff4d35SBaptiste Daroussin lib/libedit/filecomplete.c 1.33-1.34 2508*28ff4d35SBaptiste Daroussin lib/libedit/readline.c 1.112-1.115 2509*28ff4d35SBaptiste Daroussin 2510*28ff4d35SBaptiste Daroussin Man page improvements, fix overlapping strcpy, improve readline 2511*28ff4d35SBaptiste Daroussin compatibility, clang build fix. 2512*28ff4d35SBaptiste Daroussin 2513*28ff4d35SBaptiste Daroussin2015-04-14 07:30 snj 2514*28ff4d35SBaptiste Daroussin 2515*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h: Pull up following revision(s) (requested 2516*28ff4d35SBaptiste Daroussin by christos in ticket #679): lib/libedit/chartype.c: 2517*28ff4d35SBaptiste Daroussin revisions 1.11, 1.12 lib/libedit/chartype.h: revisions 1.12, 2518*28ff4d35SBaptiste Daroussin 1.13 PR/49683: Amir Plivatsky: Off-by-one comparison in 2519*28ff4d35SBaptiste Daroussin ct_decode_string() leading to out of bounds referrence. -- split 2520*28ff4d35SBaptiste Daroussin the allocation functions, their mixed usage was too confusing. 2521*28ff4d35SBaptiste Daroussin 2522*28ff4d35SBaptiste Daroussin2015-04-01 17:23 christos 2523*28ff4d35SBaptiste Daroussin 2524*28ff4d35SBaptiste Daroussin * readline.c: Fix overlapping strcpy (Gerry Swislow) 2525*28ff4d35SBaptiste Daroussin 2526*28ff4d35SBaptiste Daroussin2015-03-24 22:29 christos 2527*28ff4d35SBaptiste Daroussin 2528*28ff4d35SBaptiste Daroussin * readline.c: set some readline compatibility default key settings. 2529*28ff4d35SBaptiste Daroussin https://bugzilla.redhat.com/attachment.cgi?id=1001895 2530*28ff4d35SBaptiste Daroussin 2531*28ff4d35SBaptiste Daroussin2015-03-24 22:26 christos 2532*28ff4d35SBaptiste Daroussin 2533*28ff4d35SBaptiste Daroussin * eln.c: save and restore IGNORE_EXTCHARS like we do in the getc 2534*28ff4d35SBaptiste Daroussin case. From: https://bugzilla.redhat.com/attachment.cgi?id=1001894 2535*28ff4d35SBaptiste Daroussin 2536*28ff4d35SBaptiste Daroussin2015-02-22 03:16 christos 2537*28ff4d35SBaptiste Daroussin 2538*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h: split the allocation functions, their 2539*28ff4d35SBaptiste Daroussin mixed usage was too confusing. 2540*28ff4d35SBaptiste Daroussin 2541*28ff4d35SBaptiste Daroussin2015-02-22 01:46 christos 2542*28ff4d35SBaptiste Daroussin 2543*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h: PR/49683: Amir Plivatsky: Off-by-one 2544*28ff4d35SBaptiste Daroussin comparison in ct_decode_string() leading to out of bounds 2545*28ff4d35SBaptiste Daroussin referrence. XXX: pullup-7 2546*28ff4d35SBaptiste Daroussin 2547*28ff4d35SBaptiste Daroussin2015-02-17 23:49 christos 2548*28ff4d35SBaptiste Daroussin 2549*28ff4d35SBaptiste Daroussin * chartype.h: OpenBSD is like us. 2550*28ff4d35SBaptiste Daroussin 2551*28ff4d35SBaptiste Daroussin2015-01-29 21:30 joerg 2552*28ff4d35SBaptiste Daroussin 2553*28ff4d35SBaptiste Daroussin * Makefile: Disable -Wcast-qual for clang for now. 2554*28ff4d35SBaptiste Daroussin 2555*28ff4d35SBaptiste Daroussin2014-12-25 14:39 wiz 2556*28ff4d35SBaptiste Daroussin 2557*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: Bump date for previous. 2558*28ff4d35SBaptiste Daroussin 2559*28ff4d35SBaptiste Daroussin2014-12-25 14:39 wiz 2560*28ff4d35SBaptiste Daroussin 2561*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: From Ingo Schwarze, based on changes from 2562*28ff4d35SBaptiste Daroussin Kaspars Bankovskis: * Document error handling of el_init(), 2563*28ff4d35SBaptiste Daroussin el_set(), el_source(), and history_init(). * Fix a typo an 2564*28ff4d35SBaptiste Daroussin improve punctuation below H_SETUNIQUE. * The ellipsis already 2565*28ff4d35SBaptiste Daroussin implies "optional", no need for []. * Sort options in 2566*28ff4d35SBaptiste Daroussin editrc(5). * Prevent e.g. rom being misconstrued as the end of 2567*28ff4d35SBaptiste Daroussin a sentence. * Drop a useless duplicate .Ar macro. * Put 2568*28ff4d35SBaptiste Daroussin telltc in its proper place in the alphabetical order. * A few 2569*28ff4d35SBaptiste Daroussin typos in vi editor command names. * Some missing vi editor 2570*28ff4d35SBaptiste Daroussin command names. * Some missing author macros. 2571*28ff4d35SBaptiste Daroussin 2572*28ff4d35SBaptiste Daroussin2014-10-18 17:07 riz 2573*28ff4d35SBaptiste Daroussin 2574*28ff4d35SBaptiste Daroussin * filecomplete.c: callers's -> caller's 2575*28ff4d35SBaptiste Daroussin 2576*28ff4d35SBaptiste Daroussin2014-10-18 10:33 snj 2577*28ff4d35SBaptiste Daroussin 2578*28ff4d35SBaptiste Daroussin * filecomplete.c, readline.c: src is too big these days to tolerate 2579*28ff4d35SBaptiste Daroussin superfluous apostrophes. It's "its", people! 2580*28ff4d35SBaptiste Daroussin 2581*28ff4d35SBaptiste Daroussin2014-08-20 02:02 tls 2582*28ff4d35SBaptiste Daroussin 2583*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, editline.3, el.c, eln.c, 2584*28ff4d35SBaptiste Daroussin filecomplete.c, hist.h, histedit.h, history.c, map.c, map.h, 2585*28ff4d35SBaptiste Daroussin parse.c, read.c, readline.c, tty.c, tty.h, vi.c, TEST/tc1.c, 2586*28ff4d35SBaptiste Daroussin TEST/wtc1.c: Rebase to HEAD as of a few days ago. 2587*28ff4d35SBaptiste Daroussin 2588*28ff4d35SBaptiste Daroussin2014-08-15 15:32 christos 2589*28ff4d35SBaptiste Daroussin 2590*28ff4d35SBaptiste Daroussin * readline.c: Fix typo in comment (Tobias Stoeckmann) 2591*28ff4d35SBaptiste Daroussin 2592*28ff4d35SBaptiste Daroussin2014-08-10 08:51 tls 2593*28ff4d35SBaptiste Daroussin 2594*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, editline.3, el.c, eln.c, 2595*28ff4d35SBaptiste Daroussin filecomplete.c, hist.h, histedit.h, history.c, map.c, map.h, 2596*28ff4d35SBaptiste Daroussin parse.c, read.c, readline.c, tty.c, tty.h, vi.c, TEST/tc1.c, 2597*28ff4d35SBaptiste Daroussin TEST/wtc1.c: Rebase. 2598*28ff4d35SBaptiste Daroussin 2599*28ff4d35SBaptiste Daroussin2014-07-06 20:15 christos 2600*28ff4d35SBaptiste Daroussin 2601*28ff4d35SBaptiste Daroussin * map.c, map.h, parse.c, read.c: Bounds search for reallocated 2602*28ff4d35SBaptiste Daroussin index, from OpenBSD via Andreas Fett 2603*28ff4d35SBaptiste Daroussin 2604*28ff4d35SBaptiste Daroussin2014-07-06 20:09 christos 2605*28ff4d35SBaptiste Daroussin 2606*28ff4d35SBaptiste Daroussin * readline.c: PR/48957: Federico G. Schwindt: Restore commented out 2607*28ff4d35SBaptiste Daroussin code that broke rl_callback_handler. 2608*28ff4d35SBaptiste Daroussin 2609*28ff4d35SBaptiste Daroussin2014-06-18 22:12 christos 2610*28ff4d35SBaptiste Daroussin 2611*28ff4d35SBaptiste Daroussin * TEST/: tc1.c, wtc1.c: cast gotsig because it is long on some 2612*28ff4d35SBaptiste Daroussin systems. 2613*28ff4d35SBaptiste Daroussin 2614*28ff4d35SBaptiste Daroussin2014-06-18 20:52 christos 2615*28ff4d35SBaptiste Daroussin 2616*28ff4d35SBaptiste Daroussin * tty.c: Add stdlib.h for abort() (Jess Thrysoee) 2617*28ff4d35SBaptiste Daroussin 2618*28ff4d35SBaptiste Daroussin2014-06-18 20:12 christos 2619*28ff4d35SBaptiste Daroussin 2620*28ff4d35SBaptiste Daroussin * chared.c, chared.h, el.c, eln.c, histedit.h, vi.c: Don't depend 2621*28ff4d35SBaptiste Daroussin on weak aliases to define the vi "alias" expansion function, 2622*28ff4d35SBaptiste Daroussin provide an API instead to set it. 2623*28ff4d35SBaptiste Daroussin 2624*28ff4d35SBaptiste Daroussin2014-06-18 15:03 christos 2625*28ff4d35SBaptiste Daroussin 2626*28ff4d35SBaptiste Daroussin * vi.c: accomodate FreeBSD's flavor of weak references. 2627*28ff4d35SBaptiste Daroussin 2628*28ff4d35SBaptiste Daroussin2014-06-14 22:49 mrg 2629*28ff4d35SBaptiste Daroussin 2630*28ff4d35SBaptiste Daroussin * Makefile: remove remaining makefile support for GCC < 45 that i 2631*28ff4d35SBaptiste Daroussin found. 2632*28ff4d35SBaptiste Daroussin 2633*28ff4d35SBaptiste Daroussin2014-06-06 00:07 christos 2634*28ff4d35SBaptiste Daroussin 2635*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/48876: Dmitriy Grigoryev: Core dump in 2636*28ff4d35SBaptiste Daroussin readline lib on attempted expansion Make sure we have 2 matches 2637*28ff4d35SBaptiste Daroussin before calling strcmp(). 2638*28ff4d35SBaptiste Daroussin 2639*28ff4d35SBaptiste Daroussin2014-05-22 13:36 yamt 2640*28ff4d35SBaptiste Daroussin 2641*28ff4d35SBaptiste Daroussin * chared.c, editline.3, el.c, eln.c, hist.h, histedit.h, history.c, 2642*28ff4d35SBaptiste Daroussin read.c, readline.c, shlib_version, readline/readline.h: sync with 2643*28ff4d35SBaptiste Daroussin head. 2644*28ff4d35SBaptiste Daroussin 2645*28ff4d35SBaptiste Daroussin for a reference, the tree before this commit was tagged as 2646*28ff4d35SBaptiste Daroussin yamt-pagecache-tag8. 2647*28ff4d35SBaptiste Daroussin 2648*28ff4d35SBaptiste Daroussin this commit was splitted into small chunks to avoid a limitation 2649*28ff4d35SBaptiste Daroussin of cvs. ("Protocol error: too many arguments") 2650*28ff4d35SBaptiste Daroussin 2651*28ff4d35SBaptiste Daroussin2014-05-20 17:05 christos 2652*28ff4d35SBaptiste Daroussin 2653*28ff4d35SBaptiste Daroussin * eln.c: Always NULL terminate the argv[] array. From OpenBSD. 2654*28ff4d35SBaptiste Daroussin 2655*28ff4d35SBaptiste Daroussin2014-05-19 23:01 christos 2656*28ff4d35SBaptiste Daroussin 2657*28ff4d35SBaptiste Daroussin * tty.c: PR/48821: If called from tty_stty(), recalculate flags. 2658*28ff4d35SBaptiste Daroussin 2659*28ff4d35SBaptiste Daroussin2014-05-19 21:54 christos 2660*28ff4d35SBaptiste Daroussin 2661*28ff4d35SBaptiste Daroussin * tty.c, tty.h: more tty modes refactoring, no functional change 2662*28ff4d35SBaptiste Daroussin intended. 2663*28ff4d35SBaptiste Daroussin 2664*28ff4d35SBaptiste Daroussin2014-05-19 19:14 christos 2665*28ff4d35SBaptiste Daroussin 2666*28ff4d35SBaptiste Daroussin * tty.c: Factor out some common code (more to be done) from 2667*28ff4d35SBaptiste Daroussin PR/48821 2668*28ff4d35SBaptiste Daroussin 2669*28ff4d35SBaptiste Daroussin2014-05-11 11:01 wiz 2670*28ff4d35SBaptiste Daroussin 2671*28ff4d35SBaptiste Daroussin * editline.3: Add An to authors. Wording. 2672*28ff4d35SBaptiste Daroussin 2673*28ff4d35SBaptiste Daroussin2014-05-11 03:05 christos 2674*28ff4d35SBaptiste Daroussin 2675*28ff4d35SBaptiste Daroussin * editline.3, hist.h, histedit.h, history.c: Add a history function 2676*28ff4d35SBaptiste Daroussin that takes a FILE pointer; needed for Capsicum. From Eitan Adler 2677*28ff4d35SBaptiste Daroussin 2678*28ff4d35SBaptiste Daroussin2014-02-26 14:50 christos 2679*28ff4d35SBaptiste Daroussin 2680*28ff4d35SBaptiste Daroussin * eln.c: Add missing EL_REFRESH 2681*28ff4d35SBaptiste Daroussin 2682*28ff4d35SBaptiste Daroussin2014-01-21 14:51 christos 2683*28ff4d35SBaptiste Daroussin 2684*28ff4d35SBaptiste Daroussin * readline.c: ... if called prior to using_history(). This needed 2685*28ff4d35SBaptiste Daroussin to be worked around in PHP: 2686*28ff4d35SBaptiste Daroussin http://git.php.net/?p=php-src.git;a=commitdiff;h=31d67bd3 2687*28ff4d35SBaptiste Daroussin 2688*28ff4d35SBaptiste Daroussin Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1055409 2689*28ff4d35SBaptiste Daroussin 2690*28ff4d35SBaptiste Daroussin2013-08-28 10:05 christos 2691*28ff4d35SBaptiste Daroussin 2692*28ff4d35SBaptiste Daroussin * readline.c: get rid of PATH_MAX. 2693*28ff4d35SBaptiste Daroussin 2694*28ff4d35SBaptiste Daroussin2013-07-13 00:39 christos 2695*28ff4d35SBaptiste Daroussin 2696*28ff4d35SBaptiste Daroussin * chared.c: cast to avoid warning. 2697*28ff4d35SBaptiste Daroussin 2698*28ff4d35SBaptiste Daroussin2013-07-12 19:48 christos 2699*28ff4d35SBaptiste Daroussin 2700*28ff4d35SBaptiste Daroussin * chared.c, editline.3, histedit.h: Add a function to move the 2701*28ff4d35SBaptiste Daroussin cursor. 2702*28ff4d35SBaptiste Daroussin 2703*28ff4d35SBaptiste Daroussin2013-06-23 08:21 tls 2704*28ff4d35SBaptiste Daroussin 2705*28ff4d35SBaptiste Daroussin * read.c, readline.c, readline/readline.h: resync from head 2706*28ff4d35SBaptiste Daroussin 2707*28ff4d35SBaptiste Daroussin2013-05-28 02:10 christos 2708*28ff4d35SBaptiste Daroussin 2709*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: expose rl_catch_signals and 2710*28ff4d35SBaptiste Daroussin explain what we are doing. 2711*28ff4d35SBaptiste Daroussin 2712*28ff4d35SBaptiste Daroussin2013-05-28 01:55 christos 2713*28ff4d35SBaptiste Daroussin 2714*28ff4d35SBaptiste Daroussin * read.c: Test early for EOF to avoid infinite loop in the wide 2715*28ff4d35SBaptiste Daroussin char case. From Linas Vepstas: linasvepstas at gmail dot com 2716*28ff4d35SBaptiste Daroussin 2717*28ff4d35SBaptiste Daroussin2013-04-02 08:38 agc 2718*28ff4d35SBaptiste Daroussin 2719*28ff4d35SBaptiste Daroussin * Version.map: add symbol versioning info for: 2720*28ff4d35SBaptiste Daroussin 2721*28ff4d35SBaptiste Daroussin libcrypt 2722*28ff4d35SBaptiste Daroussin libcurses 2723*28ff4d35SBaptiste Daroussin libedit 2724*28ff4d35SBaptiste Daroussin libmenu 2725*28ff4d35SBaptiste Daroussin libossaudio 2726*28ff4d35SBaptiste Daroussin libposix 2727*28ff4d35SBaptiste Daroussin libskey 2728*28ff4d35SBaptiste Daroussin 2729*28ff4d35SBaptiste Daroussin2013-02-25 01:27 tls 2730*28ff4d35SBaptiste Daroussin 2731*28ff4d35SBaptiste Daroussin * editline.3, editrc.5, el.c, histedit.h, map.c, readline.c, 2732*28ff4d35SBaptiste Daroussin shlib_version: resync with head 2733*28ff4d35SBaptiste Daroussin 2734*28ff4d35SBaptiste Daroussin2013-01-23 01:05 yamt 2735*28ff4d35SBaptiste Daroussin 2736*28ff4d35SBaptiste Daroussin * editline.3, editrc.5, map.c, readline.c: sync with head 2737*28ff4d35SBaptiste Daroussin 2738*28ff4d35SBaptiste Daroussin2013-01-22 21:23 christos 2739*28ff4d35SBaptiste Daroussin 2740*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, shlib_version: provide an 2741*28ff4d35SBaptiste Daroussin el_init_fd function. 2742*28ff4d35SBaptiste Daroussin 2743*28ff4d35SBaptiste Daroussin2013-01-13 16:46 christos 2744*28ff4d35SBaptiste Daroussin 2745*28ff4d35SBaptiste Daroussin * readline.c: explicitly pass (void *)0 instead of NULL. 2746*28ff4d35SBaptiste Daroussin 2747*28ff4d35SBaptiste Daroussin2013-01-10 17:03 wiz 2748*28ff4d35SBaptiste Daroussin 2749*28ff4d35SBaptiste Daroussin * editrc.5: Add FILES section. From jmc@OpenBSD. 2750*28ff4d35SBaptiste Daroussin 2751*28ff4d35SBaptiste Daroussin2013-01-10 17:03 wiz 2752*28ff4d35SBaptiste Daroussin 2753*28ff4d35SBaptiste Daroussin * editline.3: In 2000, .editrc reading from $PWD was removed. 2754*28ff4d35SBaptiste Daroussin Update the man page. From LEVAI Daniel via jmc@OpenBSD. 2755*28ff4d35SBaptiste Daroussin 2756*28ff4d35SBaptiste Daroussin2013-01-01 16:34 christos 2757*28ff4d35SBaptiste Daroussin 2758*28ff4d35SBaptiste Daroussin * map.c: remove dead assignment (Christoph Mallon) 2759*28ff4d35SBaptiste Daroussin 2760*28ff4d35SBaptiste Daroussin2013-01-01 16:33 christos 2761*28ff4d35SBaptiste Daroussin 2762*28ff4d35SBaptiste Daroussin * map.c: Fix pasto that affected bind -k (Christoph Mallon) 2763*28ff4d35SBaptiste Daroussin 2764*28ff4d35SBaptiste Daroussin2012-11-20 04:00 tls 2765*28ff4d35SBaptiste Daroussin 2766*28ff4d35SBaptiste Daroussin * readline.c: Resync to 2012-11-19 00:00:00 UTC 2767*28ff4d35SBaptiste Daroussin 2768*28ff4d35SBaptiste Daroussin2012-10-30 19:59 yamt 2769*28ff4d35SBaptiste Daroussin 2770*28ff4d35SBaptiste Daroussin * Makefile, chared.c, editline.3, editrc.5, el.c, histedit.h, 2771*28ff4d35SBaptiste Daroussin read.c, readline.c, terminal.c: sync with head 2772*28ff4d35SBaptiste Daroussin 2773*28ff4d35SBaptiste Daroussin2012-10-13 01:35 christos 2774*28ff4d35SBaptiste Daroussin 2775*28ff4d35SBaptiste Daroussin * readline.c: Add trailing NULL's to the varargs functions as 2776*28ff4d35SBaptiste Daroussin required. (John Spencer) 2777*28ff4d35SBaptiste Daroussin 2778*28ff4d35SBaptiste Daroussin2012-09-11 22:29 christos 2779*28ff4d35SBaptiste Daroussin 2780*28ff4d35SBaptiste Daroussin * editline.3: PR/46945: Steffen Nurpmeso; el_getc() doesn't 2781*28ff4d35SBaptiste Daroussin document it's setting errno 2782*28ff4d35SBaptiste Daroussin 2783*28ff4d35SBaptiste Daroussin2012-09-11 14:31 christos 2784*28ff4d35SBaptiste Daroussin 2785*28ff4d35SBaptiste Daroussin * read.c: return !OKCMD on error. 2786*28ff4d35SBaptiste Daroussin 2787*28ff4d35SBaptiste Daroussin2012-09-11 13:58 christos 2788*28ff4d35SBaptiste Daroussin 2789*28ff4d35SBaptiste Daroussin * el.c: PR/46942: Steffen Nurpmeso: editline(3): el_get(): fix 2790*28ff4d35SBaptiste Daroussin UNBUFFERED return 2791*28ff4d35SBaptiste Daroussin 2792*28ff4d35SBaptiste Daroussin2012-09-11 13:57 christos 2793*28ff4d35SBaptiste Daroussin 2794*28ff4d35SBaptiste Daroussin * editline.3: PR/46941: Steffen Nurpmeso: document EL_BUFFERED 2795*28ff4d35SBaptiste Daroussin 2796*28ff4d35SBaptiste Daroussin2012-09-10 22:53 christos 2797*28ff4d35SBaptiste Daroussin 2798*28ff4d35SBaptiste Daroussin * read.c: PR/46935: Steffen Nurpmeso: editline(3) (libedit): faulty 2799*28ff4d35SBaptiste Daroussin errno handling, faulty reuse of val in wrong context 2800*28ff4d35SBaptiste Daroussin 2801*28ff4d35SBaptiste Daroussin2012-08-10 14:20 joerg 2802*28ff4d35SBaptiste Daroussin 2803*28ff4d35SBaptiste Daroussin * Makefile: Don't depend on HAVE_GCC being always defined. 2804*28ff4d35SBaptiste Daroussin 2805*28ff4d35SBaptiste Daroussin2012-07-18 19:12 christos 2806*28ff4d35SBaptiste Daroussin 2807*28ff4d35SBaptiste Daroussin * chared.c: From Kamil Dudka: fix crash of el_insertstr() on 2808*28ff4d35SBaptiste Daroussin incomplete multi-byte 2809*28ff4d35SBaptiste Daroussin 2810*28ff4d35SBaptiste Daroussin2012-07-12 20:46 christos 2811*28ff4d35SBaptiste Daroussin 2812*28ff4d35SBaptiste Daroussin * readline.c: PR/46678: Ian Wienand: Add stub implementation for 2813*28ff4d35SBaptiste Daroussin rl_free_line_state() 2814*28ff4d35SBaptiste Daroussin 2815*28ff4d35SBaptiste Daroussin2012-06-05 22:22 bouyer 2816*28ff4d35SBaptiste Daroussin 2817*28ff4d35SBaptiste Daroussin * readline.c: Pull up following revision(s) (requested by christos 2818*28ff4d35SBaptiste Daroussin in ticket #309): lib/libedit/readline.c: revision 1.104 don't 2819*28ff4d35SBaptiste Daroussin crash if add_history is called from an empty line. Called from 2820*28ff4d35SBaptiste Daroussin nslookup in new bind. XXX: pullup to 6 2821*28ff4d35SBaptiste Daroussin 2822*28ff4d35SBaptiste Daroussin2012-06-05 02:30 christos 2823*28ff4d35SBaptiste Daroussin 2824*28ff4d35SBaptiste Daroussin * readline.c: don't crash if add_history is called from an empty 2825*28ff4d35SBaptiste Daroussin line. Called from nslookup in new bind. XXX: pullup to 6 2826*28ff4d35SBaptiste Daroussin 2827*28ff4d35SBaptiste Daroussin2012-06-02 16:19 njoly 2828*28ff4d35SBaptiste Daroussin 2829*28ff4d35SBaptiste Daroussin * editrc.5: Switch from Op to Oo/Oc for nested block. 2830*28ff4d35SBaptiste Daroussin 2831*28ff4d35SBaptiste Daroussin2012-05-31 15:16 christos 2832*28ff4d35SBaptiste Daroussin 2833*28ff4d35SBaptiste Daroussin * histedit.h: remove stdint.h; it is not used. 2834*28ff4d35SBaptiste Daroussin 2835*28ff4d35SBaptiste Daroussin2012-05-30 20:21 christos 2836*28ff4d35SBaptiste Daroussin 2837*28ff4d35SBaptiste Daroussin * terminal.c: don't include both term.h and termcap.h 2838*28ff4d35SBaptiste Daroussin 2839*28ff4d35SBaptiste Daroussin2012-05-23 12:07 yamt 2840*28ff4d35SBaptiste Daroussin 2841*28ff4d35SBaptiste Daroussin * readline.c, tty.c, tty.h, readline/readline.h: sync with head. 2842*28ff4d35SBaptiste Daroussin 2843*28ff4d35SBaptiste Daroussin2012-05-15 21:07 christos 2844*28ff4d35SBaptiste Daroussin 2845*28ff4d35SBaptiste Daroussin * readline.c: define the new variable 2846*28ff4d35SBaptiste Daroussin 2847*28ff4d35SBaptiste Daroussin2012-05-15 19:30 christos 2848*28ff4d35SBaptiste Daroussin 2849*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Add 2850*28ff4d35SBaptiste Daroussin rl_completion_word_break_hook from: 2851*28ff4d35SBaptiste Daroussin http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/\ 2852*28ff4d35SBaptiste Daroussin 5ec6a45fa762b8cbd0305ca06acb8780335a486a 2853*28ff4d35SBaptiste Daroussin 2854*28ff4d35SBaptiste Daroussin2012-05-15 17:59 christos 2855*28ff4d35SBaptiste Daroussin 2856*28ff4d35SBaptiste Daroussin * tty.c, tty.h: save and restore the tty settings on entry and exit 2857*28ff4d35SBaptiste Daroussin respectively. cleanup debugging printfs. 2858*28ff4d35SBaptiste Daroussin 2859*28ff4d35SBaptiste Daroussin2012-04-17 02:05 yamt 2860*28ff4d35SBaptiste Daroussin 2861*28ff4d35SBaptiste Daroussin * Makefile, chartype.h, common.c, el.c, eln.c, history.c, makelist, 2862*28ff4d35SBaptiste Daroussin map.c, readline.c, terminal.c, terminal.h, vi.c, TEST/wtc1.c: 2863*28ff4d35SBaptiste Daroussin sync with head 2864*28ff4d35SBaptiste Daroussin 2865*28ff4d35SBaptiste Daroussin2012-03-24 21:09 christos 2866*28ff4d35SBaptiste Daroussin 2867*28ff4d35SBaptiste Daroussin * terminal.c, terminal.h: From: Jilles Tjoelker: Add a mapping for 2868*28ff4d35SBaptiste Daroussin the cursor delete key 2869*28ff4d35SBaptiste Daroussin 2870*28ff4d35SBaptiste Daroussin2012-03-24 21:08 christos 2871*28ff4d35SBaptiste Daroussin 2872*28ff4d35SBaptiste Daroussin * common.c: From Jilles Tjoelker: Do not move the cursor for 2873*28ff4d35SBaptiste Daroussin ed-delete-next-char in emacs mode. This makes 2874*28ff4d35SBaptiste Daroussin ed-delete-next-char suitable for mapping to the <Delete> key. 2875*28ff4d35SBaptiste Daroussin Behaviour in vi mode is unchanged (for 'x'). 2876*28ff4d35SBaptiste Daroussin 2877*28ff4d35SBaptiste Daroussin2012-03-21 06:37 matt 2878*28ff4d35SBaptiste Daroussin 2879*28ff4d35SBaptiste Daroussin * Makefile: These directories default to WARNS?=5 2880*28ff4d35SBaptiste Daroussin 2881*28ff4d35SBaptiste Daroussin2012-03-21 06:34 matt 2882*28ff4d35SBaptiste Daroussin 2883*28ff4d35SBaptiste Daroussin * makelist: Use C89 functions definitions. 2884*28ff4d35SBaptiste Daroussin 2885*28ff4d35SBaptiste Daroussin2012-03-21 06:33 matt 2886*28ff4d35SBaptiste Daroussin 2887*28ff4d35SBaptiste Daroussin * readline.c: Use C89 functions definitions. Remove use of __P 2888*28ff4d35SBaptiste Daroussin 2889*28ff4d35SBaptiste Daroussin2012-03-11 22:15 christos 2890*28ff4d35SBaptiste Daroussin 2891*28ff4d35SBaptiste Daroussin * eln.c: include the NULL in the argv conversion 2892*28ff4d35SBaptiste Daroussin 2893*28ff4d35SBaptiste Daroussin2012-03-11 22:14 christos 2894*28ff4d35SBaptiste Daroussin 2895*28ff4d35SBaptiste Daroussin * el.c: use arraycount 2896*28ff4d35SBaptiste Daroussin 2897*28ff4d35SBaptiste Daroussin2012-01-16 15:57 christos 2898*28ff4d35SBaptiste Daroussin 2899*28ff4d35SBaptiste Daroussin * vi.c: PR/45843: Henning Petersen: Fix resource leak on error. 2900*28ff4d35SBaptiste Daroussin 2901*28ff4d35SBaptiste Daroussin2011-11-18 21:39 christos 2902*28ff4d35SBaptiste Daroussin 2903*28ff4d35SBaptiste Daroussin * history.c, map.c: Add coverity annotations about unreachable code 2904*28ff4d35SBaptiste Daroussin (Kamil Dudka) 2905*28ff4d35SBaptiste Daroussin 2906*28ff4d35SBaptiste Daroussin2011-11-18 21:38 christos 2907*28ff4d35SBaptiste Daroussin 2908*28ff4d35SBaptiste Daroussin * readline.c: Add missing * 2909*28ff4d35SBaptiste Daroussin 2910*28ff4d35SBaptiste Daroussin2011-11-18 21:32 christos 2911*28ff4d35SBaptiste Daroussin 2912*28ff4d35SBaptiste Daroussin * terminal.c: Initialize termbuf (Kamil Dudka) 2913*28ff4d35SBaptiste Daroussin 2914*28ff4d35SBaptiste Daroussin2011-11-18 21:30 christos 2915*28ff4d35SBaptiste Daroussin 2916*28ff4d35SBaptiste Daroussin * TEST/wtc1.c: Initialize res (Kamil Dudka) 2917*28ff4d35SBaptiste Daroussin 2918*28ff4d35SBaptiste Daroussin2011-11-18 21:25 christos 2919*28ff4d35SBaptiste Daroussin 2920*28ff4d35SBaptiste Daroussin * terminal.c: check for negative return of ct_visual_char (Kamil 2921*28ff4d35SBaptiste Daroussin Dudka) 2922*28ff4d35SBaptiste Daroussin 2923*28ff4d35SBaptiste Daroussin2011-11-18 21:24 christos 2924*28ff4d35SBaptiste Daroussin 2925*28ff4d35SBaptiste Daroussin * vi.c: Off by one in allocation could cause buffer overflow (Kamil 2926*28ff4d35SBaptiste Daroussin Dudka) 2927*28ff4d35SBaptiste Daroussin 2928*28ff4d35SBaptiste Daroussin2011-11-18 21:22 christos 2929*28ff4d35SBaptiste Daroussin 2930*28ff4d35SBaptiste Daroussin * el.c: remove unrecheable code (Kamil Dudka) 2931*28ff4d35SBaptiste Daroussin 2932*28ff4d35SBaptiste Daroussin2011-11-16 02:45 christos 2933*28ff4d35SBaptiste Daroussin 2934*28ff4d35SBaptiste Daroussin * chartype.h: easier with an int for now. 2935*28ff4d35SBaptiste Daroussin 2936*28ff4d35SBaptiste Daroussin2011-11-16 00:54 christos 2937*28ff4d35SBaptiste Daroussin 2938*28ff4d35SBaptiste Daroussin * chartype.h: Since Width() is used only for display purposes we 2939*28ff4d35SBaptiste Daroussin don't want to pass -1 for unprintable characters. 2940*28ff4d35SBaptiste Daroussin 2941*28ff4d35SBaptiste Daroussin2011-10-23 19:37 christos 2942*28ff4d35SBaptiste Daroussin 2943*28ff4d35SBaptiste Daroussin * chared.c: Fixed misplaced parenthesis (Nirbhay Choubey) 2944*28ff4d35SBaptiste Daroussin 2945*28ff4d35SBaptiste Daroussin2011-10-04 17:27 christos 2946*28ff4d35SBaptiste Daroussin 2947*28ff4d35SBaptiste Daroussin * search.c, terminal.c, tty.c, vi.c: 2948*28ff4d35SBaptiste Daroussin fixed warnings where wint_t is unsigned. 2949*28ff4d35SBaptiste Daroussin 2950*28ff4d35SBaptiste Daroussin2011-10-03 16:09 christos 2951*28ff4d35SBaptiste Daroussin 2952*28ff4d35SBaptiste Daroussin * terminal.c: fix broken change (parenthesis in the wrong place). 2953*28ff4d35SBaptiste Daroussin From Nirbhay Choubey 2954*28ff4d35SBaptiste Daroussin 2955*28ff4d35SBaptiste Daroussin2011-09-28 16:08 christos 2956*28ff4d35SBaptiste Daroussin 2957*28ff4d35SBaptiste Daroussin * sys.h: include <wchar.h> if we don't have wcsdup() 2958*28ff4d35SBaptiste Daroussin 2959*28ff4d35SBaptiste Daroussin2011-09-16 18:13 plunky 2960*28ff4d35SBaptiste Daroussin 2961*28ff4d35SBaptiste Daroussin * filecomplete.c: NULL does not need a cast, here 2962*28ff4d35SBaptiste Daroussin 2963*28ff4d35SBaptiste Daroussin2011-08-16 18:25 christos 2964*28ff4d35SBaptiste Daroussin 2965*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chartype.c, eln.c, filecomplete.c, 2966*28ff4d35SBaptiste Daroussin keymacro.c, map.c, parse.c, read.c, readline.c, search.c, 2967*28ff4d35SBaptiste Daroussin terminal.c, tokenizer.c, tty.c, tty.h, vi.c: re-enable 2968*28ff4d35SBaptiste Daroussin -Wconversion 2969*28ff4d35SBaptiste Daroussin 2970*28ff4d35SBaptiste Daroussin2011-08-04 16:33 christos 2971*28ff4d35SBaptiste Daroussin 2972*28ff4d35SBaptiste Daroussin * TEST/wtc1.c: need err.h now 2973*28ff4d35SBaptiste Daroussin 2974*28ff4d35SBaptiste Daroussin2011-08-02 19:22 joerg 2975*28ff4d35SBaptiste Daroussin 2976*28ff4d35SBaptiste Daroussin * Makefile: Only use -Wconversion if GCC is actually the active 2977*28ff4d35SBaptiste Daroussin compiler. 2978*28ff4d35SBaptiste Daroussin 2979*28ff4d35SBaptiste Daroussin2011-07-30 12:07 tron 2980*28ff4d35SBaptiste Daroussin 2981*28ff4d35SBaptiste Daroussin * Makefile: Don't use "-Wconversion" with GCC 4.5 which will 2982*28ff4d35SBaptiste Daroussin complain about all the expressions where signed variables are 2983*28ff4d35SBaptiste Daroussin converted to unsigned in an expression e.g. "size_t foo = 2984*28ff4d35SBaptiste Daroussin sizeof(something) * int_var;". 2985*28ff4d35SBaptiste Daroussin 2986*28ff4d35SBaptiste Daroussin2011-07-30 01:44 christos 2987*28ff4d35SBaptiste Daroussin 2988*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chartype.c, chartype.h, el.h, filecomplete.c, 2989*28ff4d35SBaptiste Daroussin history.c, keymacro.c, read.c, readline.c, refresh.c, search.c, 2990*28ff4d35SBaptiste Daroussin terminal.c, terminal.h, vi.c: pass -Wconversion 2991*28ff4d35SBaptiste Daroussin 2992*28ff4d35SBaptiste Daroussin2011-07-29 22:58 christos 2993*28ff4d35SBaptiste Daroussin 2994*28ff4d35SBaptiste Daroussin * common.c, filecomplete.c, history.c, readline.c, vi.c: - fix 2995*28ff4d35SBaptiste Daroussin unused params - unconditionalize vis.h 2996*28ff4d35SBaptiste Daroussin 2997*28ff4d35SBaptiste Daroussin2011-07-29 22:57 christos 2998*28ff4d35SBaptiste Daroussin 2999*28ff4d35SBaptiste Daroussin * config.h: better autoconf results 3000*28ff4d35SBaptiste Daroussin 3001*28ff4d35SBaptiste Daroussin2011-07-29 22:56 christos 3002*28ff4d35SBaptiste Daroussin 3003*28ff4d35SBaptiste Daroussin * Makefile: add -Wunused-parameter Is that the right way? Perhaps 3004*28ff4d35SBaptiste Daroussin WARNS=5? 3005*28ff4d35SBaptiste Daroussin 3006*28ff4d35SBaptiste Daroussin2011-07-29 17:20 christos 3007*28ff4d35SBaptiste Daroussin 3008*28ff4d35SBaptiste Daroussin * chared.c, common.c, sys.h, terminal.c, tty.c: kill ifdef notdef 3009*28ff4d35SBaptiste Daroussin 3010*28ff4d35SBaptiste Daroussin2011-07-29 17:16 christos 3011*28ff4d35SBaptiste Daroussin 3012*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, common.c, el.c, emacs.c, filecomplete.c, 3013*28ff4d35SBaptiste Daroussin hist.c, history.c, keymacro.c, map.c, parse.c, prompt.c, read.c, 3014*28ff4d35SBaptiste Daroussin readline.c, search.c, terminal.c, tokenizer.c, tty.c, vi.c: KNF 3015*28ff4d35SBaptiste Daroussin return (\1); -> return \1; 3016*28ff4d35SBaptiste Daroussin 3017*28ff4d35SBaptiste Daroussin2011-07-28 22:50 christos 3018*28ff4d35SBaptiste Daroussin 3019*28ff4d35SBaptiste Daroussin * chared.c, chartype.c, el.c, eln.c, filecomplete.c, hist.c, 3020*28ff4d35SBaptiste Daroussin hist.h, histedit.h, history.c, keymacro.c, map.c, read.c, 3021*28ff4d35SBaptiste Daroussin readline.c, search.c, sig.c, sys.h, terminal.c, tokenizer.c, 3022*28ff4d35SBaptiste Daroussin vi.c: kill ptr_t and ioctl_t, add * sizeof(*foo) to all 3023*28ff4d35SBaptiste Daroussin allocations. 3024*28ff4d35SBaptiste Daroussin 3025*28ff4d35SBaptiste Daroussin2011-07-28 19:33 christos 3026*28ff4d35SBaptiste Daroussin 3027*28ff4d35SBaptiste Daroussin * filecomplete.c: fix unused variable warnings on systems without 3028*28ff4d35SBaptiste Daroussin _r functions 3029*28ff4d35SBaptiste Daroussin 3030*28ff4d35SBaptiste Daroussin2011-07-28 19:33 christos 3031*28ff4d35SBaptiste Daroussin 3032*28ff4d35SBaptiste Daroussin * readline.c: handle systems without getpwent_r 3033*28ff4d35SBaptiste Daroussin 3034*28ff4d35SBaptiste Daroussin2011-07-28 07:18 joerg 3035*28ff4d35SBaptiste Daroussin 3036*28ff4d35SBaptiste Daroussin * config.h: Sync compat defines to unbreak build. 3037*28ff4d35SBaptiste Daroussin 3038*28ff4d35SBaptiste Daroussin XXX Do a proper config.h update from configure 3039*28ff4d35SBaptiste Daroussin 3040*28ff4d35SBaptiste Daroussin2011-07-28 05:52 christos 3041*28ff4d35SBaptiste Daroussin 3042*28ff4d35SBaptiste Daroussin * keymacro.c, terminal.c: whitespace 3043*28ff4d35SBaptiste Daroussin 3044*28ff4d35SBaptiste Daroussin2011-07-28 05:48 christos 3045*28ff4d35SBaptiste Daroussin 3046*28ff4d35SBaptiste Daroussin * keymacro.c: whitespace 3047*28ff4d35SBaptiste Daroussin 3048*28ff4d35SBaptiste Daroussin2011-07-28 05:44 christos 3049*28ff4d35SBaptiste Daroussin 3050*28ff4d35SBaptiste Daroussin * keymacro.h: whitespace and comments 3051*28ff4d35SBaptiste Daroussin 3052*28ff4d35SBaptiste Daroussin2011-07-28 03:56 christos 3053*28ff4d35SBaptiste Daroussin 3054*28ff4d35SBaptiste Daroussin * Makefile, el.c, el.h, key.c, key.h, keymacro.c, keymacro.h, 3055*28ff4d35SBaptiste Daroussin map.c, read.c, terminal.c, terminal.h, tty.c: Rename key to 3056*28ff4d35SBaptiste Daroussin keymacro to avoid conflicts with term.h. The renaming of term to 3057*28ff4d35SBaptiste Daroussin terminal was again to avoid conflicts with term.h. term.h is a 3058*28ff4d35SBaptiste Daroussin moving namespace violation. 3059*28ff4d35SBaptiste Daroussin 3060*28ff4d35SBaptiste Daroussin2011-07-28 03:08 christos 3061*28ff4d35SBaptiste Daroussin 3062*28ff4d35SBaptiste Daroussin * TEST/wtc1.c: - check and don't cast malloc return - more wide 3063*28ff4d35SBaptiste Daroussin function use 3064*28ff4d35SBaptiste Daroussin 3065*28ff4d35SBaptiste Daroussin2011-07-28 03:05 christos 3066*28ff4d35SBaptiste Daroussin 3067*28ff4d35SBaptiste Daroussin * Makefile, chared.c, common.c, el.h, eln.c, emacs.c, map.c, 3068*28ff4d35SBaptiste Daroussin parse.c, prompt.c, refresh.c, term.c, term.h, terminal.c, 3069*28ff4d35SBaptiste Daroussin terminal.h: term -> terminal XXX: need to rename key_ too. 3070*28ff4d35SBaptiste Daroussin 3071*28ff4d35SBaptiste Daroussin2011-07-28 03:05 christos 3072*28ff4d35SBaptiste Daroussin 3073*28ff4d35SBaptiste Daroussin * config.h: regen 3074*28ff4d35SBaptiste Daroussin 3075*28ff4d35SBaptiste Daroussin2011-07-28 03:04 christos 3076*28ff4d35SBaptiste Daroussin 3077*28ff4d35SBaptiste Daroussin * el.c: avoid shadowed variable 3078*28ff4d35SBaptiste Daroussin 3079*28ff4d35SBaptiste Daroussin2011-07-28 02:54 christos 3080*28ff4d35SBaptiste Daroussin 3081*28ff4d35SBaptiste Daroussin * readline.c: use vis.h from . 3082*28ff4d35SBaptiste Daroussin 3083*28ff4d35SBaptiste Daroussin2011-07-28 02:50 christos 3084*28ff4d35SBaptiste Daroussin 3085*28ff4d35SBaptiste Daroussin * filecomplete.c: eliminate alloca for portability portable 3086*28ff4d35SBaptiste Daroussin getpw{nam,uid} 3087*28ff4d35SBaptiste Daroussin 3088*28ff4d35SBaptiste Daroussin2011-07-28 02:49 christos 3089*28ff4d35SBaptiste Daroussin 3090*28ff4d35SBaptiste Daroussin * el.c: term -> terminal eliminate MAXPATHLEN 3091*28ff4d35SBaptiste Daroussin 3092*28ff4d35SBaptiste Daroussin2011-07-28 02:48 christos 3093*28ff4d35SBaptiste Daroussin 3094*28ff4d35SBaptiste Daroussin * chartype.c: - fix memory allocation botch in wide strings - check 3095*28ff4d35SBaptiste Daroussin mbstowcs return code 3096*28ff4d35SBaptiste Daroussin 3097*28ff4d35SBaptiste Daroussin2011-07-28 02:45 christos 3098*28ff4d35SBaptiste Daroussin 3099*28ff4d35SBaptiste Daroussin * sys.h: more portability defines 3100*28ff4d35SBaptiste Daroussin 3101*28ff4d35SBaptiste Daroussin2011-07-28 02:45 christos 3102*28ff4d35SBaptiste Daroussin 3103*28ff4d35SBaptiste Daroussin * vi.c, tty.c, sig.c, search.c: term -> terminal 3104*28ff4d35SBaptiste Daroussin 3105*28ff4d35SBaptiste Daroussin2011-07-28 02:44 christos 3106*28ff4d35SBaptiste Daroussin 3107*28ff4d35SBaptiste Daroussin * read.c: term -> terminal fix wide function confusion 3108*28ff4d35SBaptiste Daroussin 3109*28ff4d35SBaptiste Daroussin2011-07-28 02:43 christos 3110*28ff4d35SBaptiste Daroussin 3111*28ff4d35SBaptiste Daroussin * makelist: include config.h for all c files. 3112*28ff4d35SBaptiste Daroussin 3113*28ff4d35SBaptiste Daroussin2011-07-28 02:43 christos 3114*28ff4d35SBaptiste Daroussin 3115*28ff4d35SBaptiste Daroussin * history.c: include vis.h from dot. 3116*28ff4d35SBaptiste Daroussin 3117*28ff4d35SBaptiste Daroussin2011-07-28 02:43 christos 3118*28ff4d35SBaptiste Daroussin 3119*28ff4d35SBaptiste Daroussin * hist.c: fix confusion with wide functions. 3120*28ff4d35SBaptiste Daroussin 3121*28ff4d35SBaptiste Daroussin2011-07-27 15:18 christos 3122*28ff4d35SBaptiste Daroussin 3123*28ff4d35SBaptiste Daroussin * history.c: fix narrow compilation 3124*28ff4d35SBaptiste Daroussin 3125*28ff4d35SBaptiste Daroussin2011-07-27 04:23 christos 3126*28ff4d35SBaptiste Daroussin 3127*28ff4d35SBaptiste Daroussin * history.c: - don't leave cursor dangling on memory failure or 3128*28ff4d35SBaptiste Daroussin after clearing the list - compute the string length to be 3129*28ff4d35SBaptiste Daroussin strvis'ed after the string is encoded 3130*28ff4d35SBaptiste Daroussin 3131*28ff4d35SBaptiste Daroussin2011-07-27 04:18 christos 3132*28ff4d35SBaptiste Daroussin 3133*28ff4d35SBaptiste Daroussin * chartype.c: fix buffer growing code. 3134*28ff4d35SBaptiste Daroussin 3135*28ff4d35SBaptiste Daroussin2011-07-27 04:18 christos 3136*28ff4d35SBaptiste Daroussin 3137*28ff4d35SBaptiste Daroussin * TEST/wtc1.c: add history testing code. 3138*28ff4d35SBaptiste Daroussin 3139*28ff4d35SBaptiste Daroussin2011-07-26 23:03 christos 3140*28ff4d35SBaptiste Daroussin 3141*28ff4d35SBaptiste Daroussin * el.c: don't stop reading after empty lines from: Nirbhay Choubey 3142*28ff4d35SBaptiste Daroussin 3143*28ff4d35SBaptiste Daroussin2011-07-10 01:54 christos 3144*28ff4d35SBaptiste Daroussin 3145*28ff4d35SBaptiste Daroussin * read.c: make obvious what we are trying to do... 3146*28ff4d35SBaptiste Daroussin 3147*28ff4d35SBaptiste Daroussin2011-07-09 18:04 tron 3148*28ff4d35SBaptiste Daroussin 3149*28ff4d35SBaptiste Daroussin * read.c: Try to fix build of port where "char" is unsigned. 3150*28ff4d35SBaptiste Daroussin 3151*28ff4d35SBaptiste Daroussin2011-07-08 17:54 christos 3152*28ff4d35SBaptiste Daroussin 3153*28ff4d35SBaptiste Daroussin * read.c: Support other non-latin1 single byte character sets. 3154*28ff4d35SBaptiste Daroussin From: Alexander Barkov and Nirbhay Choubey at oracle dot com 3155*28ff4d35SBaptiste Daroussin 3156*28ff4d35SBaptiste Daroussin2011-06-23 16:18 cherry 3157*28ff4d35SBaptiste Daroussin 3158*28ff4d35SBaptiste Daroussin * Makefile, eln.c: Catchup with rmind-uvmplock merge. 3159*28ff4d35SBaptiste Daroussin 3160*28ff4d35SBaptiste Daroussin2011-06-21 04:32 mrg 3161*28ff4d35SBaptiste Daroussin 3162*28ff4d35SBaptiste Daroussin * Makefile: add some XXX'd -Wno-foo if HAVE_GCC >= 45. 3163*28ff4d35SBaptiste Daroussin 3164*28ff4d35SBaptiste Daroussin XXX: someone should look at these. 3165*28ff4d35SBaptiste Daroussin 3166*28ff4d35SBaptiste Daroussin2011-06-20 11:11 mrg 3167*28ff4d35SBaptiste Daroussin 3168*28ff4d35SBaptiste Daroussin * eln.c: various build fixes for gcc 4.5. from chuq. XXX i'm not 3169*28ff4d35SBaptiste Daroussin sure all of these work properly wtf pointer aliasing, but there 3170*28ff4d35SBaptiste Daroussin are no casts at least... 3171*28ff4d35SBaptiste Daroussin 3172*28ff4d35SBaptiste Daroussin the lib/libpuffs/puffs_priv.h is definately a real bug fix. 3173*28ff4d35SBaptiste Daroussin 3174*28ff4d35SBaptiste Daroussin from chuq. 3175*28ff4d35SBaptiste Daroussin 3176*28ff4d35SBaptiste Daroussin2011-04-26 00:47 wiz 3177*28ff4d35SBaptiste Daroussin 3178*28ff4d35SBaptiste Daroussin * editrc.5: Markup consistency, from YOMURA Masanori. Add serial 3179*28ff4d35SBaptiste Daroussin comma. 3180*28ff4d35SBaptiste Daroussin 3181*28ff4d35SBaptiste Daroussin2011-03-20 13:36 bouyer 3182*28ff4d35SBaptiste Daroussin 3183*28ff4d35SBaptiste Daroussin * el.c: Fix use-after-free. Discovered by running tests with 3184*28ff4d35SBaptiste Daroussin MALLOC_OPTIONS=J (should this be the default for tests ?), 3185*28ff4d35SBaptiste Daroussin pointed out by njoly@ 3186*28ff4d35SBaptiste Daroussin 3187*28ff4d35SBaptiste Daroussin2011-03-05 16:09 bouyer 3188*28ff4d35SBaptiste Daroussin 3189*28ff4d35SBaptiste Daroussin * editline.3, read.c, vi.c: Sync with HEAD 3190*28ff4d35SBaptiste Daroussin 3191*28ff4d35SBaptiste Daroussin2011-02-27 02:51 christos 3192*28ff4d35SBaptiste Daroussin 3193*28ff4d35SBaptiste Daroussin * editline.3: Fix argument for EL_EDITOR from Jess Thrysoee 3194*28ff4d35SBaptiste Daroussin 3195*28ff4d35SBaptiste Daroussin2011-02-22 06:45 joerg 3196*28ff4d35SBaptiste Daroussin 3197*28ff4d35SBaptiste Daroussin * vi.c: Introduce __weakref_visible to handle the different 3198*28ff4d35SBaptiste Daroussin required visibility for weak references. GCC 4.2+ and Clang 3199*28ff4d35SBaptiste Daroussin require static, older GCC wants extern. Change __weak_reference 3200*28ff4d35SBaptiste Daroussin to include sym. This requires changes the existing users to not 3201*28ff4d35SBaptiste Daroussin reuse the name of the symbol, but avoids further differences 3202*28ff4d35SBaptiste Daroussin between GCC 4.1 and GCC 4.2+/clang. 3203*28ff4d35SBaptiste Daroussin 3204*28ff4d35SBaptiste Daroussin2011-02-18 21:53 christos 3205*28ff4d35SBaptiste Daroussin 3206*28ff4d35SBaptiste Daroussin * read.c: PR/44599: Steven Vernon: libedit acts as if no data read 3207*28ff4d35SBaptiste Daroussin if editmode is turned off because nread is uninitialized in the 3208*28ff4d35SBaptiste Daroussin edit disabled case. 3209*28ff4d35SBaptiste Daroussin 3210*28ff4d35SBaptiste Daroussin2011-02-17 17:44 joerg 3211*28ff4d35SBaptiste Daroussin 3212*28ff4d35SBaptiste Daroussin * vi.c: Deal with changes in the weak_reference semantic in GCC 4.2 3213*28ff4d35SBaptiste Daroussin and later. 3214*28ff4d35SBaptiste Daroussin 3215*28ff4d35SBaptiste Daroussin2011-02-08 17:19 bouyer 3216*28ff4d35SBaptiste Daroussin 3217*28ff4d35SBaptiste Daroussin * el.c, el.h, tty.c: Sync with HEAD 3218*28ff4d35SBaptiste Daroussin 3219*28ff4d35SBaptiste Daroussin2011-01-28 04:41 christos 3220*28ff4d35SBaptiste Daroussin 3221*28ff4d35SBaptiste Daroussin * tty.c: fix pasto 3222*28ff4d35SBaptiste Daroussin 3223*28ff4d35SBaptiste Daroussin2011-01-28 00:11 christos 3224*28ff4d35SBaptiste Daroussin 3225*28ff4d35SBaptiste Daroussin * el.c, el.h, tty.c: don't turn on editing if stdout is not a tty. 3226*28ff4d35SBaptiste Daroussin 3227*28ff4d35SBaptiste Daroussin2011-01-16 04:05 christos 3228*28ff4d35SBaptiste Daroussin 3229*28ff4d35SBaptiste Daroussin * history.c: off by one in fetching history data. From: Gerry 3230*28ff4d35SBaptiste Daroussin Swislow 3231*28ff4d35SBaptiste Daroussin 3232*28ff4d35SBaptiste Daroussin2010-12-16 18:42 wiz 3233*28ff4d35SBaptiste Daroussin 3234*28ff4d35SBaptiste Daroussin * chartype.h, editline.3: Observe the following spelling: - wide 3235*28ff4d35SBaptiste Daroussin character (noun) - wide-character (adjective) 3236*28ff4d35SBaptiste Daroussin 3237*28ff4d35SBaptiste Daroussin Inspired by jmc@OpenBSD. 3238*28ff4d35SBaptiste Daroussin 3239*28ff4d35SBaptiste Daroussin2010-12-06 01:05 dholland 3240*28ff4d35SBaptiste Daroussin 3241*28ff4d35SBaptiste Daroussin * filecomplete.c: Improve previous to avoid changing the interface 3242*28ff4d35SBaptiste Daroussin of an externally exposed function. (But note that this function 3243*28ff4d35SBaptiste Daroussin is neither documented nor declared in any installed header file, 3244*28ff4d35SBaptiste Daroussin and it probably should not be externally exposed.) Related to PR 3245*28ff4d35SBaptiste Daroussin 44183, closes PR 44186. 3246*28ff4d35SBaptiste Daroussin 3247*28ff4d35SBaptiste Daroussin2010-12-02 05:42 dholland 3248*28ff4d35SBaptiste Daroussin 3249*28ff4d35SBaptiste Daroussin * filecomplete.c: add const, from PR 44183. 3250*28ff4d35SBaptiste Daroussin 3251*28ff4d35SBaptiste Daroussin2010-12-02 05:35 dholland 3252*28ff4d35SBaptiste Daroussin 3253*28ff4d35SBaptiste Daroussin * filecomplete.c: Fix up bodgy code for printing completion 3254*28ff4d35SBaptiste Daroussin matches; it used to sometimes skip entries, print (null), run off 3255*28ff4d35SBaptiste Daroussin the end of the array, or occasionally receive SIGSEGV, and now 3256*28ff4d35SBaptiste Daroussin will, hopefully at least, do none of that. 3257*28ff4d35SBaptiste Daroussin 3258*28ff4d35SBaptiste Daroussin Based in part on the patch in PR 44183 from Sergio Acereda; I 3259*28ff4d35SBaptiste Daroussin also did some tidyup and fixed it to print top-to-bottom first 3260*28ff4d35SBaptiste Daroussin like ls(1). 3261*28ff4d35SBaptiste Daroussin 3262*28ff4d35SBaptiste Daroussin2010-11-15 22:24 christos 3263*28ff4d35SBaptiste Daroussin 3264*28ff4d35SBaptiste Daroussin * filecomplete.c: don't increment i twice in the loop. From Michael 3265*28ff4d35SBaptiste Daroussin Byrnes 3266*28ff4d35SBaptiste Daroussin 3267*28ff4d35SBaptiste Daroussin2010-11-04 14:53 christos 3268*28ff4d35SBaptiste Daroussin 3269*28ff4d35SBaptiste Daroussin * eln.c: PR/43998, PR/44021: In narrow history emulation, don't 3270*28ff4d35SBaptiste Daroussin treat UTF-8 character sets specially as far as history goes since 3271*28ff4d35SBaptiste Daroussin we always need to do the conversion from narrow [history] to wide 3272*28ff4d35SBaptiste Daroussin [editline]. 3273*28ff4d35SBaptiste Daroussin 3274*28ff4d35SBaptiste Daroussin2010-10-24 01:27 christos 3275*28ff4d35SBaptiste Daroussin 3276*28ff4d35SBaptiste Daroussin * vi.c: fix fd leak found by Igor Zinovik 3277*28ff4d35SBaptiste Daroussin 3278*28ff4d35SBaptiste Daroussin2010-09-16 22:08 christos 3279*28ff4d35SBaptiste Daroussin 3280*28ff4d35SBaptiste Daroussin * readline.c, TEST/rl1.c, readline/readline.h: unbreak readline 3281*28ff4d35SBaptiste Daroussin history. 3282*28ff4d35SBaptiste Daroussin 3283*28ff4d35SBaptiste Daroussin2010-08-28 17:44 christos 3284*28ff4d35SBaptiste Daroussin 3285*28ff4d35SBaptiste Daroussin * chared.c, chared.h, el.c, eln.c, histedit.h, readline.c: setup a 3286*28ff4d35SBaptiste Daroussin callback to be invoked on resize buffers so that readline can 3287*28ff4d35SBaptiste Daroussin reset rl_line_buffer which unfortunately some applications use it 3288*28ff4d35SBaptiste Daroussin directly. 3289*28ff4d35SBaptiste Daroussin 3290*28ff4d35SBaptiste Daroussin2010-08-04 22:29 christos 3291*28ff4d35SBaptiste Daroussin 3292*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: provide rl_on_newline 3293*28ff4d35SBaptiste Daroussin 3294*28ff4d35SBaptiste Daroussin2010-07-21 20:18 christos 3295*28ff4d35SBaptiste Daroussin 3296*28ff4d35SBaptiste Daroussin * read.c: refresh only on SIGCONT not SIGWINCH from Edward 3297*28ff4d35SBaptiste Daroussin Sheldrake 3298*28ff4d35SBaptiste Daroussin 3299*28ff4d35SBaptiste Daroussin2010-07-19 19:18 christos 3300*28ff4d35SBaptiste Daroussin 3301*28ff4d35SBaptiste Daroussin * read.c: retry the read after sigwinch too, from Edward Sheldrake 3302*28ff4d35SBaptiste Daroussin 3303*28ff4d35SBaptiste Daroussin2010-06-01 20:20 christos 3304*28ff4d35SBaptiste Daroussin 3305*28ff4d35SBaptiste Daroussin * filecomplete.c: tidy up memory allocation and don't unnecessarily 3306*28ff4d35SBaptiste Daroussin print "./" before names. 3307*28ff4d35SBaptiste Daroussin 3308*28ff4d35SBaptiste Daroussin2010-04-21 07:28 matt 3309*28ff4d35SBaptiste Daroussin 3310*28ff4d35SBaptiste Daroussin * common.c: sync to netbsd-5 3311*28ff4d35SBaptiste Daroussin 3312*28ff4d35SBaptiste Daroussin2010-04-20 04:01 christos 3313*28ff4d35SBaptiste Daroussin 3314*28ff4d35SBaptiste Daroussin * chartype.h: Use the same hack for Solaris and MacOS/X. This is 3315*28ff4d35SBaptiste Daroussin not right, we only really support UTF-8, but it will get us going 3316*28ff4d35SBaptiste Daroussin until this is fixed properly. From Jess Thrysoee 3317*28ff4d35SBaptiste Daroussin 3318*28ff4d35SBaptiste Daroussin2010-04-18 23:17 christos 3319*28ff4d35SBaptiste Daroussin 3320*28ff4d35SBaptiste Daroussin * TEST/: tc1.c, wtc1.c: \033 is more portable than \e still. 3321*28ff4d35SBaptiste Daroussin 3322*28ff4d35SBaptiste Daroussin2010-04-18 23:17 christos 3323*28ff4d35SBaptiste Daroussin 3324*28ff4d35SBaptiste Daroussin * tty.c: ffs needs strings.h 3325*28ff4d35SBaptiste Daroussin 3326*28ff4d35SBaptiste Daroussin2010-04-18 23:17 christos 3327*28ff4d35SBaptiste Daroussin 3328*28ff4d35SBaptiste Daroussin * makelist: shame on solaris that is the last OS not supporting $() 3329*28ff4d35SBaptiste Daroussin 3330*28ff4d35SBaptiste Daroussin2010-04-15 02:57 christos 3331*28ff4d35SBaptiste Daroussin 3332*28ff4d35SBaptiste Daroussin * chared.h, makelist, readline.c, search.c: From Jess Thrysoee 3333*28ff4d35SBaptiste Daroussin - Fix wint_t to Int confusion 3334*28ff4d35SBaptiste Daroussin 3335*28ff4d35SBaptiste Daroussin2010-04-15 02:56 christos 3336*28ff4d35SBaptiste Daroussin 3337*28ff4d35SBaptiste Daroussin * el.c: From Jess Thrysoee - use nl_langinfo to test for UTF-8, 3338*28ff4d35SBaptiste Daroussin because some locales are UTF-8 without reflecting it in 3339*28ff4d35SBaptiste Daroussin their names. 3340*28ff4d35SBaptiste Daroussin 3341*28ff4d35SBaptiste Daroussin2010-04-15 02:55 christos 3342*28ff4d35SBaptiste Daroussin 3343*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h: From Jess Thrysoee expose 3344*28ff4d35SBaptiste Daroussin ct_enc_width() 3345*28ff4d35SBaptiste Daroussin 3346*28ff4d35SBaptiste Daroussin2010-04-15 02:52 christos 3347*28ff4d35SBaptiste Daroussin 3348*28ff4d35SBaptiste Daroussin * eln.c: From Jess Thrysoee - NARROW_HISTORY and IGNORE_EXTCHARS 3349*28ff4d35SBaptiste Daroussin should not take effect if locale is UTF-8 - account for multi 3350*28ff4d35SBaptiste Daroussin byte char length in 3351*28ff4d35SBaptiste Daroussin 3352*28ff4d35SBaptiste Daroussin2010-04-15 02:50 christos 3353*28ff4d35SBaptiste Daroussin 3354*28ff4d35SBaptiste Daroussin * TEST/tc1.c: From Jess Thrysoee: call setlocale so we can test 3355*28ff4d35SBaptiste Daroussin UTF-8 3356*28ff4d35SBaptiste Daroussin 3357*28ff4d35SBaptiste Daroussin2010-04-15 02:50 christos 3358*28ff4d35SBaptiste Daroussin 3359*28ff4d35SBaptiste Daroussin * histedit.h: From Jess Thrysoee: add ifndef around def of 3360*28ff4d35SBaptiste Daroussin _GNU_SOURCE 3361*28ff4d35SBaptiste Daroussin 3362*28ff4d35SBaptiste Daroussin2010-03-22 23:59 christos 3363*28ff4d35SBaptiste Daroussin 3364*28ff4d35SBaptiste Daroussin * read.c: https://bugzilla.redhat.com/show_bug.cgi?id=575383 Handle 3365*28ff4d35SBaptiste Daroussin EINTR properly. 3366*28ff4d35SBaptiste Daroussin 3367*28ff4d35SBaptiste Daroussin2010-02-03 16:34 roy 3368*28ff4d35SBaptiste Daroussin 3369*28ff4d35SBaptiste Daroussin * Makefile, TEST/Makefile: Userland now builds and uses terminfo 3370*28ff4d35SBaptiste Daroussin instead of termcap. 3371*28ff4d35SBaptiste Daroussin 3372*28ff4d35SBaptiste Daroussin OK: core@, jdc@ 3373*28ff4d35SBaptiste Daroussin 3374*28ff4d35SBaptiste Daroussin2010-01-20 02:15 christos 3375*28ff4d35SBaptiste Daroussin 3376*28ff4d35SBaptiste Daroussin * eln.c: PR/42646: Joachim Kuebart: Shell crashes in libedit when 3377*28ff4d35SBaptiste Daroussin window size changes (SIGWINCH). Return NULL if el_gets() gets 3378*28ff4d35SBaptiste Daroussin interrupted. 3379*28ff4d35SBaptiste Daroussin 3380*28ff4d35SBaptiste Daroussin2010-01-19 23:38 christos 3381*28ff4d35SBaptiste Daroussin 3382*28ff4d35SBaptiste Daroussin * eln.c: Fix wrapper for EL_EDITOR, from Michael L. Hitch 3383*28ff4d35SBaptiste Daroussin 3384*28ff4d35SBaptiste Daroussin2010-01-18 20:17 christos 3385*28ff4d35SBaptiste Daroussin 3386*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/42637: Joachim Kuebart: Shell tab completion 3387*28ff4d35SBaptiste Daroussin crashes due to libedit stack smashing 3388*28ff4d35SBaptiste Daroussin 3389*28ff4d35SBaptiste Daroussin2010-01-12 20:40 christos 3390*28ff4d35SBaptiste Daroussin 3391*28ff4d35SBaptiste Daroussin * eln.c: - call the mapping function directly instead of el_wset(). 3392*28ff4d35SBaptiste Daroussin - save the strings passed to the mapping function so that they 3393*28ff4d35SBaptiste Daroussin don't get re-used. This leaks. To fix it properly we could 3394*28ff4d35SBaptiste Daroussin either pass a flag to free particular entries before re-using, 3395*28ff4d35SBaptiste Daroussin or allocate all of them. Allocating all of them wastes memory, 3396*28ff4d35SBaptiste Daroussin allocating some of them makes the code more complex. This 3397*28ff4d35SBaptiste Daroussin fixes compatibility binding (shell tab completion for example) 3398*28ff4d35SBaptiste Daroussin 3399*28ff4d35SBaptiste Daroussin2010-01-12 20:37 christos 3400*28ff4d35SBaptiste Daroussin 3401*28ff4d35SBaptiste Daroussin * chartype.c: - in the argv conversion, handle NULL as NULL - when 3402*28ff4d35SBaptiste Daroussin printing tab/nl print them, don't handle them specially. 3403*28ff4d35SBaptiste Daroussin 3404*28ff4d35SBaptiste Daroussin2010-01-03 20:05 wiz 3405*28ff4d35SBaptiste Daroussin 3406*28ff4d35SBaptiste Daroussin * editline.3: Bump date for historyw -> history_w. 3407*28ff4d35SBaptiste Daroussin 3408*28ff4d35SBaptiste Daroussin2010-01-03 19:27 christos 3409*28ff4d35SBaptiste Daroussin 3410*28ff4d35SBaptiste Daroussin * chartype.h, editline.3, histedit.h, history.c, readline.c, 3411*28ff4d35SBaptiste Daroussin tokenizer.c, TEST/Makefile, TEST/wtc1.c: rename historyw -> 3412*28ff4d35SBaptiste Daroussin history_w for consistency. add wide tst code and make it the 3413*28ff4d35SBaptiste Daroussin default. 3414*28ff4d35SBaptiste Daroussin 3415*28ff4d35SBaptiste Daroussin2009-12-31 19:32 christos 3416*28ff4d35SBaptiste Daroussin 3417*28ff4d35SBaptiste Daroussin * chartype.c, chartype.h: expose the encode and decode string 3418*28ff4d35SBaptiste Daroussin functions for the benefit of history and readline. 3419*28ff4d35SBaptiste Daroussin 3420*28ff4d35SBaptiste Daroussin2009-12-31 16:58 christos 3421*28ff4d35SBaptiste Daroussin 3422*28ff4d35SBaptiste Daroussin * Makefile, editline.3, el.c, el.h, eln.c, histedit.h, prompt.c, 3423*28ff4d35SBaptiste Daroussin read.c: - Document and enable wide character support. - Fix read 3424*28ff4d35SBaptiste Daroussin function compatibility. 3425*28ff4d35SBaptiste Daroussin 3426*28ff4d35SBaptiste Daroussin2009-12-31 00:54 christos 3427*28ff4d35SBaptiste Daroussin 3428*28ff4d35SBaptiste Daroussin * Makefile, chartype.h, el.c, el.h, eln.c, hist.c, hist.h, 3429*28ff4d35SBaptiste Daroussin histedit.h, history.c, makelist, readline.c, search.c, 3430*28ff4d35SBaptiste Daroussin tokenizer.c: Fix wide build, test it, but don't turn it on yet. 3431*28ff4d35SBaptiste Daroussin 3432*28ff4d35SBaptiste Daroussin2009-12-30 23:37 christos 3433*28ff4d35SBaptiste Daroussin 3434*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, chartype.c, chartype.h, common.c, 3435*28ff4d35SBaptiste Daroussin el.c, el.h, eln.c, emacs.c, filecomplete.c, filecomplete.h, 3436*28ff4d35SBaptiste Daroussin hist.c, hist.h, histedit.h, history.c, key.c, key.h, makelist, 3437*28ff4d35SBaptiste Daroussin map.c, map.h, parse.c, parse.h, prompt.c, prompt.h, read.c, 3438*28ff4d35SBaptiste Daroussin read.h, readline.c, refresh.c, refresh.h, search.c, search.h, 3439*28ff4d35SBaptiste Daroussin sys.h, term.c, term.h, tokenizer.c, tty.c, tty.h, vi.c: Wide 3440*28ff4d35SBaptiste Daroussin character support (UTF-8) from Johny Mattsson; currently 3441*28ff4d35SBaptiste Daroussin disabled. 3442*28ff4d35SBaptiste Daroussin 3443*28ff4d35SBaptiste Daroussin2009-12-28 23:15 christos 3444*28ff4d35SBaptiste Daroussin 3445*28ff4d35SBaptiste Daroussin * refresh.c: reduce diff with tcsh 3446*28ff4d35SBaptiste Daroussin 3447*28ff4d35SBaptiste Daroussin2009-12-28 22:55 christos 3448*28ff4d35SBaptiste Daroussin 3449*28ff4d35SBaptiste Daroussin * filecomplete.c: improve on the listing display by printing only 3450*28ff4d35SBaptiste Daroussin one character after the filename not two, and no trailing blanks. 3451*28ff4d35SBaptiste Daroussin I will revisit this when I write the ls-F code. 3452*28ff4d35SBaptiste Daroussin 3453*28ff4d35SBaptiste Daroussin2009-12-28 22:54 christos 3454*28ff4d35SBaptiste Daroussin 3455*28ff4d35SBaptiste Daroussin * term.c: Reduce diff with tcsh's editor. No functional change 3456*28ff4d35SBaptiste Daroussin intended. 3457*28ff4d35SBaptiste Daroussin 3458*28ff4d35SBaptiste Daroussin2009-12-28 22:52 christos 3459*28ff4d35SBaptiste Daroussin 3460*28ff4d35SBaptiste Daroussin * refresh.c: Fix bug where tab completion on the second or > line 3461*28ff4d35SBaptiste Daroussin that caused listing ended up corrupting the display by an extra 3462*28ff4d35SBaptiste Daroussin space in the beginning. Reported by Mac Chan. 3463*28ff4d35SBaptiste Daroussin 3464*28ff4d35SBaptiste Daroussin2009-09-07 23:24 christos 3465*28ff4d35SBaptiste Daroussin 3466*28ff4d35SBaptiste Daroussin * histedit.h, history.c, readline.c, readline/readline.h: apply 3467*28ff4d35SBaptiste Daroussin apple patches from: 3468*28ff4d35SBaptiste Daroussin http://opensource.apple.com/source/libedit/libedit-11/patches/ 3469*28ff4d35SBaptiste Daroussin 3470*28ff4d35SBaptiste Daroussin2009-08-31 02:05 christos 3471*28ff4d35SBaptiste Daroussin 3472*28ff4d35SBaptiste Daroussin * sys.h, term.c, readline/readline.h: delete defined(sun), it could 3473*28ff4d35SBaptiste Daroussin be invaded in the user namespace. Suggested by mrg@ 3474*28ff4d35SBaptiste Daroussin 3475*28ff4d35SBaptiste Daroussin2009-08-30 17:41 christos 3476*28ff4d35SBaptiste Daroussin 3477*28ff4d35SBaptiste Daroussin * sys.h, term.c, readline/readline.h: use __sun || sun instead of 3478*28ff4d35SBaptiste Daroussin _SunOS, from Jess Thrysoee 3479*28ff4d35SBaptiste Daroussin 3480*28ff4d35SBaptiste Daroussin2009-07-25 23:19 christos 3481*28ff4d35SBaptiste Daroussin 3482*28ff4d35SBaptiste Daroussin * el.c: Ignore comment lines in .editrc from Jess Thrysoee 3483*28ff4d35SBaptiste Daroussin 3484*28ff4d35SBaptiste Daroussin2009-07-22 20:25 christos 3485*28ff4d35SBaptiste Daroussin 3486*28ff4d35SBaptiste Daroussin * el.c: Only need path if we have issetugid... From Anon Ymous 3487*28ff4d35SBaptiste Daroussin 3488*28ff4d35SBaptiste Daroussin2009-07-22 17:58 christos 3489*28ff4d35SBaptiste Daroussin 3490*28ff4d35SBaptiste Daroussin * tty.c: Don't depend on side effects inside an assert From Michael 3491*28ff4d35SBaptiste Daroussin Cook mcook at bbn dot com 3492*28ff4d35SBaptiste Daroussin 3493*28ff4d35SBaptiste Daroussin2009-07-22 17:57 christos 3494*28ff4d35SBaptiste Daroussin 3495*28ff4d35SBaptiste Daroussin * readline.c: Fix memory leaks in error paths. From Michael Cook 3496*28ff4d35SBaptiste Daroussin mcook at bbn dot com 3497*28ff4d35SBaptiste Daroussin 3498*28ff4d35SBaptiste Daroussin2009-07-22 17:57 christos 3499*28ff4d35SBaptiste Daroussin 3500*28ff4d35SBaptiste Daroussin * read.c: Always initialize nread since it is an out param. From 3501*28ff4d35SBaptiste Daroussin Michael Cook mcook at bbn dot com 3502*28ff4d35SBaptiste Daroussin 3503*28ff4d35SBaptiste Daroussin2009-07-22 17:56 christos 3504*28ff4d35SBaptiste Daroussin 3505*28ff4d35SBaptiste Daroussin * el.c: Move filename to the scope it is being used. From Michael 3506*28ff4d35SBaptiste Daroussin Cook mcook at bbn dot com 3507*28ff4d35SBaptiste Daroussin 3508*28ff4d35SBaptiste Daroussin2009-07-17 14:28 christos 3509*28ff4d35SBaptiste Daroussin 3510*28ff4d35SBaptiste Daroussin * refresh.c: Simplify the code. No functional change. 3511*28ff4d35SBaptiste Daroussin 3512*28ff4d35SBaptiste Daroussin2009-07-17 14:27 christos 3513*28ff4d35SBaptiste Daroussin 3514*28ff4d35SBaptiste Daroussin * term.c: - off by one in the term.h case. - make code more 3515*28ff4d35SBaptiste Daroussin similar to tcsh (if we want to handle wide chars, this is 3516*28ff4d35SBaptiste Daroussin needed; for now it is a no-op) 3517*28ff4d35SBaptiste Daroussin 3518*28ff4d35SBaptiste Daroussin2009-07-17 14:26 christos 3519*28ff4d35SBaptiste Daroussin 3520*28ff4d35SBaptiste Daroussin * prompt.c: handle prompt_esc properly. 3521*28ff4d35SBaptiste Daroussin 3522*28ff4d35SBaptiste Daroussin2009-07-17 14:25 christos 3523*28ff4d35SBaptiste Daroussin 3524*28ff4d35SBaptiste Daroussin * TEST/tc1.c: Use the proper prompt printing function. 3525*28ff4d35SBaptiste Daroussin 3526*28ff4d35SBaptiste Daroussin2009-07-09 21:02 christos 3527*28ff4d35SBaptiste Daroussin 3528*28ff4d35SBaptiste Daroussin * readline/readline.h: add stdio.h since we are using FILE. From 3529*28ff4d35SBaptiste Daroussin Grant Erickson 3530*28ff4d35SBaptiste Daroussin 3531*28ff4d35SBaptiste Daroussin2009-07-05 23:55 perry 3532*28ff4d35SBaptiste Daroussin 3533*28ff4d35SBaptiste Daroussin * editline.3: note that the return value of el_gets doesn't remain 3534*28ff4d35SBaptiste Daroussin valid across calls. 3535*28ff4d35SBaptiste Daroussin 3536*28ff4d35SBaptiste Daroussin2009-06-09 15:04 christos 3537*28ff4d35SBaptiste Daroussin 3538*28ff4d35SBaptiste Daroussin * read.c: decrement the number of levels after the loop (Julien 3539*28ff4d35SBaptiste Daroussin Torres) 3540*28ff4d35SBaptiste Daroussin 3541*28ff4d35SBaptiste Daroussin2009-06-08 17:10 christos 3542*28ff4d35SBaptiste Daroussin 3543*28ff4d35SBaptiste Daroussin * read.c: from Julien Torres, flip the order we pop in the macro 3544*28ff4d35SBaptiste Daroussin array. 3545*28ff4d35SBaptiste Daroussin 3546*28ff4d35SBaptiste Daroussin2009-05-19 23:45 christos 3547*28ff4d35SBaptiste Daroussin 3548*28ff4d35SBaptiste Daroussin * refresh.c: always scroll when we advance past bottom. From Caleb 3549*28ff4d35SBaptiste Daroussin Welton cwelton at greenplum dot com 3550*28ff4d35SBaptiste Daroussin 3551*28ff4d35SBaptiste Daroussin2009-05-13 21:18 jym 3552*28ff4d35SBaptiste Daroussin 3553*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, editline.3, editrc.5, el.c, el.h, 3554*28ff4d35SBaptiste Daroussin emacs.c, filecomplete.c, filecomplete.h, histedit.h, key.c, 3555*28ff4d35SBaptiste Daroussin key.h, makelist, prompt.c, prompt.h, read.c, readline.c, 3556*28ff4d35SBaptiste Daroussin refresh.c, search.c, sig.c, sig.h, term.c, term.h, tokenizer.c, 3557*28ff4d35SBaptiste Daroussin tty.c, vi.c, TEST/tc1.c, readline/readline.h: Sync with HEAD. 3558*28ff4d35SBaptiste Daroussin 3559*28ff4d35SBaptiste Daroussin Third (and last) commit. See 3560*28ff4d35SBaptiste Daroussin http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html 3561*28ff4d35SBaptiste Daroussin 3562*28ff4d35SBaptiste Daroussin2009-05-12 10:14 wiz 3563*28ff4d35SBaptiste Daroussin 3564*28ff4d35SBaptiste Daroussin * editline.3: Punctuation nit. 3565*28ff4d35SBaptiste Daroussin 3566*28ff4d35SBaptiste Daroussin2009-05-11 20:33 christos 3567*28ff4d35SBaptiste Daroussin 3568*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h: restore binary compatibility by 3569*28ff4d35SBaptiste Daroussin providing new prompt functions that take an extra literal 3570*28ff4d35SBaptiste Daroussin character. 3571*28ff4d35SBaptiste Daroussin 3572*28ff4d35SBaptiste Daroussin2009-05-04 00:53 snj 3573*28ff4d35SBaptiste Daroussin 3574*28ff4d35SBaptiste Daroussin * common.c: Pull up following revision(s) (requested by msaitoh in 3575*28ff4d35SBaptiste Daroussin ticket #703): lib/libedit/common.c: revision 1.23 fix 3576*28ff4d35SBaptiste Daroussin mis-evaluating whether a char is digit or not. 3577*28ff4d35SBaptiste Daroussin 3578*28ff4d35SBaptiste Daroussin2009-04-30 20:11 bouyer 3579*28ff4d35SBaptiste Daroussin 3580*28ff4d35SBaptiste Daroussin * common.c: Pull up following revision(s) (requested by msaitoh in 3581*28ff4d35SBaptiste Daroussin ticket #1307): lib/libedit/common.c: revision 1.23 fix 3582*28ff4d35SBaptiste Daroussin mis-evaluating whether a char is digit or not. 3583*28ff4d35SBaptiste Daroussin 3584*28ff4d35SBaptiste Daroussin2009-04-23 04:03 snj 3585*28ff4d35SBaptiste Daroussin 3586*28ff4d35SBaptiste Daroussin * term.c: Apply patch (requested by msaitoh in ticket #2007): 3587*28ff4d35SBaptiste Daroussin Coverity CID 1668: Plug memory leak when malloc() failed. 3588*28ff4d35SBaptiste Daroussin 3589*28ff4d35SBaptiste Daroussin2009-04-23 04:00 snj 3590*28ff4d35SBaptiste Daroussin 3591*28ff4d35SBaptiste Daroussin * common.c: Pull up following revision(s) (requested by msaitoh in 3592*28ff4d35SBaptiste Daroussin ticket #2006): lib/libedit/common.c: revision 1.23 fix 3593*28ff4d35SBaptiste Daroussin mis-evaluating whether a char is digit or not. 3594*28ff4d35SBaptiste Daroussin 3595*28ff4d35SBaptiste Daroussin2009-04-16 21:39 christos 3596*28ff4d35SBaptiste Daroussin 3597*28ff4d35SBaptiste Daroussin * prompt.c: PR/41230: -current: sh(1) endlessly looping in 3598*28ff4d35SBaptiste Daroussin interactive Fix proposed from Matthew Mondor 3599*28ff4d35SBaptiste Daroussin 3600*28ff4d35SBaptiste Daroussin2009-04-12 00:17 wiz 3601*28ff4d35SBaptiste Daroussin 3602*28ff4d35SBaptiste Daroussin * editrc.5: Drop trailing whitespace. 3603*28ff4d35SBaptiste Daroussin 3604*28ff4d35SBaptiste Daroussin2009-04-11 22:53 joerg 3605*28ff4d35SBaptiste Daroussin 3606*28ff4d35SBaptiste Daroussin * editrc.5: Don't use .Xo/.Xc to work around ancient macro argument 3607*28ff4d35SBaptiste Daroussin limit in groff. 3608*28ff4d35SBaptiste Daroussin 3609*28ff4d35SBaptiste Daroussin2009-04-11 22:48 joerg 3610*28ff4d35SBaptiste Daroussin 3611*28ff4d35SBaptiste Daroussin * editline.3: Don't use .Xo/.Xc to avoid ancient macro argument 3612*28ff4d35SBaptiste Daroussin limit. 3613*28ff4d35SBaptiste Daroussin 3614*28ff4d35SBaptiste Daroussin2009-04-08 23:31 christos 3615*28ff4d35SBaptiste Daroussin 3616*28ff4d35SBaptiste Daroussin * readline.c: Fix off by one error reported by: Caleb Welton 3617*28ff4d35SBaptiste Daroussin cwelton at greenplum dot com 3618*28ff4d35SBaptiste Daroussin 3619*28ff4d35SBaptiste Daroussin2009-04-01 10:58 wiz 3620*28ff4d35SBaptiste Daroussin 3621*28ff4d35SBaptiste Daroussin * editline.3: Readability improvement. Whitespace nits. 3622*28ff4d35SBaptiste Daroussin 3623*28ff4d35SBaptiste Daroussin2009-03-31 23:33 christos 3624*28ff4d35SBaptiste Daroussin 3625*28ff4d35SBaptiste Daroussin * term.c: cast to size_t to avoid sign / unsigned comparison 3626*28ff4d35SBaptiste Daroussin warning. 3627*28ff4d35SBaptiste Daroussin 3628*28ff4d35SBaptiste Daroussin2009-03-31 19:53 christos 3629*28ff4d35SBaptiste Daroussin 3630*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: implement 3631*28ff4d35SBaptiste Daroussin RL_PROMPT_{START,END}_IGNORE 3632*28ff4d35SBaptiste Daroussin 3633*28ff4d35SBaptiste Daroussin2009-03-31 19:38 christos 3634*28ff4d35SBaptiste Daroussin 3635*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, prompt.c, prompt.h, refresh.c, 3636*28ff4d35SBaptiste Daroussin term.c, term.h, TEST/tc1.c: Implement literal prompt sequences. 3637*28ff4d35SBaptiste Daroussin Now someone can implement 3638*28ff4d35SBaptiste Daroussin RL_PROMPT_START_LITERAL/RL_PROMPT_END_LITERAL :-) 3639*28ff4d35SBaptiste Daroussin 3640*28ff4d35SBaptiste Daroussin2009-03-10 23:55 wiz 3641*28ff4d35SBaptiste Daroussin 3642*28ff4d35SBaptiste Daroussin * editline.3: -1 is not a defined value, it is just a value. On 3643*28ff4d35SBaptiste Daroussin the other hand, minuses need backslashes, otherwise they become 3644*28ff4d35SBaptiste Daroussin hyphens. 3645*28ff4d35SBaptiste Daroussin 3646*28ff4d35SBaptiste Daroussin2009-03-10 21:46 christos 3647*28ff4d35SBaptiste Daroussin 3648*28ff4d35SBaptiste Daroussin * editline.3, read.c: make el_gets set the count to -1 on error to 3649*28ff4d35SBaptiste Daroussin distinguish between EOF and error. 3650*28ff4d35SBaptiste Daroussin 3651*28ff4d35SBaptiste Daroussin2009-03-09 20:24 joerg 3652*28ff4d35SBaptiste Daroussin 3653*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: Fix preamble to match order set out by 3654*28ff4d35SBaptiste Daroussin mdoc(7). Discussed with wiz. 3655*28ff4d35SBaptiste Daroussin 3656*28ff4d35SBaptiste Daroussin2009-02-27 05:18 msaitoh 3657*28ff4d35SBaptiste Daroussin 3658*28ff4d35SBaptiste Daroussin * common.c: fix mis-evaluating whether a char is digit or not. 3659*28ff4d35SBaptiste Daroussin 3660*28ff4d35SBaptiste Daroussin2009-02-22 00:35 christos 3661*28ff4d35SBaptiste Daroussin 3662*28ff4d35SBaptiste Daroussin * read.c: remove VEOF test. the tty is in cooked mode when we are 3663*28ff4d35SBaptiste Daroussin not editing and the tty driver does the check for us. 3664*28ff4d35SBaptiste Daroussin 3665*28ff4d35SBaptiste Daroussin2009-02-22 00:31 christos 3666*28ff4d35SBaptiste Daroussin 3667*28ff4d35SBaptiste Daroussin * key.c, key.h, readline.c, vi.c: more size_t stuff. 3668*28ff4d35SBaptiste Daroussin 3669*28ff4d35SBaptiste Daroussin2009-02-22 00:31 christos 3670*28ff4d35SBaptiste Daroussin 3671*28ff4d35SBaptiste Daroussin * read.c: use the VEOF character from the terminal, instead of 3672*28ff4d35SBaptiste Daroussin hard-coding 4. 3673*28ff4d35SBaptiste Daroussin 3674*28ff4d35SBaptiste Daroussin2009-02-21 08:58 wiz 3675*28ff4d35SBaptiste Daroussin 3676*28ff4d35SBaptiste Daroussin * editline.3: Restore markup changes (probably accidentally) 3677*28ff4d35SBaptiste Daroussin reverted in previous. 3678*28ff4d35SBaptiste Daroussin 3679*28ff4d35SBaptiste Daroussin2009-02-21 01:05 christos 3680*28ff4d35SBaptiste Daroussin 3681*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, prompt.c, prompt.h: back out all 3682*28ff4d35SBaptiste Daroussin prompt changes. they are not needed. 3683*28ff4d35SBaptiste Daroussin 3684*28ff4d35SBaptiste Daroussin2009-02-19 21:27 cube 3685*28ff4d35SBaptiste Daroussin 3686*28ff4d35SBaptiste Daroussin * el.c: Order of evaluation of arguments is undefined, so call 3687*28ff4d35SBaptiste Daroussin va_arg() in an explicit order. Fixes a segfault with bc reported 3688*28ff4d35SBaptiste Daroussin by Patrick Welche on current-users. 3689*28ff4d35SBaptiste Daroussin 3690*28ff4d35SBaptiste Daroussin2009-02-19 16:20 christos 3691*28ff4d35SBaptiste Daroussin 3692*28ff4d35SBaptiste Daroussin * read.c, sig.c, sig.h: reset and redraw on sigcont. From Anon 3693*28ff4d35SBaptiste Daroussin Ymous. 3694*28ff4d35SBaptiste Daroussin 3695*28ff4d35SBaptiste Daroussin2009-02-19 10:48 wiz 3696*28ff4d35SBaptiste Daroussin 3697*28ff4d35SBaptiste Daroussin * editline.3: Fix wordo, use more markup. 3698*28ff4d35SBaptiste Daroussin 3699*28ff4d35SBaptiste Daroussin2009-02-19 02:18 christos 3700*28ff4d35SBaptiste Daroussin 3701*28ff4d35SBaptiste Daroussin * histedit.h: bump version for prompt arg. 3702*28ff4d35SBaptiste Daroussin 3703*28ff4d35SBaptiste Daroussin2009-02-19 02:18 christos 3704*28ff4d35SBaptiste Daroussin 3705*28ff4d35SBaptiste Daroussin * editline.3: document extra argument. 3706*28ff4d35SBaptiste Daroussin 3707*28ff4d35SBaptiste Daroussin2009-02-18 16:04 christos 3708*28ff4d35SBaptiste Daroussin 3709*28ff4d35SBaptiste Daroussin * sig.c: SA_RESTART for all signals but SIGINT. From Anon Ymous. 3710*28ff4d35SBaptiste Daroussin 3711*28ff4d35SBaptiste Daroussin2009-02-17 22:34 christos 3712*28ff4d35SBaptiste Daroussin 3713*28ff4d35SBaptiste Daroussin * el.c, histedit.h, prompt.c, prompt.h: allow for a prompt 3714*28ff4d35SBaptiste Daroussin argument. 3715*28ff4d35SBaptiste Daroussin 3716*28ff4d35SBaptiste Daroussin2009-02-16 01:15 christos 3717*28ff4d35SBaptiste Daroussin 3718*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, key.c, tty.c: fix sign compare 3719*28ff4d35SBaptiste Daroussin issues. 3720*28ff4d35SBaptiste Daroussin 3721*28ff4d35SBaptiste Daroussin2009-02-15 22:55 christos 3722*28ff4d35SBaptiste Daroussin 3723*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, emacs.c, filecomplete.c, 3724*28ff4d35SBaptiste Daroussin filecomplete.h, key.c, key.h, read.c, readline.c, refresh.c, 3725*28ff4d35SBaptiste Daroussin search.c, term.c, tokenizer.c, tty.c, vi.c: pass lint on _LP64. 3726*28ff4d35SBaptiste Daroussin 3727*28ff4d35SBaptiste Daroussin2009-02-15 22:25 christos 3728*28ff4d35SBaptiste Daroussin 3729*28ff4d35SBaptiste Daroussin * sig.c, sig.h: in order for read() to return EINTR we need to use 3730*28ff4d35SBaptiste Daroussin sigaction, not signal, otherwise SA_RESTART is set. 3731*28ff4d35SBaptiste Daroussin 3732*28ff4d35SBaptiste Daroussin2009-02-15 22:24 christos 3733*28ff4d35SBaptiste Daroussin 3734*28ff4d35SBaptiste Daroussin * el.h, read.c: don't restart on EINTR, instead return NULL 3735*28ff4d35SBaptiste Daroussin immediately. From Anon Ymous 3736*28ff4d35SBaptiste Daroussin 3737*28ff4d35SBaptiste Daroussin2009-02-12 14:39 sketch 3738*28ff4d35SBaptiste Daroussin 3739*28ff4d35SBaptiste Daroussin * makelist, readline.c, term.c, readline/readline.h: More fixes for 3740*28ff4d35SBaptiste Daroussin existing portability stuff. 3741*28ff4d35SBaptiste Daroussin 3742*28ff4d35SBaptiste Daroussin2009-02-06 21:08 sketch 3743*28ff4d35SBaptiste Daroussin 3744*28ff4d35SBaptiste Daroussin * sys.h, term.c: SUNOS is spelt __SunOS. Add missing prototypes. 3745*28ff4d35SBaptiste Daroussin 3746*28ff4d35SBaptiste Daroussin2009-02-06 20:53 sketch 3747*28ff4d35SBaptiste Daroussin 3748*28ff4d35SBaptiste Daroussin * tty.c: Needs errno.h 3749*28ff4d35SBaptiste Daroussin 3750*28ff4d35SBaptiste Daroussin2009-02-06 15:40 sketch 3751*28ff4d35SBaptiste Daroussin 3752*28ff4d35SBaptiste Daroussin * history.c: Plug memory leak, from MySQL. 3753*28ff4d35SBaptiste Daroussin 3754*28ff4d35SBaptiste Daroussin2009-02-06 14:14 sketch 3755*28ff4d35SBaptiste Daroussin 3756*28ff4d35SBaptiste Daroussin * vi.c: Portability fix. 3757*28ff4d35SBaptiste Daroussin 3758*28ff4d35SBaptiste Daroussin2009-02-06 13:45 sketch 3759*28ff4d35SBaptiste Daroussin 3760*28ff4d35SBaptiste Daroussin * chared.c: de-__P() 3761*28ff4d35SBaptiste Daroussin 3762*28ff4d35SBaptiste Daroussin2009-02-05 20:15 christos 3763*28ff4d35SBaptiste Daroussin 3764*28ff4d35SBaptiste Daroussin * histedit.h, read.c: match documentation in el_push 3765*28ff4d35SBaptiste Daroussin 3766*28ff4d35SBaptiste Daroussin2009-02-05 20:15 christos 3767*28ff4d35SBaptiste Daroussin 3768*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: add rl_set_prompt 3769*28ff4d35SBaptiste Daroussin 3770*28ff4d35SBaptiste Daroussin2009-01-26 18:32 apb 3771*28ff4d35SBaptiste Daroussin 3772*28ff4d35SBaptiste Daroussin * config.h, filecomplete.c: Define HAVE_STRUCT_DIRENT_D_NAMLEN in 3773*28ff4d35SBaptiste Daroussin config,h, and test it when deciding whether to use 3774*28ff4d35SBaptiste Daroussin entry->d_namlen or strlen(entry->d_name). Addresses PR 40477 by 3775*28ff4d35SBaptiste Daroussin Robert Millan. 3776*28ff4d35SBaptiste Daroussin 3777*28ff4d35SBaptiste Daroussin2009-01-18 13:17 lukem 3778*28ff4d35SBaptiste Daroussin 3779*28ff4d35SBaptiste Daroussin * Makefile: WARNS=4 3780*28ff4d35SBaptiste Daroussin 3781*28ff4d35SBaptiste Daroussin2009-01-18 13:17 lukem 3782*28ff4d35SBaptiste Daroussin 3783*28ff4d35SBaptiste Daroussin * el.c, read.c, readline.c: fix -Wsign-compare issues 3784*28ff4d35SBaptiste Daroussin 3785*28ff4d35SBaptiste Daroussin2009-01-11 16:00 christos 3786*28ff4d35SBaptiste Daroussin 3787*28ff4d35SBaptiste Daroussin * filecomplete.c, readline.c: - insert a space after the recognized 3788*28ff4d35SBaptiste Daroussin string if it was an exact match - initialize properly the string 3789*28ff4d35SBaptiste Daroussin used for completion. From Alex Bligh alex at alex dot org dot uk 3790*28ff4d35SBaptiste Daroussin - Make char constants consistent 3791*28ff4d35SBaptiste Daroussin 3792*28ff4d35SBaptiste Daroussin2009-01-11 04:07 christos 3793*28ff4d35SBaptiste Daroussin 3794*28ff4d35SBaptiste Daroussin * shlib_version: bump shared libraries. 3795*28ff4d35SBaptiste Daroussin 3796*28ff4d35SBaptiste Daroussin2008-09-30 10:37 aymeric 3797*28ff4d35SBaptiste Daroussin 3798*28ff4d35SBaptiste Daroussin * common.c: have '$' include the last character in the line when 3799*28ff4d35SBaptiste Daroussin embedded in a command. This fixes c$, d$, y$, and so on in vi 3800*28ff4d35SBaptiste Daroussin mode. 3801*28ff4d35SBaptiste Daroussin 3802*28ff4d35SBaptiste Daroussin2008-09-24 18:35 wrstuden 3803*28ff4d35SBaptiste Daroussin 3804*28ff4d35SBaptiste Daroussin * common.c, el.c, read.c, refresh.c, sig.c, term.c, term.h, tty.c: 3805*28ff4d35SBaptiste Daroussin Merge in changes between wrstuden-revivesa-base-2 and 3806*28ff4d35SBaptiste Daroussin wrstuden-revivesa-base-3. 3807*28ff4d35SBaptiste Daroussin 3808*28ff4d35SBaptiste Daroussin2008-09-18 06:39 wrstuden 3809*28ff4d35SBaptiste Daroussin 3810*28ff4d35SBaptiste Daroussin * sig.h, tty.c: Sync with wrstuden-revivesa-base-2. 3811*28ff4d35SBaptiste Daroussin 3812*28ff4d35SBaptiste Daroussin2008-09-10 17:45 christos 3813*28ff4d35SBaptiste Daroussin 3814*28ff4d35SBaptiste Daroussin * common.c, el.c, read.c, refresh.c, sig.c, term.c, term.h, tty.c: 3815*28ff4d35SBaptiste Daroussin Allow a single process to control multiple ttys (for pthreads 3816*28ff4d35SBaptiste Daroussin using _REENTRANT) using multiple EditLine objects. Mostly from 3817*28ff4d35SBaptiste Daroussin Preston A. Elder. 3818*28ff4d35SBaptiste Daroussin 3819*28ff4d35SBaptiste Daroussin2008-07-30 15:00 christos 3820*28ff4d35SBaptiste Daroussin 3821*28ff4d35SBaptiste Daroussin * tty.c: handle EINTR in the termios operations, reported by the 3822*28ff4d35SBaptiste Daroussin GHC folks 3823*28ff4d35SBaptiste Daroussin 3824*28ff4d35SBaptiste Daroussin2008-07-12 17:27 christos 3825*28ff4d35SBaptiste Daroussin 3826*28ff4d35SBaptiste Daroussin * sig.h: Don't bother with SIGSTOP it cannot be caught or ignored. 3827*28ff4d35SBaptiste Daroussin From Jess Thrysoee 3828*28ff4d35SBaptiste Daroussin 3829*28ff4d35SBaptiste Daroussin2008-05-18 14:30 yamt 3830*28ff4d35SBaptiste Daroussin 3831*28ff4d35SBaptiste Daroussin * editline.3, editrc.5, filecomplete.c, filecomplete.h, read.h, 3832*28ff4d35SBaptiste Daroussin readline.c, readline/readline.h: sync with head. 3833*28ff4d35SBaptiste Daroussin 3834*28ff4d35SBaptiste Daroussin2008-04-30 15:10 martin 3835*28ff4d35SBaptiste Daroussin 3836*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: Convert TNF licenses to new 2 clause 3837*28ff4d35SBaptiste Daroussin variant 3838*28ff4d35SBaptiste Daroussin 3839*28ff4d35SBaptiste Daroussin2008-04-29 08:53 martin 3840*28ff4d35SBaptiste Daroussin 3841*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, read.h, readline.c, 3842*28ff4d35SBaptiste Daroussin readline/readline.h: Convert to new 2 clause license 3843*28ff4d35SBaptiste Daroussin 3844*28ff4d35SBaptiste Daroussin2008-04-06 01:53 christos 3845*28ff4d35SBaptiste Daroussin 3846*28ff4d35SBaptiste Daroussin * histedit.h, shlib_version: bump minor. 3847*28ff4d35SBaptiste Daroussin 3848*28ff4d35SBaptiste Daroussin2008-04-05 17:53 christos 3849*28ff4d35SBaptiste Daroussin 3850*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, readline.c: add EL_REFRESH for the 3851*28ff4d35SBaptiste Daroussin benefit of readline 3852*28ff4d35SBaptiste Daroussin 3853*28ff4d35SBaptiste Daroussin2008-04-04 23:18 christos 3854*28ff4d35SBaptiste Daroussin 3855*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Add rl_forced_update_display() 3856*28ff4d35SBaptiste Daroussin from Gerry Swislow 3857*28ff4d35SBaptiste Daroussin 3858*28ff4d35SBaptiste Daroussin2007-08-12 09:41 christos 3859*28ff4d35SBaptiste Daroussin 3860*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: patches from Axel Thimm 3861*28ff4d35SBaptiste Daroussin 3862*28ff4d35SBaptiste Daroussin2007-06-10 22:20 christos 3863*28ff4d35SBaptiste Daroussin 3864*28ff4d35SBaptiste Daroussin * histedit.h: Fix tab/space confusion; from Stefan Farfeleder 3865*28ff4d35SBaptiste Daroussin 3866*28ff4d35SBaptiste Daroussin2007-05-28 14:06 tls 3867*28ff4d35SBaptiste Daroussin 3868*28ff4d35SBaptiste Daroussin * Makefile: Add new Makefile knob, USE_FORT, which extends USE_SSP 3869*28ff4d35SBaptiste Daroussin by turning on the FORTIFY_SOURCE feature of libssp, thus checking 3870*28ff4d35SBaptiste Daroussin the size of arguments to various string and memory copy and set 3871*28ff4d35SBaptiste Daroussin functions (as well as a few system calls and other miscellany) 3872*28ff4d35SBaptiste Daroussin where known at function entry. RedHat has evidently built all 3873*28ff4d35SBaptiste Daroussin "core system packages" with this option for some time. 3874*28ff4d35SBaptiste Daroussin 3875*28ff4d35SBaptiste Daroussin This option should be used at the top of Makefiles (or 3876*28ff4d35SBaptiste Daroussin Makefile.inc where this is used for subdirectories) but after any 3877*28ff4d35SBaptiste Daroussin setting of LIB. 3878*28ff4d35SBaptiste Daroussin 3879*28ff4d35SBaptiste Daroussin This is only useful for userland code, and cannot be used in libc 3880*28ff4d35SBaptiste Daroussin or in any code which includes the libc internals, because it 3881*28ff4d35SBaptiste Daroussin overrides certain libc functions with macros. Some effort has 3882*28ff4d35SBaptiste Daroussin been made to make USE_FORT=yes work correctly for a full-system 3883*28ff4d35SBaptiste Daroussin build by having the bsd.sys.mk logic disable the feature where it 3884*28ff4d35SBaptiste Daroussin should not be used (libc, libssp iteself, the kernel) but no 3885*28ff4d35SBaptiste Daroussin attempt has been made to build the entire system with USE_FORT 3886*28ff4d35SBaptiste Daroussin and doing so will doubtless expose numerous bugs and misfeatures. 3887*28ff4d35SBaptiste Daroussin 3888*28ff4d35SBaptiste Daroussin Adjust the system build so that all programs and libraries that 3889*28ff4d35SBaptiste Daroussin are setuid, directly handle network data (including serial comm 3890*28ff4d35SBaptiste Daroussin data), perform authentication, or appear likely to have (or have 3891*28ff4d35SBaptiste Daroussin a history of having) data-driven bugs (e.g. file(1)) are built 3892*28ff4d35SBaptiste Daroussin with USE_FORT=yes by default, with the exception of libc, which 3893*28ff4d35SBaptiste Daroussin cannot use USE_FORT and thus uses only USE_SSP by default. 3894*28ff4d35SBaptiste Daroussin Tested on i386 with no ill results; USE_FORT=no per-directory or 3895*28ff4d35SBaptiste Daroussin in a system build will disable if desired. 3896*28ff4d35SBaptiste Daroussin 3897*28ff4d35SBaptiste Daroussin2007-05-27 21:45 christos 3898*28ff4d35SBaptiste Daroussin 3899*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Add rl_completion_matches, fix 3900*28ff4d35SBaptiste Daroussin remove_history 3901*28ff4d35SBaptiste Daroussin 3902*28ff4d35SBaptiste Daroussin2007-03-01 22:41 christos 3903*28ff4d35SBaptiste Daroussin 3904*28ff4d35SBaptiste Daroussin * read.c: Fix bug with multiple pending el_pushes. Reported by 3905*28ff4d35SBaptiste Daroussin Julien Torres. 3906*28ff4d35SBaptiste Daroussin 3907*28ff4d35SBaptiste Daroussin2007-01-12 17:31 christos 3908*28ff4d35SBaptiste Daroussin 3909*28ff4d35SBaptiste Daroussin * editline.3: PR/35411: Matthew Wala: inconsistency in editline(3): 3910*28ff4d35SBaptiste Daroussin rename "num" to the appropriate parameter names. 3911*28ff4d35SBaptiste Daroussin 3912*28ff4d35SBaptiste Daroussin2006-12-18 01:03 wiz 3913*28ff4d35SBaptiste Daroussin 3914*28ff4d35SBaptiste Daroussin * editline.3: Fix xref section. Whitespace cleanups.. 3915*28ff4d35SBaptiste Daroussin 3916*28ff4d35SBaptiste Daroussin2006-12-15 23:13 christos 3917*28ff4d35SBaptiste Daroussin 3918*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h: add EL_GETFP, and EL_SETFP. 3919*28ff4d35SBaptiste Daroussin 3920*28ff4d35SBaptiste Daroussin2006-11-25 18:54 freza 3921*28ff4d35SBaptiste Daroussin 3922*28ff4d35SBaptiste Daroussin * el.c: s/el->errfile/el->el_errfile/g in debug code, fixes 3923*28ff4d35SBaptiste Daroussin MKDEBUGLIB build. 3924*28ff4d35SBaptiste Daroussin 3925*28ff4d35SBaptiste Daroussin2006-11-24 01:03 christos 3926*28ff4d35SBaptiste Daroussin 3927*28ff4d35SBaptiste Daroussin * histedit.h: bump minor. 3928*28ff4d35SBaptiste Daroussin 3929*28ff4d35SBaptiste Daroussin2006-11-24 01:01 christos 3930*28ff4d35SBaptiste Daroussin 3931*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, readline.c, shlib_version, term.c, 3932*28ff4d35SBaptiste Daroussin term.h, readline/readline.h: - Add more readline functions, 3933*28ff4d35SBaptiste Daroussin enough for gdb-6.5 - Make el_get varyadic, and implement 3934*28ff4d35SBaptiste Daroussin EL_GETTC. - XXX: the EL_SETTC api will change in the future. 3935*28ff4d35SBaptiste Daroussin 3936*28ff4d35SBaptiste Daroussin2006-11-09 17:58 christos 3937*28ff4d35SBaptiste Daroussin 3938*28ff4d35SBaptiste Daroussin * filecomplete.c: don't use alloca with ssp. 3939*28ff4d35SBaptiste Daroussin 3940*28ff4d35SBaptiste Daroussin2006-10-22 09:48 mrg 3941*28ff4d35SBaptiste Daroussin 3942*28ff4d35SBaptiste Daroussin * vi.c: __weakref__ attribute can not be applied to anything when 3943*28ff4d35SBaptiste Daroussin inside function scope, so, move the extern of get_alias_text 3944*28ff4d35SBaptiste Daroussin outside vi_alias(). 3945*28ff4d35SBaptiste Daroussin 3946*28ff4d35SBaptiste Daroussin fixes build problems with GCC 4.1-20061021. 3947*28ff4d35SBaptiste Daroussin 3948*28ff4d35SBaptiste Daroussin2006-09-28 15:52 christos 3949*28ff4d35SBaptiste Daroussin 3950*28ff4d35SBaptiste Daroussin * history.c: Fix memory leak found by valgrind (Julien Torres) 3951*28ff4d35SBaptiste Daroussin 3952*28ff4d35SBaptiste Daroussin2006-08-31 22:20 rpaulo 3953*28ff4d35SBaptiste Daroussin 3954*28ff4d35SBaptiste Daroussin * Makefile, TEST/Makefile, TEST/tc1.c, TEST/test.c: Rename 3955*28ff4d35SBaptiste Daroussin TEST/test.c to avoid problems when doing a cleandir on 3956*28ff4d35SBaptiste Daroussin case-insensitive file systems. ok'ed christos. 3957*28ff4d35SBaptiste Daroussin 3958*28ff4d35SBaptiste Daroussin2006-08-21 14:45 christos 3959*28ff4d35SBaptiste Daroussin 3960*28ff4d35SBaptiste Daroussin * editline.3, editrc.5, filecomplete.c, filecomplete.h, read.h, 3961*28ff4d35SBaptiste Daroussin readline.c, readline/readline.h: Change to a 3 clause copyright 3962*28ff4d35SBaptiste Daroussin after permission of the holders. 3963*28ff4d35SBaptiste Daroussin 3964*28ff4d35SBaptiste Daroussin2006-07-23 22:21 christos 3965*28ff4d35SBaptiste Daroussin 3966*28ff4d35SBaptiste Daroussin * readline.c: PR/34062: Tanaka Akira: rl_deprep_term_function is 3967*28ff4d35SBaptiste Daroussin NULL in libedit. Default to rl_deprep_terminal as suggested; do 3968*28ff4d35SBaptiste Daroussin the same for rl_prep_term_function 3969*28ff4d35SBaptiste Daroussin 3970*28ff4d35SBaptiste Daroussin2006-05-18 19:54 christos 3971*28ff4d35SBaptiste Daroussin 3972*28ff4d35SBaptiste Daroussin * vi.c: change __weak_extern to __weak_reference so that gcc4 3973*28ff4d35SBaptiste Daroussin works. 3974*28ff4d35SBaptiste Daroussin 3975*28ff4d35SBaptiste Daroussin2006-04-09 03:36 christos 3976*28ff4d35SBaptiste Daroussin 3977*28ff4d35SBaptiste Daroussin * map.c: fix debugging printf format. 3978*28ff4d35SBaptiste Daroussin 3979*28ff4d35SBaptiste Daroussin2006-03-25 14:00 rtr 3980*28ff4d35SBaptiste Daroussin 3981*28ff4d35SBaptiste Daroussin * readline.c: remove if/free block checking known condition 3982*28ff4d35SBaptiste Daroussin 3983*28ff4d35SBaptiste Daroussin coverity 2762 / run 11 3984*28ff4d35SBaptiste Daroussin 3985*28ff4d35SBaptiste Daroussin2006-03-23 21:22 christos 3986*28ff4d35SBaptiste Daroussin 3987*28ff4d35SBaptiste Daroussin * key.c, key.h: move declaration to header file. 3988*28ff4d35SBaptiste Daroussin 3989*28ff4d35SBaptiste Daroussin2006-03-21 18:52 christos 3990*28ff4d35SBaptiste Daroussin 3991*28ff4d35SBaptiste Daroussin * readline.c: Coverity CID 2743: Not really a memory leak, but make 3992*28ff4d35SBaptiste Daroussin it obvious that we always free tmp. 3993*28ff4d35SBaptiste Daroussin 3994*28ff4d35SBaptiste Daroussin2006-03-18 20:23 christos 3995*28ff4d35SBaptiste Daroussin 3996*28ff4d35SBaptiste Daroussin * term.c: Fix compilation. 3997*28ff4d35SBaptiste Daroussin 3998*28ff4d35SBaptiste Daroussin2006-03-18 20:22 christos 3999*28ff4d35SBaptiste Daroussin 4000*28ff4d35SBaptiste Daroussin * readline.c: Lint comment. 4001*28ff4d35SBaptiste Daroussin 4002*28ff4d35SBaptiste Daroussin2006-03-18 10:31 christos 4003*28ff4d35SBaptiste Daroussin 4004*28ff4d35SBaptiste Daroussin * term.c: Coverity CID 1668: Plug memory leak. 4005*28ff4d35SBaptiste Daroussin 4006*28ff4d35SBaptiste Daroussin2006-03-18 10:28 christos 4007*28ff4d35SBaptiste Daroussin 4008*28ff4d35SBaptiste Daroussin * readline.c: Coverity CID 1666: Plug memory leak. 4009*28ff4d35SBaptiste Daroussin 4010*28ff4d35SBaptiste Daroussin2006-03-18 10:19 christos 4011*28ff4d35SBaptiste Daroussin 4012*28ff4d35SBaptiste Daroussin * readline.c: Coverity CID 1667: Plug memory leak 4013*28ff4d35SBaptiste Daroussin 4014*28ff4d35SBaptiste Daroussin2006-03-18 10:15 christos 4015*28ff4d35SBaptiste Daroussin 4016*28ff4d35SBaptiste Daroussin * readline.c: Coverity CID 1662: Memory leak. 4017*28ff4d35SBaptiste Daroussin 4018*28ff4d35SBaptiste Daroussin2006-03-18 10:09 christos 4019*28ff4d35SBaptiste Daroussin 4020*28ff4d35SBaptiste Daroussin * tty.c: Coverity CID 597: remove dead code. 4021*28ff4d35SBaptiste Daroussin 4022*28ff4d35SBaptiste Daroussin2006-03-18 10:07 christos 4023*28ff4d35SBaptiste Daroussin 4024*28ff4d35SBaptiste Daroussin * tty.c: Coverity CID 1216: Prevent negative index use. 4025*28ff4d35SBaptiste Daroussin 4026*28ff4d35SBaptiste Daroussin2006-03-18 10:02 christos 4027*28ff4d35SBaptiste Daroussin 4028*28ff4d35SBaptiste Daroussin * term.c: Coverity CID 806: Prevent NULL deref 4029*28ff4d35SBaptiste Daroussin 4030*28ff4d35SBaptiste Daroussin2006-03-06 22:11 christos 4031*28ff4d35SBaptiste Daroussin 4032*28ff4d35SBaptiste Daroussin * chared.h, common.c, emacs.c, key.c, key.h, map.c, term.c, term.h, 4033*28ff4d35SBaptiste Daroussin vi.c: Print the actual eofc, instead of ^D\b\b. Change internal 4034*28ff4d35SBaptiste Daroussin character decoding to prevent buffer oveflows. 4035*28ff4d35SBaptiste Daroussin 4036*28ff4d35SBaptiste Daroussin2006-03-06 22:11 christos 4037*28ff4d35SBaptiste Daroussin 4038*28ff4d35SBaptiste Daroussin * readline.c: use the tty chars for reprint and eof instead of 4039*28ff4d35SBaptiste Daroussin hard-coded ^R and ^D 4040*28ff4d35SBaptiste Daroussin 4041*28ff4d35SBaptiste Daroussin2006-02-13 15:12 christos 4042*28ff4d35SBaptiste Daroussin 4043*28ff4d35SBaptiste Daroussin * readline.c: PR/32817: Magnus Svensson: write_history and 4044*28ff4d35SBaptiste Daroussin read_history returncode is not readline compatible. 4045*28ff4d35SBaptiste Daroussin 4046*28ff4d35SBaptiste Daroussin2006-02-12 17:15 christos 4047*28ff4d35SBaptiste Daroussin 4048*28ff4d35SBaptiste Daroussin * readline.c: Partial rl_getc_function support from Jess Thrysoee. 4049*28ff4d35SBaptiste Daroussin 4050*28ff4d35SBaptiste Daroussin2005-11-09 23:11 christos 4051*28ff4d35SBaptiste Daroussin 4052*28ff4d35SBaptiste Daroussin * refresh.c: Refresh bug reported by Julien Torres: 4053*28ff4d35SBaptiste Daroussin 4054*28ff4d35SBaptiste Daroussin going from: activate -verbose to: reset -activation 4055*28ff4d35SBaptiste Daroussin results in: reset -activationverbose" instead of: reset 4056*28ff4d35SBaptiste Daroussin -activation 4057*28ff4d35SBaptiste Daroussin 4058*28ff4d35SBaptiste Daroussin This is because we choose to insert "reset -" before the current 4059*28ff4d35SBaptiste Daroussin line, and the delete "e -" and insert "ion" in the appropriate 4060*28ff4d35SBaptiste Daroussin place. The cleareol code did not handle this case properly; we 4061*28ff4d35SBaptiste Daroussin now cleareol to the maximum number of characters of the first 4062*28ff4d35SBaptiste Daroussin difference, the second difference and the difference in line 4063*28ff4d35SBaptiste Daroussin length. 4064*28ff4d35SBaptiste Daroussin 4065*28ff4d35SBaptiste Daroussin2005-10-22 18:45 christos 4066*28ff4d35SBaptiste Daroussin 4067*28ff4d35SBaptiste Daroussin * makelist: change tr '[a-z]' '[A-Z]' to tr '[:lower:]' '[:upper:]' 4068*28ff4d35SBaptiste Daroussin so that POSIX systems work properly regardless of environment 4069*28ff4d35SBaptiste Daroussin variable settings. 4070*28ff4d35SBaptiste Daroussin 4071*28ff4d35SBaptiste Daroussin2005-10-12 11:29 wiz 4072*28ff4d35SBaptiste Daroussin 4073*28ff4d35SBaptiste Daroussin * editline.3: Add el_get to SYNOPSIS. From jmc@openbsd. 4074*28ff4d35SBaptiste Daroussin 4075*28ff4d35SBaptiste Daroussin2005-09-10 00:32 wiz 4076*28ff4d35SBaptiste Daroussin 4077*28ff4d35SBaptiste Daroussin * editline.3: Fix double if (from Alexey E. Suslikov via 4078*28ff4d35SBaptiste Daroussin jmc@openbsd). While here, re-word both H_[GS]ETUNIQUE 4079*28ff4d35SBaptiste Daroussin descriptions so they make more sense. Bump date. 4080*28ff4d35SBaptiste Daroussin 4081*28ff4d35SBaptiste Daroussin2005-08-19 06:21 christos 4082*28ff4d35SBaptiste Daroussin 4083*28ff4d35SBaptiste Daroussin * el.c: PR/31012: Barry Naujok: libedit el_get with EL_EDITOR op 4084*28ff4d35SBaptiste Daroussin does not work Fixed as suggested. 4085*28ff4d35SBaptiste Daroussin 4086*28ff4d35SBaptiste Daroussin2005-08-10 14:46 christos 4087*28ff4d35SBaptiste Daroussin 4088*28ff4d35SBaptiste Daroussin * vi.c: Don't save the el->el_line.cursor over a cv_insert call and 4089*28ff4d35SBaptiste Daroussin use it later because it might change. From Stefan Farfedeler. 4090*28ff4d35SBaptiste Daroussin 4091*28ff4d35SBaptiste Daroussin2005-08-09 18:40 christos 4092*28ff4d35SBaptiste Daroussin 4093*28ff4d35SBaptiste Daroussin * vi.c: Don't delete the current line in vi mode when typing 'yy'. 4094*28ff4d35SBaptiste Daroussin From Stefan Farfeleder. 4095*28ff4d35SBaptiste Daroussin 4096*28ff4d35SBaptiste Daroussin2005-08-09 15:58 christos 4097*28ff4d35SBaptiste Daroussin 4098*28ff4d35SBaptiste Daroussin * map.c: Fix two more help iterators. Thanks Stefan Farfeleder! 4099*28ff4d35SBaptiste Daroussin 4100*28ff4d35SBaptiste Daroussin2005-08-08 16:05 christos 4101*28ff4d35SBaptiste Daroussin 4102*28ff4d35SBaptiste Daroussin * chared.h, common.c, emacs.c, key.c, term.c, vi.c: Spelling 4103*28ff4d35SBaptiste Daroussin mistakes and comment errors (from FreeBSD via Stefan Farfeleder; 4104*28ff4d35SBaptiste Daroussin many thanks) 4105*28ff4d35SBaptiste Daroussin 4106*28ff4d35SBaptiste Daroussin2005-08-08 16:04 christos 4107*28ff4d35SBaptiste Daroussin 4108*28ff4d35SBaptiste Daroussin * makelist, map.c: Don't add an extra { NULL, 0, NULL } element to 4109*28ff4d35SBaptiste Daroussin the help array. Instead keep it always the same size as the 4110*28ff4d35SBaptiste Daroussin function array for consistency. Reported in FreeBSD PR 82381, but 4111*28ff4d35SBaptiste Daroussin fixed differently. 4112*28ff4d35SBaptiste Daroussin 4113*28ff4d35SBaptiste Daroussin2005-08-08 03:41 christos 4114*28ff4d35SBaptiste Daroussin 4115*28ff4d35SBaptiste Daroussin * chared.c: The previous commit removed too much and forgot to 4116*28ff4d35SBaptiste Daroussin reset the history event number. From Kouichirou Hiratsuka, many 4117*28ff4d35SBaptiste Daroussin thanks! 4118*28ff4d35SBaptiste Daroussin 4119*28ff4d35SBaptiste Daroussin2005-08-03 15:41 christos 4120*28ff4d35SBaptiste Daroussin 4121*28ff4d35SBaptiste Daroussin * filecomplete.c: Fix reversed test; from Gerry Swislow 4122*28ff4d35SBaptiste Daroussin 4123*28ff4d35SBaptiste Daroussin2005-08-02 14:11 christos 4124*28ff4d35SBaptiste Daroussin 4125*28ff4d35SBaptiste Daroussin * read.c: On a fatal error, we want to stop processing the macro 4126*28ff4d35SBaptiste Daroussin buffers. 4127*28ff4d35SBaptiste Daroussin 4128*28ff4d35SBaptiste Daroussin2005-08-02 12:20 tron 4129*28ff4d35SBaptiste Daroussin 4130*28ff4d35SBaptiste Daroussin * read.c: Add missing second argument to another call of 4131*28ff4d35SBaptiste Daroussin ch_reset(). 4132*28ff4d35SBaptiste Daroussin 4133*28ff4d35SBaptiste Daroussin2005-08-02 01:00 christos 4134*28ff4d35SBaptiste Daroussin 4135*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, read.c: Don't reset the macro 4136*28ff4d35SBaptiste Daroussin strings each time we enter el_gets(), otherwise el_push() is 4137*28ff4d35SBaptiste Daroussin unusable programmatically. 4138*28ff4d35SBaptiste Daroussin 4139*28ff4d35SBaptiste Daroussin2005-08-01 16:34 christos 4140*28ff4d35SBaptiste Daroussin 4141*28ff4d35SBaptiste Daroussin * history.c: Don't forget to initialize h_del; from Julien Torres. 4142*28ff4d35SBaptiste Daroussin 4143*28ff4d35SBaptiste Daroussin2005-07-14 17:02 wiz 4144*28ff4d35SBaptiste Daroussin 4145*28ff4d35SBaptiste Daroussin * editline.3: Drop trailing whitespace. 4146*28ff4d35SBaptiste Daroussin 4147*28ff4d35SBaptiste Daroussin2005-07-14 17:00 christos 4148*28ff4d35SBaptiste Daroussin 4149*28ff4d35SBaptiste Daroussin * editline.3, histedit.h, history.c, readline.c, 4150*28ff4d35SBaptiste Daroussin readline/readline.h: PR/30747: David N. Williams: libedit is 4151*28ff4d35SBaptiste Daroussin missing remove_history() Added, please test. 4152*28ff4d35SBaptiste Daroussin 4153*28ff4d35SBaptiste Daroussin2005-07-12 13:35 tron 4154*28ff4d35SBaptiste Daroussin 4155*28ff4d35SBaptiste Daroussin * readline.c: Pull up revision 1.52 (requested by lukem in ticket 4156*28ff4d35SBaptiste Daroussin #542): check for pwd != NULL, fix a missed getpwnam. 4157*28ff4d35SBaptiste Daroussin 4158*28ff4d35SBaptiste Daroussin2005-07-12 13:33 tron 4159*28ff4d35SBaptiste Daroussin 4160*28ff4d35SBaptiste Daroussin * readline.c: Pull up revision 1.50 (requested by lukem in ticket 4161*28ff4d35SBaptiste Daroussin #542): use getpwent_r 4162*28ff4d35SBaptiste Daroussin 4163*28ff4d35SBaptiste Daroussin2005-07-06 23:13 christos 4164*28ff4d35SBaptiste Daroussin 4165*28ff4d35SBaptiste Daroussin * history.c, key.c: Fix memory leaks found by valgrind. From Julien 4166*28ff4d35SBaptiste Daroussin Torres 4167*28ff4d35SBaptiste Daroussin 4168*28ff4d35SBaptiste Daroussin2005-06-12 08:58 christos 4169*28ff4d35SBaptiste Daroussin 4170*28ff4d35SBaptiste Daroussin * histedit.h: make this useable from c++. 4171*28ff4d35SBaptiste Daroussin 4172*28ff4d35SBaptiste Daroussin2005-06-11 20:18 christos 4173*28ff4d35SBaptiste Daroussin 4174*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, readline.c, readline/readline.h: 4175*28ff4d35SBaptiste Daroussin PR/30500: Paul Shupak: Inconsistent definition of tilde_expand(). 4176*28ff4d35SBaptiste Daroussin Provide a layer of indirection between the readline 4177*28ff4d35SBaptiste Daroussin compatibility functions and our internal implementation, so that 4178*28ff4d35SBaptiste Daroussin we have the freedom to change the function signature. 4179*28ff4d35SBaptiste Daroussin 4180*28ff4d35SBaptiste Daroussin2005-06-10 22:21 christos 4181*28ff4d35SBaptiste Daroussin 4182*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h, readline.c: Bug reported from 4183*28ff4d35SBaptiste Daroussin Martin Dietze: 4184*28ff4d35SBaptiste Daroussin 4185*28ff4d35SBaptiste Daroussin The place to change the completion_append_character is 4186*28ff4d35SBaptiste Daroussin usually somewhere in the `rl_completion_entry_function' 4187*28ff4d35SBaptiste Daroussin callback which is where one usually can distinguish between 4188*28ff4d35SBaptiste Daroussin file- or dir-like entries to append a slash for dirs etc. 4189*28ff4d35SBaptiste Daroussin 4190*28ff4d35SBaptiste Daroussin This does no longer work since `fn_complete()' takes the 4191*28ff4d35SBaptiste Daroussin `append_character' as argument before the callback is 4192*28ff4d35SBaptiste Daroussin executed, 4193*28ff4d35SBaptiste Daroussin so that changes to the variable 4194*28ff4d35SBaptiste Daroussin `rl_completion_append_character' 4195*28ff4d35SBaptiste Daroussin have in fact no effect for the current completion. 4196*28ff4d35SBaptiste Daroussin 4197*28ff4d35SBaptiste Daroussin Fix by adding a function that returns the 4198*28ff4d35SBaptiste Daroussin rl_completion_append_character, when it gets passed in a filename 4199*28ff4d35SBaptiste Daroussin in readline emulation. 4200*28ff4d35SBaptiste Daroussin 4201*28ff4d35SBaptiste Daroussin2005-06-10 22:18 christos 4202*28ff4d35SBaptiste Daroussin 4203*28ff4d35SBaptiste Daroussin * readline/readline.h: tilde expand should take a const argument. 4204*28ff4d35SBaptiste Daroussin 4205*28ff4d35SBaptiste Daroussin2005-06-01 13:37 lukem 4206*28ff4d35SBaptiste Daroussin 4207*28ff4d35SBaptiste Daroussin * chared.c, read.c, tty.c, tty.h, TEST/test.c: Don't use 4208*28ff4d35SBaptiste Daroussin non-standard uint or u_int. 4209*28ff4d35SBaptiste Daroussin 4210*28ff4d35SBaptiste Daroussin2005-05-29 06:58 lukem 4211*28ff4d35SBaptiste Daroussin 4212*28ff4d35SBaptiste Daroussin * parse.c, parse.h: Update for recent parse__escape() prototype 4213*28ff4d35SBaptiste Daroussin change 4214*28ff4d35SBaptiste Daroussin 4215*28ff4d35SBaptiste Daroussin2005-05-29 05:55 christos 4216*28ff4d35SBaptiste Daroussin 4217*28ff4d35SBaptiste Daroussin * parse.c, tty.c: PR/25694: Luke Mewburn: Don't abuse 4218*28ff4d35SBaptiste Daroussin unconstify'ing a string and writing to it, because you'll core 4219*28ff4d35SBaptiste Daroussin dump. Also remove extra const that gives pain to the irix 4220*28ff4d35SBaptiste Daroussin compiler. 4221*28ff4d35SBaptiste Daroussin 4222*28ff4d35SBaptiste Daroussin2005-05-28 16:03 tron 4223*28ff4d35SBaptiste Daroussin 4224*28ff4d35SBaptiste Daroussin * readline.c: Pull up revision 1.55 (requested by agc in ticket 4225*28ff4d35SBaptiste Daroussin #353): Use the correct type for the stored callback function 4226*28ff4d35SBaptiste Daroussin 4227*28ff4d35SBaptiste Daroussin2005-05-28 16:02 tron 4228*28ff4d35SBaptiste Daroussin 4229*28ff4d35SBaptiste Daroussin * readline.c: Pull up revision 1.54 (requested by agc in ticket 4230*28ff4d35SBaptiste Daroussin #353): Sync the alternative readline interface with reality: + 4231*28ff4d35SBaptiste Daroussin the rl_callback_handler_install takes a pointer to a void 4232*28ff4d35SBaptiste Daroussin function which has one char * argument (it's called that way in 4233*28ff4d35SBaptiste Daroussin the readline emulation source, otherwise there's no way to pass 4234*28ff4d35SBaptiste Daroussin the line buffer to the function which processes the line when 4235*28ff4d35SBaptiste Daroussin EOL is encountered) + provide a prototype for that function 4236*28ff4d35SBaptiste Daroussin signature and use it Makes the callback readline interface work 4237*28ff4d35SBaptiste Daroussin now. 4238*28ff4d35SBaptiste Daroussin 4239*28ff4d35SBaptiste Daroussin2005-05-28 16:02 tron 4240*28ff4d35SBaptiste Daroussin 4241*28ff4d35SBaptiste Daroussin * readline/readline.h: Pull up revision 1.14 (requested by agc in 4242*28ff4d35SBaptiste Daroussin ticket #353): Sync the alternative readline interface with 4243*28ff4d35SBaptiste Daroussin reality: + the rl_callback_handler_install takes a pointer to a 4244*28ff4d35SBaptiste Daroussin void function which has one char * argument (it's called that 4245*28ff4d35SBaptiste Daroussin way in the readline emulation source, otherwise there's no way 4246*28ff4d35SBaptiste Daroussin to pass the line buffer to the function which processes the 4247*28ff4d35SBaptiste Daroussin line when EOL is encountered) + provide a prototype for that 4248*28ff4d35SBaptiste Daroussin function signature and use it Makes the callback readline 4249*28ff4d35SBaptiste Daroussin interface work now. 4250*28ff4d35SBaptiste Daroussin 4251*28ff4d35SBaptiste Daroussin2005-05-28 14:03 lukem 4252*28ff4d35SBaptiste Daroussin 4253*28ff4d35SBaptiste Daroussin * TEST/test.c: fix for WARNS=3 4254*28ff4d35SBaptiste Daroussin 4255*28ff4d35SBaptiste Daroussin2005-05-28 14:02 lukem 4256*28ff4d35SBaptiste Daroussin 4257*28ff4d35SBaptiste Daroussin * Makefile: clean up build of "test" 4258*28ff4d35SBaptiste Daroussin 4259*28ff4d35SBaptiste Daroussin2005-05-28 13:55 lukem 4260*28ff4d35SBaptiste Daroussin 4261*28ff4d35SBaptiste Daroussin * Makefile: MAKEVERBOSE support 4262*28ff4d35SBaptiste Daroussin 4263*28ff4d35SBaptiste Daroussin2005-05-27 16:01 agc 4264*28ff4d35SBaptiste Daroussin 4265*28ff4d35SBaptiste Daroussin * readline.c: Use the correct type for the stored callback function 4266*28ff4d35SBaptiste Daroussin 4267*28ff4d35SBaptiste Daroussin2005-05-27 13:35 agc 4268*28ff4d35SBaptiste Daroussin 4269*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Sync the alternative readline 4270*28ff4d35SBaptiste Daroussin interface with reality: 4271*28ff4d35SBaptiste Daroussin 4272*28ff4d35SBaptiste Daroussin + the rl_callback_handler_install takes a pointer to a void 4273*28ff4d35SBaptiste Daroussin function which has one char * argument (it's called that way in 4274*28ff4d35SBaptiste Daroussin the readline emulation source, otherwise there's no way to pass 4275*28ff4d35SBaptiste Daroussin the line buffer to the function which processes the line when 4276*28ff4d35SBaptiste Daroussin EOL is encountered) 4277*28ff4d35SBaptiste Daroussin 4278*28ff4d35SBaptiste Daroussin + provide a prototype for that function signature and use it 4279*28ff4d35SBaptiste Daroussin 4280*28ff4d35SBaptiste Daroussin Makes the callback readline interface work now. 4281*28ff4d35SBaptiste Daroussin 4282*28ff4d35SBaptiste Daroussin2005-05-19 00:36 christos 4283*28ff4d35SBaptiste Daroussin 4284*28ff4d35SBaptiste Daroussin * Makefile: Libedit depends on libterm. From Patrick Welche 4285*28ff4d35SBaptiste Daroussin 4286*28ff4d35SBaptiste Daroussin2005-05-19 00:34 christos 4287*28ff4d35SBaptiste Daroussin 4288*28ff4d35SBaptiste Daroussin * filecomplete.c: Make completion_matches non-static since readline 4289*28ff4d35SBaptiste Daroussin wants it. 4290*28ff4d35SBaptiste Daroussin 4291*28ff4d35SBaptiste Daroussin2005-05-18 02:50 christos 4292*28ff4d35SBaptiste Daroussin 4293*28ff4d35SBaptiste Daroussin * TEST/test.c: Make signal handler safe. From Michael Knudsen, 4294*28ff4d35SBaptiste Daroussin many thanks. 4295*28ff4d35SBaptiste Daroussin 4296*28ff4d35SBaptiste Daroussin2005-05-16 15:14 lukem 4297*28ff4d35SBaptiste Daroussin 4298*28ff4d35SBaptiste Daroussin * makelist: Remove clause 3 from the UCB license. 4299*28ff4d35SBaptiste Daroussin 4300*28ff4d35SBaptiste Daroussin2005-05-12 17:48 christos 4301*28ff4d35SBaptiste Daroussin 4302*28ff4d35SBaptiste Daroussin * filecomplete.c: PR/30215: Kouichirou Hiratsuka: /bin/sh dumps 4303*28ff4d35SBaptiste Daroussin core with tabcomplete Don't core-dump when trying to complete an 4304*28ff4d35SBaptiste Daroussin empty line; instead assume ./ 4305*28ff4d35SBaptiste Daroussin 4306*28ff4d35SBaptiste Daroussin2005-05-09 22:10 dsl 4307*28ff4d35SBaptiste Daroussin 4308*28ff4d35SBaptiste Daroussin * filecomplete.c: Use getpwuid_r(getuid(), ...) to expand ~/.... 4309*28ff4d35SBaptiste Daroussin Don't replace ~xyz with /home/xyz when expanding ~ 4310*28ff4d35SBaptiste Daroussin 4311*28ff4d35SBaptiste Daroussin2005-05-07 18:28 dsl 4312*28ff4d35SBaptiste Daroussin 4313*28ff4d35SBaptiste Daroussin * filecomplete.c, filecomplete.h: gdb directly calls 4314*28ff4d35SBaptiste Daroussin filename_completion_function() 4315*28ff4d35SBaptiste Daroussin 4316*28ff4d35SBaptiste Daroussin2005-05-07 18:22 dsl 4317*28ff4d35SBaptiste Daroussin 4318*28ff4d35SBaptiste Daroussin * Makefile: Make everything that uses makelist depend on Makefile - 4319*28ff4d35SBaptiste Daroussin that way the created files pick up new entries. 4320*28ff4d35SBaptiste Daroussin 4321*28ff4d35SBaptiste Daroussin2005-05-07 18:01 dsl 4322*28ff4d35SBaptiste Daroussin 4323*28ff4d35SBaptiste Daroussin * Makefile, filecomplete.c, filecomplete.h, histedit.h, readline.c: 4324*28ff4d35SBaptiste Daroussin Separate out the filename completion functions from the 4325*28ff4d35SBaptiste Daroussin readline() code. Pass in loads of parameters instead of relying 4326*28ff4d35SBaptiste Daroussin on shed-loads of global variables to modify the behaviour. The 4327*28ff4d35SBaptiste Daroussin filename completion code can now be enabled by code that uses 4328*28ff4d35SBaptiste Daroussin el_gets(). (eg /bin/sh) 4329*28ff4d35SBaptiste Daroussin 4330*28ff4d35SBaptiste Daroussin2005-04-25 03:06 matt 4331*28ff4d35SBaptiste Daroussin 4332*28ff4d35SBaptiste Daroussin * vi.c: Terminate the arglist with a NULL instead of 0. (Shuts up 4333*28ff4d35SBaptiste Daroussin gcc4.x) 4334*28ff4d35SBaptiste Daroussin 4335*28ff4d35SBaptiste Daroussin2005-04-19 05:29 christos 4336*28ff4d35SBaptiste Daroussin 4337*28ff4d35SBaptiste Daroussin * readline.c: check for pwd != NULL, fix a missed getpwnam. 4338*28ff4d35SBaptiste Daroussin 4339*28ff4d35SBaptiste Daroussin2005-04-13 00:01 christos 4340*28ff4d35SBaptiste Daroussin 4341*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: PR/29958: Peter Bex: add 4342*28ff4d35SBaptiste Daroussin rl_variable_bind and rl_attempted_completion_over 4343*28ff4d35SBaptiste Daroussin 4344*28ff4d35SBaptiste Daroussin2005-04-02 08:28 christos 4345*28ff4d35SBaptiste Daroussin 4346*28ff4d35SBaptiste Daroussin * readline.c: use getpwent_r 4347*28ff4d35SBaptiste Daroussin 4348*28ff4d35SBaptiste Daroussin2005-03-19 18:36 christos 4349*28ff4d35SBaptiste Daroussin 4350*28ff4d35SBaptiste Daroussin * editline.3: PR/29738: Rui Paulo: Incorrect tok_line and tok_str 4351*28ff4d35SBaptiste Daroussin declarations. 4352*28ff4d35SBaptiste Daroussin 4353*28ff4d35SBaptiste Daroussin2005-03-15 01:10 christos 4354*28ff4d35SBaptiste Daroussin 4355*28ff4d35SBaptiste Daroussin * term.h: Add missing define, needed for debugging (from Rob 4356*28ff4d35SBaptiste Daroussin Rodgers) 4357*28ff4d35SBaptiste Daroussin 4358*28ff4d35SBaptiste Daroussin2005-03-10 20:34 christos 4359*28ff4d35SBaptiste Daroussin 4360*28ff4d35SBaptiste Daroussin * readline.c: Always update the position variables before the map 4361*28ff4d35SBaptiste Daroussin function is called. From Rob Rodgers, thanks! 4362*28ff4d35SBaptiste Daroussin 4363*28ff4d35SBaptiste Daroussin2005-03-10 00:55 christos 4364*28ff4d35SBaptiste Daroussin 4365*28ff4d35SBaptiste Daroussin * readline.c: set UNBUFFERED again after you do the line callback 4366*28ff4d35SBaptiste Daroussin so that the new line gets refreshed. 4367*28ff4d35SBaptiste Daroussin 4368*28ff4d35SBaptiste Daroussin2005-03-10 00:55 christos 4369*28ff4d35SBaptiste Daroussin 4370*28ff4d35SBaptiste Daroussin * read.c: Make sure we flush after we prepare when we are 4371*28ff4d35SBaptiste Daroussin unbuffered otherwise the prompt will not appear immediately. 4372*28ff4d35SBaptiste Daroussin 4373*28ff4d35SBaptiste Daroussin2004-11-27 19:31 christos 4374*28ff4d35SBaptiste Daroussin 4375*28ff4d35SBaptiste Daroussin * history.c: PR/26785: Jess Thrysoee: libedit - H_NEXT and H_PREV 4376*28ff4d35SBaptiste Daroussin shifts cursor on failure 4377*28ff4d35SBaptiste Daroussin 4378*28ff4d35SBaptiste Daroussin2004-11-04 02:16 christos 4379*28ff4d35SBaptiste Daroussin 4380*28ff4d35SBaptiste Daroussin * search.c: Make EM_DELETE_PREV_CHAR behave like 4381*28ff4d35SBaptiste Daroussin ED_DELETE_PREV_CHAR in incremental search. From Gerry Swislow. 4382*28ff4d35SBaptiste Daroussin 4383*28ff4d35SBaptiste Daroussin2004-10-28 23:14 dsl 4384*28ff4d35SBaptiste Daroussin 4385*28ff4d35SBaptiste Daroussin * emacs.c: Use (unsigned char) cast to sanitise arguments to ctype 4386*28ff4d35SBaptiste Daroussin functions. 4387*28ff4d35SBaptiste Daroussin 4388*28ff4d35SBaptiste Daroussin2004-10-27 21:59 dsl 4389*28ff4d35SBaptiste Daroussin 4390*28ff4d35SBaptiste Daroussin * emacs.c: Fix a load of international alphabet problems with 4391*28ff4d35SBaptiste Daroussin isxxx() and toupper() Change isspace(*char_ptr) to 4392*28ff4d35SBaptiste Daroussin isspace(*char_ptr & 0xff) so that the correct piece of memory is 4393*28ff4d35SBaptiste Daroussin looked at for the bit mask. gcc optimises out the '& 0xff' (on 4394*28ff4d35SBaptiste Daroussin i386 at least). Fixes problems found by gcc when the splurious 4395*28ff4d35SBaptiste Daroussin (int) cast is removed from the #defines in ctype.h 4396*28ff4d35SBaptiste Daroussin 4397*28ff4d35SBaptiste Daroussin2004-09-08 20:15 christos 4398*28ff4d35SBaptiste Daroussin 4399*28ff4d35SBaptiste Daroussin * readline.c: cut out the middle-man and use el_insertstr() 4400*28ff4d35SBaptiste Daroussin directly. 4401*28ff4d35SBaptiste Daroussin 4402*28ff4d35SBaptiste Daroussin2004-09-08 20:15 christos 4403*28ff4d35SBaptiste Daroussin 4404*28ff4d35SBaptiste Daroussin * readline/readline.h: make rl_inhibit_completion visible. 4405*28ff4d35SBaptiste Daroussin 4406*28ff4d35SBaptiste Daroussin2004-08-24 14:41 christos 4407*28ff4d35SBaptiste Daroussin 4408*28ff4d35SBaptiste Daroussin * history.c: make sure that we round up to 1K. 4409*28ff4d35SBaptiste Daroussin 4410*28ff4d35SBaptiste Daroussin2004-08-20 14:54 christos 4411*28ff4d35SBaptiste Daroussin 4412*28ff4d35SBaptiste Daroussin * history.c: PR/26725: Sergey S. Kostyliov: Typo in libedit, 4413*28ff4d35SBaptiste Daroussin possible buffer overflow in 4414*28ff4d35SBaptiste Daroussin src/lib/libedit/history.c:history_save() 4415*28ff4d35SBaptiste Daroussin 4416*28ff4d35SBaptiste Daroussin2004-08-13 14:10 mycroft 4417*28ff4d35SBaptiste Daroussin 4418*28ff4d35SBaptiste Daroussin * chared.c, chared.h, emacs.c, map.c, tty.c, vi.c: 4419*28ff4d35SBaptiste Daroussin Delete-previous-char and delete-next-char without an argument are 4420*28ff4d35SBaptiste Daroussin not supposed to modify the yank buffer in Emacs. Make it so. 4421*28ff4d35SBaptiste Daroussin 4422*28ff4d35SBaptiste Daroussin2004-07-10 11:28 tron 4423*28ff4d35SBaptiste Daroussin 4424*28ff4d35SBaptiste Daroussin * el.c: Pull up revision 1.39 (requested by christos in ticket 4425*28ff4d35SBaptiste Daroussin #620): PR/23486: Andreas Gustafsson: gdb no longer works with 4426*28ff4d35SBaptiste Daroussin emacs - make sure that we keep previous contents of the buffer in 4427*28ff4d35SBaptiste Daroussin unbuffered mode. - when turning editing on and off keep tty 4428*28ff4d35SBaptiste Daroussin consistent. 4429*28ff4d35SBaptiste Daroussin 4430*28ff4d35SBaptiste Daroussin2004-07-10 11:28 tron 4431*28ff4d35SBaptiste Daroussin 4432*28ff4d35SBaptiste Daroussin * read.c: Pull up revision 1.34 (requested by christos in ticket 4433*28ff4d35SBaptiste Daroussin #620): PR/23486: Andreas Gustafsson: gdb no longer works with 4434*28ff4d35SBaptiste Daroussin emacs - make sure that we keep previous contents of the buffer in 4435*28ff4d35SBaptiste Daroussin unbuffered mode. - when turning editing on and off keep tty 4436*28ff4d35SBaptiste Daroussin consistent. 4437*28ff4d35SBaptiste Daroussin 4438*28ff4d35SBaptiste Daroussin2004-07-08 02:51 christos 4439*28ff4d35SBaptiste Daroussin 4440*28ff4d35SBaptiste Daroussin * el.c, read.c: PR/23486: Andreas Gustafsson: gdb no longer works 4441*28ff4d35SBaptiste Daroussin with emacs - make sure that we keep previous contents of the 4442*28ff4d35SBaptiste Daroussin buffer in unbuffered mode. - when turning editing on and off 4443*28ff4d35SBaptiste Daroussin keep tty consistent. 4444*28ff4d35SBaptiste Daroussin 4445*28ff4d35SBaptiste Daroussin2004-05-23 01:21 christos 4446*28ff4d35SBaptiste Daroussin 4447*28ff4d35SBaptiste Daroussin * term.c: fix memory leak; thanks to Logan Gabriel 4448*28ff4d35SBaptiste Daroussin 4449*28ff4d35SBaptiste Daroussin2004-04-15 10:13 wiz 4450*28ff4d35SBaptiste Daroussin 4451*28ff4d35SBaptiste Daroussin * editline.3: Remove duplicate word, from jfb@openbsd via 4452*28ff4d35SBaptiste Daroussin jmc@openbsd. 4453*28ff4d35SBaptiste Daroussin 4454*28ff4d35SBaptiste Daroussin2004-02-27 15:52 christos 4455*28ff4d35SBaptiste Daroussin 4456*28ff4d35SBaptiste Daroussin * el.c, read.c, read.h, readline.c: Better fix for 4457*28ff4d35SBaptiste Daroussin rl_prep_terminal() from Gerry Swislow. 4458*28ff4d35SBaptiste Daroussin 4459*28ff4d35SBaptiste Daroussin2004-02-21 17:42 christos 4460*28ff4d35SBaptiste Daroussin 4461*28ff4d35SBaptiste Daroussin * el.c, read.c, read.h: Separate tty separation from the prompt 4462*28ff4d35SBaptiste Daroussin printing function. From Gerry Swislow. 4463*28ff4d35SBaptiste Daroussin 4464*28ff4d35SBaptiste Daroussin2004-01-17 18:57 christos 4465*28ff4d35SBaptiste Daroussin 4466*28ff4d35SBaptiste Daroussin * read.c, readline.c, sys.h, term.c, readline/readline.h: 4467*28ff4d35SBaptiste Daroussin portability fixes. 4468*28ff4d35SBaptiste Daroussin 4469*28ff4d35SBaptiste Daroussin2003-12-08 13:03 lukem 4470*28ff4d35SBaptiste Daroussin 4471*28ff4d35SBaptiste Daroussin * TEST/test.c: update for function name change 4472*28ff4d35SBaptiste Daroussin 4473*28ff4d35SBaptiste Daroussin2003-12-05 14:46 wiz 4474*28ff4d35SBaptiste Daroussin 4475*28ff4d35SBaptiste Daroussin * editline.3: Use Aq instead of <>, quote a minus, drop trailing 4476*28ff4d35SBaptiste Daroussin space. 4477*28ff4d35SBaptiste Daroussin 4478*28ff4d35SBaptiste Daroussin2003-12-05 14:37 lukem 4479*28ff4d35SBaptiste Daroussin 4480*28ff4d35SBaptiste Daroussin * Makefile, editline.3, histedit.h, parse.c, readline.c, 4481*28ff4d35SBaptiste Daroussin shlib_version, tokenizer.c, tokenizer.h, TEST/Makefile, 4482*28ff4d35SBaptiste Daroussin TEST/test.c: Tokenization function enhancements: * Make 4483*28ff4d35SBaptiste Daroussin tok_init(), tok_end(), tok_reset(), tok_line() and tok_str() 4484*28ff4d35SBaptiste Daroussin publically available in <histedit.h> * Documented the public 4485*28ff4d35SBaptiste Daroussin functions in editline(3) * Renamed tok_line() -> tok_str() * 4486*28ff4d35SBaptiste Daroussin Added new tok_line() which takes a "const LineInfo *" instead of 4487*28ff4d35SBaptiste Daroussin "const char *" (the former has "cursor" information), and 4488*28ff4d35SBaptiste Daroussin optionally return the argv index ("int *cursorc") and offset 4489*28ff4d35SBaptiste Daroussin within that index ("int *cursorv"). This means that completion 4490*28ff4d35SBaptiste Daroussin routines can use the tokenization code to crack the line and 4491*28ff4d35SBaptiste Daroussin easily find which word the cursor is at. (mmm, context 4492*28ff4d35SBaptiste Daroussin sensitive completion :) * Fixed TEST/test.c when using 4493*28ff4d35SBaptiste Daroussin "continuation" lines (unmatched quote or \ at EOL), and added 4494*28ff4d35SBaptiste Daroussin some more DEBUG messages including highlighting where the 4495*28ff4d35SBaptiste Daroussin cursor is (with a `_'). 4496*28ff4d35SBaptiste Daroussin 4497*28ff4d35SBaptiste Daroussin2003-11-04 14:22 christos 4498*28ff4d35SBaptiste Daroussin 4499*28ff4d35SBaptiste Daroussin * editline.3: s/wth/with/ 4500*28ff4d35SBaptiste Daroussin 4501*28ff4d35SBaptiste Daroussin2003-11-03 04:22 christos 4502*28ff4d35SBaptiste Daroussin 4503*28ff4d35SBaptiste Daroussin * readline.c: Fix uninitialized variable. 4504*28ff4d35SBaptiste Daroussin 4505*28ff4d35SBaptiste Daroussin2003-11-02 21:08 christos 4506*28ff4d35SBaptiste Daroussin 4507*28ff4d35SBaptiste Daroussin * chared.c: Always use el->el_buffer, because newbuffer could have 4508*28ff4d35SBaptiste Daroussin moved. From Gerry Swislow gerry at certif dot com 4509*28ff4d35SBaptiste Daroussin 4510*28ff4d35SBaptiste Daroussin2003-11-02 21:07 christos 4511*28ff4d35SBaptiste Daroussin 4512*28ff4d35SBaptiste Daroussin * emacs.c: If the kill buffer is empty return normal. From Gerry 4513*28ff4d35SBaptiste Daroussin Swislow gerry at certif dot com 4514*28ff4d35SBaptiste Daroussin 4515*28ff4d35SBaptiste Daroussin2003-11-02 21:06 christos 4516*28ff4d35SBaptiste Daroussin 4517*28ff4d35SBaptiste Daroussin * parse.c: Handle M- as escape. XXX: should probably select the 4518*28ff4d35SBaptiste Daroussin meta-map instead. From Gerry Swislow gerry at certif com 4519*28ff4d35SBaptiste Daroussin 4520*28ff4d35SBaptiste Daroussin2003-11-02 02:45 christos 4521*28ff4d35SBaptiste Daroussin 4522*28ff4d35SBaptiste Daroussin * readline.c: From: Gerry Swislow gerry at certif dot com 4523*28ff4d35SBaptiste Daroussin 4524*28ff4d35SBaptiste Daroussin 1) File name completion should list the files in the current 4525*28ff4d35SBaptiste Daroussin directory if no text is entered. The previous version wouldn't 4526*28ff4d35SBaptiste Daroussin list anything if the text to complete was empty. 4527*28ff4d35SBaptiste Daroussin 4528*28ff4d35SBaptiste Daroussin 2) When listing directories, the entries "." and ".." shouldn't 4529*28ff4d35SBaptiste Daroussin be shown. 4530*28ff4d35SBaptiste Daroussin 4531*28ff4d35SBaptiste Daroussin 3) The filename completion should be used if the user's 4532*28ff4d35SBaptiste Daroussin rl_attempted_completion_function doesn't return any matches. The 4533*28ff4d35SBaptiste Daroussin previous version didn't do that. 4534*28ff4d35SBaptiste Daroussin 4535*28ff4d35SBaptiste Daroussin2003-11-02 00:39 christos 4536*28ff4d35SBaptiste Daroussin 4537*28ff4d35SBaptiste Daroussin * readline.c: initialize ptr. 4538*28ff4d35SBaptiste Daroussin 4539*28ff4d35SBaptiste Daroussin2003-11-02 00:37 christos 4540*28ff4d35SBaptiste Daroussin 4541*28ff4d35SBaptiste Daroussin * editline.3: Explain H_ADD better. from Otto Moerbeek otto at 4542*28ff4d35SBaptiste Daroussin drijf dot net 4543*28ff4d35SBaptiste Daroussin 4544*28ff4d35SBaptiste Daroussin2003-11-02 00:36 christos 4545*28ff4d35SBaptiste Daroussin 4546*28ff4d35SBaptiste Daroussin * hist.c: Fixes from Otto Moerbeek otto at drijf dot net 4547*28ff4d35SBaptiste Daroussin 4548*28ff4d35SBaptiste Daroussin2003-11-02 00:35 christos 4549*28ff4d35SBaptiste Daroussin 4550*28ff4d35SBaptiste Daroussin * editrc.5: Document history builtin commands. 4551*28ff4d35SBaptiste Daroussin 4552*28ff4d35SBaptiste Daroussin2003-10-27 23:26 christos 4553*28ff4d35SBaptiste Daroussin 4554*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Make readline csh-like history 4555*28ff4d35SBaptiste Daroussin work. From Gerry Swislow <gerry at certif dot com>. 4556*28ff4d35SBaptiste Daroussin 4557*28ff4d35SBaptiste Daroussin2003-10-25 08:42 christos 4558*28ff4d35SBaptiste Daroussin 4559*28ff4d35SBaptiste Daroussin * search.c: Another fix for incremental search prev. 4560*28ff4d35SBaptiste Daroussin 4561*28ff4d35SBaptiste Daroussin2003-10-19 08:28 christos 4562*28ff4d35SBaptiste Daroussin 4563*28ff4d35SBaptiste Daroussin * readline.c: add rl_catch_signals 4564*28ff4d35SBaptiste Daroussin 4565*28ff4d35SBaptiste Daroussin2003-10-19 03:26 wiz 4566*28ff4d35SBaptiste Daroussin 4567*28ff4d35SBaptiste Daroussin * editrc.5: Bump date for previous. 4568*28ff4d35SBaptiste Daroussin 4569*28ff4d35SBaptiste Daroussin2003-10-19 01:48 christos 4570*28ff4d35SBaptiste Daroussin 4571*28ff4d35SBaptiste Daroussin * chared.c, chared.h, el.c, el.h, history.c, key.c, read.c, 4572*28ff4d35SBaptiste Daroussin tokenizer.c: change allocation policy in el_push to allocate the 4573*28ff4d35SBaptiste Daroussin string itself. fix issues with strdup. 4574*28ff4d35SBaptiste Daroussin 4575*28ff4d35SBaptiste Daroussin2003-10-19 01:27 christos 4576*28ff4d35SBaptiste Daroussin 4577*28ff4d35SBaptiste Daroussin * search.c, search.h: make forward incremental search work better. 4578*28ff4d35SBaptiste Daroussin 4579*28ff4d35SBaptiste Daroussin2003-10-19 00:37 christos 4580*28ff4d35SBaptiste Daroussin 4581*28ff4d35SBaptiste Daroussin * tty.c: remove debugging printf. 4582*28ff4d35SBaptiste Daroussin 4583*28ff4d35SBaptiste Daroussin2003-10-19 00:24 christos 4584*28ff4d35SBaptiste Daroussin 4585*28ff4d35SBaptiste Daroussin * editrc.5, tty.c: Allow setty to set chars using char=value 4586*28ff4d35SBaptiste Daroussin 4587*28ff4d35SBaptiste Daroussin2003-10-17 20:49 christos 4588*28ff4d35SBaptiste Daroussin 4589*28ff4d35SBaptiste Daroussin * search.c: When searching backwards don't include the characters 4590*28ff4d35SBaptiste Daroussin after the cursor in the search. 4591*28ff4d35SBaptiste Daroussin 4592*28ff4d35SBaptiste Daroussin2003-10-17 17:33 wiz 4593*28ff4d35SBaptiste Daroussin 4594*28ff4d35SBaptiste Daroussin * editline.3: Bump date for previous. Replace > with \*[Gt]. 4595*28ff4d35SBaptiste Daroussin 4596*28ff4d35SBaptiste Daroussin2003-10-17 00:26 christos 4597*28ff4d35SBaptiste Daroussin 4598*28ff4d35SBaptiste Daroussin * editline.3, el.c, histedit.h, readline.c, readline/readline.h: 4599*28ff4d35SBaptiste Daroussin More libedit readline emulation functions from: Gerry Swislow 4600*28ff4d35SBaptiste Daroussin <gerry at certif dot com> 4601*28ff4d35SBaptiste Daroussin 4602*28ff4d35SBaptiste Daroussin2003-10-16 23:41 christos 4603*28ff4d35SBaptiste Daroussin 4604*28ff4d35SBaptiste Daroussin * TEST/Makefile: I got tired of typing a cc line. 4605*28ff4d35SBaptiste Daroussin 4606*28ff4d35SBaptiste Daroussin2003-10-16 23:41 christos 4607*28ff4d35SBaptiste Daroussin 4608*28ff4d35SBaptiste Daroussin * search.c: Fix incremental search which was badly busted. 4609*28ff4d35SBaptiste Daroussin 4610*28ff4d35SBaptiste Daroussin2003-10-15 20:08 christos 4611*28ff4d35SBaptiste Daroussin 4612*28ff4d35SBaptiste Daroussin * parse.c, readline.c: don't limit ^c to alpha c, and add 4613*28ff4d35SBaptiste Daroussin VIS_NOSLASH so that vis(3) does not produce \^c 4614*28ff4d35SBaptiste Daroussin 4615*28ff4d35SBaptiste Daroussin2003-10-09 02:42 christos 4616*28ff4d35SBaptiste Daroussin 4617*28ff4d35SBaptiste Daroussin * read.c, readline.c: PR/23107: Nathan Williams: ^D as the first 4618*28ff4d35SBaptiste Daroussin char on the command line does not DTRT in readline compatibility 4619*28ff4d35SBaptiste Daroussin mode 4620*28ff4d35SBaptiste Daroussin 4621*28ff4d35SBaptiste Daroussin2003-09-26 23:09 wiz 4622*28ff4d35SBaptiste Daroussin 4623*28ff4d35SBaptiste Daroussin * editline.3: New sentence, new line; bump date for previous. 4624*28ff4d35SBaptiste Daroussin 4625*28ff4d35SBaptiste Daroussin2003-09-26 19:44 christos 4626*28ff4d35SBaptiste Daroussin 4627*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, read.c, read.h, readline.c, 4628*28ff4d35SBaptiste Daroussin shlib_version, readline/readline.h: Implement enough of 4629*28ff4d35SBaptiste Daroussin readline's 4.0 async mode to make gdb happy. This is not complete 4630*28ff4d35SBaptiste Daroussin yet, but it seems to work... This required to introduce an 4631*28ff4d35SBaptiste Daroussin unbuffered mode to el_gets(), but that was a minor change. 4632*28ff4d35SBaptiste Daroussin 4633*28ff4d35SBaptiste Daroussin2003-09-15 13:33 tron 4634*28ff4d35SBaptiste Daroussin 4635*28ff4d35SBaptiste Daroussin * readline/readline.h: Include "sys/ttydefaults.h" to get standard 4636*28ff4d35SBaptiste Daroussin definition of "CTRL" macro which avoids clash with custom one. 4637*28ff4d35SBaptiste Daroussin 4638*28ff4d35SBaptiste Daroussin2003-09-15 03:29 christos 4639*28ff4d35SBaptiste Daroussin 4640*28ff4d35SBaptiste Daroussin * readline/readline.h: kludge around CTRL redef. 4641*28ff4d35SBaptiste Daroussin 4642*28ff4d35SBaptiste Daroussin2003-09-15 00:15 christos 4643*28ff4d35SBaptiste Daroussin 4644*28ff4d35SBaptiste Daroussin * readline.c, readline/readline.h: Match the stupid function 4645*28ff4d35SBaptiste Daroussin pointer declarations with actual readline's 4.0. This is gross. 4646*28ff4d35SBaptiste Daroussin 4647*28ff4d35SBaptiste Daroussin2003-09-14 23:55 christos 4648*28ff4d35SBaptiste Daroussin 4649*28ff4d35SBaptiste Daroussin * readline.c: make this compile. 4650*28ff4d35SBaptiste Daroussin 4651*28ff4d35SBaptiste Daroussin2003-09-14 23:55 christos 4652*28ff4d35SBaptiste Daroussin 4653*28ff4d35SBaptiste Daroussin * readline/readline.h: Avoid pre-ansi warning. 4654*28ff4d35SBaptiste Daroussin 4655*28ff4d35SBaptiste Daroussin2003-09-14 23:48 christos 4656*28ff4d35SBaptiste Daroussin 4657*28ff4d35SBaptiste Daroussin * el.c, readline.c, shlib_version, term.c, term.h, 4658*28ff4d35SBaptiste Daroussin readline/readline.h: - provide enough hooks to compile gdb-5.3 - 4659*28ff4d35SBaptiste Daroussin fix el_get(e, EL_TERMINAL, (char **)) 4660*28ff4d35SBaptiste Daroussin 4661*28ff4d35SBaptiste Daroussin2003-09-13 06:18 mycroft 4662*28ff4d35SBaptiste Daroussin 4663*28ff4d35SBaptiste Daroussin * read.c: Fix something that's been annoying me for a while... 4664*28ff4d35SBaptiste Daroussin Pull in <fcntl.h>, so that the fcntl #defines are present, and we 4665*28ff4d35SBaptiste Daroussin build in the automatic reset of non-blocking mode, rather than 4666*28ff4d35SBaptiste Daroussin beeping like mad. 4667*28ff4d35SBaptiste Daroussin 4668*28ff4d35SBaptiste Daroussin2003-08-07 18:44 agc 4669*28ff4d35SBaptiste Daroussin 4670*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, el.h, emacs.c, hist.c, 4671*28ff4d35SBaptiste Daroussin hist.h, histedit.h, history.c, key.c, key.h, map.c, map.h, 4672*28ff4d35SBaptiste Daroussin parse.c, parse.h, prompt.c, prompt.h, read.c, refresh.c, 4673*28ff4d35SBaptiste Daroussin refresh.h, search.c, search.h, sig.c, sig.h, sys.h, term.c, 4674*28ff4d35SBaptiste Daroussin term.h, tokenizer.c, tokenizer.h, tty.c, tty.h, vi.c, 4675*28ff4d35SBaptiste Daroussin TEST/test.c: Move UCB-licensed code from 4-clause to 3-clause 4676*28ff4d35SBaptiste Daroussin licence. 4677*28ff4d35SBaptiste Daroussin 4678*28ff4d35SBaptiste Daroussin Patches provided by Joel Baker in PR 22280, verified by myself. 4679*28ff4d35SBaptiste Daroussin 4680*28ff4d35SBaptiste Daroussin2003-08-03 11:23 lukem 4681*28ff4d35SBaptiste Daroussin 4682*28ff4d35SBaptiste Daroussin * readline/Makefile: Add INCSYMLINKS to <bsd.inc.mk> and 4683*28ff4d35SBaptiste Daroussin <bsd.kinc.mk>, and use that instead of SYMLINKS to install 4684*28ff4d35SBaptiste Daroussin symlinked header files. INCSYMLINKS are installed with 'make 4685*28ff4d35SBaptiste Daroussin includes'. This avoids using SYMLINKS and hacks with the 4686*28ff4d35SBaptiste Daroussin 'linkinstall' target in <bsd.links.mk>, as linksinstall occurs in 4687*28ff4d35SBaptiste Daroussin 'make install' and hacks to get it to occur in 'make includes' 4688*28ff4d35SBaptiste Daroussin weren't robust, as seen in lib/libdes. 4689*28ff4d35SBaptiste Daroussin 4690*28ff4d35SBaptiste Daroussin Yet more improvements to bsd.README. 4691*28ff4d35SBaptiste Daroussin 4692*28ff4d35SBaptiste Daroussin2003-08-01 19:03 lukem 4693*28ff4d35SBaptiste Daroussin 4694*28ff4d35SBaptiste Daroussin * Makefile: Rework how dependency generation is performed: 4695*28ff4d35SBaptiste Daroussin 4696*28ff4d35SBaptiste Daroussin * DPSRCS contains extra dependencies, but is _NOT_ added to 4697*28ff4d35SBaptiste Daroussin CLEANFILES. This is a change of behaviour. If a Makefile 4698*28ff4d35SBaptiste Daroussin wants the clean semantics it must specifically append to 4699*28ff4d35SBaptiste Daroussin CLEANFILES. Resolves PR toolchain/5204. 4700*28ff4d35SBaptiste Daroussin 4701*28ff4d35SBaptiste Daroussin * To recap: .d (depend) files are generated for all files in SRCS 4702*28ff4d35SBaptiste Daroussin and DPSRCS that have a suffix of: .c .m .s .S .C .cc .cpp .cxx 4703*28ff4d35SBaptiste Daroussin 4704*28ff4d35SBaptiste Daroussin * If YHEADER is set, automatically add the .y->.h to DPSRCS & 4705*28ff4d35SBaptiste Daroussin CLEANFILES 4706*28ff4d35SBaptiste Daroussin 4707*28ff4d35SBaptiste Daroussin * Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon 4708*28ff4d35SBaptiste Daroussin ${DPSRCS} 4709*28ff4d35SBaptiste Daroussin 4710*28ff4d35SBaptiste Daroussin * Deprecate the (short lived) DEPENDSRCS 4711*28ff4d35SBaptiste Daroussin 4712*28ff4d35SBaptiste Daroussin Update the various Makefiles to these new semantics; generally 4713*28ff4d35SBaptiste Daroussin either adding to CLEANFILES (because DPSRCS doesn't do that 4714*28ff4d35SBaptiste Daroussin anymore), or replacing specific .o dependencies with DPSRCS 4715*28ff4d35SBaptiste Daroussin entries. 4716*28ff4d35SBaptiste Daroussin 4717*28ff4d35SBaptiste Daroussin Tested with "make -j 8 distribution" and "make distribution". 4718*28ff4d35SBaptiste Daroussin 4719*28ff4d35SBaptiste Daroussin2003-07-31 14:46 lukem 4720*28ff4d35SBaptiste Daroussin 4721*28ff4d35SBaptiste Daroussin * Makefile: tweak this unconventional (some might say "baroque") 4722*28ff4d35SBaptiste Daroussin Makefile to work with the new <bsd.dep.mk> *.d semantics. fixes 4723*28ff4d35SBaptiste Daroussin problems highlighted by Martin Husemann <martin@> 4724*28ff4d35SBaptiste Daroussin 4725*28ff4d35SBaptiste Daroussin2003-07-16 13:54 wiz 4726*28ff4d35SBaptiste Daroussin 4727*28ff4d35SBaptiste Daroussin * editline.3: Bump date for last. 4728*28ff4d35SBaptiste Daroussin 4729*28ff4d35SBaptiste Daroussin2003-07-15 00:36 jeremy 4730*28ff4d35SBaptiste Daroussin 4731*28ff4d35SBaptiste Daroussin * editline.3: Documented the return values from el_get(). 4732*28ff4d35SBaptiste Daroussin 4733*28ff4d35SBaptiste Daroussin2003-06-27 20:57 wiz 4734*28ff4d35SBaptiste Daroussin 4735*28ff4d35SBaptiste Daroussin * editrc.5: Add Ns. 4736*28ff4d35SBaptiste Daroussin 4737*28ff4d35SBaptiste Daroussin2003-06-19 18:19 christos 4738*28ff4d35SBaptiste Daroussin 4739*28ff4d35SBaptiste Daroussin * sys.h: provide a definition for __attribute__ 4740*28ff4d35SBaptiste Daroussin 4741*28ff4d35SBaptiste Daroussin2003-06-19 18:04 christos 4742*28ff4d35SBaptiste Daroussin 4743*28ff4d35SBaptiste Daroussin * readline.c: From michael@moria.de: Fix realloc case where we 4744*28ff4d35SBaptiste Daroussin could be running out of space if too many matches. 4745*28ff4d35SBaptiste Daroussin 4746*28ff4d35SBaptiste Daroussin2003-06-19 17:55 christos 4747*28ff4d35SBaptiste Daroussin 4748*28ff4d35SBaptiste Daroussin * common.c, el.c, emacs.c, hist.c, history.c, key.h, prompt.c, 4749*28ff4d35SBaptiste Daroussin read.c, readline.c, refresh.c, term.c, tty.c, vi.c: From 4750*28ff4d35SBaptiste Daroussin michael@moria.de: - use __attribute__((__unused__)) in arguments 4751*28ff4d35SBaptiste Daroussin where appropriate. - some int -> size_t and char * to const char 4752*28ff4d35SBaptiste Daroussin * conversions. 4753*28ff4d35SBaptiste Daroussin 4754*28ff4d35SBaptiste Daroussin2003-06-06 15:33 wiz 4755*28ff4d35SBaptiste Daroussin 4756*28ff4d35SBaptiste Daroussin * editline.3: Use Aq Pa instead of Fd \*[Lt]...\*[Gt]. From 4757*28ff4d35SBaptiste Daroussin jmc@openbsd. 4758*28ff4d35SBaptiste Daroussin 4759*28ff4d35SBaptiste Daroussin2003-06-04 22:14 matt 4760*28ff4d35SBaptiste Daroussin 4761*28ff4d35SBaptiste Daroussin * vi.c: Only return CC_EOF if ^D (VEOF) was the only thing on the 4762*28ff4d35SBaptiste Daroussin line. Otherwise beep and don't do anything else. This mimics 4763*28ff4d35SBaptiste Daroussin the behavor of ^D outside in normal terminal mode. (^D in vi 4764*28ff4d35SBaptiste Daroussin scrolls forwards and as such isn't appropriate to emulation) 4765*28ff4d35SBaptiste Daroussin 4766*28ff4d35SBaptiste Daroussin2003-05-14 09:24 wiz 4767*28ff4d35SBaptiste Daroussin 4768*28ff4d35SBaptiste Daroussin * editrc.5: setup -> set up, from jmc@openbsd. 4769*28ff4d35SBaptiste Daroussin 4770*28ff4d35SBaptiste Daroussin2003-05-08 15:22 christos 4771*28ff4d35SBaptiste Daroussin 4772*28ff4d35SBaptiste Daroussin * Makefile: add a missing dependency (John Gordon) 4773*28ff4d35SBaptiste Daroussin 4774*28ff4d35SBaptiste Daroussin2003-05-08 15:20 christos 4775*28ff4d35SBaptiste Daroussin 4776*28ff4d35SBaptiste Daroussin * Makefile: Use ${HOST_SH} 4777*28ff4d35SBaptiste Daroussin 4778*28ff4d35SBaptiste Daroussin2003-04-16 15:35 wiz 4779*28ff4d35SBaptiste Daroussin 4780*28ff4d35SBaptiste Daroussin * editline.3: Use .In header.h instead of .Fd #include 4781*28ff4d35SBaptiste Daroussin \*[Lt]header.h\*[Gt] Much easier to read and write, and supported 4782*28ff4d35SBaptiste Daroussin by groff for ages. Okayed by ross. 4783*28ff4d35SBaptiste Daroussin 4784*28ff4d35SBaptiste Daroussin2003-03-31 18:52 perry 4785*28ff4d35SBaptiste Daroussin 4786*28ff4d35SBaptiste Daroussin * editrc.5, emacs.c: em-gosmacs-traspose->em-gosmacs-transpose 4787*28ff4d35SBaptiste Daroussin (Igor Sobrado, PR misc/19909) 4788*28ff4d35SBaptiste Daroussin 4789*28ff4d35SBaptiste Daroussin2003-03-29 23:48 wiz 4790*28ff4d35SBaptiste Daroussin 4791*28ff4d35SBaptiste Daroussin * readline.c: Consistently spell occurrence with two rs. 4792*28ff4d35SBaptiste Daroussin 4793*28ff4d35SBaptiste Daroussin2003-03-15 21:52 he 4794*28ff4d35SBaptiste Daroussin 4795*28ff4d35SBaptiste Daroussin * refresh.c: Pull up revision 1.19 (via patch, requested by msaitoh 4796*28ff4d35SBaptiste Daroussin in ticket #14): Since we have opost and onlcr set, we don't 4797*28ff4d35SBaptiste Daroussin need to output \r; \n is sufficient. Fixes PR#17954. 4798*28ff4d35SBaptiste Daroussin 4799*28ff4d35SBaptiste Daroussin2003-03-10 22:21 christos 4800*28ff4d35SBaptiste Daroussin 4801*28ff4d35SBaptiste Daroussin * makelist: don't use the path for awk 4802*28ff4d35SBaptiste Daroussin 4803*28ff4d35SBaptiste Daroussin2003-03-10 22:18 christos 4804*28ff4d35SBaptiste Daroussin 4805*28ff4d35SBaptiste Daroussin * refresh.c: s/u_int32_t/unsigned int/ 4806*28ff4d35SBaptiste Daroussin 4807*28ff4d35SBaptiste Daroussin2003-03-10 12:09 dsl 4808*28ff4d35SBaptiste Daroussin 4809*28ff4d35SBaptiste Daroussin * vi.c: Put the __weak_extern() back inside vi_alias, but after the 4810*28ff4d35SBaptiste Daroussin extern for get_alias_text(). 4811*28ff4d35SBaptiste Daroussin 4812*28ff4d35SBaptiste Daroussin2003-03-10 10:55 he 4813*28ff4d35SBaptiste Daroussin 4814*28ff4d35SBaptiste Daroussin * vi.c: Move the __weak_extern() (ifdef'ed) outside of the 4815*28ff4d35SBaptiste Daroussin vi_alias() function, so that this compiles again. 4816*28ff4d35SBaptiste Daroussin 4817*28ff4d35SBaptiste Daroussin2003-03-10 02:14 christos 4818*28ff4d35SBaptiste Daroussin 4819*28ff4d35SBaptiste Daroussin * readline.c: null is not 0 4820*28ff4d35SBaptiste Daroussin 4821*28ff4d35SBaptiste Daroussin2003-03-10 02:14 christos 4822*28ff4d35SBaptiste Daroussin 4823*28ff4d35SBaptiste Daroussin * vi.c: if no __weak_extern, don't even try to do vi_alias. 4824*28ff4d35SBaptiste Daroussin 4825*28ff4d35SBaptiste Daroussin2003-03-10 02:05 christos 4826*28ff4d35SBaptiste Daroussin 4827*28ff4d35SBaptiste Daroussin * vi.c: fix uninitialized variable. grr, I want gcc-3.3 4828*28ff4d35SBaptiste Daroussin 4829*28ff4d35SBaptiste Daroussin2003-03-10 01:58 christos 4830*28ff4d35SBaptiste Daroussin 4831*28ff4d35SBaptiste Daroussin * sig.c, sig.h: sig_t is non portable 4832*28ff4d35SBaptiste Daroussin 4833*28ff4d35SBaptiste Daroussin2003-03-10 01:57 christos 4834*28ff4d35SBaptiste Daroussin 4835*28ff4d35SBaptiste Daroussin * sys.h: - include cdefs.h early in the game - ifdef notdef the 4836*28ff4d35SBaptiste Daroussin sunos stuff - no need for sig_t 4837*28ff4d35SBaptiste Daroussin 4838*28ff4d35SBaptiste Daroussin2003-03-10 01:56 christos 4839*28ff4d35SBaptiste Daroussin 4840*28ff4d35SBaptiste Daroussin * readline.c: include alloca.h for systems that need it. 4841*28ff4d35SBaptiste Daroussin 4842*28ff4d35SBaptiste Daroussin2003-02-25 11:34 wiz 4843*28ff4d35SBaptiste Daroussin 4844*28ff4d35SBaptiste Daroussin * editline.3: .Nm does not need a dummy argument ("") before 4845*28ff4d35SBaptiste Daroussin punctuation or for correct formatting of the SYNOPSIS any longer. 4846*28ff4d35SBaptiste Daroussin 4847*28ff4d35SBaptiste Daroussin2003-01-22 00:00 wiz 4848*28ff4d35SBaptiste Daroussin 4849*28ff4d35SBaptiste Daroussin * editline.3: Replace -1 with \-1 for PostScript output; drop a 4850*28ff4d35SBaptiste Daroussin trailing space and fix two typos. 4851*28ff4d35SBaptiste Daroussin 4852*28ff4d35SBaptiste Daroussin2003-01-21 19:40 christos 4853*28ff4d35SBaptiste Daroussin 4854*28ff4d35SBaptiste Daroussin * editline.3, hist.c, hist.h, histedit.h, history.c, parse.c: Add a 4855*28ff4d35SBaptiste Daroussin uniquefier for the history function. 4856*28ff4d35SBaptiste Daroussin 4857*28ff4d35SBaptiste Daroussin2003-01-21 18:41 christos 4858*28ff4d35SBaptiste Daroussin 4859*28ff4d35SBaptiste Daroussin * readline.c: fix directory descriptor leak [from michael at moria 4860*28ff4d35SBaptiste Daroussin dot de] 4861*28ff4d35SBaptiste Daroussin 4862*28ff4d35SBaptiste Daroussin2003-01-05 09:40 jmc 4863*28ff4d35SBaptiste Daroussin 4864*28ff4d35SBaptiste Daroussin * refresh.c: Pull up revisions 1.18-1.19 (requested by masanobu in 4865*28ff4d35SBaptiste Daroussin ticket #1048) PR/17954: SAITOH Masanobu: since we have opost and 4866*28ff4d35SBaptiste Daroussin onlcr set, we don't need to output \r to go to the end of line; 4867*28ff4d35SBaptiste Daroussin \n is enough. From David Laight. 4868*28ff4d35SBaptiste Daroussin 4869*28ff4d35SBaptiste Daroussin2002-11-20 17:50 christos 4870*28ff4d35SBaptiste Daroussin 4871*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, read.c, search.c: Fix problem with 4872*28ff4d35SBaptiste Daroussin previous patches that broke vi history. - c_gets() was usually 4873*28ff4d35SBaptiste Daroussin returning a length, but sometimes one of the CC_xxx values 4874*28ff4d35SBaptiste Daroussin (which are small +ve integers)! - fixed c_gets() by putting a ' ' 4875*28ff4d35SBaptiste Daroussin under the cursor. From David Laight. 4876*28ff4d35SBaptiste Daroussin 4877*28ff4d35SBaptiste Daroussin2002-11-15 15:33 christos 4878*28ff4d35SBaptiste Daroussin 4879*28ff4d35SBaptiste Daroussin * refresh.c: de-lint 4880*28ff4d35SBaptiste Daroussin 4881*28ff4d35SBaptiste Daroussin2002-11-15 15:32 christos 4882*28ff4d35SBaptiste Daroussin 4883*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.h, emacs.c, hist.c, hist.h, 4884*28ff4d35SBaptiste Daroussin histedit.h, map.c, read.c, refresh.c, search.c, search.h, vi.c: 4885*28ff4d35SBaptiste Daroussin PR/18995: David Laight: libedit fixes for posix conformant sh 4886*28ff4d35SBaptiste Daroussin 4887*28ff4d35SBaptiste Daroussin The posix 'sh' specification defines vi-mode editing quite 4888*28ff4d35SBaptiste Daroussin tightly. The netbsd libedit code (used by sh to do this) was 4889*28ff4d35SBaptiste Daroussin missing several features, there were also minor errors in others. 4890*28ff4d35SBaptiste Daroussin 4891*28ff4d35SBaptiste Daroussin Compare netbsd sh to the definition available from: 4892*28ff4d35SBaptiste Daroussin http://www.opengroup.org/onlinepubs/007904975/utilities/sh.html 4893*28ff4d35SBaptiste Daroussin In particular the following were not supported: U - undo all 4894*28ff4d35SBaptiste Daroussin changes to line | - goto column Y - yank to end of 4895*28ff4d35SBaptiste Daroussin line y - yank # - comment out current line @ - 4896*28ff4d35SBaptiste Daroussin take input from shell alias [1] G - goto numbered line in 4897*28ff4d35SBaptiste Daroussin history buffer v - edit history line with vi _ - append 4898*28ff4d35SBaptiste Daroussin word from last input line . - redo last command Other minor 4899*28ff4d35SBaptiste Daroussin changes have also been made. 4900*28ff4d35SBaptiste Daroussin 4901*28ff4d35SBaptiste Daroussin [1] This needs the shell to define an appropriate routine to 4902*28ff4d35SBaptiste Daroussin return the text of the alias. There is no requirement that such 4903*28ff4d35SBaptiste Daroussin a function exist. 4904*28ff4d35SBaptiste Daroussin 4905*28ff4d35SBaptiste Daroussin2002-11-12 01:01 thorpej 4906*28ff4d35SBaptiste Daroussin 4907*28ff4d35SBaptiste Daroussin * refresh.c: Fix signed/unsigned comparison warnings. 4908*28ff4d35SBaptiste Daroussin 4909*28ff4d35SBaptiste Daroussin2002-11-12 01:00 thorpej 4910*28ff4d35SBaptiste Daroussin 4911*28ff4d35SBaptiste Daroussin * el.c: Avoid strict alias warning. 4912*28ff4d35SBaptiste Daroussin 4913*28ff4d35SBaptiste Daroussin2002-10-31 03:01 christos 4914*28ff4d35SBaptiste Daroussin 4915*28ff4d35SBaptiste Daroussin * map.c, vi.c: support for % command [matching 4916*28ff4d35SBaptiste Daroussin parens/brackets/braces] on vi modes. From David Laight, thanks! 4917*28ff4d35SBaptiste Daroussin 4918*28ff4d35SBaptiste Daroussin2002-10-27 22:43 christos 4919*28ff4d35SBaptiste Daroussin 4920*28ff4d35SBaptiste Daroussin * readline.c: remove unused variables. 4921*28ff4d35SBaptiste Daroussin 4922*28ff4d35SBaptiste Daroussin2002-10-27 22:41 christos 4923*28ff4d35SBaptiste Daroussin 4924*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, common.c, el.h, emacs.c, map.c, 4925*28ff4d35SBaptiste Daroussin read.c, readline.c, refresh.c, vi.c: vi mode and memory fixes 4926*28ff4d35SBaptiste Daroussin from david laight. 4927*28ff4d35SBaptiste Daroussin 4928*28ff4d35SBaptiste Daroussin2002-10-27 21:24 christos 4929*28ff4d35SBaptiste Daroussin 4930*28ff4d35SBaptiste Daroussin * history.c, readline.c, tokenizer.c: don't crash in memory 4931*28ff4d35SBaptiste Daroussin shortage conditions. 4932*28ff4d35SBaptiste Daroussin 4933*28ff4d35SBaptiste Daroussin2002-10-27 21:04 christos 4934*28ff4d35SBaptiste Daroussin 4935*28ff4d35SBaptiste Daroussin * refresh.c: PR/17954: SAITOH Masanobu: since we have opost and 4936*28ff4d35SBaptiste Daroussin onlcr set, we don't need to output \r to go to the end of line; 4937*28ff4d35SBaptiste Daroussin \n is enough. From David Laight. 4938*28ff4d35SBaptiste Daroussin 4939*28ff4d35SBaptiste Daroussin2002-10-13 19:15 christos 4940*28ff4d35SBaptiste Daroussin 4941*28ff4d35SBaptiste Daroussin * history.c: write the vis(3) converted string into the file, not 4942*28ff4d35SBaptiste Daroussin the original one. Noted by Tim Robbins. Hi luke! 4943*28ff4d35SBaptiste Daroussin 4944*28ff4d35SBaptiste Daroussin2002-10-02 13:06 wiz 4945*28ff4d35SBaptiste Daroussin 4946*28ff4d35SBaptiste Daroussin * editrc.5: empty, not emptry. By Adrian Mrva. 4947*28ff4d35SBaptiste Daroussin 4948*28ff4d35SBaptiste Daroussin2002-10-01 21:06 wiz 4949*28ff4d35SBaptiste Daroussin 4950*28ff4d35SBaptiste Daroussin * editline.3: New sentence, new line. From Robert Elz. 4951*28ff4d35SBaptiste Daroussin 4952*28ff4d35SBaptiste Daroussin2002-08-19 16:55 lukem 4953*28ff4d35SBaptiste Daroussin 4954*28ff4d35SBaptiste Daroussin * Makefile: Explicitly move setting of NOxxx and USE_SHLIBDIR to 4955*28ff4d35SBaptiste Daroussin the top of the Makefile (before including <bsd.own.mk>) 4956*28ff4d35SBaptiste Daroussin 4957*28ff4d35SBaptiste Daroussin2002-08-19 15:35 lukem 4958*28ff4d35SBaptiste Daroussin 4959*28ff4d35SBaptiste Daroussin * readline/Makefile: More use of ${NETBSDSRCDIR}/some/path instead 4960*28ff4d35SBaptiste Daroussin of ${.CURDIR}/../../some/path 4961*28ff4d35SBaptiste Daroussin 4962*28ff4d35SBaptiste Daroussin2002-08-18 09:23 yamt 4963*28ff4d35SBaptiste Daroussin 4964*28ff4d35SBaptiste Daroussin * editline.3: reflect reality. (3rd arg of el_parse is const.) 4965*28ff4d35SBaptiste Daroussin 4966*28ff4d35SBaptiste Daroussin2002-08-09 12:03 soren 4967*28ff4d35SBaptiste Daroussin 4968*28ff4d35SBaptiste Daroussin * TEST/test.c: Remove extraneous \n's in {err,warn}{,x}. 4969*28ff4d35SBaptiste Daroussin 4970*28ff4d35SBaptiste Daroussin2002-04-09 03:57 thorpej 4971*28ff4d35SBaptiste Daroussin 4972*28ff4d35SBaptiste Daroussin * readline.c: _rl_qsort_string_compare(): Fix casts. This makes 4973*28ff4d35SBaptiste Daroussin gcc 3.2 happy, and also allows both LINTED comments to be 4974*28ff4d35SBaptiste Daroussin removed. 4975*28ff4d35SBaptiste Daroussin 4976*28ff4d35SBaptiste Daroussin2002-03-24 00:39 christos 4977*28ff4d35SBaptiste Daroussin 4978*28ff4d35SBaptiste Daroussin * TEST/test.c: make sure this compiles cleanly and works. 4979*28ff4d35SBaptiste Daroussin 4980*28ff4d35SBaptiste Daroussin2002-03-18 17:20 christos 4981*28ff4d35SBaptiste Daroussin 4982*28ff4d35SBaptiste Daroussin * Makefile, readline.c: Add a couple linted comment and enable 4983*28ff4d35SBaptiste Daroussin WARNS=3 4984*28ff4d35SBaptiste Daroussin 4985*28ff4d35SBaptiste Daroussin2002-03-18 17:19 christos 4986*28ff4d35SBaptiste Daroussin 4987*28ff4d35SBaptiste Daroussin * config.h: oops, we need config.h now. 4988*28ff4d35SBaptiste Daroussin 4989*28ff4d35SBaptiste Daroussin2002-03-18 17:00 christos 4990*28ff4d35SBaptiste Daroussin 4991*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, el.h, emacs.c, hist.c, 4992*28ff4d35SBaptiste Daroussin hist.h, histedit.h, history.c, key.c, key.h, map.c, map.h, 4993*28ff4d35SBaptiste Daroussin parse.c, prompt.c, read.c, readline.c, refresh.c, search.c, 4994*28ff4d35SBaptiste Daroussin sig.c, sys.h, term.c, term.h, tokenizer.c, tokenizer.h, tty.c, 4995*28ff4d35SBaptiste Daroussin tty.h, vi.c, TEST/test.c, readline/readline.h: - constify; passes 4996*28ff4d35SBaptiste Daroussin all gcc and lint strict checks. - add config.h [Jason Evans], to 4997*28ff4d35SBaptiste Daroussin create a portable version of libedit that can be easily 4998*28ff4d35SBaptiste Daroussin compiled on other OS's. 4999*28ff4d35SBaptiste Daroussin 5000*28ff4d35SBaptiste Daroussin2002-02-20 12:54 wiz 5001*28ff4d35SBaptiste Daroussin 5002*28ff4d35SBaptiste Daroussin * editline.3: Close quoting. 5003*28ff4d35SBaptiste Daroussin 5004*28ff4d35SBaptiste Daroussin2002-02-07 08:00 ross 5005*28ff4d35SBaptiste Daroussin 5006*28ff4d35SBaptiste Daroussin * editline.3: Generate <>& symbolically. 5007*28ff4d35SBaptiste Daroussin 5008*28ff4d35SBaptiste Daroussin2002-02-04 00:37 christos 5009*28ff4d35SBaptiste Daroussin 5010*28ff4d35SBaptiste Daroussin * chared.h: Fixed an __P remnant 5011*28ff4d35SBaptiste Daroussin 5012*28ff4d35SBaptiste Daroussin2002-02-04 00:37 christos 5013*28ff4d35SBaptiste Daroussin 5014*28ff4d35SBaptiste Daroussin * el.c: Don't use HAVE_ yet. 5015*28ff4d35SBaptiste Daroussin 5016*28ff4d35SBaptiste Daroussin2002-02-04 00:30 christos 5017*28ff4d35SBaptiste Daroussin 5018*28ff4d35SBaptiste Daroussin * el.c: Fix a warning. 5019*28ff4d35SBaptiste Daroussin 5020*28ff4d35SBaptiste Daroussin2002-01-31 03:27 christos 5021*28ff4d35SBaptiste Daroussin 5022*28ff4d35SBaptiste Daroussin * tokenizer.c: don't forget to re-adjust the limit. 5023*28ff4d35SBaptiste Daroussin 5024*28ff4d35SBaptiste Daroussin2002-01-31 01:25 christos 5025*28ff4d35SBaptiste Daroussin 5026*28ff4d35SBaptiste Daroussin * tokenizer.c: make pointer arithmetic more palatable. 5027*28ff4d35SBaptiste Daroussin 5028*28ff4d35SBaptiste Daroussin2002-01-15 03:46 wiz 5029*28ff4d35SBaptiste Daroussin 5030*28ff4d35SBaptiste Daroussin * editrc.5: Punctuation nits. 5031*28ff4d35SBaptiste Daroussin 5032*28ff4d35SBaptiste Daroussin2002-01-15 03:46 wiz 5033*28ff4d35SBaptiste Daroussin 5034*28ff4d35SBaptiste Daroussin * editline.3: Punctuation and whitespace nits, fix a typo. 5035*28ff4d35SBaptiste Daroussin 5036*28ff4d35SBaptiste Daroussin2001-12-28 02:32 lukem 5037*28ff4d35SBaptiste Daroussin 5038*28ff4d35SBaptiste Daroussin * Makefile: * Add user-controlled mk.conf variables - SHLIBDIR 5039*28ff4d35SBaptiste Daroussin Location to install shared libraries if ${USE_SHLIBDIR} 5040*28ff4d35SBaptiste Daroussin is "yes". Defaults to "/usr/lib". 5041*28ff4d35SBaptiste Daroussin 5042*28ff4d35SBaptiste Daroussin - USE_SHLIBDIR If "yes", install shared libraries in 5043*28ff4d35SBaptiste Daroussin ${SHLIBDIR} 5044*28ff4d35SBaptiste Daroussin instead of ${LIBDIR}. Defaults to "no". 5045*28ff4d35SBaptiste Daroussin Sets ${_LIBSODIR} to the appropriate 5046*28ff4d35SBaptiste Daroussin value. 5047*28ff4d35SBaptiste Daroussin This may be set by individual Makefiles 5048*28ff4d35SBaptiste Daroussin as well. 5049*28ff4d35SBaptiste Daroussin 5050*28ff4d35SBaptiste Daroussin - SHLINKDIR Location of shared linker. Defaults to 5051*28ff4d35SBaptiste Daroussin "/usr/libexec". 5052*28ff4d35SBaptiste Daroussin If != "/usr/libexec", change the 5053*28ff4d35SBaptiste Daroussin dynamic-linker 5054*28ff4d35SBaptiste Daroussin encoded in shared programs 5055*28ff4d35SBaptiste Daroussin 5056*28ff4d35SBaptiste Daroussin * Set USE_SHLIBDIR for libraries used by /bin and /sbin: 5057*28ff4d35SBaptiste Daroussin libc libcrypt libcrypto libedit libipsec libkvm libm libmi387 5058*28ff4d35SBaptiste Daroussin libtermcap libutil libz 5059*28ff4d35SBaptiste Daroussin 5060*28ff4d35SBaptiste Daroussin * If ${_LIBSODIR} != ${LIBDIR}, add symlinks from 5061*28ff4d35SBaptiste Daroussin ${LIBDIR}/${LIB}.so* to ${_LIBSODIR}/${LIB}.so* for 5062*28ff4d35SBaptiste Daroussin compatibility. 5063*28ff4d35SBaptiste Daroussin 5064*28ff4d35SBaptiste Daroussin * Always install /sbin/init statically (for now) 5065*28ff4d35SBaptiste Daroussin 5066*28ff4d35SBaptiste Daroussin The net effect of these changes depends on how the variables are 5067*28ff4d35SBaptiste Daroussin set: 5068*28ff4d35SBaptiste Daroussin 5069*28ff4d35SBaptiste Daroussin 1.) If nothing is set or changed, there is no change from the 5070*28ff4d35SBaptiste Daroussin current behaviour: 5071*28ff4d35SBaptiste Daroussin - Static /bin, /sbin, and bits of /usr/* 5072*28ff4d35SBaptiste Daroussin - Dynamic rest 5073*28ff4d35SBaptiste Daroussin - Shared linker is /usr/libexec/ld*so 5074*28ff4d35SBaptiste Daroussin 5075*28ff4d35SBaptiste Daroussin 2.) If the following make variables are set: 5076*28ff4d35SBaptiste Daroussin LDSTATIC= 5077*28ff4d35SBaptiste Daroussin SHLINKDIR=/lib 5078*28ff4d35SBaptiste Daroussin SHLIBDIR=/lib 5079*28ff4d35SBaptiste Daroussin Then the behaviour becomes: 5080*28ff4d35SBaptiste Daroussin - Dynamic tools 5081*28ff4d35SBaptiste Daroussin - .so libraries used by /bin and /sbin are 5082*28ff4d35SBaptiste Daroussin installed to /lib, 5083*28ff4d35SBaptiste Daroussin with symlinks from /usr/lib/lib*so to -> 5084*28ff4d35SBaptiste Daroussin /lib/lib*so 5085*28ff4d35SBaptiste Daroussin where appropriate 5086*28ff4d35SBaptiste Daroussin - Shared linker is /lib/ld*so 5087*28ff4d35SBaptiste Daroussin 5088*28ff4d35SBaptiste Daroussin 3.) As per 2.), but add the following variable: 5089*28ff4d35SBaptiste Daroussin USE_SHLIBDIR=yes 5090*28ff4d35SBaptiste Daroussin This forces all .so's to be instaleld in /lib (with 5091*28ff4d35SBaptiste Daroussin compat 5092*28ff4d35SBaptiste Daroussin symlinks), not just those tagged by their Makefiles to 5093*28ff4d35SBaptiste Daroussin be. 5094*28ff4d35SBaptiste Daroussin Again, compat symlinks are installed 5095*28ff4d35SBaptiste Daroussin 5096*28ff4d35SBaptiste Daroussin2001-12-12 01:51 tv 5097*28ff4d35SBaptiste Daroussin 5098*28ff4d35SBaptiste Daroussin * readline/Makefile: Readability cleanups; MKfoo=no -> NOfoo. 5099*28ff4d35SBaptiste Daroussin 5100*28ff4d35SBaptiste Daroussin2001-11-08 20:39 mycroft 5101*28ff4d35SBaptiste Daroussin 5102*28ff4d35SBaptiste Daroussin * term.c: In the `not what I asked for' department: Do NOT return 5103*28ff4d35SBaptiste Daroussin an error from term_init() if term_set() fails. Otherwise 5104*28ff4d35SBaptiste Daroussin el_init() barfs and libedit fails to work. 5105*28ff4d35SBaptiste Daroussin 5106*28ff4d35SBaptiste Daroussin2001-11-08 20:34 mycroft 5107*28ff4d35SBaptiste Daroussin 5108*28ff4d35SBaptiste Daroussin * el.c: Remove an unused variable. 5109*28ff4d35SBaptiste Daroussin 5110*28ff4d35SBaptiste Daroussin2001-11-02 05:47 christos 5111*28ff4d35SBaptiste Daroussin 5112*28ff4d35SBaptiste Daroussin * el.c: If term_init() fails, cleanup and return NULL. This avoids 5113*28ff4d35SBaptiste Daroussin other lossage. Pointed by charles. 5114*28ff4d35SBaptiste Daroussin 5115*28ff4d35SBaptiste Daroussin2001-11-02 05:42 christos 5116*28ff4d35SBaptiste Daroussin 5117*28ff4d35SBaptiste Daroussin * term.c: Finish initializing all the term data structures even if 5118*28ff4d35SBaptiste Daroussin the terminal init fails. This makes editline work on dumb 5119*28ff4d35SBaptiste Daroussin terminals again. Noted by mycroft. Oops, too agressive error 5120*28ff4d35SBaptiste Daroussin checking. 5121*28ff4d35SBaptiste Daroussin 5122*28ff4d35SBaptiste Daroussin2001-10-09 15:50 christos 5123*28ff4d35SBaptiste Daroussin 5124*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, shlib_version: PR/14188: 5125*28ff4d35SBaptiste Daroussin Anthony Mallet: Provide an opaque data pointer to client 5126*28ff4d35SBaptiste Daroussin programs. 5127*28ff4d35SBaptiste Daroussin 5128*28ff4d35SBaptiste Daroussin2001-10-04 02:45 lukem 5129*28ff4d35SBaptiste Daroussin 5130*28ff4d35SBaptiste Daroussin * editline.3: a couple of minor fixes. originally by Ruslan 5131*28ff4d35SBaptiste Daroussin Ermilov <ru@FreeBSD.org>, highlighted to me by way of Mike 5132*28ff4d35SBaptiste Daroussin Barcroft <mike@FreeBSD.org> (thanks!) 5133*28ff4d35SBaptiste Daroussin 5134*28ff4d35SBaptiste Daroussin2001-09-29 19:52 jdolecek 5135*28ff4d35SBaptiste Daroussin 5136*28ff4d35SBaptiste Daroussin * history.c: history_def_enter: fix off-by-one mistake in delete 5137*28ff4d35SBaptiste Daroussin condition (the behaviour to keep at least one entry on the 5138*28ff4d35SBaptiste Daroussin history list is retained) This fixes lib/9704 by Phil Nelson. 5139*28ff4d35SBaptiste Daroussin 5140*28ff4d35SBaptiste Daroussin2001-09-27 21:29 christos 5141*28ff4d35SBaptiste Daroussin 5142*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, read.c, read.h: PR/14067: 5143*28ff4d35SBaptiste Daroussin Anthony Mallet: Provide a programmatic way to set the read_char 5144*28ff4d35SBaptiste Daroussin function via a new el_set() operation. Thanks, nicely done :-) 5145*28ff4d35SBaptiste Daroussin 5146*28ff4d35SBaptiste Daroussin2001-09-24 15:22 wiz 5147*28ff4d35SBaptiste Daroussin 5148*28ff4d35SBaptiste Daroussin * el.c: va_{start,end} audit: Make sure that each va_start has one 5149*28ff4d35SBaptiste Daroussin and only one matching va_end, especially in error cases. If the 5150*28ff4d35SBaptiste Daroussin va_list is used multiple times, do multiple va_starts/va_ends. 5151*28ff4d35SBaptiste Daroussin If a function gets va_list as argument, don't let it use va_end 5152*28ff4d35SBaptiste Daroussin (since it's the callers responsibility). 5153*28ff4d35SBaptiste Daroussin 5154*28ff4d35SBaptiste Daroussin Improved by comments from enami and christos -- thanks! 5155*28ff4d35SBaptiste Daroussin 5156*28ff4d35SBaptiste Daroussin Heimdal/krb4/KAME changes already fed back, rest to follow. 5157*28ff4d35SBaptiste Daroussin 5158*28ff4d35SBaptiste Daroussin Inspired by, but not not based on, OpenBSD. 5159*28ff4d35SBaptiste Daroussin 5160*28ff4d35SBaptiste Daroussin2001-06-19 15:42 wiz 5161*28ff4d35SBaptiste Daroussin 5162*28ff4d35SBaptiste Daroussin * editrc.5: `existent', not `existant' 5163*28ff4d35SBaptiste Daroussin 5164*28ff4d35SBaptiste Daroussin2001-05-17 03:02 christos 5165*28ff4d35SBaptiste Daroussin 5166*28ff4d35SBaptiste Daroussin * chared.c, hist.c, key.c, tty.c: PR/12963:Jason Waterman: Fix 5167*28ff4d35SBaptiste Daroussin signed cast problems. 5168*28ff4d35SBaptiste Daroussin 5169*28ff4d35SBaptiste Daroussin2001-05-16 09:09 enami 5170*28ff4d35SBaptiste Daroussin 5171*28ff4d35SBaptiste Daroussin * readline/Makefile: Use relative path for symlink target so that 5172*28ff4d35SBaptiste Daroussin it won't point outside of tree. 5173*28ff4d35SBaptiste Daroussin 5174*28ff4d35SBaptiste Daroussin2001-05-14 20:39 jdolecek 5175*28ff4d35SBaptiste Daroussin 5176*28ff4d35SBaptiste Daroussin * readline/Makefile: Back off previous and do differently: Ensure 5177*28ff4d35SBaptiste Daroussin that the <readline/history.h> link to <readline/readline.h> is 5178*28ff4d35SBaptiste Daroussin installed too for 'make includes'. Also, avoid creating obj dir. 5179*28ff4d35SBaptiste Daroussin This is finally real fix for lib/12929. XXX Is this right? 5180*28ff4d35SBaptiste Daroussin 5181*28ff4d35SBaptiste Daroussin2001-05-14 09:41 jdolecek 5182*28ff4d35SBaptiste Daroussin 5183*28ff4d35SBaptiste Daroussin * readline/Makefile: Use <bsd.inc.mk>, instead of <bsd.prog.mk>, so 5184*28ff4d35SBaptiste Daroussin that the readline.h header is installed during the 'make 5185*28ff4d35SBaptiste Daroussin includes'. Fixes lib/12929 by Martin Husemann. 5186*28ff4d35SBaptiste Daroussin 5187*28ff4d35SBaptiste Daroussin2001-04-13 03:04 lukem 5188*28ff4d35SBaptiste Daroussin 5189*28ff4d35SBaptiste Daroussin * chared.c: knf ch_enlargebufs(), to be *consistent* with the rest 5190*28ff4d35SBaptiste Daroussin of this file... 5191*28ff4d35SBaptiste Daroussin 5192*28ff4d35SBaptiste Daroussin2001-04-13 02:53 lukem 5193*28ff4d35SBaptiste Daroussin 5194*28ff4d35SBaptiste Daroussin * refresh.c: rename 3 arg ELRE_DEBUG to ELRE_ASSERT, add 2 arg 5195*28ff4d35SBaptiste Daroussin ELRE_DEBUG, and change all occurences of ELRE_DEBUG(foo,bar,) -> 5196*28ff4d35SBaptiste Daroussin ELRE_DEBUG(foo,bar). some compilers (e.g, gcc on darwin) bitch 5197*28ff4d35SBaptiste Daroussin about the former (`not enough args'). 5198*28ff4d35SBaptiste Daroussin 5199*28ff4d35SBaptiste Daroussin2001-04-02 20:29 wiz 5200*28ff4d35SBaptiste Daroussin 5201*28ff4d35SBaptiste Daroussin * editline.3: End sentence with a dot. 5202*28ff4d35SBaptiste Daroussin 5203*28ff4d35SBaptiste Daroussin2001-03-20 01:08 christos 5204*28ff4d35SBaptiste Daroussin 5205*28ff4d35SBaptiste Daroussin * history.c: chmod the history file to 600 so that only the owner 5206*28ff4d35SBaptiste Daroussin can read it. [inspired by the openbsd fix to readline] 5207*28ff4d35SBaptiste Daroussin 5208*28ff4d35SBaptiste Daroussin2001-01-23 16:55 jdolecek 5209*28ff4d35SBaptiste Daroussin 5210*28ff4d35SBaptiste Daroussin * key.c, key.h, parse.c, search.c, term.c: sprinkle couple const 5211*28ff4d35SBaptiste Daroussin 5212*28ff4d35SBaptiste Daroussin2001-01-10 23:42 jdolecek 5213*28ff4d35SBaptiste Daroussin 5214*28ff4d35SBaptiste Daroussin * term.c: term_rebuffer_display(): set el->el_term.t_size.v to 5215*28ff4d35SBaptiste Daroussin terminals height, not a magic value, so that e.g. el_display[] 5216*28ff4d35SBaptiste Daroussin and el_vdisplay[] are not bigger than needed. Discussed with 5217*28ff4d35SBaptiste Daroussin Christos Zoulas. 5218*28ff4d35SBaptiste Daroussin 5219*28ff4d35SBaptiste Daroussin2001-01-10 09:10 jdolecek 5220*28ff4d35SBaptiste Daroussin 5221*28ff4d35SBaptiste Daroussin * readline.c: fix partial completion - we failed to refresh screen 5222*28ff4d35SBaptiste Daroussin in that case 5223*28ff4d35SBaptiste Daroussin 5224*28ff4d35SBaptiste Daroussin2001-01-10 08:45 jdolecek 5225*28ff4d35SBaptiste Daroussin 5226*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, emacs.c, hist.c, hist.h, prompt.c, 5227*28ff4d35SBaptiste Daroussin read.c, refresh.c, refresh.h: Enlarge editline buffers as needed 5228*28ff4d35SBaptiste Daroussin to support arbitrary length lines. This also addresses lib/9712 5229*28ff4d35SBaptiste Daroussin by Phil Nelson. 5230*28ff4d35SBaptiste Daroussin 5231*28ff4d35SBaptiste Daroussin2001-01-09 20:43 jdolecek 5232*28ff4d35SBaptiste Daroussin 5233*28ff4d35SBaptiste Daroussin * term.c: term_beep(): use ordinary bell, don't attempt to use 5234*28ff4d35SBaptiste Daroussin visual bell - if user wants visual instead of ordinary bell, they 5235*28ff4d35SBaptiste Daroussin should set their environment appropriately 5236*28ff4d35SBaptiste Daroussin 5237*28ff4d35SBaptiste Daroussin2001-01-09 20:22 jdolecek 5238*28ff4d35SBaptiste Daroussin 5239*28ff4d35SBaptiste Daroussin * makelist: make array of functions and help array const 5240*28ff4d35SBaptiste Daroussin 5241*28ff4d35SBaptiste Daroussin2001-01-09 18:31 jdolecek 5242*28ff4d35SBaptiste Daroussin 5243*28ff4d35SBaptiste Daroussin * sig.c, tty.c: make constant arrays a const 5244*28ff4d35SBaptiste Daroussin 5245*28ff4d35SBaptiste Daroussin2001-01-09 18:22 jdolecek 5246*28ff4d35SBaptiste Daroussin 5247*28ff4d35SBaptiste Daroussin * map.c, map.h, term.c: make constant arrays a const 5248*28ff4d35SBaptiste Daroussin 5249*28ff4d35SBaptiste Daroussin2001-01-06 15:44 jdolecek 5250*28ff4d35SBaptiste Daroussin 5251*28ff4d35SBaptiste Daroussin * el.h: el_line_t: make 'limit' const 5252*28ff4d35SBaptiste Daroussin 5253*28ff4d35SBaptiste Daroussin2001-01-05 23:45 christos 5254*28ff4d35SBaptiste Daroussin 5255*28ff4d35SBaptiste Daroussin * el.c, readline.c: depoison the pure editline code from readline 5256*28ff4d35SBaptiste Daroussin compatibility hacks. 5257*28ff4d35SBaptiste Daroussin 5258*28ff4d35SBaptiste Daroussin2001-01-05 22:15 jdolecek 5259*28ff4d35SBaptiste Daroussin 5260*28ff4d35SBaptiste Daroussin * Makefile, readline.c, readline.h, readline/Makefile, 5261*28ff4d35SBaptiste Daroussin readline/readline.h: Standard location of readline headers is 5262*28ff4d35SBaptiste Daroussin /usr/include/readline/, so install them there. readline.h of 5263*28ff4d35SBaptiste Daroussin libedit had to move to subdirectory 'readline', due to the way 5264*28ff4d35SBaptiste Daroussin BSD makefiles work; this is better than potentially fragile 5265*28ff4d35SBaptiste Daroussin Makefile hacks 5266*28ff4d35SBaptiste Daroussin 5267*28ff4d35SBaptiste Daroussin2001-01-04 16:56 christos 5268*28ff4d35SBaptiste Daroussin 5269*28ff4d35SBaptiste Daroussin * chared.c, hist.c, key.c, map.c, search.c, term.c, term.h, 5270*28ff4d35SBaptiste Daroussin tokenizer.c: consistently check for allocation failures and 5271*28ff4d35SBaptiste Daroussin return -1, if we could not get more memory. 5272*28ff4d35SBaptiste Daroussin 5273*28ff4d35SBaptiste Daroussin2001-01-04 16:55 christos 5274*28ff4d35SBaptiste Daroussin 5275*28ff4d35SBaptiste Daroussin * readline.c: fix lint problems. 5276*28ff4d35SBaptiste Daroussin 5277*28ff4d35SBaptiste Daroussin2001-01-04 16:55 christos 5278*28ff4d35SBaptiste Daroussin 5279*28ff4d35SBaptiste Daroussin * sig.c: fix dumb typo in signal setup [from OpenBSD] return -1 if 5280*28ff4d35SBaptiste Daroussin alloc fails. 5281*28ff4d35SBaptiste Daroussin 5282*28ff4d35SBaptiste Daroussin2001-01-01 16:54 jdolecek 5283*28ff4d35SBaptiste Daroussin 5284*28ff4d35SBaptiste Daroussin * shlib_version: bump libedit minor - addition of 5285*28ff4d35SBaptiste Daroussin rl_special_prefixes and rl_completion_append_character 5286*28ff4d35SBaptiste Daroussin 5287*28ff4d35SBaptiste Daroussin2001-01-01 16:52 jdolecek 5288*28ff4d35SBaptiste Daroussin 5289*28ff4d35SBaptiste Daroussin * readline.c, readline.h: Add support for 5290*28ff4d35SBaptiste Daroussin rl_completion_append_character and rl_special_prefixes. This 5291*28ff4d35SBaptiste Daroussin addresses lib/10513 by Giles Lean. Tested with PostgreSQL 7.0.2 5292*28ff4d35SBaptiste Daroussin psql. 5293*28ff4d35SBaptiste Daroussin 5294*28ff4d35SBaptiste Daroussin2001-01-01 12:03 jdolecek 5295*28ff4d35SBaptiste Daroussin 5296*28ff4d35SBaptiste Daroussin * readline.c: history_tokenize(): fix one off-by-one bug 5297*28ff4d35SBaptiste Daroussin rl_complete_internal(): only replace the completed string with 5298*28ff4d35SBaptiste Daroussin common part of possible matches if there is a possible 5299*28ff4d35SBaptiste Daroussin completion 5300*28ff4d35SBaptiste Daroussin 5301*28ff4d35SBaptiste Daroussin2000-12-31 10:50 jdolecek 5302*28ff4d35SBaptiste Daroussin 5303*28ff4d35SBaptiste Daroussin * readline.c: rl_display_match_list(): * pad entries shorter than 5304*28ff4d35SBaptiste Daroussin 'max' by spaces correctly * fix off-by-one error which caused 5305*28ff4d35SBaptiste Daroussin extra newline to be printed if the list fit exactly to 5306*28ff4d35SBaptiste Daroussin a screen * fix typo in _rl_qsort_string_compare, which caused 5307*28ff4d35SBaptiste Daroussin the list to not be sorted after all 5308*28ff4d35SBaptiste Daroussin 5309*28ff4d35SBaptiste Daroussin2000-12-30 23:46 jdolecek 5310*28ff4d35SBaptiste Daroussin 5311*28ff4d35SBaptiste Daroussin * term.c: term_beep(): if terminal supports both visual and 5312*28ff4d35SBaptiste Daroussin ordinary bell, 'ring' both 5313*28ff4d35SBaptiste Daroussin 5314*28ff4d35SBaptiste Daroussin2000-12-23 23:07 jdolecek 5315*28ff4d35SBaptiste Daroussin 5316*28ff4d35SBaptiste Daroussin * shlib_version: bump libedit minor - added some public stuff for 5317*28ff4d35SBaptiste Daroussin readline emulation 5318*28ff4d35SBaptiste Daroussin 5319*28ff4d35SBaptiste Daroussin2000-12-23 23:02 jdolecek 5320*28ff4d35SBaptiste Daroussin 5321*28ff4d35SBaptiste Daroussin * readline.c, readline.h: completion_matches(): fix a off-by-one 5322*28ff4d35SBaptiste Daroussin bug, fix variable name typo implement displaying of possible 5323*28ff4d35SBaptiste Daroussin completions, add hook to display the list on second 5324*28ff4d35SBaptiste Daroussin rl_complete() invocation in row (typically, double <TAB>) 5325*28ff4d35SBaptiste Daroussin 5326*28ff4d35SBaptiste Daroussin This addresses the completion part of lib/11581 by Richard 5327*28ff4d35SBaptiste Daroussin Earnshaw. 5328*28ff4d35SBaptiste Daroussin 5329*28ff4d35SBaptiste Daroussin2000-11-28 23:37 jmc 5330*28ff4d35SBaptiste Daroussin 5331*28ff4d35SBaptiste Daroussin * term.c: Alloc the keys structure with A_K_NKEYS as the multiplier 5332*28ff4d35SBaptiste Daroussin rather than a hardcoded value of 4. 5333*28ff4d35SBaptiste Daroussin 5334*28ff4d35SBaptiste Daroussin A_K_NKEYS is currently 6 and this mismatch was stomping memory 5335*28ff4d35SBaptiste Daroussin when initializing the keys. (specifically gdb lost the exec file 5336*28ff4d35SBaptiste Daroussin name if it was a long path name). 5337*28ff4d35SBaptiste Daroussin 5338*28ff4d35SBaptiste Daroussin2000-11-11 23:18 christos 5339*28ff4d35SBaptiste Daroussin 5340*28ff4d35SBaptiste Daroussin * chared.c, el.c, el.h, key.c, map.c, read.c, term.c, term.h: - add 5341*28ff4d35SBaptiste Daroussin support for home and end keys. - improve debugging support 5342*28ff4d35SBaptiste Daroussin 5343*28ff4d35SBaptiste Daroussin2000-11-08 01:09 lukem 5344*28ff4d35SBaptiste Daroussin 5345*28ff4d35SBaptiste Daroussin * editrc.5: improve description of line syntax 5346*28ff4d35SBaptiste Daroussin 5347*28ff4d35SBaptiste Daroussin2000-10-04 18:21 sommerfeld 5348*28ff4d35SBaptiste Daroussin 5349*28ff4d35SBaptiste Daroussin * key.c, term.c: format string audit (silence warnings, save space) 5350*28ff4d35SBaptiste Daroussin 5351*28ff4d35SBaptiste Daroussin2000-09-05 01:45 lukem 5352*28ff4d35SBaptiste Daroussin 5353*28ff4d35SBaptiste Daroussin * makelist: - generate ansi prototypes instead of using __P(). 5354*28ff4d35SBaptiste Daroussin noted by christos - fix a couple of comments 5355*28ff4d35SBaptiste Daroussin 5356*28ff4d35SBaptiste Daroussin2000-09-05 01:36 lukem 5357*28ff4d35SBaptiste Daroussin 5358*28ff4d35SBaptiste Daroussin * TEST/test.c: convert to new style guide 5359*28ff4d35SBaptiste Daroussin 5360*28ff4d35SBaptiste Daroussin2000-09-05 00:06 lukem 5361*28ff4d35SBaptiste Daroussin 5362*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, el.h, emacs.c, hist.c, 5363*28ff4d35SBaptiste Daroussin hist.h, histedit.h, history.c, key.c, key.h, map.c, map.h, 5364*28ff4d35SBaptiste Daroussin parse.c, parse.h, prompt.c, prompt.h, read.c, readline.c, 5365*28ff4d35SBaptiste Daroussin readline.h, refresh.c, refresh.h, search.c, search.h, sig.c, 5366*28ff4d35SBaptiste Daroussin sig.h, sys.h, term.c, term.h, tokenizer.c, tokenizer.h, tty.c, 5367*28ff4d35SBaptiste Daroussin tty.h, vi.c: convert to new style guide, which includes: - ansi 5368*28ff4d35SBaptiste Daroussin prototypes & features (such as stdargs) - 8 space indents 5369*28ff4d35SBaptiste Daroussin 5370*28ff4d35SBaptiste Daroussin2000-08-29 09:04 lukem 5371*28ff4d35SBaptiste Daroussin 5372*28ff4d35SBaptiste Daroussin * history.c: history_def_set has a `const int' as a third arg, not 5373*28ff4d35SBaptiste Daroussin an `int'. picked up by the ultrix compiler, reported by simonb@ 5374*28ff4d35SBaptiste Daroussin ... 5375*28ff4d35SBaptiste Daroussin 5376*28ff4d35SBaptiste Daroussin2000-08-15 14:01 mrg 5377*28ff4d35SBaptiste Daroussin 5378*28ff4d35SBaptiste Daroussin * Makefile: use .tmp temporaries for generated files, to avoid 5379*28ff4d35SBaptiste Daroussin having failed generated output being used. 5380*28ff4d35SBaptiste Daroussin 5381*28ff4d35SBaptiste Daroussin2000-08-02 15:45 chuck 5382*28ff4d35SBaptiste Daroussin 5383*28ff4d35SBaptiste Daroussin * el.c: pull up 1.18 (approved by thorpej). allows a gdb linked 5384*28ff4d35SBaptiste Daroussin with libedit's readline emulation to work properly with xxgdb. 5385*28ff4d35SBaptiste Daroussin 5386*28ff4d35SBaptiste Daroussin2000-08-02 05:36 chuck 5387*28ff4d35SBaptiste Daroussin 5388*28ff4d35SBaptiste Daroussin * el.c: make xxgdb and a gdb linked with libedit's readline 5389*28ff4d35SBaptiste Daroussin emulation work properly together. xxgdb communicates with a gdb 5390*28ff4d35SBaptiste Daroussin running on a pty that it sets to -echo,-onlcr prior to forking 5391*28ff4d35SBaptiste Daroussin the gdb process. GNU readline preserves the -echo setting while 5392*28ff4d35SBaptiste Daroussin libedit was undoing it (setting the tty to a sane state and 5393*28ff4d35SBaptiste Daroussin totally confusing xxgdb's parser). 5394*28ff4d35SBaptiste Daroussin 5395*28ff4d35SBaptiste Daroussin this diff simply disables libedit if both readline emulation and 5396*28ff4d35SBaptiste Daroussin "stty -echo" are used/set. that is enough to make xxgdb work 5397*28ff4d35SBaptiste Daroussin once again, but (XXX) this is not how GNU readline handles stty 5398*28ff4d35SBaptiste Daroussin -echo (it does not echo anything, but editing commands like 5399*28ff4d35SBaptiste Daroussin ^A,^K, etc. still work), so the readline emulation isn't 5400*28ff4d35SBaptiste Daroussin perfect. 5401*28ff4d35SBaptiste Daroussin 5402*28ff4d35SBaptiste Daroussin change reviewed by christos. 5403*28ff4d35SBaptiste Daroussin 5404*28ff4d35SBaptiste Daroussin2000-06-29 18:09 he 5405*28ff4d35SBaptiste Daroussin 5406*28ff4d35SBaptiste Daroussin * el.c: Pull up revision 1.17 (via patch, requested by sommerfeld): 5407*28ff4d35SBaptiste Daroussin Only read .editrc from home directory. 5408*28ff4d35SBaptiste Daroussin 5409*28ff4d35SBaptiste Daroussin2000-06-29 00:09 sommerfeld 5410*28ff4d35SBaptiste Daroussin 5411*28ff4d35SBaptiste Daroussin * el.c: Pull up 1.17 (approved by thorpej): only look for .editrc 5412*28ff4d35SBaptiste Daroussin in /d1/sommerfeld 5413*28ff4d35SBaptiste Daroussin 5414*28ff4d35SBaptiste Daroussin2000-06-28 22:37 sommerfeld 5415*28ff4d35SBaptiste Daroussin 5416*28ff4d35SBaptiste Daroussin * el.c: Only look in home directory for .editrc. (Discussed with 5417*28ff4d35SBaptiste Daroussin Christos.) 5418*28ff4d35SBaptiste Daroussin 5419*28ff4d35SBaptiste Daroussin2000-06-23 18:16 minoura 5420*28ff4d35SBaptiste Daroussin 5421*28ff4d35SBaptiste Daroussin * term.c: Sync w/ netbsd-1-5-base. 5422*28ff4d35SBaptiste Daroussin 5423*28ff4d35SBaptiste Daroussin2000-06-23 17:41 lukem 5424*28ff4d35SBaptiste Daroussin 5425*28ff4d35SBaptiste Daroussin * editrc.5, makelist: Pull up editrc.5 revision 1.9 Pull up 5426*28ff4d35SBaptiste Daroussin makelist revision 1.5 * add -m option to makelist, which 5427*28ff4d35SBaptiste Daroussin generates an mdoc table with the key bindings and their 5428*28ff4d35SBaptiste Daroussin descriptions * manually add the output of 'sh ./makelist -m 5429*28ff4d35SBaptiste Daroussin vi.c ed.c common.c' to a new section in editrc(5) called 5430*28ff4d35SBaptiste Daroussin `EDITOR COMMANDS' requested/approved by thorpej 5431*28ff4d35SBaptiste Daroussin 5432*28ff4d35SBaptiste Daroussin2000-06-21 05:21 lukem 5433*28ff4d35SBaptiste Daroussin 5434*28ff4d35SBaptiste Daroussin * editrc.5, makelist: * add -m option to makelist, which generates 5435*28ff4d35SBaptiste Daroussin an mdoc table with the key bindings and their descriptions * 5436*28ff4d35SBaptiste Daroussin manually add the output of 'sh ./makelist -m vi.c ed.c common.c' 5437*28ff4d35SBaptiste Daroussin to a new section in editrc(5) called `EDITOR COMMANDS' 5438*28ff4d35SBaptiste Daroussin 5439*28ff4d35SBaptiste Daroussin2000-06-02 15:37 lukem 5440*28ff4d35SBaptiste Daroussin 5441*28ff4d35SBaptiste Daroussin * term.c: use strtol() (instead of atoi()) for sane error detection 5442*28ff4d35SBaptiste Daroussin 5443*28ff4d35SBaptiste Daroussin2000-05-15 14:15 christos 5444*28ff4d35SBaptiste Daroussin 5445*28ff4d35SBaptiste Daroussin * el.c: don't dump core on empty files. 5446*28ff4d35SBaptiste Daroussin 5447*28ff4d35SBaptiste Daroussin2000-03-13 23:59 soren 5448*28ff4d35SBaptiste Daroussin 5449*28ff4d35SBaptiste Daroussin * refresh.c: Fix doubled 'the's. 5450*28ff4d35SBaptiste Daroussin 5451*28ff4d35SBaptiste Daroussin2000-03-10 14:06 jdolecek 5452*28ff4d35SBaptiste Daroussin 5453*28ff4d35SBaptiste Daroussin * readline.c: Fix _rl_compat_sub() to really honour 'globally' flag 5454*28ff4d35SBaptiste Daroussin instead of making the substitution always globally - affects 5455*28ff4d35SBaptiste Daroussin _history_expand_command() and in turn history_expand() 5456*28ff4d35SBaptiste Daroussin 5457*28ff4d35SBaptiste Daroussin All praise lint :) 5458*28ff4d35SBaptiste Daroussin 5459*28ff4d35SBaptiste Daroussin2000-03-10 13:55 jdolecek 5460*28ff4d35SBaptiste Daroussin 5461*28ff4d35SBaptiste Daroussin * readline.c: readline(): don't dereference NULL pointer if prompt 5462*28ff4d35SBaptiste Daroussin is NULL history_tokenize(): avoid stepping too far if backslash 5463*28ff4d35SBaptiste Daroussin is last character on the passed string update some comments 5464*28ff4d35SBaptiste Daroussin 5465*28ff4d35SBaptiste Daroussin This makes gdb \ escaping work reliably and fixes lib/9511 by 5466*28ff4d35SBaptiste Daroussin Assar Westerlund. 5467*28ff4d35SBaptiste Daroussin 5468*28ff4d35SBaptiste Daroussin2000-03-10 13:25 jdolecek 5469*28ff4d35SBaptiste Daroussin 5470*28ff4d35SBaptiste Daroussin * parse.c: include <stdlib.h> to get definition of malloc() and 5471*28ff4d35SBaptiste Daroussin free(), so it's possible to compile this file separately when 5472*28ff4d35SBaptiste Daroussin debugging 5473*28ff4d35SBaptiste Daroussin 5474*28ff4d35SBaptiste Daroussin2000-02-28 18:41 chopps 5475*28ff4d35SBaptiste Daroussin 5476*28ff4d35SBaptiste Daroussin * chared.c, editline.3, histedit.h: el_insertstr takes a "const 5477*28ff4d35SBaptiste Daroussin char *" not "char *" now as it doesn't modify the argument. 5478*28ff4d35SBaptiste Daroussin 5479*28ff4d35SBaptiste Daroussin2000-02-19 10:08 mycroft 5480*28ff4d35SBaptiste Daroussin 5481*28ff4d35SBaptiste Daroussin * refresh.c, term.c: Fix refresh glitches when using auto-margin. 5482*28ff4d35SBaptiste Daroussin 5483*28ff4d35SBaptiste Daroussin2000-01-20 23:56 christos 5484*28ff4d35SBaptiste Daroussin 5485*28ff4d35SBaptiste Daroussin * refresh.c, term.c, term.h: Add support for automatic and magic 5486*28ff4d35SBaptiste Daroussin margins (from tcsh) This makes the rightmost column usable on all 5487*28ff4d35SBaptiste Daroussin programs that use editline. 5488*28ff4d35SBaptiste Daroussin 5489*28ff4d35SBaptiste Daroussin2000-01-19 19:31 christos 5490*28ff4d35SBaptiste Daroussin 5491*28ff4d35SBaptiste Daroussin * key.c: PR/9244: Kevin Schoedel: libedit dumps bindings 5492*28ff4d35SBaptiste Daroussin inconsistently 5493*28ff4d35SBaptiste Daroussin 5494*28ff4d35SBaptiste Daroussin2000-01-19 19:30 christos 5495*28ff4d35SBaptiste Daroussin 5496*28ff4d35SBaptiste Daroussin * read.c: PR/9243: Kevin Schoedel: libedit ignores repeat count 5497*28ff4d35SBaptiste Daroussin 5498*28ff4d35SBaptiste Daroussin1999-12-27 19:29 wrstuden 5499*28ff4d35SBaptiste Daroussin 5500*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, map.c, prompt.c, prompt.h, 5501*28ff4d35SBaptiste Daroussin read.c, refresh.c, shlib_version, term.c, term.h, tty.h: Pull up 5502*28ff4d35SBaptiste Daroussin to last week's -current. 5503*28ff4d35SBaptiste Daroussin 5504*28ff4d35SBaptiste Daroussin1999-11-26 19:38 lukem 5505*28ff4d35SBaptiste Daroussin 5506*28ff4d35SBaptiste Daroussin * editline.3: missing , 5507*28ff4d35SBaptiste Daroussin 5508*28ff4d35SBaptiste Daroussin1999-11-13 12:32 lukem 5509*28ff4d35SBaptiste Daroussin 5510*28ff4d35SBaptiste Daroussin * refresh.c: instead of using a private coord_t global variable to 5511*28ff4d35SBaptiste Daroussin store the size of the rprompt, use the previously unused coord_t 5512*28ff4d35SBaptiste Daroussin el->el_rprompt.p_pos 5513*28ff4d35SBaptiste Daroussin 5514*28ff4d35SBaptiste Daroussin1999-11-12 02:05 lukem 5515*28ff4d35SBaptiste Daroussin 5516*28ff4d35SBaptiste Daroussin * editline.3, el.c, el.h, histedit.h, prompt.c, prompt.h, 5517*28ff4d35SBaptiste Daroussin refresh.c, shlib_version: - implement printing a right-side 5518*28ff4d35SBaptiste Daroussin prompt. code derived from similar work I wrote for tcsh(1) 5519*28ff4d35SBaptiste Daroussin three years ago. - implement EL_RPROMPT, which allows a 5520*28ff4d35SBaptiste Daroussin setting/getting of a function which returns a string to be used 5521*28ff4d35SBaptiste Daroussin as the right-side prompt. - improve HISTORY and AUTHORS sections 5522*28ff4d35SBaptiste Daroussin in editline(3). - bump shlib minor version for EL_RPROMPT. 5523*28ff4d35SBaptiste Daroussin 5524*28ff4d35SBaptiste Daroussin XXX: due to an implementation issue, the rprompt has a 1 space 5525*28ff4d35SBaptiste Daroussin gap before the edge of the logical screen. editline's 5526*28ff4d35SBaptiste Daroussin logical screen is 1 space less than the full screen width, 5527*28ff4d35SBaptiste Daroussin so there's a 2 space gap between the rprompt and the right 5528*28ff4d35SBaptiste Daroussin end of the physical screen. i'm not concerned about this. 5529*28ff4d35SBaptiste Daroussin 5530*28ff4d35SBaptiste Daroussin1999-10-24 06:04 lukem 5531*28ff4d35SBaptiste Daroussin 5532*28ff4d35SBaptiste Daroussin * term.c: Fix pointer arithmatic (caused problems on LP64, 5533*28ff4d35SBaptiste Daroussin including ftp dumping core when `edit' was turned off then on). 5534*28ff4d35SBaptiste Daroussin Problem solved by David Huggins-Daines <dhd@eradicator.org> 5535*28ff4d35SBaptiste Daroussin 5536*28ff4d35SBaptiste Daroussin1999-10-15 19:01 jdolecek 5537*28ff4d35SBaptiste Daroussin 5538*28ff4d35SBaptiste Daroussin * map.c, refresh.c: don't assume locales are not working - it may 5539*28ff4d35SBaptiste Daroussin not be the case re_refresh(): cast the character passed to 5540*28ff4d35SBaptiste Daroussin re_addc() to unsigned char, so we don't end up calling 5541*28ff4d35SBaptiste Daroussin isprint() with negative value when chars are signed and 5542*28ff4d35SBaptiste Daroussin character value is >= 128 5543*28ff4d35SBaptiste Daroussin 5544*28ff4d35SBaptiste Daroussin1999-10-05 01:24 lukem 5545*28ff4d35SBaptiste Daroussin 5546*28ff4d35SBaptiste Daroussin * term.c, term.h: update post change to return value of tputs() 5547*28ff4d35SBaptiste Daroussin third argument 5548*28ff4d35SBaptiste Daroussin 5549*28ff4d35SBaptiste Daroussin1999-10-05 01:23 lukem 5550*28ff4d35SBaptiste Daroussin 5551*28ff4d35SBaptiste Daroussin * read.c: remove some lint 5552*28ff4d35SBaptiste Daroussin 5553*28ff4d35SBaptiste Daroussin1999-09-26 16:37 lukem 5554*28ff4d35SBaptiste Daroussin 5555*28ff4d35SBaptiste Daroussin * tty.h: apparantly need <unistd.h> for portable way of getting 5556*28ff4d35SBaptiste Daroussin _POSIX_VDISABLE 5557*28ff4d35SBaptiste Daroussin 5558*28ff4d35SBaptiste Daroussin1999-09-21 02:55 lukem 5559*28ff4d35SBaptiste Daroussin 5560*28ff4d35SBaptiste Daroussin * el.c: * in el_source(): - don't reopen fp if it was 5561*28ff4d35SBaptiste Daroussin successfully opened in a previous check - use 5562*28ff4d35SBaptiste Daroussin strlcpy()/strlcat() instead of snprintf() to build a pathname, 5563*28ff4d35SBaptiste Daroussin since the former are more portable to other systems than the 5564*28ff4d35SBaptiste Daroussin latter * whitespace fascism 5565*28ff4d35SBaptiste Daroussin 5566*28ff4d35SBaptiste Daroussin1999-09-21 02:07 lukem 5567*28ff4d35SBaptiste Daroussin 5568*28ff4d35SBaptiste Daroussin * TEST/test.c: fix id header... 5569*28ff4d35SBaptiste Daroussin 5570*28ff4d35SBaptiste Daroussin1999-09-21 01:43 lukem 5571*28ff4d35SBaptiste Daroussin 5572*28ff4d35SBaptiste Daroussin * histedit.h: more whitespace fascism 5573*28ff4d35SBaptiste Daroussin 5574*28ff4d35SBaptiste Daroussin1999-08-08 03:25 sommerfeld 5575*28ff4d35SBaptiste Daroussin 5576*28ff4d35SBaptiste Daroussin * read.c: minor tweak to previous fix: don't spuriously truncate 5577*28ff4d35SBaptiste Daroussin final newline under emacs. 5578*28ff4d35SBaptiste Daroussin 5579*28ff4d35SBaptiste Daroussin1999-08-02 03:01 sommerfeld 5580*28ff4d35SBaptiste Daroussin 5581*28ff4d35SBaptiste Daroussin * read.c, term.c, tty.c: Fix PR7685 (gdb under emacs prints 5582*28ff4d35SBaptiste Daroussin spurious ^M and messes up terminal) plus a few bogons noted along 5583*28ff4d35SBaptiste Daroussin the way: 1) Set EDIT_DISABLED if terminal type is emacs. 5584*28ff4d35SBaptiste Daroussin 2) fix bug in NO_TTY mode which caused it to not notice CR or LF 5585*28ff4d35SBaptiste Daroussin 3) implement EDIT_DISABLED within libedit to be somewhat 5586*28ff4d35SBaptiste Daroussin like NO_TTY, except that a prompt is printed first. 5587*28ff4d35SBaptiste Daroussin 5588*28ff4d35SBaptiste Daroussin1999-07-06 16:10 christos 5589*28ff4d35SBaptiste Daroussin 5590*28ff4d35SBaptiste Daroussin * Makefile: Use LIBEDITDIR instead of CURDIR so we can use that 5591*28ff4d35SBaptiste Daroussin Makefile to compile libedit from another directory. 5592*28ff4d35SBaptiste Daroussin 5593*28ff4d35SBaptiste Daroussin1999-07-03 13:55 lukem 5594*28ff4d35SBaptiste Daroussin 5595*28ff4d35SBaptiste Daroussin * readline.c: don't try to free() something allocated with alloca() 5596*28ff4d35SBaptiste Daroussin in rl_complete_internal(). (noticed while using completion in 5597*28ff4d35SBaptiste Daroussin gdb and getting inundated with warnings from the new free()) 5598*28ff4d35SBaptiste Daroussin 5599*28ff4d35SBaptiste Daroussin1999-07-02 17:21 simonb 5600*28ff4d35SBaptiste Daroussin 5601*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, common.c, editline.3, editrc.5, 5602*28ff4d35SBaptiste Daroussin el.c, emacs.c, hist.c, histedit.h, history.c, key.c, key.h, 5603*28ff4d35SBaptiste Daroussin makelist, map.c, map.h, parse.c, parse.h, prompt.c, read.c, 5604*28ff4d35SBaptiste Daroussin readline.c, refresh.c, search.c, search.h, sig.c, term.c, term.h, 5605*28ff4d35SBaptiste Daroussin tokenizer.c, tokenizer.h, tty.c, tty.h, vi.c, TEST/test.c: More 5606*28ff4d35SBaptiste Daroussin trailing white space. 5607*28ff4d35SBaptiste Daroussin 5608*28ff4d35SBaptiste Daroussin1999-06-12 20:58 christos 5609*28ff4d35SBaptiste Daroussin 5610*28ff4d35SBaptiste Daroussin * readline.c, refresh.c: Make this compile under linux 5611*28ff4d35SBaptiste Daroussin 5612*28ff4d35SBaptiste Daroussin1999-03-22 20:45 garbled 5613*28ff4d35SBaptiste Daroussin 5614*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: Last of the .Os cleanups. .Os is defined 5615*28ff4d35SBaptiste Daroussin in the tmac.doc-common file, so we shouldn't override it with 5616*28ff4d35SBaptiste Daroussin versions in the manpages. Wheee! 5617*28ff4d35SBaptiste Daroussin 5618*28ff4d35SBaptiste Daroussin1999-03-06 01:17 mycroft 5619*28ff4d35SBaptiste Daroussin 5620*28ff4d35SBaptiste Daroussin * history.c: Add missing , in he_errlist[] initializer. Yay lint. 5621*28ff4d35SBaptiste Daroussin 5622*28ff4d35SBaptiste Daroussin1999-03-04 12:45 itohy 5623*28ff4d35SBaptiste Daroussin 5624*28ff4d35SBaptiste Daroussin * Makefile: Add minimal dependency to make "make depend" optional 5625*28ff4d35SBaptiste Daroussin after cleandir. 5626*28ff4d35SBaptiste Daroussin 5627*28ff4d35SBaptiste Daroussin1999-02-25 09:02 abs 5628*28ff4d35SBaptiste Daroussin 5629*28ff4d35SBaptiste Daroussin * shlib_version: Add a note to update 5630*28ff4d35SBaptiste Daroussin src/distrib/sets/lists/base/shl.*, and add a missing RCS Id. 5631*28ff4d35SBaptiste Daroussin 5632*28ff4d35SBaptiste Daroussin1999-02-07 15:34 christos 5633*28ff4d35SBaptiste Daroussin 5634*28ff4d35SBaptiste Daroussin * tty.c: PR/6957: Wolfgang Helbig: libedit swaps CR and LF control 5635*28ff4d35SBaptiste Daroussin chars. 5636*28ff4d35SBaptiste Daroussin 5637*28ff4d35SBaptiste Daroussin1999-02-05 21:53 christos 5638*28ff4d35SBaptiste Daroussin 5639*28ff4d35SBaptiste Daroussin * chared.c, refresh.c, search.c, vi.c: delint. 5640*28ff4d35SBaptiste Daroussin 5641*28ff4d35SBaptiste Daroussin1999-02-05 21:52 christos 5642*28ff4d35SBaptiste Daroussin 5643*28ff4d35SBaptiste Daroussin * history.c: Encode the history lines using strvis() before saving 5644*28ff4d35SBaptiste Daroussin it. Fixes gdb history problem with missing newlines. 5645*28ff4d35SBaptiste Daroussin 5646*28ff4d35SBaptiste Daroussin1999-02-05 21:38 christos 5647*28ff4d35SBaptiste Daroussin 5648*28ff4d35SBaptiste Daroussin * parse.c: M-X:<enter> core-dumped. 5649*28ff4d35SBaptiste Daroussin 5650*28ff4d35SBaptiste Daroussin1999-01-11 23:40 kleink 5651*28ff4d35SBaptiste Daroussin 5652*28ff4d35SBaptiste Daroussin * read.c: In userland, pull in <errno.h> instead of <sys/errno.h> 5653*28ff4d35SBaptiste Daroussin for the declaration of errno. 5654*28ff4d35SBaptiste Daroussin 5655*28ff4d35SBaptiste Daroussin1999-01-05 23:46 lukem 5656*28ff4d35SBaptiste Daroussin 5657*28ff4d35SBaptiste Daroussin * editline.3: fix history() prototype. (d@openbsd.org) 5658*28ff4d35SBaptiste Daroussin 5659*28ff4d35SBaptiste Daroussin1998-12-20 18:52 kleink 5660*28ff4d35SBaptiste Daroussin 5661*28ff4d35SBaptiste Daroussin * histedit.h: Change multiple inclusion protection symbol name to 5662*28ff4d35SBaptiste Daroussin NetBSD convention which doesn't violate namespace rules. 5663*28ff4d35SBaptiste Daroussin 5664*28ff4d35SBaptiste Daroussin1998-12-12 21:08 christos 5665*28ff4d35SBaptiste Daroussin 5666*28ff4d35SBaptiste Daroussin * chared.c, chared.h, common.c, el.c, key.c, map.c, parse.c, 5667*28ff4d35SBaptiste Daroussin read.c, refresh.c, search.h, term.c, tokenizer.c, vi.c: delint 5668*28ff4d35SBaptiste Daroussin 5669*28ff4d35SBaptiste Daroussin1998-12-12 20:54 christos 5670*28ff4d35SBaptiste Daroussin 5671*28ff4d35SBaptiste Daroussin * readline.c: many problems; variables hidden by others, size_t <-> 5672*28ff4d35SBaptiste Daroussin confusion 5673*28ff4d35SBaptiste Daroussin 5674*28ff4d35SBaptiste Daroussin1998-12-12 20:52 christos 5675*28ff4d35SBaptiste Daroussin 5676*28ff4d35SBaptiste Daroussin * history.c: - missing error message from array could cause core 5677*28ff4d35SBaptiste Daroussin dump - delint 5678*28ff4d35SBaptiste Daroussin 5679*28ff4d35SBaptiste Daroussin1998-12-03 18:51 cgd 5680*28ff4d35SBaptiste Daroussin 5681*28ff4d35SBaptiste Daroussin * history.c: per e-mail with christos: history_next_event() should 5682*28ff4d35SBaptiste Daroussin return -1, not NULL, in case of error, just like 5683*28ff4d35SBaptiste Daroussin history_prev_event() does. 5684*28ff4d35SBaptiste Daroussin 5685*28ff4d35SBaptiste Daroussin1998-09-28 13:00 christos 5686*28ff4d35SBaptiste Daroussin 5687*28ff4d35SBaptiste Daroussin * el.c: fix core-dump caused by maps not being initialized before 5688*28ff4d35SBaptiste Daroussin tty is called. 5689*28ff4d35SBaptiste Daroussin 5690*28ff4d35SBaptiste Daroussin1998-09-27 20:04 christos 5691*28ff4d35SBaptiste Daroussin 5692*28ff4d35SBaptiste Daroussin * tty.c: Obey incoming tty char settings. 5693*28ff4d35SBaptiste Daroussin 5694*28ff4d35SBaptiste Daroussin1998-09-02 23:33 christos 5695*28ff4d35SBaptiste Daroussin 5696*28ff4d35SBaptiste Daroussin * search.c: PR/6081: Wolfgang Helbig: search broken in vi mode. 5697*28ff4d35SBaptiste Daroussin When patbuf was changed to be dynamically allocated, sizeof was 5698*28ff4d35SBaptiste Daroussin not changed appropriately. 5699*28ff4d35SBaptiste Daroussin 5700*28ff4d35SBaptiste Daroussin1998-07-29 04:26 lukem 5701*28ff4d35SBaptiste Daroussin 5702*28ff4d35SBaptiste Daroussin * Makefile, editline.3, editrc.5, el.c, el.h, histedit.h, map.c, 5703*28ff4d35SBaptiste Daroussin map.h, parse.c, prompt.c, prompt.h, shlib_version: * add more 5704*28ff4d35SBaptiste Daroussin checks for NULL pointers in passed arguments * implement 5705*28ff4d35SBaptiste Daroussin el_get(EditLine *, int op, void *result), which does the 5706*28ff4d35SBaptiste Daroussin inverse of el_set() * add EL_EDITMODE operation to el_set and 5707*28ff4d35SBaptiste Daroussin el_get; if non zero editing is enabled (the default). * add 5708*28ff4d35SBaptiste Daroussin "edit on | off" editrc command, which modifies EL_EDITMODE. 5709*28ff4d35SBaptiste Daroussin users can now add '*:edit off' in ~/.editrc as an advisory to 5710*28ff4d35SBaptiste Daroussin disable editing. 5711*28ff4d35SBaptiste Daroussin 5712*28ff4d35SBaptiste Daroussin NOTE: at this time EL_EDITMODE is just an indication of the state 5713*28ff4d35SBaptiste Daroussin of the 'edit' command. It's up to the application to check this 5714*28ff4d35SBaptiste Daroussin after el_source() or el_parse() to determine if editing is still 5715*28ff4d35SBaptiste Daroussin required. 5716*28ff4d35SBaptiste Daroussin 5717*28ff4d35SBaptiste Daroussin1998-06-08 12:56 lukem 5718*28ff4d35SBaptiste Daroussin 5719*28ff4d35SBaptiste Daroussin * editline.3: documentation is always probably incomplete; don't 5720*28ff4d35SBaptiste Daroussin make an issue of it 5721*28ff4d35SBaptiste Daroussin 5722*28ff4d35SBaptiste Daroussin1998-06-01 16:31 lukem 5723*28ff4d35SBaptiste Daroussin 5724*28ff4d35SBaptiste Daroussin * editline.3, histedit.h, read.c, shlib_version: * implement 5725*28ff4d35SBaptiste Daroussin CC_REFRESH_BEEP; as per CC_REFRESH but beep as well. this is 5726*28ff4d35SBaptiste Daroussin useful in completion when a partial completion is found * remove 5727*28ff4d35SBaptiste Daroussin entry in BUGS about el_parse(); that was fixed a while ago 5728*28ff4d35SBaptiste Daroussin 5729*28ff4d35SBaptiste Daroussin1998-05-20 03:38 christos 5730*28ff4d35SBaptiste Daroussin 5731*28ff4d35SBaptiste Daroussin * TEST/test.c: Show the simpler way. 5732*28ff4d35SBaptiste Daroussin 5733*28ff4d35SBaptiste Daroussin1998-05-20 03:37 christos 5734*28ff4d35SBaptiste Daroussin 5735*28ff4d35SBaptiste Daroussin * editline.3, histedit.h, history.c: Add H_APPEND to simplify the 5736*28ff4d35SBaptiste Daroussin interface. 5737*28ff4d35SBaptiste Daroussin 5738*28ff4d35SBaptiste Daroussin1998-05-20 03:12 christos 5739*28ff4d35SBaptiste Daroussin 5740*28ff4d35SBaptiste Daroussin * TEST/test.c: Fix for api changes. 5741*28ff4d35SBaptiste Daroussin 5742*28ff4d35SBaptiste Daroussin1998-05-20 03:05 christos 5743*28ff4d35SBaptiste Daroussin 5744*28ff4d35SBaptiste Daroussin * editline.3: Adjust for changes. 5745*28ff4d35SBaptiste Daroussin 5746*28ff4d35SBaptiste Daroussin1998-05-20 03:04 christos 5747*28ff4d35SBaptiste Daroussin 5748*28ff4d35SBaptiste Daroussin * tty.c, tty.h: change M_* constants to MD_* to avoid clashes with 5749*28ff4d35SBaptiste Daroussin <stream.h> 5750*28ff4d35SBaptiste Daroussin 5751*28ff4d35SBaptiste Daroussin1998-05-20 03:04 christos 5752*28ff4d35SBaptiste Daroussin 5753*28ff4d35SBaptiste Daroussin * term.c, term.h: remove term_beep hack. 5754*28ff4d35SBaptiste Daroussin 5755*28ff4d35SBaptiste Daroussin1998-05-20 03:03 christos 5756*28ff4d35SBaptiste Daroussin 5757*28ff4d35SBaptiste Daroussin * shlib_version: Bump! 5758*28ff4d35SBaptiste Daroussin 5759*28ff4d35SBaptiste Daroussin1998-05-20 03:03 christos 5760*28ff4d35SBaptiste Daroussin 5761*28ff4d35SBaptiste Daroussin * readline.c: Adjust to the libedit api changes. 5762*28ff4d35SBaptiste Daroussin 5763*28ff4d35SBaptiste Daroussin1998-05-20 03:02 christos 5764*28ff4d35SBaptiste Daroussin 5765*28ff4d35SBaptiste Daroussin * history.c: Add a function to be able to set the cursor to a given 5766*28ff4d35SBaptiste Daroussin event number. 5767*28ff4d35SBaptiste Daroussin 5768*28ff4d35SBaptiste Daroussin1998-05-20 03:02 christos 5769*28ff4d35SBaptiste Daroussin 5770*28ff4d35SBaptiste Daroussin * histedit.h: - add extra argument to el_init - fix history 5771*28ff4d35SBaptiste Daroussin functions - add el_beep() 5772*28ff4d35SBaptiste Daroussin 5773*28ff4d35SBaptiste Daroussin1998-05-20 03:01 christos 5774*28ff4d35SBaptiste Daroussin 5775*28ff4d35SBaptiste Daroussin * emacs.c, refresh.c: cast is*() arg to unsigned char 5776*28ff4d35SBaptiste Daroussin 5777*28ff4d35SBaptiste Daroussin1998-05-20 03:01 christos 5778*28ff4d35SBaptiste Daroussin 5779*28ff4d35SBaptiste Daroussin * el.c: el_init takes a third stream argument and add el_beep. 5780*28ff4d35SBaptiste Daroussin 5781*28ff4d35SBaptiste Daroussin1998-05-20 03:00 christos 5782*28ff4d35SBaptiste Daroussin 5783*28ff4d35SBaptiste Daroussin * common.c: Don't print to stderr, but to the editline error 5784*28ff4d35SBaptiste Daroussin stream. 5785*28ff4d35SBaptiste Daroussin 5786*28ff4d35SBaptiste Daroussin1998-03-30 03:30 mrg 5787*28ff4d35SBaptiste Daroussin 5788*28ff4d35SBaptiste Daroussin * map.c, tty.c: use int rather than char as an array index. 5789*28ff4d35SBaptiste Daroussin 5790*28ff4d35SBaptiste Daroussin1998-02-05 19:51 perry 5791*28ff4d35SBaptiste Daroussin 5792*28ff4d35SBaptiste Daroussin * editline.3: add LIBRARY section to man page 5793*28ff4d35SBaptiste Daroussin 5794*28ff4d35SBaptiste Daroussin1998-02-03 20:12 perry 5795*28ff4d35SBaptiste Daroussin 5796*28ff4d35SBaptiste Daroussin * chared.c, common.c, emacs.c, map.c, vi.c: remove obsolete 5797*28ff4d35SBaptiste Daroussin register declarations 5798*28ff4d35SBaptiste Daroussin 5799*28ff4d35SBaptiste Daroussin1998-01-30 03:27 perry 5800*28ff4d35SBaptiste Daroussin 5801*28ff4d35SBaptiste Daroussin * term.c: update to lite-2 (just an sccsid change) 5802*28ff4d35SBaptiste Daroussin 5803*28ff4d35SBaptiste Daroussin1998-01-30 03:18 perry 5804*28ff4d35SBaptiste Daroussin 5805*28ff4d35SBaptiste Daroussin * term.c: import lite-2 5806*28ff4d35SBaptiste Daroussin 5807*28ff4d35SBaptiste Daroussin1998-01-21 12:12 lukem 5808*28ff4d35SBaptiste Daroussin 5809*28ff4d35SBaptiste Daroussin * editline.3, parse.c: in el_parse(), use a temporary buffer to 5810*28ff4d35SBaptiste Daroussin store the program name when comparing, preventing trashing of 5811*28ff4d35SBaptiste Daroussin argv[0]. remove note in man page warning of former behaviour. 5812*28ff4d35SBaptiste Daroussin 5813*28ff4d35SBaptiste Daroussin1998-01-21 11:12 lukem 5814*28ff4d35SBaptiste Daroussin 5815*28ff4d35SBaptiste Daroussin * read.c: fix compile errors if FIONREAD is defined. noted by 5816*28ff4d35SBaptiste Daroussin David Holland <dholland@bordeaux.eecs.harvard.edu> in [bin/4012]. 5817*28ff4d35SBaptiste Daroussin 5818*28ff4d35SBaptiste Daroussin1998-01-05 08:41 perry 5819*28ff4d35SBaptiste Daroussin 5820*28ff4d35SBaptiste Daroussin * shlib_version: RCSID Police. 5821*28ff4d35SBaptiste Daroussin 5822*28ff4d35SBaptiste Daroussin1997-12-20 20:15 christos 5823*28ff4d35SBaptiste Daroussin 5824*28ff4d35SBaptiste Daroussin * el.c, el.h, read.c: Small optimization. Don't call isatty() on 5825*28ff4d35SBaptiste Daroussin every invocation of el_gets, but remember if the tty setup 5826*28ff4d35SBaptiste Daroussin failed... Also trim the input line of trailing \r's. 5827*28ff4d35SBaptiste Daroussin 5828*28ff4d35SBaptiste Daroussin1997-11-13 05:48 thorpej 5829*28ff4d35SBaptiste Daroussin 5830*28ff4d35SBaptiste Daroussin * term.c, term.h: Un-"protect" term_beep() and rename it to 5831*28ff4d35SBaptiste Daroussin __term_beep() to keep it out of the user's namespace. We need to 5832*28ff4d35SBaptiste Daroussin do this because the readline emulation functions call 5833*28ff4d35SBaptiste Daroussin term_beep(), but readline isn't built using the same (funky) 5834*28ff4d35SBaptiste Daroussin namespace-protection method as the rest of libedit (it's included 5835*28ff4d35SBaptiste Daroussin like a normal library object). 5836*28ff4d35SBaptiste Daroussin 5837*28ff4d35SBaptiste Daroussin Without this (fairly disgusting) hack, any program linked against 5838*28ff4d35SBaptiste Daroussin libedit will fail to link with an unresolved reference to 5839*28ff4d35SBaptiste Daroussin term_beep() if using an Elf toolchain (e.g. on the Alpha). 5840*28ff4d35SBaptiste Daroussin 5841*28ff4d35SBaptiste Daroussin XXX Why this doesn't happen with NetBSD's a.out toolchain is a 5842*28ff4d35SBaptiste Daroussin mystery XXX to me, and I'm not sure I really want to know (given 5843*28ff4d35SBaptiste Daroussin that a.out XXX _should_ break the same way as Elf does in this 5844*28ff4d35SBaptiste Daroussin case). 5845*28ff4d35SBaptiste Daroussin 5846*28ff4d35SBaptiste Daroussin1997-11-13 05:43 thorpej 5847*28ff4d35SBaptiste Daroussin 5848*28ff4d35SBaptiste Daroussin * Makefile: Build readline.o into debugging versions of libedit, 5849*28ff4d35SBaptiste Daroussin too. 5850*28ff4d35SBaptiste Daroussin 5851*28ff4d35SBaptiste Daroussin1997-11-12 22:56 thorpej 5852*28ff4d35SBaptiste Daroussin 5853*28ff4d35SBaptiste Daroussin * readline.c: el_gets() takes an int *, not a size_t *. 5854*28ff4d35SBaptiste Daroussin 5855*28ff4d35SBaptiste Daroussin1997-11-09 01:53 lukem 5856*28ff4d35SBaptiste Daroussin 5857*28ff4d35SBaptiste Daroussin * Makefile: sync trunk's CPPFLAGS fix (approved by thorpej) 5858*28ff4d35SBaptiste Daroussin 5859*28ff4d35SBaptiste Daroussin1997-11-09 01:13 lukem 5860*28ff4d35SBaptiste Daroussin 5861*28ff4d35SBaptiste Daroussin * editline.3: move description of history() return value 5862*28ff4d35SBaptiste Daroussin 5863*28ff4d35SBaptiste Daroussin1997-10-26 21:19 christos 5864*28ff4d35SBaptiste Daroussin 5865*28ff4d35SBaptiste Daroussin * read.c: Make el_gets() work when the input is not a tty. 5866*28ff4d35SBaptiste Daroussin 5867*28ff4d35SBaptiste Daroussin1997-10-26 21:17 christos 5868*28ff4d35SBaptiste Daroussin 5869*28ff4d35SBaptiste Daroussin * Makefile: Make a link for history.h -> readline.h 5870*28ff4d35SBaptiste Daroussin 5871*28ff4d35SBaptiste Daroussin1997-10-24 00:51 christos 5872*28ff4d35SBaptiste Daroussin 5873*28ff4d35SBaptiste Daroussin * readline.c, readline.h: Const de-poisoning :-( Unfortunately the 5874*28ff4d35SBaptiste Daroussin default gnu readline does not have full prototypes... With those 5875*28ff4d35SBaptiste Daroussin changes, and a single line change in gdb/top.c, gdb links with 5876*28ff4d35SBaptiste Daroussin -ledit 5877*28ff4d35SBaptiste Daroussin 5878*28ff4d35SBaptiste Daroussin1997-10-24 00:24 christos 5879*28ff4d35SBaptiste Daroussin 5880*28ff4d35SBaptiste Daroussin * Makefile, readline.c, readline.h, shlib_version: PR/4301: Jaromir 5881*28ff4d35SBaptiste Daroussin Dolecek. Add gnu-readline wrapper for editline. 5882*28ff4d35SBaptiste Daroussin 5883*28ff4d35SBaptiste Daroussin1997-10-23 08:35 lukem 5884*28ff4d35SBaptiste Daroussin 5885*28ff4d35SBaptiste Daroussin * TEST/test.c: make this compile with the new libedit history() 5886*28ff4d35SBaptiste Daroussin 5887*28ff4d35SBaptiste Daroussin1997-10-23 05:26 lukem 5888*28ff4d35SBaptiste Daroussin 5889*28ff4d35SBaptiste Daroussin * Makefile: use CPPFLAGS instead of CFLAGS, fix building of test 5890*28ff4d35SBaptiste Daroussin 5891*28ff4d35SBaptiste Daroussin1997-10-20 10:07 scottr 5892*28ff4d35SBaptiste Daroussin 5893*28ff4d35SBaptiste Daroussin * tty.c: Add support for DTR/CTS flow control, from Bill 5894*28ff4d35SBaptiste Daroussin Studenmund. 5895*28ff4d35SBaptiste Daroussin 5896*28ff4d35SBaptiste Daroussin1997-10-14 17:05 christos 5897*28ff4d35SBaptiste Daroussin 5898*28ff4d35SBaptiste Daroussin * editline.3, hist.c, hist.h, histedit.h, history.c, shlib_version: 5899*28ff4d35SBaptiste Daroussin PR/4257: Jaromir Dolecek: history() has no generic error handling 5900*28ff4d35SBaptiste Daroussin and isn't reentrant. This changes the interface of the history 5901*28ff4d35SBaptiste Daroussin function, so we need a major number bump. 5902*28ff4d35SBaptiste Daroussin 5903*28ff4d35SBaptiste Daroussin1997-10-13 18:09 lukem 5904*28ff4d35SBaptiste Daroussin 5905*28ff4d35SBaptiste Daroussin * term.c: use <termcap.h> instead of "termcap.h" (which was 5906*28ff4d35SBaptiste Daroussin repository copied to libterm) 5907*28ff4d35SBaptiste Daroussin 5908*28ff4d35SBaptiste Daroussin1997-10-13 17:46 mrg 5909*28ff4d35SBaptiste Daroussin 5910*28ff4d35SBaptiste Daroussin * termcap.h: termcap.h moves to libterm. 5911*28ff4d35SBaptiste Daroussin 5912*28ff4d35SBaptiste Daroussin1997-10-09 21:16 christos 5913*28ff4d35SBaptiste Daroussin 5914*28ff4d35SBaptiste Daroussin * tty.c: PR/4211: Dave Huang: don't lose VSTATUS and VEOL and any 5915*28ff4d35SBaptiste Daroussin other characters that are VDISABLED by default. 5916*28ff4d35SBaptiste Daroussin 5917*28ff4d35SBaptiste Daroussin1997-10-09 16:36 lukem 5918*28ff4d35SBaptiste Daroussin 5919*28ff4d35SBaptiste Daroussin * Makefile: - define WARNS?=1 in the top-level Makefile.inc, and 5920*28ff4d35SBaptiste Daroussin don't define anywhere else. - for now, override WARNS=0 in 5921*28ff4d35SBaptiste Daroussin librpcsvc and libwrap, until they're cleaned up - rcsid police 5922*28ff4d35SBaptiste Daroussin 5923*28ff4d35SBaptiste Daroussin lib is now clean (except for librpcsvc and libwrap) on the i386, 5924*28ff4d35SBaptiste Daroussin and this should motivate the other ports to fix any other minor 5925*28ff4d35SBaptiste Daroussin problems that their compilers pick up that the i386 version 5926*28ff4d35SBaptiste Daroussin doesn't. 5927*28ff4d35SBaptiste Daroussin 5928*28ff4d35SBaptiste Daroussin1997-07-31 01:57 jtc 5929*28ff4d35SBaptiste Daroussin 5930*28ff4d35SBaptiste Daroussin * editline.3, editrc.5: Fix files using old TNF copyright notice 5931*28ff4d35SBaptiste Daroussin 5932*28ff4d35SBaptiste Daroussin1997-07-06 20:25 christos 5933*28ff4d35SBaptiste Daroussin 5934*28ff4d35SBaptiste Daroussin * Makefile, chared.c, common.c, el.c, emacs.c, hist.c, history.c, 5935*28ff4d35SBaptiste Daroussin key.c, map.c, parse.c, prompt.c, read.c, refresh.c, search.c, 5936*28ff4d35SBaptiste Daroussin sig.c, term.c, tokenizer.c, tty.c, vi.c: Fix compiler warnings. 5937*28ff4d35SBaptiste Daroussin 5938*28ff4d35SBaptiste Daroussin1997-05-09 09:50 mycroft 5939*28ff4d35SBaptiste Daroussin 5940*28ff4d35SBaptiste Daroussin * Makefile: Eliminate bogus redefinitions of standard targets. 5941*28ff4d35SBaptiste Daroussin 5942*28ff4d35SBaptiste Daroussin1997-04-24 22:20 christos 5943*28ff4d35SBaptiste Daroussin 5944*28ff4d35SBaptiste Daroussin * editrc.5: editrc -> editline 5945*28ff4d35SBaptiste Daroussin 5946*28ff4d35SBaptiste Daroussin1997-04-24 20:54 christos 5947*28ff4d35SBaptiste Daroussin 5948*28ff4d35SBaptiste Daroussin * el.c: Handle properly the case where the last line in the sourced 5949*28ff4d35SBaptiste Daroussin file does not have a trailing '\n'. From Jeffrey C Honig. 5950*28ff4d35SBaptiste Daroussin 5951*28ff4d35SBaptiste Daroussin1997-04-12 00:40 christos 5952*28ff4d35SBaptiste Daroussin 5953*28ff4d35SBaptiste Daroussin * term.c: Return -1 if the terminal set operation resulted in dumb 5954*28ff4d35SBaptiste Daroussin terminal settings. 5955*28ff4d35SBaptiste Daroussin 5956*28ff4d35SBaptiste Daroussin1997-04-11 23:38 christos 5957*28ff4d35SBaptiste Daroussin 5958*28ff4d35SBaptiste Daroussin * tty.h: Don't allow CSWTCH to interfere with CSUSP on __SVR4 5959*28ff4d35SBaptiste Daroussin systems. 5960*28ff4d35SBaptiste Daroussin 5961*28ff4d35SBaptiste Daroussin1997-04-11 19:52 christos 5962*28ff4d35SBaptiste Daroussin 5963*28ff4d35SBaptiste Daroussin * el.c, histedit.h, history.c, read.c, sig.c, tty.c, tty.h: 5964*28ff4d35SBaptiste Daroussin Portability fixes: __const -> const BADSIG -> 5965*28ff4d35SBaptiste Daroussin SIG_ERR int flags -> u_int flags #if __STDC__ -> #ifdef 5966*28ff4d35SBaptiste Daroussin __STDC__ 5967*28ff4d35SBaptiste Daroussin 5968*28ff4d35SBaptiste Daroussin1997-03-24 23:11 christos 5969*28ff4d35SBaptiste Daroussin 5970*28ff4d35SBaptiste Daroussin * Makefile: Makefile cleanups: use INCS variable to install 5971*28ff4d35SBaptiste Daroussin includes and FILES to install objects. 5972*28ff4d35SBaptiste Daroussin 5973*28ff4d35SBaptiste Daroussin1997-03-20 17:42 christos 5974*28ff4d35SBaptiste Daroussin 5975*28ff4d35SBaptiste Daroussin * el.c: Fix potential stack overflow; from Keith Bostic. 5976*28ff4d35SBaptiste Daroussin 5977*28ff4d35SBaptiste Daroussin1997-01-23 15:02 mrg 5978*28ff4d35SBaptiste Daroussin 5979*28ff4d35SBaptiste Daroussin * history.c, search.c, term.c: - convert unsafe strcpy(), strcat() 5980*28ff4d35SBaptiste Daroussin and sprintf() to the `n' versions. - some KNF. 5981*28ff4d35SBaptiste Daroussin 5982*28ff4d35SBaptiste Daroussin1997-01-17 02:03 lukem 5983*28ff4d35SBaptiste Daroussin 5984*28ff4d35SBaptiste Daroussin * el.c: fix el_source() - a block needed braces around it (the 5985*28ff4d35SBaptiste Daroussin indenting fooled me) 5986*28ff4d35SBaptiste Daroussin 5987*28ff4d35SBaptiste Daroussin1997-01-14 05:17 lukem 5988*28ff4d35SBaptiste Daroussin 5989*28ff4d35SBaptiste Daroussin * common.c, editline.3, histedit.h, read.c: Implement CC_REDISPLAY, 5990*28ff4d35SBaptiste Daroussin which (unlink CC_REFRESH) redraws the entire input line (a la 5991*28ff4d35SBaptiste Daroussin ^R). This is useful if the binding outputs information and mucks 5992*28ff4d35SBaptiste Daroussin up the input line. To be used in ``list-choices'' bindings (refer 5993*28ff4d35SBaptiste Daroussin to the ^D binding in csh when filec is set) 5994*28ff4d35SBaptiste Daroussin 5995*28ff4d35SBaptiste Daroussin1997-01-11 10:57 lukem 5996*28ff4d35SBaptiste Daroussin 5997*28ff4d35SBaptiste Daroussin * editrc.5, parse.c: * document ^char and \ escape sequences * when 5998*28ff4d35SBaptiste Daroussin parsing ^char control chars, check the correct char when 5999*28ff4d35SBaptiste Daroussin determining validity (previously, ^char was a NOP interpreted 6000*28ff4d35SBaptiste Daroussin as the literal string because of this bug) 6001*28ff4d35SBaptiste Daroussin 6002*28ff4d35SBaptiste Daroussin1997-01-11 07:47 lukem 6003*28ff4d35SBaptiste Daroussin 6004*28ff4d35SBaptiste Daroussin * Makefile, chared.c, chared.h, common.c, editline.3, editrc.5, 6005*28ff4d35SBaptiste Daroussin el.c, el.h, emacs.c, hist.c, hist.h, histedit.h, history.c, 6006*28ff4d35SBaptiste Daroussin key.c, key.h, makelist, map.c, map.h, parse.c, parse.h, prompt.c, 6007*28ff4d35SBaptiste Daroussin prompt.h, read.c, refresh.c, refresh.h, search.c, search.h, 6008*28ff4d35SBaptiste Daroussin sig.c, sig.h, sys.h, term.c, term.h, termcap.h, tokenizer.c, 6009*28ff4d35SBaptiste Daroussin tokenizer.h, tty.c, tty.h, vi.c, TEST/test.c: RCSid police 6010*28ff4d35SBaptiste Daroussin editline first appeared in 4.4BSD not NetBSD1.0 6011*28ff4d35SBaptiste Daroussin 6012*28ff4d35SBaptiste Daroussin1997-01-11 07:26 lukem 6013*28ff4d35SBaptiste Daroussin 6014*28ff4d35SBaptiste Daroussin * editline.3, parse.c: * in el_parse(), don't reference argv[0] if 6015*28ff4d35SBaptiste Daroussin argc < 1 (return -1 instead) * clarify return value of el_parse() 6016*28ff4d35SBaptiste Daroussin 6017*28ff4d35SBaptiste Daroussin1997-01-09 14:12 lukem 6018*28ff4d35SBaptiste Daroussin 6019*28ff4d35SBaptiste Daroussin * Makefile, editline.3, editrc.5, parse.c: * add a man page for the 6020*28ff4d35SBaptiste Daroussin editline routines * add a man page describing editrc * fix bugs 6021*28ff4d35SBaptiste Daroussin in el_parse(): * didn't execute command when program name 6022*28ff4d35SBaptiste Daroussin matched (test reversed) * was checking against empty string 6023*28ff4d35SBaptiste Daroussin instead of program name * after checks, command to run also 6024*28ff4d35SBaptiste Daroussin pointed to empty string 6025*28ff4d35SBaptiste Daroussin 6026*28ff4d35SBaptiste Daroussin [christos - the author of libedit - ok-ed the man pages in 6027*28ff4d35SBaptiste Daroussin general (which I wrote from scratch by RTFS) as well as the 6028*28ff4d35SBaptiste Daroussin bugfix] 6029*28ff4d35SBaptiste Daroussin 6030*28ff4d35SBaptiste Daroussin1996-10-18 07:45 thorpej 6031*28ff4d35SBaptiste Daroussin 6032*28ff4d35SBaptiste Daroussin * Makefile: Use ${INSTALL}. 6033*28ff4d35SBaptiste Daroussin 6034*28ff4d35SBaptiste Daroussin1996-06-01 21:59 jtk 6035*28ff4d35SBaptiste Daroussin 6036*28ff4d35SBaptiste Daroussin * Makefile: merge bugfix from 1.2 branch: use includes target for 6037*28ff4d35SBaptiste Daroussin include files 6038*28ff4d35SBaptiste Daroussin 6039*28ff4d35SBaptiste Daroussin1996-06-01 21:58 jtk 6040*28ff4d35SBaptiste Daroussin 6041*28ff4d35SBaptiste Daroussin * Makefile: use includes target to install include files 6042*28ff4d35SBaptiste Daroussin 6043*28ff4d35SBaptiste Daroussin1995-10-15 20:42 christos 6044*28ff4d35SBaptiste Daroussin 6045*28ff4d35SBaptiste Daroussin * hist.h, histedit.h, history.c, TEST/test.c: Added history load 6046*28ff4d35SBaptiste Daroussin and save to file functions. 6047*28ff4d35SBaptiste Daroussin 6048*28ff4d35SBaptiste Daroussin1995-06-07 07:52 cgd 6049*28ff4d35SBaptiste Daroussin 6050*28ff4d35SBaptiste Daroussin * makelist: be a bit more careful when splitting pathnames 6051*28ff4d35SBaptiste Daroussin 6052*28ff4d35SBaptiste Daroussin1995-04-29 22:44 christos 6053*28ff4d35SBaptiste Daroussin 6054*28ff4d35SBaptiste Daroussin * term.c, term.h: Fixed the key mapping code and reverted Charles' 6055*28ff4d35SBaptiste Daroussin changes. 6056*28ff4d35SBaptiste Daroussin 6057*28ff4d35SBaptiste Daroussin1995-04-27 06:49 mycroft 6058*28ff4d35SBaptiste Daroussin 6059*28ff4d35SBaptiste Daroussin * term.c, term.h: Remove dead code that can't possibly work. 6060*28ff4d35SBaptiste Daroussin 6061*28ff4d35SBaptiste Daroussin1995-04-27 05:59 mycroft 6062*28ff4d35SBaptiste Daroussin 6063*28ff4d35SBaptiste Daroussin * map.c: Trivial code ordering change. 6064*28ff4d35SBaptiste Daroussin 6065*28ff4d35SBaptiste Daroussin1994-10-07 12:41 mycroft 6066*28ff4d35SBaptiste Daroussin 6067*28ff4d35SBaptiste Daroussin * search.c, sys.h, term.c: Update from trunk. 6068*28ff4d35SBaptiste Daroussin 6069*28ff4d35SBaptiste Daroussin1994-10-07 12:40 mycroft 6070*28ff4d35SBaptiste Daroussin 6071*28ff4d35SBaptiste Daroussin * term.c: Fix typo. 6072*28ff4d35SBaptiste Daroussin 6073*28ff4d35SBaptiste Daroussin1994-10-02 05:27 mycroft 6074*28ff4d35SBaptiste Daroussin 6075*28ff4d35SBaptiste Daroussin * term.c: Don't even *try* to print out the name of the termcap 6076*28ff4d35SBaptiste Daroussin file; it's hidden in libtermcap, and it normally uses the DB file 6077*28ff4d35SBaptiste Daroussin anyway. 6078*28ff4d35SBaptiste Daroussin 6079*28ff4d35SBaptiste Daroussin1994-10-02 05:23 mycroft 6080*28ff4d35SBaptiste Daroussin 6081*28ff4d35SBaptiste Daroussin * term.c: Nuke bogus baud rate conversion code. 6082*28ff4d35SBaptiste Daroussin 6083*28ff4d35SBaptiste Daroussin1994-10-02 03:10 jtc 6084*28ff4d35SBaptiste Daroussin 6085*28ff4d35SBaptiste Daroussin * search.c, sys.h: Added code so that POSIX.2 regular expresion 6086*28ff4d35SBaptiste Daroussin functions are used if REGEX is defined, V8 regular expresion 6087*28ff4d35SBaptiste Daroussin functions are used if REGEXP is defined, and BSD regular 6088*28ff4d35SBaptiste Daroussin expression functions are used if neither are defined. And 6089*28ff4d35SBaptiste Daroussin defined REGEX in sys.h so that programs using libedit don't have 6090*28ff4d35SBaptiste Daroussin to link with libcompat. 6091*28ff4d35SBaptiste Daroussin 6092*28ff4d35SBaptiste Daroussin1994-08-30 18:33 cgd 6093*28ff4d35SBaptiste Daroussin 6094*28ff4d35SBaptiste Daroussin * emacs.c: from trunk; pr 420 6095*28ff4d35SBaptiste Daroussin 6096*28ff4d35SBaptiste Daroussin1994-08-30 17:16 cgd 6097*28ff4d35SBaptiste Daroussin 6098*28ff4d35SBaptiste Daroussin * emacs.c: fix for pr 420, from Christos. 6099*28ff4d35SBaptiste Daroussin 6100*28ff4d35SBaptiste Daroussin1994-05-06 08:17 cgd 6101*28ff4d35SBaptiste Daroussin 6102*28ff4d35SBaptiste Daroussin * Makefile, shlib_version: local 6103*28ff4d35SBaptiste Daroussin 6104*28ff4d35SBaptiste Daroussin1994-05-06 08:01 cgd 6105*28ff4d35SBaptiste Daroussin 6106*28ff4d35SBaptiste Daroussin * Makefile, termcap.h, tokenizer.c, tokenizer.h, tty.c, tty.h, 6107*28ff4d35SBaptiste Daroussin vi.c, read.c, refresh.c, refresh.h, search.c, search.h, sig.c, 6108*28ff4d35SBaptiste Daroussin sig.h, sys.h, term.c, term.h, history.c, key.c, key.h, map.c, 6109*28ff4d35SBaptiste Daroussin map.h, parse.c, parse.h, prompt.c, prompt.h, chared.c, chared.h, 6110*28ff4d35SBaptiste Daroussin common.c, el.c, el.h, emacs.c, hist.c, hist.h, histedit.h, 6111*28ff4d35SBaptiste Daroussin makelist, TEST/test.c: libedit! 6112*28ff4d35SBaptiste Daroussin 6113*28ff4d35SBaptiste Daroussin1994-05-06 08:01 cgd 6114*28ff4d35SBaptiste Daroussin 6115*28ff4d35SBaptiste Daroussin * Makefile, termcap.h, tokenizer.c, tokenizer.h, tty.c, tty.h, 6116*28ff4d35SBaptiste Daroussin vi.c, read.c, refresh.c, refresh.h, search.c, search.h, sig.c, 6117*28ff4d35SBaptiste Daroussin sig.h, sys.h, term.c, term.h, history.c, key.c, key.h, map.c, 6118*28ff4d35SBaptiste Daroussin map.h, parse.c, parse.h, prompt.c, prompt.h, chared.c, chared.h, 6119*28ff4d35SBaptiste Daroussin common.c, el.c, el.h, emacs.c, hist.c, hist.h, histedit.h, 6120*28ff4d35SBaptiste Daroussin makelist, TEST/test.c: Initial revision 612191f76417SBaptiste Daroussin 6122