xref: /freebsd/contrib/libedit/ChangeLog (revision 28ff4d35f8b904952bf86b3264650d91cc0cb5d7)
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