]>
Cypherpunks repositories - gostls13.git/log
Ian Lance Taylor [Wed, 12 Nov 2008 02:17:54 +0000 (18:17 -0800)]
The scope rules have been changed to say that labels live in a
separate per-function namespace.
R=gri
DELTA=24 (8 added, 16 deleted, 0 changed)
OCL=19006
CL=19057
Ken Thompson [Wed, 12 Nov 2008 02:15:36 +0000 (18:15 -0800)]
6c bug with large constants
R=r
OCL=19056
CL=19056
Rob Pike [Wed, 12 Nov 2008 01:28:36 +0000 (17:28 -0800)]
Implement a "full reader" wrapper for io.Read, guaranteeing that
either the buffer is full, zero bytes were read, or an error is returned.
R=rsc
DELTA=44 (42 added, 0 deleted, 2 changed)
OCL=19027
CL=19047
Russ Cox [Tue, 11 Nov 2008 23:55:32 +0000 (15:55 -0800)]
don't try interface/structure conversion until
last resort, because it assumes every call is a
real use of the conversion.
R=ken
OCL=19026
CL=19026
Russ Cox [Tue, 11 Nov 2008 21:46:55 +0000 (13:46 -0800)]
width fixes.
* check for uncomputed struct offsets
* distinguish function structs from ordinary structs
* make sure function structs are not examined in isolation
R=ken
OCL=19005
CL=19005
Ian Lance Taylor [Tue, 11 Nov 2008 18:01:51 +0000 (10:01 -0800)]
Remove useless "Trace/breakpoint trap" lines using the format
that is generated on Goobuntu.
R=r,rsc
DELTA=2 (1 added, 0 deleted, 1 changed)
OCL=18973
CL=18976
Rob Pike [Tue, 11 Nov 2008 02:13:20 +0000 (18:13 -0800)]
fix error-handling bug.
add newline after stack traces.
R=rsc
DELTA=3 (2 added, 1 deleted, 0 changed)
OCL=18945
CL=18953
Robert Griesemer [Tue, 11 Nov 2008 01:56:46 +0000 (17:56 -0800)]
more work on elastic tabs:
- new code enabled, but no comments printed yet (so the effect
of the elastic tabs is not seen yet)
TBR=r
DELTA=200 (93 added, 69 deleted, 38 changed)
OCL=18951
CL=18951
Russ Cox [Mon, 10 Nov 2008 23:17:56 +0000 (15:17 -0800)]
* accept all NaNs, not just the one sys.NaN() returns.
* use union, not cast, to convert between uint64 and float64,
to avoid possible problems with gcc in future.
R=r
DELTA=75 (39 added, 15 deleted, 21 changed)
OCL=18926
CL=18926
Rob Pike [Mon, 10 Nov 2008 22:59:15 +0000 (14:59 -0800)]
update tests
R=gri
DELTA=28 (12 added, 14 deleted, 2 changed)
OCL=18923
CL=18923
Russ Cox [Mon, 10 Nov 2008 22:54:10 +0000 (14:54 -0800)]
handle Inf, NaN in float print
R=r
DELTA=48 (23 added, 14 deleted, 11 changed)
OCL=18707
CL=18922
Rob Pike [Mon, 10 Nov 2008 22:53:40 +0000 (14:53 -0800)]
Add a cache to avoid unnecessary parsing of type strings when constructing values
R=rsc
DELTA=12 (9 added, 0 deleted, 3 changed)
OCL=18916
CL=18921
Rob Pike [Mon, 10 Nov 2008 22:53:32 +0000 (14:53 -0800)]
fix start/stop bug in prof.
also only time-limit if a value is provided.
R=rsc
DELTA=9 (4 added, 2 deleted, 3 changed)
OCL=18917
CL=18920
Rob Pike [Mon, 10 Nov 2008 22:47:28 +0000 (14:47 -0800)]
Protocol buffer encoding.
R=rsc
DELTA=1075 (1028 added, 31 deleted, 16 changed)
OCL=18865
CL=18918
Robert Griesemer [Sat, 8 Nov 2008 02:31:50 +0000 (18:31 -0800)]
Added missing Set method for Vector
BUG=
1474670
TBR=r
DELTA=6 (6 added, 0 deleted, 0 changed)
OCL=18839
CL=18843
Robert Griesemer [Sat, 8 Nov 2008 02:30:58 +0000 (18:30 -0800)]
- steps towards "flexible tab stops" simulation in pretty
printing output
- not yet enabled
R=r
OCL=18842
CL=18842
Rob Pike [Sat, 8 Nov 2008 00:17:42 +0000 (16:17 -0800)]
wrong system call number for stat
TBR=rsc
OCL=18833
CL=18833
Ken Thompson [Sat, 8 Nov 2008 00:05:17 +0000 (16:05 -0800)]
byte multiply
R=r
OCL=18830
CL=18830
Ken Thompson [Fri, 7 Nov 2008 22:20:32 +0000 (14:20 -0800)]
byte multiply
R=r
OCL=18807
CL=18807
Robert Griesemer [Fri, 7 Nov 2008 21:34:37 +0000 (13:34 -0800)]
- language to define type equality rigorously
- language for type guards
- fixed language for break statements
Also: Removed uses of "we" and replaced by impersonal language.
Minor cosmetic changes.
DELTA=237 (160 added, 34 deleted, 43 changed)
OCL=18620
CL=18800
Ian Lance Taylor [Fri, 7 Nov 2008 19:44:15 +0000 (11:44 -0800)]
Don't use a type guard with a type which is not an interface.
R=r,gri
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18781
CL=18785
Ian Lance Taylor [Fri, 7 Nov 2008 06:27:32 +0000 (22:27 -0800)]
Test case for evaluation order of select statement.
R=r
DELTA=47 (47 added, 0 deleted, 0 changed)
OCL=18581
CL=18748
Ken Thompson [Fri, 7 Nov 2008 01:50:28 +0000 (17:50 -0800)]
bug in select default
R=r
OCL=18741
CL=18741
Ian Lance Taylor [Fri, 7 Nov 2008 01:39:48 +0000 (17:39 -0800)]
Erroneous test case. The break statement should break out of
a select clause.
R=ken
DELTA=20 (0 added, 20 deleted, 0 changed)
OCL=18731
CL=18739
Robert Griesemer [Fri, 7 Nov 2008 01:29:07 +0000 (17:29 -0800)]
- binomial implementation (fixing broken build)
R=r
OCL=18738
CL=18738
Rob Pike [Fri, 7 Nov 2008 00:32:28 +0000 (16:32 -0800)]
simpleminded ascii to floating point conversion
R=rsc
DELTA=111 (107 added, 0 deleted, 4 changed)
OCL=18720
CL=18725
Rob Pike [Thu, 6 Nov 2008 23:48:36 +0000 (15:48 -0800)]
add sys.float32bits, sys.float64bits
R=rsc
DELTA=21 (21 added, 0 deleted, 0 changed)
OCL=18709
CL=18718
Ian Lance Taylor [Thu, 6 Nov 2008 23:24:10 +0000 (15:24 -0800)]
Test that a break statement inside a select statement breaks
out of the enclosing loop.
R=ken
DELTA=20 (20 added, 0 deleted, 0 changed)
OCL=18686
CL=18714
Russ Cox [Thu, 6 Nov 2008 23:05:19 +0000 (15:05 -0800)]
s/gins/gbranch/
R=ken
OCL=18713
CL=18713
Russ Cox [Thu, 6 Nov 2008 22:50:58 +0000 (14:50 -0800)]
change minimum sethi/ullman number to 1
to distinguish not computed (0) vs trivial (1).
add missing ullmancalc on function args.
R=ken
OCL=18711
CL=18711
Robert Griesemer [Thu, 6 Nov 2008 22:23:49 +0000 (14:23 -0800)]
A recreational programming exercise:
Multiplication of a Hilbert matrix with its inverse using
Bignum.Rationals as a test case for rational arithmetic.
R=r
OCL=18706
CL=18706
Russ Cox [Thu, 6 Nov 2008 21:31:13 +0000 (13:31 -0800)]
6g ninit fixes - fixes the two test cases
i isolated last night. does not fix rob's
interface-smashing bug.
R=ken
OCL=18698
CL=18698
Robert Griesemer [Thu, 6 Nov 2008 20:13:52 +0000 (12:13 -0800)]
- implemented String() and Format functionality in Bignum
- added a test
R=r
OCL=18687
CL=18687
Robert Griesemer [Thu, 6 Nov 2008 19:56:08 +0000 (11:56 -0800)]
- fixes to sprintf (by rob)
R=r
OCL=18685
CL=18685
Rob Pike [Thu, 6 Nov 2008 19:38:44 +0000 (11:38 -0800)]
If a value implements String(), use that in fmt.print (not fmt.printf)
R=rsc
DELTA=13 (9 added, 0 deleted, 4 changed)
OCL=18682
CL=18684
Rob Pike [Thu, 6 Nov 2008 18:40:57 +0000 (10:40 -0800)]
Polymorphic printing.
R=rsc
DELTA=100 (70 added, 10 deleted, 20 changed)
OCL=18663
CL=18669
Ken Thompson [Thu, 6 Nov 2008 05:50:28 +0000 (21:50 -0800)]
select default
R=r
OCL=18646
CL=18646
Russ Cox [Thu, 6 Nov 2008 02:04:24 +0000 (18:04 -0800)]
more runtime support for chan select default
R=ken
OCL=18630
CL=18630
Russ Cox [Thu, 6 Nov 2008 01:57:18 +0000 (17:57 -0800)]
runtime support for default in select.
assumes cas->send == 2 for default case.
R=ken
OCL=18628
CL=18628
Russ Cox [Thu, 6 Nov 2008 00:09:12 +0000 (16:09 -0800)]
allow any type at all in sys.unreflect;
accomodate empty type table in 6l.
R=r
DELTA=10 (2 added, 8 deleted, 0 changed)
OCL=18601
CL=18605
Robert Griesemer [Thu, 6 Nov 2008 00:05:36 +0000 (16:05 -0800)]
- fixed typo in parser.go
- re-enabled bug118.go for pretty
R=r
OCL=18604
CL=18604
Russ Cox [Wed, 5 Nov 2008 23:59:34 +0000 (15:59 -0800)]
fix renamed-package bug in exported names:
always show original name
R=ken
OCL=18603
CL=18603
Robert Griesemer [Wed, 5 Nov 2008 23:55:51 +0000 (15:55 -0800)]
- temporarily excluding bug118.go, causing pretty trouble
R=r
OCL=18602
CL=18602
Ken Thompson [Wed, 5 Nov 2008 23:33:01 +0000 (15:33 -0800)]
more on t,ok = I.(T)
R=r
OCL=18599
CL=18599
Ian Lance Taylor [Wed, 5 Nov 2008 23:27:40 +0000 (15:27 -0800)]
6g dumps core on this input file.
R=ken,rsc
DELTA=14 (14 added, 0 deleted, 0 changed)
OCL=18555
CL=18598
Ken Thompson [Wed, 5 Nov 2008 22:27:07 +0000 (14:27 -0800)]
T,ok = I.(T)
R=r
OCL=18580
CL=18582
Russ Cox [Wed, 5 Nov 2008 21:05:01 +0000 (13:05 -0800)]
new interface error messages
package main
func main() {
var i interface { } = 1;
a := i.(*[]byte);
}
interface { } is int, not *[]uint8
throw: interface conversion
package main
func main() {
var i interface { };
a := i.(*[]byte);
}
interface is nil, not *[]uint8
throw: interface conversion
package main
func main() {
i := sys.unreflect(0, "*bogus");
a := i.(*[]byte);
}
interface { } is *bogus, not *[]uint8
throw: interface conversion
R=r
DELTA=30 (24 added, 2 deleted, 4 changed)
OCL=18548
CL=18565
Rob Pike [Wed, 5 Nov 2008 21:01:33 +0000 (13:01 -0800)]
trim tags from type strings for structure fields.
R=rsc
DELTA=28 (14 added, 4 deleted, 10 changed)
OCL=18561
CL=18563
Ian Lance Taylor [Wed, 5 Nov 2008 20:06:48 +0000 (12:06 -0800)]
Fix powser1.go to compile with the current 6g, which doesn't
recognize methods for a variable whose type is a named type
which is a pointer type. Add bug117 to test this case.
R=r
DELTA=24 (22 added, 0 deleted, 2 changed)
OCL=18547
CL=18554
Russ Cox [Wed, 5 Nov 2008 19:27:50 +0000 (11:27 -0800)]
6g interface changes:
* allow conversion between nil interface and any type.
* mark signatures as DUPOK so that multiple .6 can
contain sigt.*[]byte and only one gets used.
R=ken
OCL=18538
CL=18542
Ian Lance Taylor [Wed, 5 Nov 2008 19:25:30 +0000 (11:25 -0800)]
Don't use a named pointer type as a receiver type. The
current spec forbids it:
The type specified by the type name is called ``receiver
base type''. The receiver base type must be a type
declared in the current file, and it must not be a pointer
type.
R=r
DELTA=2 (0 added, 0 deleted, 2 changed)
OCL=18527
CL=18541
Rob Pike [Wed, 5 Nov 2008 19:02:55 +0000 (11:02 -0800)]
minor tweak to still non-portable alignment calculation
R=rsc
DELTA=4 (1 added, 1 deleted, 2 changed)
OCL=18528
CL=18533
Rob Pike [Wed, 5 Nov 2008 18:17:38 +0000 (10:17 -0800)]
make sizes and offsets int, not uint64
add Value.Interface, to extract an empty interface
that can be converted to a regular Go value of the
appropriate type, if known.
R=rsc
DELTA=49 (2 added, 0 deleted, 47 changed)
OCL=18526
CL=18526
Rob Pike [Wed, 5 Nov 2008 16:17:01 +0000 (08:17 -0800)]
fix bugs parsing functions in reflect library.
parsed interfaces wrong.
could not handle a function with a single type as a return value.
R=rsc
DELTA=34 (20 added, 2 deleted, 12 changed)
OCL=18511
CL=18520
Rob Pike [Wed, 5 Nov 2008 06:54:11 +0000 (22:54 -0800)]
type strings through the reflection library.
R=rsc
DELTA=187 (107 added, 28 deleted, 52 changed)
OCL=18510
CL=18510
Robert Griesemer [Wed, 5 Nov 2008 00:46:45 +0000 (16:46 -0800)]
- added (incomplete) section on parameter passing
- decribe passing of "..." parameters for a start
R=r
DELTA=70 (69 added, 0 deleted, 1 changed)
OCL=18503
CL=18503
Rob Pike [Tue, 4 Nov 2008 22:33:47 +0000 (14:33 -0800)]
update golden.out
R=rsc
OCL=18482
CL=18484
Robert Griesemer [Tue, 4 Nov 2008 22:08:47 +0000 (14:08 -0800)]
get rid of bignum leftovers
R=r
OCL=18475
CL=18475
Rob Pike [Tue, 4 Nov 2008 21:57:21 +0000 (13:57 -0800)]
prepare for recursive printfs
R=rsc
DELTA=31 (9 added, 6 deleted, 16 changed)
OCL=18470
CL=18472
Robert Griesemer [Tue, 4 Nov 2008 21:55:18 +0000 (13:55 -0800)]
install bignum as library
R=r
DELTA=3501 (1752 added, 1749 deleted, 0 changed)
OCL=18460
CL=18471
Robert Griesemer [Tue, 4 Nov 2008 19:37:19 +0000 (11:37 -0800)]
- better support for string conversions
- removed trailing tabs
R=r
OCL=18458
CL=18458
Russ Cox [Tue, 4 Nov 2008 17:45:27 +0000 (09:45 -0800)]
move invalid method uses to new test
R=iant
DELTA=24 (13 added, 10 deleted, 1 changed)
OCL=18424
CL=18439
Robert Griesemer [Tue, 4 Nov 2008 17:33:15 +0000 (09:33 -0800)]
- completed integer support (some logical functions missing)
- completed rational support
- better documentation
- more tests
- cleanups
R=r
OCL=18438
CL=18438
Russ Cox [Tue, 4 Nov 2008 01:34:37 +0000 (17:34 -0800)]
runtime support for interface ok,
whatever the final syntax ends up being.
R=ken
OCL=18414
CL=18414
Russ Cox [Tue, 4 Nov 2008 00:03:12 +0000 (16:03 -0800)]
6l: generate gotypesigs on demand.
add sys.unreflect, which uses gotypesigs.
R=r
DELTA=170 (152 added, 12 deleted, 6 changed)
OCL=18396
CL=18404
Russ Cox [Tue, 4 Nov 2008 00:00:08 +0000 (16:00 -0800)]
remove unnecessary 6g workaround
R=r
DELTA=51 (0 added, 0 deleted, 51 changed)
OCL=18399
CL=18402
Rob Pike [Mon, 3 Nov 2008 23:57:12 +0000 (15:57 -0800)]
move DotDotDot into next case - hit submit too fast last time.
R=rsc
DELTA=5 (1 added, 2 deleted, 2 changed)
OCL=18395
CL=18398
Russ Cox [Mon, 3 Nov 2008 23:52:34 +0000 (15:52 -0800)]
fixed tests
R=r
DELTA=124 (62 added, 62 deleted, 0 changed)
OCL=18389
CL=18394
Rob Pike [Mon, 3 Nov 2008 23:50:11 +0000 (15:50 -0800)]
support ... as a special type in the reflection library.
R=rsc
DELTA=17 (17 added, 0 deleted, 0 changed)
OCL=18386
CL=18393
Russ Cox [Mon, 3 Nov 2008 23:38:27 +0000 (15:38 -0800)]
update names after 6g change
TBR=r
OCL=18381
CL=18383
Russ Cox [Mon, 3 Nov 2008 23:36:08 +0000 (15:36 -0800)]
rename various magic names.
sigi and sigt:
sys·sigi_inter -> sigi·inter
sys·sigt_int -> sigt·int
Package·sigt_Type -> sigt·Package.Type
local type T in file x.go T_x -> T·x
second one T_x_1 -> T·x·1
method names M on T T_M -> T·M
correctly handle local embedded types
init functions are the only place left that use underscores
R=ken
OCL=18377
CL=18377
Ken Thompson [Mon, 3 Nov 2008 23:32:49 +0000 (15:32 -0800)]
treat ... as agreed
only unencapsulated if passing one ddd
argument to one ddd parameter.
R=r
OCL=18376
CL=18376
Rob Pike [Mon, 3 Nov 2008 23:22:15 +0000 (15:22 -0800)]
in traceback, handle the case where we've called through a nil function pointer
R=rsc
DELTA=7 (7 added, 0 deleted, 0 changed)
OCL=18372
CL=18372
Ken Thompson [Mon, 3 Nov 2008 21:27:16 +0000 (13:27 -0800)]
unsigned divide by fn()
R=r
OCL=18351
CL=18351
Russ Cox [Mon, 3 Nov 2008 21:09:30 +0000 (13:09 -0800)]
silence gcc warnings
R=ken
OCL=18348
CL=18348
Rob Pike [Mon, 3 Nov 2008 19:40:33 +0000 (11:40 -0800)]
ascii to unsigned integer
R=rsc
DELTA=60 (35 added, 17 deleted, 8 changed)
OCL=18339
CL=18343
Robert Griesemer [Mon, 3 Nov 2008 18:52:28 +0000 (10:52 -0800)]
- keeping track of to-do items
R=r
DELTA=15 (10 added, 3 deleted, 2 changed)
OCL=18334
CL=18336
Robert Griesemer [Mon, 3 Nov 2008 17:21:10 +0000 (09:21 -0800)]
- changed general div/mod implementation to a faster algorithm
(operates on 30bit values at a time instead of 20bit values)
- refactored and cleaned up lots of code
- more tests
- close to check-in as complete library
R=r
OCL=18326
CL=18326
Rob Pike [Sun, 2 Nov 2008 20:33:02 +0000 (12:33 -0800)]
printf as we know and love it.
Plus print[ln] with the ability to print struct values.
Note for language mavens: if a "..." function passes its argument
to another "..." function, the argument is not wrapped again. This
allows printf to call fprintf without extra manipulation. It's good
but needs to go in the spec.
This code works:
///
package main
import fmt "fmt"
import os "os"
type T struct { s string; a, b int }
func main() {
P := fmt.Printer();
P.printf("%s = %d with float value %.4f\n", "hi there", 7, 123.456);
P.println("hi there", 7, 123.456);
P.fprintf(os.Stdout, "%s = %d with float value %.4f\n", "hi there", 7, 123.456);
P.println(T{"x", 7, 234}, "end of struct", 8, 9);
}
R=rsc
DELTA=28 (7 added, 3 deleted, 18 changed)
OCL=18321
CL=18324
Rob Pike [Sun, 2 Nov 2008 20:32:14 +0000 (12:32 -0800)]
add creator for missing types, to avoid crashes when
signature is absent from object file.
R=rsc
DELTA=18 (18 added, 0 deleted, 0 changed)
OCL=18315
CL=18323
Ken Thompson [Sun, 2 Nov 2008 00:53:12 +0000 (17:53 -0700)]
>>= and <<= shift bug
R=r
OCL=18322
CL=18322
Ken Thompson [Sat, 1 Nov 2008 23:52:12 +0000 (16:52 -0700)]
DOTDOTDOT import/export
R=r
OCL=18319
CL=18319
Rob Pike [Sat, 1 Nov 2008 23:37:53 +0000 (16:37 -0700)]
a couple of bugs in print.
1) bool wasn't handled (added '%t' for 'truth').
2) float64 had a typo.
TBR=rsc
DELTA=11 (10 added, 0 deleted, 1 changed)
OCL=18314
CL=18318
Ken Thompson [Sat, 1 Nov 2008 23:36:46 +0000 (16:36 -0700)]
DOTDOTDOT
R=r
OCL=18317
CL=18317
Ken Thompson [Sat, 1 Nov 2008 22:56:06 +0000 (15:56 -0700)]
sprint changed to snprint
R=r
OCL=18316
CL=18316
Robert Griesemer [Fri, 31 Oct 2008 23:58:56 +0000 (16:58 -0700)]
- gcd, exponentiation, population count
- more rational numbers stuff
- more tests
R=r
OCL=18295
CL=18295
Ian Lance Taylor [Fri, 31 Oct 2008 23:34:47 +0000 (16:34 -0700)]
Add support for the basic type "bool".
R=r
DELTA=51 (51 added, 0 deleted, 0 changed)
OCL=18283
CL=18290
Rob Pike [Fri, 31 Oct 2008 22:26:14 +0000 (15:26 -0700)]
\x00 for NUL in type string.
R=rsc
DELTA=14 (9 added, 0 deleted, 5 changed)
OCL=18281
CL=18281
Russ Cox [Fri, 31 Oct 2008 21:57:57 +0000 (14:57 -0700)]
make %Z handle embedded NULs; remove fixed-size buffer
R=r
DELTA=44 (2 added, 15 deleted, 27 changed)
OCL=18270
CL=18273
Ian Lance Taylor [Fri, 31 Oct 2008 21:55:57 +0000 (14:55 -0700)]
Recognize gccgo error message:
interface1.go:29:6: error: incompatible type in initialization (missing method Next)
R=rsc
DELTA=1 (0 added, 0 deleted, 1 changed)
OCL=18183
CL=18271
Robert Griesemer [Fri, 31 Oct 2008 21:27:34 +0000 (14:27 -0700)]
- handle field tags in pretty printer
R=r
OCL=18264
CL=18264
Robert Griesemer [Fri, 31 Oct 2008 17:52:59 +0000 (10:52 -0700)]
- fixed another test (arithmetic vs. logic shift bug)
R=r
OCL=18235
CL=18237
Rob Pike [Fri, 31 Oct 2008 16:59:29 +0000 (09:59 -0700)]
add mention of tag string to grammar comment
R=rsc
DELTA=3 (2 added, 0 deleted, 1 changed)
OCL=18232
CL=18232
Robert Griesemer [Fri, 31 Oct 2008 06:37:34 +0000 (23:37 -0700)]
- div and mod (arbitrary precision)
- more tests
- some global renames
R=r
OCL=18219
CL=18219
Rob Pike [Fri, 31 Oct 2008 00:29:53 +0000 (17:29 -0700)]
reflection support for tag strings
R=rsc
DELTA=86 (77 added, 0 deleted, 9 changed)
OCL=18201
CL=18203
Russ Cox [Fri, 31 Oct 2008 00:28:33 +0000 (17:28 -0700)]
escape \ in %Z
R=ken
OCL=18202
CL=18202
Russ Cox [Thu, 30 Oct 2008 23:33:50 +0000 (16:33 -0700)]
change from $$ to \n$$ for .6 meta section delimiter
R=r
DELTA=13 (5 added, 0 deleted, 8 changed)
OCL=18190
CL=18192
Robert Griesemer [Thu, 30 Oct 2008 22:52:37 +0000 (15:52 -0700)]
- language for struct field tags
DELTA=17 (15 added, 0 deleted, 2 changed)
OCL=18177
CL=18184
Russ Cox [Thu, 30 Oct 2008 22:35:56 +0000 (15:35 -0700)]
make %Z escape "
R=ken
OCL=18180
CL=18180
Russ Cox [Thu, 30 Oct 2008 22:29:55 +0000 (15:29 -0700)]
annotations on embedded types
R=ken
OCL=18179
CL=18179