Tcl Source Code

Check-in [0e42a3934f]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:* tests/reg.test: * generic/regc_color.c: Applied regexp bug fix from Henry Spencer.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-1-branch-old
Files: files | file ages | folders
SHA1: 0e42a3934fafd82708b7651c520fa7bae764e9cd
User & Date: stanton 1999-03-23 04:13:53
Context
1999-03-23
04:15
fixed some lint check-in: 9e78d9f280 user: stanton tags: core-8-1-branch-old
04:13
* tests/reg.test: * generic/regc_color.c: Applied regexp bug fix from Henry Spencer. check-in: 0e42a3934f user: stanton tags: core-8-1-branch-old
1999-03-20
02:31
Entries for changes to support 64-bit mode on Solaris. check-in: 4649e6ed51 user: redman tags: core-8-1-branch-old
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ChangeLog.






1
2
3
4
5
6
7




1999-03-19    <[email protected]>

	* generic/tclCmdIL.c: Fixed the initialization of an array so that
 	the Sun 5.0 C compiler wouldn't complain.

	* unix/configure.in: Added support for --enable-64bit.  For now,
 	this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun 
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
1999-03-22    <[email protected]>

	* tests/reg.test: 
	* generic/regc_color.c: Applied regexp bug fix from Henry Spencer.

1999-03-19    <[email protected]>

	* generic/tclCmdIL.c: Fixed the initialization of an array so that
 	the Sun 5.0 C compiler wouldn't complain.

	* unix/configure.in: Added support for --enable-64bit.  For now,
 	this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun 

Changes to generic/regc_color.c.

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
 */
static VOID
freecolor(cm, co)
struct colormap *cm;
pcolor co;
{
	struct colordesc *cd = &cm->cd[co];


	assert(co >= 0);
	if (co == WHITE)
		return;

	assert(cd->arcs == NULL);
	assert(cd->sub == NOSUB);
................................................................................
	assert(cd->nchrs == 0);
	cd->flags = FREECOL;
	if (cd->block != NULL) {
		FREE(cd->block);
		cd->block = NULL;	/* just paranoia */
	}

	if ((size_t)co == cm->max)
		while (cm->max > WHITE && UNUSEDCOLOR(&cm->cd[cm->max]))
				cm->max--;












	else {






		cd->sub = cm->free;
		cm->free = (color)(cd - cm->cd);
	}
}

/*
 - pseudocolor - allocate a false color, to be managed by other means






>







 







|

|
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>







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
 */
static VOID
freecolor(cm, co)
struct colormap *cm;
pcolor co;
{
	struct colordesc *cd = &cm->cd[co];
	color pco, nco;			/* for freelist scan */

	assert(co >= 0);
	if (co == WHITE)
		return;

	assert(cd->arcs == NULL);
	assert(cd->sub == NOSUB);
................................................................................
	assert(cd->nchrs == 0);
	cd->flags = FREECOL;
	if (cd->block != NULL) {
		FREE(cd->block);
		cd->block = NULL;	/* just paranoia */
	}

	if ((size_t)co == cm->max) {
		while (cm->max > WHITE && UNUSEDCOLOR(&cm->cd[cm->max]))
			cm->max--;
		assert(cm->max >= 0);
		while (cm->free > cm->max)
			cm->free = cm->cd[cm->free].sub;
		if (cm->free > 0) {
			assert(cm->free < cm->max);
			pco = cm->free;
			nco = cm->cd[pco].sub;
			while (nco > 0)
				if (nco > cm->max) {
					/* take this one out of freelist */
					nco = cm->cd[nco].sub;
					cm->cd[pco].sub = nco;
				} else {
					assert(nco < cm->max);
					pco = nco;
					nco = cm->cd[pco].sub;
				}
		}
	} else {
		cd->sub = cm->free;
		cm->free = (color)(cd - cm->cd);
	}
}

/*
 - pseudocolor - allocate a false color, to be managed by other means

Changes to tests/reg.test.

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
...
882
883
884
885
886
887
888

889
890
891
892
893
894
895
896
897
# This file contains a collection of tests for one or more of the Tcl
# built-in commands.  Sourcing this file into Tcl runs the tests and
# generates output for errors.  No output means no errors were found.
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
#
# RCS: @(#) $Id: reg.test,v 1.1.2.3 1999/03/11 18:50:03 hershey Exp $

if {[lsearch [namespace children] ::test] == -1} {
    source [file join [pwd] [file dirname [info script]] defs.tcl]
}

# This file uses some custom procedures, defined below, for regexp regression
# testing.  The name of the procedure indicates the general nature of the
................................................................................

# set major test number and description
proc doing {major desc} {
	global prefix description testbypassed

	if {$testbypassed != 0} {
		puts stdout "!!! bypassed $testbypassed tests in\
					 reg-$major, `$description'"
	}

	set prefix reg-$major
	set description "reg $desc"
	set testbypassed 0
}

................................................................................

doing 29 "misc. oddities and old bugs"
e  1	&	***		BADRPT
m  2	N	a?b*		abb	abb
m  3	N	a?b*		bb	bb
m  4	&	a*b		aab	aab
m  5	&	^a*b		aaaab aaaab




doing 0 "flush"			;# to flush any leftover complaints

# cleanup
::test::cleanupTests
return







|







 







|







 







>









3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
...
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
...
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
# This file contains a collection of tests for one or more of the Tcl
# built-in commands.  Sourcing this file into Tcl runs the tests and
# generates output for errors.  No output means no errors were found.
#
# Copyright (c) 1998-1999 by Scriptics Corporation.
# All rights reserved.
#
# RCS: @(#) $Id: reg.test,v 1.1.2.4 1999/03/23 04:13:53 stanton Exp $

if {[lsearch [namespace children] ::test] == -1} {
    source [file join [pwd] [file dirname [info script]] defs.tcl]
}

# This file uses some custom procedures, defined below, for regexp regression
# testing.  The name of the procedure indicates the general nature of the
................................................................................

# set major test number and description
proc doing {major desc} {
	global prefix description testbypassed

	if {$testbypassed != 0} {
		puts stdout "!!! bypassed $testbypassed tests in\
					 $major, `$description'"
	}

	set prefix reg-$major
	set description "reg $desc"
	set testbypassed 0
}

................................................................................

doing 29 "misc. oddities and old bugs"
e  1	&	***		BADRPT
m  2	N	a?b*		abb	abb
m  3	N	a?b*		bb	bb
m  4	&	a*b		aab	aab
m  5	&	^a*b		aaaab aaaab
m  6	&M	 {[0-6][1-2][0-3][0-6][1-6][0-6]}	010010	010010



doing 0 "flush"			;# to flush any leftover complaints

# cleanup
::test::cleanupTests
return