summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 7873f3fe0b27fa9ccfab238e48c12b3f730186ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
2006-09-30  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/fscanner.l (wsnl): Expand set of allowed characters to make
	scanner more tolerant of non-Unix linebreaks (should fix SF Bug
	#1563459)

	* src/Makefile.am (CLEANFILES, dist-hook): Commented out, to
	reduce number of user reports from people without lex.

	* configure.in: Change from AC_PROG_LEX to AM_PROG_LEX.

	* src/Makefile.am (cscope_SOURCES): Added alloc.h.  Reindented.

	* src/invlib.c (invnewterm): Correct loop test to account for
	maxback being unsigned (should fix SF bug #1559495).

	* src/Makefile.am (AM_CPPFLAGS): Renamed from INCLUDES, to quench
	an automake warning.

	* configure.in: Modernized via autoupdate.  Fixed several
	'underquoted' warnings from aclocal.  Use a more telling source
	file name in AC_CONFIG_SRCDIR.

	* configure, aclocal.m4, Makefile.in, contrib/Makefile.in,
	doc/Makefile.in, src/Makefile.in: Regenerated.

2006-08-20  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/find.c (findsymbol): Missed one place where s_len had to be
	initialized.
				  
	* src/main.c (tempstring): Parametrize length by new macro
	TEMPSTRING_LEN.
	(main): Check against too long -f file name.
	(main): Put explicit %s field widths into fscanf() call.
	(main): Replace some fscanf() calls by fgets().

	* src/input.c (shellpath): Limit size of strings copied from
	environment.

	* src/edit.c (editref, editall): Put explicit %s field widths into
	fscanf() calls.

	* src/display.c (display): Put explicit %s field widths into
	fscanf() call.

	* src/dir.c (makefilelist): Put explicit %s field width into
	sscanf() call.

	* src/constants.h (TEMPSTRING_LEN): New macro, needed to
	parametrize a fscanf() call.
	(STRINGIZE): New macro used to build the following.
	(PATLEN_STR, PATHLEN_STR, NUMLEN_STR, TEMPSTRING_LEN_STR): Buffer
	lengths (minus 1) expressed as a string literal, to be used in as
	field widths in {f,s}scanf() calls.

	* src/command.c (changestring): Put explicit %s field widths into
	fscanf() call.

	* src/build.c (samelist, build): fgets() replaces fscanf().
	(build): Put explicit %s field widths into fscanf() call.

2006-07-23  Hans-Bernhard Broeker  <broeker@physik.rwth-achen.de>

	* src/global.h: Rename putstring() to fetch_string_from_dbase(),
	add a parameter.

	* src/find.c: Add #include <assert.h>
	(fetch_string_from_dbase): Renamed from misleading name
	putstring().  Add new parameter, and use it to avoid overflowing
	the output buffer.
	(findsymbol): New local: s_len.  Rename calls to putstring(). Add
	new argument, some of them from s_len.
	(finddef, findallfcns, findcalling, findinclude, match,
	findcalledby, putpostingref): Rename calls to putstring(). Add new
	argument.

	* src/constants.h (MSGLEN): Add safety parentheses.

	* src/library.h: Remove prototypes of alloc.c functions.

	* src/alloc.h: New file.  Moved prototypes of alloc.c functions in
	here, out of library.h.

	* src/alloc.c: Include new header file from here.
	(my_strdup): Changed name from misleading stralloc().  Remove
	incorrect cast.

	* src/build.c: Add #include "alloc.h".
	(fetch_include_from_dbase): Renamed from misleading name
	putinclude().  Add length of target string as an argument.
	(setup_build_filenames): Rename calls of stralloc().
	(getoldfile, copyinverted): Rename calls of putstring(). Add new
	argument.
	(copydata, coypinverted): Rename calls of putinclude().  Add new
	argument.

	* src/vpinit.c: Add #include "alloc.h"
	(vpinit): Rename calls of stralloc().

	* src/main.c: Add #include "alloc.h".
	(main): Rename calls of stralloc().

	* src/history.c: Add #include "alloc.h".
	(addcmd): Rename call of stralloc().

	* src/fscanner.l: Add #include "alloc.h".

	* src/display.c: Add #include "alloc.h".

	* src/dir.c: Add #include "alloc.h".  Move project includes above
	system headers.
	(sourcedir, addsrcdir, includedir, addincdir, addsrcfile): Rename
	calls to stralloc().

	* src/crossref.c: Add #include "alloc.h"

	* src/command.c: Add #include "alloc.h".

2006-05-06  Hans-Bernhard Broeker  <broeker@physik.rwth-achen.de>

	* src/fscanner.l: Accept numeric literals inside fcn definitions
	and calls.

2006-04-21  Hans-Bernhard Broeker  <broeker@physik.rwth-achen.de>

	Make source clean under -Wsign-compare.
	
	* src/main.c (fileargc): Make counter unsigned.
	(main): Make local counter unsigned.
	(main): Fixed two sprintf() excess arguments.

	* src/lookup.c (initsymtab): Make local counters unsigned.

	* src/invlib.c (LINEMAX): Removed.
	(invmake): Change length of local variable "line" to TERMMAX.
	(numpost, numlogblk, amtused, nextpost, lastinblk, numinvitems):
	Make counters unsigned.
	(invnewterm): Make local counters unsigned.

	* src/input.c (mygetline): Make local counters unsigned.

	* src/find.c (findregexp, findfile): Make local counters unsigned.

	* src/egrep.y (line, left, right, parent): Make unsigned.
	(enter, cclenter): Return unsigned.
	(follow): Make argument unsigned.
	(cclenter, cfoll, cgotofn, member, add, follow): Make local
	counters unsigned.
	(cgotofn, member): Cast char to unsigned char, not unsigned int,
	for use as an index.

	* src/display.c (disprefs, mdisprefs, nextline, topline,
	totallines): Make unsigned.
	(search): Removed unused locals.
	(seekline): Make argument unsigned.

	* src/dir.c (nincdirs, nsrcdirs, nsrcfiles, msrcfiles, mincdirs,
	msrcdirs, nvpsrcdirs): Make unsigned long.
	(sourcedir, includedir, makefilelist, incfile, inviewpath): Make
	local counters unsigned.

	* src/crossref.c (symbols, msymbols): Make unsigned long.
	(struct symbol): Make elements first, last, length and fcn_level
	unsigned.
	(crossref, putcrossref): Make local counters unsigned.

	* src/command.c (curdispline): Make unsigned.
	(mark): Make argument and local counter unsigned.
	(command): Make KEY_LL conditional on KEY_LL, not KEY_HOME.
	(changestring): Made local counter unsigned.

	* src/build.c (build): Change several local ints to unsigned
	longs.

	* src/global.h: Updated lots of declarations to match the above.

	* src/alloc.c (mymalloc, mycalloc, myrealloc): Make size arguments
	size_t. Remove pointless casts in several of their callers.

	* src/library.h (mymalloc, mycalloc, myrealloc): Updated
	prototoypes.

2006-04-20  Hans-Bernhard Broeker  <broeker@physik.rwth-achen.de>

	* src/input.c (askforreturn): If curses is handling the display,
	redraw the screen before returning, to keep error messages from
	permanently scrambling the display.

	* configure.in: Add test for <io.h>.

	* configure, config.h.in: Regenerated.
	
	* src/mypopen.c [HAVE_IO_H]: #include <io.h> it, for the setmode()
	declaration.

2006-04-19  Hans-Bernhard Broeker  <broeker@physik.rwth-achen.de>

	General change: indentation width of touched areas changed to 4
	spaces, open braces not on lines of their own, single-line "else
	if", get rid of (void) casts of unused function return values.

	* src/global.h (select_large): Removed declaration.

	* src/main.c (select_large, main): Removed long unused global.

	* src/dir.c (scan_dir): Get rid of d_ino check --- this field is
	not reliably present in struct dirent, and doesn't achieve enough
	to be worth autoconf-ing around.  Works around problems compiling on
	Cygwin release 1.5.19.

	* Makefile.in, aclocal.m4, configure, contrib/Makefile.in,
	doc/Makefile.in, src/Makefile.in: Regenerated with current auto
	tools (autoconf-2.59, automake 1.9.6).

2006-02-21  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/vpinit.c (vpinit): Fix handling of slightly malformed VPATH
	environment variable contents.

2005-11-22  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/dir.c (issrcfile): Finally added auto-searching for
	three-letter C++ file extensions *.tcc, *.cpp, *.cxx.  Test all
	matches to be regular files, not just those with two- and
	three-character extensions.

	* src/invlib.c: Some cleanup.  Replace 0 third argument to fseek
	by proper SEEK_SET.  Got rid of (void) result casts and some
	function argument casts.
	(invmake): Fix one sizeof(long)==4 assumption.

2005-08-16  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/main.c: Uncluttered by removing nitpicky (void) casts.
	(longusage): Reworked for source legibility even on 80-column
	displays.
	(main): If in verbose linemode, print number of references found,
	first off.  Patch from Elad Lahav, for Kscope

2005-07-08  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/build.c (invname_buf, invpost_buf, reffile_buf): Make
	modifiable copies of the default file names.
	(invname, invpost, reffile): Initialize pointers to modifiable
	copies, rather than to string literals.

	* packages/MSDOS/djmake.bat: Adapt to modern position of ylwrap
	script.

	* src/command.c (command) [KEY_RESIZE]: Protect by
	!defined(__DJGPP__).  That platform doesn't have sigaction() and
	associated machinery, nor does it really support terminal size
	changes to begin with.

	* src/main.c (sigwinch_handler): Likewise.
	(main): Likewise.

2005-04-29  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/command.c (command): Additional hotkey mapping of Ctrl-A to
	same function as Ctrl-Y, like AT&T cscope, to evade Ctrl-Y
	occupied as the DSUSP signal key on BSD'ish platforms.

	* src/help.c (help): Document additonal hotkey ^A.  Mention
	possible unavailability of some Ctrl keys because of terminal
	settings.

2005-03-14  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/input.c (getline): Removed.  Was just a minimally simplified
	copy of mygetline() anyway, and it threatened to collide with a
	like-named routine in libc.
	
	* src/global.h (getline): Removed prototype.

 	* src/command.c (command): Changed all calls of getline() to
	mygetline() with an empty string as the first argument.

	* src/egrep.y (memset): Changed #if condition around fallback
	implementation to match that of the prototype in global.h.  Should
	fix SF bug #1163104 (build failure on FreeBSD).

2005-02-16  Neil Horman  <nhorman@gmail.com>

	* src/command.c (command): Added ifdef KEY_RESIZE around
	KEY_RESIZE case in switch statement to allow curses
	libraries which don't support resize events to build

	* src/main.c (main): Added ifdef KEY_RESIZE around 
	SIGWINCH handler and signal registration logic to
	remove resize code from cscope when building with
	curses libraries that don't support resize events

2005-02-04  Neil Horman  <nhorman@gmail.com>

	* src/command.c (command): Added KEY_RESIZE event case to 
	command switch to handle window re-drawing when a resize 
	event was received.

	* src/input.c (mygetch): Added error checking of return code
	to restart call to getch in the event it returned early due
	to a signal being delivered.

	* src/main.c (main): Registered a signal handler for the 
	SIGWINCH handler which is delivered when a terminal is 
	resized.  Handler pushes a KEY_RESIZE event onto the head 
	of the command input queue.

2005-02-01  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/build.c (build): Keep interactive mode on, even if on a
	terminal, if verbose mode (-v) was turned on.

2005-01-31  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/scanner.h: Declare yytext signed on AIX (without stating a
	version number, for now).

2005-01-30  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/mypopen.c (mypopen): Make closing argument to execlp() a
	manifest null pointer, not just a zero.

2004-12-08  Neil Horman  <nhorman@gmail.com>
	
	* src/dir.c: Fix to dissallow unreadable files from 
	srcfiles list (sourceforge bug number 1040690)

2004-12-06  Neil Horman  <nhorman@gmail.com>
	
	* src/main.c: Fix for temp file security bug (sourceforge 
	bug number 1062807 / CAN-2004-0970)

2004-11-22  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* doc/cscope.1: Make ESR happy: change man page summary section to
	avoid [0-9] syntax.

2004-10-27  Hans-Bernhard Broeker  <broeker@accip02.physik.rwth-aachen.de>

	* src/display.c (search): Replace duplicated code by a call to
	countrefs().  Duplicate lacked adjustment of column widths in case
	of very long function/file names.  Thanks to Darlene Wong for
	spotting this.

	* src/global.h (countrefs): Prototype added.

	* src/command.c (countrefs): Made globally available.

2004-06-23  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/dir.c (makefilelist): Fix broken movement of point_in_line
	when parsing quoted names.  Simplify structure by moving default
	handling upward.

2004-06-21  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* contrib/ocs (SYSDIR): Only set to /usr/local/lib/cs if not
	already set in outside environment.  Check that $(SYSDIR) exists
	before proceeding.  From SF patch #976788 by Neil Horman.

2004-04-30  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/vpinit.c (vpinit): Renamed argument currentdir to
	current_dir to avoid name clash with same-named global.

	* src/command.c (Pattern): Renamed from "pattern", to avoid
	multitute of compiler warnings about shadowing by locally defined
	variables of the same name.  Changed all usages of this variable,
	too.
	(command): Test for individual KEY_* macros instead of TERMINFO
	whenever one of the KEY_* macros is referenced.  This should
	reduce the TERMINFO mess a little.

	* src/find.c (read_block): Renamed from "readblock", to avoid name
	clash with QNX system function of that name.  Calls changed
	accordingly, all over the place.

	* src/display.c: Fix fall-back definition of sigjmp_buf.

	* src/constants.h: Activate TERMINFO for FreeBSD.

	* src/input.c (mygetline): New function.  Poor-man's readline
	imitation.  From SF Patch #937310.

	* src/global.h (mygetline): Prototype added.

	* src/command.c (command): Use mygetline() instead of letting
	ncsurses doing it all.  Make Ctrl-B/F special hotkeys that are
	handled here instead of in mygetline(), to preserve their meaning.

	* packages/cscope.spec: Updated by SF patch #920586 to be more
	compatible with current expectations.

2004-02-24  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* configure.in (AC_CHECK_HEADERS): Added check for NSK-Tandem
	special magic header file <floss.h>.

	* src/global.h [HAVE_FLOSS_H]: Added #include <floss.h> if it
	exists.

2004-02-14  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/command.c (countrefs): Fix off-by-one length specification
	of %s format.  Thanks to <anil@recoil.org> for spotting it.

2004-02-12  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	Fix SF bug #892731: Ctrl-C interruption of search works only once
	per session.
	
	* configure.in (sigsetjmp): Added test for presence of this
	function.

	* src/display.c (sigsetjmp) [!HAVE_SIGSETJMP]: Provide fallback
	definitions for functions sigsetjmp, siglongjmp and type
	sigjmp_buf.
	(search): Move call to signal() above that to setjmp().  Call
	sigsetjmp() instead of setjmp().

	* configure, config.h.in: Regenerated.

	* Makefile.in, src/Makefile.in, contrib/Makefile.in,
	doc/Makefile.in, aclocal.m4: Rebuilt by automake-1.7.9.
	
	
2004-02-11  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* configure.in (signal.h) Check added.
	(sighandler_t): Check for this type.  Should be defined on POSIX
	platforms, but is treated as a GNU extension sometimes.

	* src/global.h (sighandler_t) [!HAVE_SIGHANDLER_T]: Provide
	fallback definition of function pointer typedef for signal
	handlers if <signal.h> doesn't provide it. Simplifies cscope's
	work when working on its own source code --- function pointers
	confuse it quite badly, so it's best to minimize their visibility.

	* src/input.c (mygetch): Type of local variable savesig written
	using sighandler_t.

	* src/display.c (search): Type of local variable savesig written
	using sighandler_t.

	* src/exec.c (oldsigtstp): Renamed, from oldsigstp.
	(oldsigtstp,oldsighup,oldsigquit): Changed from function pointer
	type to new typedef name sighandler_t.

2004-02-05  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/global.h (tolower) [BSD]: Fix stupid typo in overrides for
	toupper and tolower.

2004-01-08  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/display.c (clearmsg): New function.  Does essentially the
	same thing previously achieved by a rather more cryptic
	postmsg("").
	(postfatal): New function to printout a fatal error message and
	terminate the program. Works like posterr(), but exits curses
	first, so the message should end up visible after the program
	exits.  Using this instead of posterr()+myexit() fixes SF bug
	#419510.
	(dispinit): Use postfatal:().
	(postmsg): Use clearmsg().
	(postmsg2): Call curses refresh() after change.

	* src/global.h: Add prototypes for new functions clearmsg() and
	postfatal().

	* src/find.c (putsource): Use postfatal().

	* src/main.c (main, skiplist): Use postfatal() and clearmsg().

	* src/command.c (command): Use clearmsg().

	* src/build.c (build, seek_to_trailer, movefile): Use postfatal().

	* src/alloc.c (alloctest): Use postfatal().

	* src/display.c (jumpback): Re-instate signal handler, in an
	attempt to fix problems reported with the general behaviour of
	signal handlers in cscope.

	* src/scanner.l (ws, wsnl): Two new predefined patterns to catch
	not only blanks and tabs, but all generally allowed white-space
	characters in source files: form feeds, vertical tabs, carriage
	returns.  Replaced most occurence of [ \t] and [ \t\n] by these.
	This is a back-port from fscanner.l.  Should fix SF bug #508060.

Wed Oct 15 16:05:46 2003  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/dir.c (scan_dir): Don't reduce path to basename before
 	calling issrcfile.
	(issrcfile): Use either basename or full path, as necessary for
 	the individual tests.  Reorganized to reduce nesting.

Mon Sep 15 12:34:46 2003  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/egrep.y (yylex, member, egrep, cgotofn): Reindented.  Fixed
 	implicit int declarations and casts.

	* src/global.h (tolower, tolower) [BSD]: Fix override definitions
 	for these so they don't mung non-alphabetic input.

Fri Sep 12 09:33:19 2003  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	* src/vp.h: Add #include of <sys/types.h> to fix problem on
 	Solaris.

Fri Sep 12 09:33:19 2003  Hans-Bernhard Broeker  <broeker@physik.rwth-aachen.de>

	I'm finally starting a new, GNU-format ChangeLog file.  The format
 	of the previous was too terse to be really useful.  This begins
 	with the first changes after release 15.5.
	
	* ChangeLog.old: New file.  Renamed copy of old-format ChangeLog
 	file.

	* ChangeLog: Started from scratch.