1
0
mirror of https://github.com/golang/go synced 2024-11-22 21:10:03 -07:00
Commit Graph

505 Commits

Author SHA1 Message Date
David Symonds
5cb6843a4e Change exvar to use a goroutine channel worker instead of a mutex for synchronisation.
Also it should be more testable, as there's less global state.

R=r
APPROVED=r
DELTA=113  (38 added, 12 deleted, 63 changed)
OCL=27653
CL=27694
2009-04-21 16:50:09 -07:00
Robert Griesemer
9c456283f3 minor adjustment to comment formatting for better godoc output
R=r
DELTA=5  (0 added, 0 deleted, 5 changed)
OCL=27687
CL=27689
2009-04-21 15:30:17 -07:00
Robert Griesemer
011bf2b6d3 minor adjustments to comments for better godoc output
R=r
DELTA=6  (0 added, 0 deleted, 6 changed)
OCL=27686
CL=27688
2009-04-21 15:14:34 -07:00
Robert Griesemer
3ae849d47d - documentation for bignum package
- removed some constants from public interface

R=r
DELTA=375  (238 added, 14 deleted, 123 changed)
OCL=27636
CL=27668
2009-04-21 10:52:00 -07:00
David Symonds
de489fb38c Refactor exvar to use interface types, and add mapVar.
R=r
APPROVED=r
DELTA=170  (136 added, 6 deleted, 28 changed)
OCL=27628
CL=27652
2009-04-20 22:38:14 -07:00
Rob Pike
a6bc344351 rewrite template library:
- separate parsing from execution
	- rearrange code for organizational clarity
	- provide execution errors and parse-time errors
	- implement .or for repeated

TBR=rsc
OCL=27650
CL=27650
2009-04-20 18:51:13 -07:00
David Symonds
8e4b65d041 Move iterable package to usr/dsymonds/.
R=r
APPROVED=r
DELTA=598  (330 added, 266 deleted, 2 changed)
OCL=27627
CL=27649
2009-04-20 18:13:14 -07:00
David Symonds
d88fb9f0f6 Oops, forgot to commit this change.
R=r
APPROVED=r
DELTA=3  (1 added, 0 deleted, 2 changed)
OCL=27624
CL=27626
2009-04-20 00:43:10 -07:00
David Symonds
dc5cffbeb7 Use the mutex in exvar.Set since map access is not atomic.
Imagine your var has a value of zero. If you have a goroutine calling Set(5),
and another calling Increment(+1), then you only want one of these outcomes:
  - Set completes first, and then Increment occurs => 6
  - Increment completes first, and then Set occurs => 5

However, you could get a sequence:
  - read (for Increment) 0
  - set (for Set) 5
  - write (for Increment) 1
This results in a value of 1, which is undesirable.

Kudos to dnadasi for catching this.

R=r
APPROVED=r
DELTA=3  (3 added, 0 deleted, 0 changed)
OCL=27625
CL=27625
2009-04-20 00:42:08 -07:00
David Symonds
a6156873d0 Add Inject function to iterable package.
Fix a couple of style mistakes.

R=r,rsc
APPROVED=r
DELTA=34  (30 added, 1 deleted, 3 changed)
OCL=27623
CL=27623
2009-04-19 23:52:29 -07:00
David Symonds
3cc702ba60 Initial cut at an "exported variables" (exvar) package.
This handles integer-valued vars in a singleton struct, and exports functions
for incrementing, setting and getting those vars, as well as rendering all the
vars in a standard format.

Demonstrate the use of the exvar package in the http/triv server.

R=dcross,r
APPROVED=r
DELTA=122  (122 added, 0 deleted, 0 changed)
OCL=27617
CL=27622
2009-04-19 21:17:27 -07:00
Rob Pike
7e1cfa7432 Readn is a silly name when there's no n. Change to FullRead.
R=gri
DELTA=15  (0 added, 0 deleted, 15 changed)
OCL=27619
CL=27619
2009-04-19 21:02:29 -07:00
Rob Pike
ae08a48719 the Big Error Shift applied to lib/time/zoneinfo.go.
R=gri
DELTA=22  (5 added, 0 deleted, 17 changed)
OCL=27608
CL=27614
2009-04-18 16:44:13 -07:00
Rob Pike
45ed7297e8 Step 2 of the Big Error Shift.
Change the representation of errors in "os" to be cleaner.
(But they are not really representative of the power of the new scheme.)
Step 3 will be to remove all references to os.NewError.
Step 4 will be to delete the second half of lib/os/error.go.

R=rsc
OCL=27587
CL=27587
2009-04-17 00:36:15 -07:00
Rob Pike
aaf63f8d06 Step 1 of the Big Error Shift: make os.Error an interface and replace *os.Errors with os.Errors.
lib/template updated to use new setup; its clients also updated.

Step 2 will make os's error support internally much cleaner.

R=rsc
OCL=27586
CL=27586
2009-04-17 00:08:24 -07:00
Russ Cox
ea12ed4fdd regenerate makefile with installed gobuild
R=r
DELTA=23  (8 added, 0 deleted, 15 changed)
OCL=27577
CL=27583
2009-04-16 23:07:00 -07:00
Rob Pike
3a8ff8237a fix linux build
R=rsc
OCL=27579
CL=27579
2009-04-16 22:43:34 -07:00
Russ Cox
1f6463f823 Convert go tree to hierarchical pkg directory:
import (
		"vector" -> "container/vector"
		"ast" -> "go/ast"
		"sha1" -> "hash/sha1"
		etc.
	)

and update Makefiles.  Because I did the conversion
semi-automatically, I sorted all the import blocks
as a post-processing.  Some files have therefore
changed that didn't strictly need to.

Rename local packages to lower case.
The upper/lower distinction doesn't work on OS X
and complicates the "single-package directories
with the same package name as directory name"
heuristic used by gobuild and godoc to create
the correlation between source and binary locations.
Now that we have a plan to avoid globally unique
names, the upper/lower is unnecessary.

The renamings will cause trouble for a few users,
but so will the change in import paths.
This way, the two maintenance fixes are rolled into
one inconvenience.

R=r
OCL=27573
CL=27575
2009-04-16 20:52:37 -07:00
Rob Pike
3761da2d01 document template
R=rsc
DELTA=92  (73 added, 0 deleted, 19 changed)
OCL=27566
CL=27572
2009-04-16 17:44:23 -07:00
Russ Cox
c8f9378889 regenerate Makefiles.
fix bug in RPC.go (import "RPC" not "rpc.pb")

R=r
DELTA=483  (261 added, 64 deleted, 158 changed)
OCL=27547
CL=27549
2009-04-16 00:18:37 -07:00
Russ Cox
60ce95d7a1 code changes for array conversion.
as a reminder, the old conversion
was that you could write

	var arr [10]byte;
	var slice []byte;
	slice = arr;

but now you have to write

	slice = &arr;

the change eliminates an implicit &, so that
the only implicit &s left are in the . operator
and in string(arr).

also, removed utf8.EncodeRuneToString
in favor of string(rune).

R=r
DELTA=83  (1 added, 23 deleted, 59 changed)
OCL=27531
CL=27534
2009-04-15 20:27:45 -07:00
Russ Cox
37a5374c81 document and partially fix a race
R=r
DELTA=24  (21 added, 0 deleted, 3 changed)
OCL=27527
CL=27527
2009-04-15 19:01:48 -07:00
Russ Cox
1605176e25 godoc: use data-driven templates for html, text generation
R=gri
DELTA=1341  (668 added, 282 deleted, 391 changed)
OCL=27485
CL=27526
2009-04-15 18:53:43 -07:00
Russ Cox
cff99ba167 make Location translate relative path to absolute
(HTTP requires absolute in protocol).

add URL tests

R=r
DELTA=243  (242 added, 0 deleted, 1 changed)
OCL=27472
CL=27523
2009-04-15 18:40:55 -07:00
Russ Cox
17c290ffb9 tweak flag comment
R=r
DELTA=36  (1 added, 0 deleted, 35 changed)
OCL=27484
CL=27522
2009-04-15 18:39:35 -07:00
Russ Cox
64627b04fb check for type equality in deepequal
R=r,dnadasi
DELTA=9  (8 added, 0 deleted, 1 changed)
OCL=27473
CL=27486
2009-04-15 00:55:58 -07:00
Russ Cox
19692beee8 treat "" as empty
R=r
DELTA=10  (10 added, 0 deleted, 0 changed)
OCL=27479
CL=27481
2009-04-15 00:26:49 -07:00
Russ Cox
816f5b3124 better html support.
turn on error reporting; not enough info otherwise.

R=r
DELTA=49  (43 added, 6 deleted, 0 changed)
OCL=27476
CL=27478
2009-04-15 00:05:47 -07:00
Rob Pike
1cb1251436 configurable delimiters.
R=rsc
DELTA=139  (90 added, 7 deleted, 42 changed)
OCL=27475
CL=27477
2009-04-14 22:35:18 -07:00
Russ Cox
cf8b9ce580 test & fix template used twice
R=r
DELTA=30  (30 added, 0 deleted, 0 changed)
OCL=27470
CL=27474
2009-04-14 21:25:33 -07:00
Russ Cox
fa60226073 http additions
file system server
	add NotFound, Redirect functions
	method on a string

R=r
DELTA=212  (199 added, 4 deleted, 9 changed)
OCL=27467
CL=27471
2009-04-14 20:31:31 -07:00
Russ Cox
4b8c13dc20 do not create interfaces containing interfaces
R=r
DELTA=16  (14 added, 0 deleted, 2 changed)
OCL=27464
CL=27466
2009-04-14 19:03:57 -07:00
Russ Cox
ff73221d6f fix infinite loop in Readdirnames: bufp > nbuf can happen
after EOF has been hit, because nbuf is now 0 or -1.

discard old comment.

R=r
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=27463
CL=27465
2009-04-14 18:52:39 -07:00
Ian Lance Taylor
ca9765d83a Make the reflection library match the reflection string which
6g generates for functions: expect the keyword "func".  The
older reflection syntax, without the "func", is still
recognized for simplicity in parsing interface reflection
strings.

R=r,rsc
DELTA=66  (31 added, 8 deleted, 27 changed)
OCL=27396
CL=27422
2009-04-14 06:46:01 -07:00
Russ Cox
e21d981a2f add type in not-found error messages.
delay indirection so that values passed to
formatters preserve pointer-ness.

R=r
OCL=27410
CL=27414
2009-04-14 01:12:20 -07:00
Rob Pike
ff12f2effd add (stub) parser to template code, enabling rewrite.
update pretty to use it.
change stdout to stderr in pretty.

R=rsc
DELTA=173  (52 added, 24 deleted, 97 changed)
OCL=27405
CL=27409
2009-04-14 00:06:49 -07:00
Rob Pike
c1ed7d7d25 enable test and fix bug in white space before {
R=rsc
DELTA=6  (0 added, 0 deleted, 6 changed)
OCL=27404
CL=27404
2009-04-13 20:37:24 -07:00
Russ Cox
fa7be65bc0 template bug
--- FAIL: template.TestAll
	for "{.section data}{.end} {header}\n": expected " 77\n" got " {header}\n"

R=r
DELTA=20  (14 added, 0 deleted, 6 changed)
OCL=27395
CL=27402
2009-04-13 19:29:38 -07:00
Russ Cox
6d617a881a change template function interface to
func(w io.Write, value interface{}, format string)

R=r
DELTA=16  (3 added, 3 deleted, 10 changed)
OCL=27399
CL=27401
2009-04-13 19:29:23 -07:00
Rob Pike
a20a50b0b2 \r is white space
R=rsc
DELTA=2  (0 added, 0 deleted, 2 changed)
OCL=27397
CL=27400
2009-04-13 19:27:35 -07:00
Russ Cox
9b3f43774a fix error return in Remove
change canexec to canExec.

R=r
DELTA=7  (0 added, 0 deleted, 7 changed)
OCL=27393
CL=27398
2009-04-13 19:14:09 -07:00
Russ Cox
5eae3b2102 lib misc
* exec.LookPath
	* flag.Args
	* os.Remove
	* strings.HasPrefix
	* strings.HasSuffix
	* syscall.Rmdir

TBR=r
DELTA=100  (100 added, 0 deleted, 0 changed)
OCL=27373
CL=27392
2009-04-13 16:50:42 -07:00
Russ Cox
4011733d3c allow nil user map
R=r
DELTA=5  (3 added, 0 deleted, 2 changed)
OCL=27371
CL=27389
2009-04-13 15:23:57 -07:00
Russ Cox
73aadff8eb add strconv.Unquote
R=r
DELTA=229  (227 added, 0 deleted, 2 changed)
OCL=27200
CL=27366
2009-04-13 13:27:39 -07:00
Rob Pike
870c91aec2 fix typo breaking linux build
R=rsc
OCL=27304
CL=27304
2009-04-10 02:50:22 -07:00
Ken Thompson
3657061550 change representation of strings
R=r
OCL=27293
CL=27293
2009-04-09 18:16:21 -07:00
Rob Pike
9192dd8e86 Start list of default formatters for template variables.
The HTML one here is just a stub - should use an HTML library to do the right thing.

R=rsc
DELTA=54  (47 added, 2 deleted, 5 changed)
OCL=27250
CL=27250
2009-04-09 00:10:46 -07:00
Rob Pike
4482801477 move template into its own directory so it can have more files
R=rsc
DELTA=1421  (736 added, 685 deleted, 0 changed)
OCL=27249
CL=27249
2009-04-08 23:43:02 -07:00
Rob Pike
3a7df4dde0 add support for variable formatters
R=rsc
DELTA=134  (75 added, 41 deleted, 18 changed)
OCL=27245
CL=27247
2009-04-08 23:33:31 -07:00
Russ Cox
f95da9a639 yet another attempt at auto-linking
store only the original import path string (+ .a)
if 6g resolves it to an archive file.
let 6l re-resolve the .a at link time.

this lets libraries build against an archive
in the current directory but get used
against an installed archive.

R=r
OCL=27244
CL=27244
2009-04-08 22:45:33 -07:00