1
0
mirror of https://github.com/golang/go synced 2024-11-20 08:24:42 -07:00
Commit Graph

136 Commits

Author SHA1 Message Date
Russ Cox
de3aac609c gofix: don't rewrite O_APPEND opens
R=r, rog
CC=golang-dev
https://golang.org/cl/4364041
2011-04-05 11:12:02 -04:00
Rob Pike
8a90fd3c72 os: New Open API.
We replace the current Open with:
OpenFile(name, flag, perm) // same as old Open
Open(name) // same as old Open(name, O_RDONLY, 0)
Create(name) // same as old Open(name, O_RDWR|O_TRUNC|O_CREAT, 0666)

This CL includes a gofix module and full code updates: all.bash passes.
(There may be a few comments I missed.)

The interesting packages are:
        gofix
        os
Everything else is automatically generated except for hand tweaks to:
        src/pkg/io/ioutil/ioutil.go
        src/pkg/io/ioutil/tempfile.go
        src/pkg/crypto/tls/generate_cert.go
        src/cmd/goyacc/goyacc.go
        src/cmd/goyacc/units.y

R=golang-dev, bradfitzwork, rsc, r2
CC=golang-dev
https://golang.org/cl/4357052
2011-04-04 23:42:14 -07:00
Anthony Starks
731786439c misc/notepadplus: add syntax and completion support for notepad++
R=golang-dev, adg, peterGo
CC=golang-dev
https://golang.org/cl/4274072
2011-04-01 14:44:57 +11:00
Evan Shaw
ac74f14b6b kate: reorganize, remove closed()
R=rsc
CC=golang-dev
https://golang.org/cl/4325041
2011-03-29 01:12:39 -04:00
Andrew Gerrand
c3fa7305d1 dashboard: remove old python/bash builder, update README
R=rsc
CC=golang-dev
https://golang.org/cl/4275076
2011-03-26 11:56:34 +11:00
Sameer Ajmani
0ac151fd5c misc/emacs: gofmt: don't clobber the current buffer on failure
Change M-x gofmt to display errors in a new buffer instead of
clobbering the current buffer.

Add gofmt-before-save, which runs gofmt when in go-mode.  This
can be used with before-save-hook.  Add to your .emacs:
  (add-hook 'before-save-hook 'gofmt-before-save)

R=rsc, aclements, amdragon
CC=golang-dev
https://golang.org/cl/4276059
2011-03-24 10:35:39 -04:00
Anthony Starks
aa798d26c4 misc/bbedit: remove closed keyword
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4284058
2011-03-23 16:29:40 +11:00
David Symonds
aad62bf409 misc/vim: remove 'closed' as a builtin function.
R=adg, r
CC=golang-dev
https://golang.org/cl/4285059
2011-03-23 14:26:28 +11:00
Ian Lance Taylor
f91b37b962 Make.pkg: add support for SWIG, and add two SWIG examples
The SWIG examples are not yet built or tested by default.

R=r, rsc, iant2
CC=golang-dev
https://golang.org/cl/4287056
2011-03-22 13:05:51 -07:00
Robert Griesemer
6684d5503a go/printer, gofmt: simplify struct formatting and respect line breaks
Also: gofmt src misc

Fixes #1627.

R=rsc
CC=golang-dev
https://golang.org/cl/4303042
2011-03-22 11:05:26 -07:00
Andrew Gerrand
5dd0869bf5 codereview: permit CLs of the form weekly.DATE
gobuilder: recognize CLs of the form weekly.DATE

R=rsc, r
CC=golang-dev
https://golang.org/cl/4282052
2011-03-17 09:11:08 +11:00
Ross Light
d7eacee603 misc/vim: Add indent script for Vim
R=adg
CC=golang-dev
https://golang.org/cl/4258041
2011-03-08 15:42:23 +11:00
Robert Griesemer
4b4a1ea899 misc/dashboard/builder/doc.go: gofmt it
R=r, adg
CC=golang-dev
https://golang.org/cl/4256052
2011-03-07 11:00:57 -08:00
Russ Cox
f9ca3b5d5b runtime: scheduler, cgo reorganization
* Change use of m->g0 stack (aka scheduler stack).
* Provide runtime.mcall(f) to invoke f() on m->g0 stack.
* Replace scheduler loop entry with runtime.mcall(schedule).

Runtime.mcall eliminates the need for fake scheduler states that
exist just to run a bit of code on the m->g0 stack
(Grecovery, Gstackalloc).

The elimination of the scheduler as a loop that stops and
starts using gosave and gogo fixes a bad interaction with the
way cgo uses the m->g0 stack.  Cgo runs external (gcc-compiled)
C functions on that stack, and then when calling back into Go,
it sets m->g0->sched.sp below the added call frames, so that
other uses of m->g0's stack will not interfere with those frames.
Unfortunately, gogo (longjmp) back to the scheduler loop at
this point would end up running scheduler with the lower
sp, which no longer points at a valid stack frame for
a call to scheduler.  If scheduler then wrote any function call
arguments or local variables to where it expected the stack
frame to be, it would overwrite other data on the stack.
I realized this possibility while debugging a problem with
calling complex Go code in a Go -> C -> Go cgo callback.
This wasn't the bug I was looking for, it turns out, but I believe
it is a real bug nonetheless.  Switching to runtime.mcall, which
only adds new frames to the stack and never jumps into
functions running in existing ones, fixes this bug.

* Move cgo-related code out of proc.c into cgocall.c.
* Add very large comment describing cgo call sequences.
* Simpilify, regularize cgo function implementations and names.
* Add test suite as misc/cgo/test.

Now the Go -> C path calls cgocall, which calls asmcgocall,
and the C -> Go path calls cgocallback, which calls cgocallbackg.

The shuffling, which affects mainly the callback case, moves
most of the callback implementation to cgocallback running
on the m->curg stack (not the m->g0 scheduler stack) and
only while accounted for with $GOMAXPROCS (between calls
to exitsyscall and entersyscall).

The previous callback code did not block in startcgocallback's
approximation to exitsyscall, so if, say, the garbage collector
were running, it would still barge in and start doing things
like call malloc.  Similarly endcgocallback's approximation of
entersyscall did not call matchmg to kick off new OS threads
when necessary, which caused the bug in issue 1560.

Fixes #1560.

R=iant
CC=golang-dev
https://golang.org/cl/4253054
2011-03-07 10:37:42 -05:00
Andrew Gerrand
34f2f68354 gobuilder: add -package flag to build external packages
Also add -v for verbose logging.

R=rsc, gri, r, r2
CC=golang-dev
https://golang.org/cl/4172056
2011-03-03 14:41:09 +11:00
Andrew Gerrand
7f5acfb283 misc/dashboard/builder: talk to hg with utf-8 encoding always.
Fixes #1465.

R=rsc
CC=golang-dev
https://golang.org/cl/4172063
2011-02-23 07:47:53 +11:00
Andrew Gerrand
79ba1ce076 misc/dashboard: tweak build fail notification email
R=rsc
CC=golang-dev
https://golang.org/cl/4170063
2011-02-19 07:37:24 +11:00
Andrew Gerrand
00d8d0052a misc/dashboard: notify golang-dev on build failure
Fixes #1229.

R=rsc
CC=golang-dev
https://golang.org/cl/4178048
2011-02-18 03:34:22 +11:00
Rob Pike
fb9e37cd9b template: reverse order of arguments to Execute
In line with other functions such as Fprintf, put the
thing to be written first.

Apologies for the breakages this is sure to cause.

R=rsc, gri, adg, eds, r2, aam
CC=golang-dev
https://golang.org/cl/4169042
2011-02-09 14:23:01 -08:00
Andrew Gerrand
bbb7080b99 misc/dashboard: hide benchmarks link temporarily
R=rsc
CC=golang-dev
https://golang.org/cl/4128061
2011-02-09 00:03:08 -05:00
Robert Griesemer
288a39c86b go/ast: reflect communication operator changes accurately in ast
- go/ast: introduce SendStmt; adjust SelectStmt
- go/parser: accept new communication syntax, minor
  unrelated cleanups
- go/printer: adjustments for new ast, fewer binary
  expression precedences
- go/token: remove one binary precedence

Adjusted dependent code. gofmt -w src -misc. Ran all tests.

R=rsc, gri
CC=golang-dev
https://golang.org/cl/3989056
2011-02-01 13:47:51 -08:00
Rob Pike
eea18d959e log: rename Exit* to Fatal*
This aligns the naming scheme with the testing package and
also lets govet work on more logging calls.

R=rsc
CC=golang-dev
https://golang.org/cl/4001048
2011-02-01 12:47:35 -08:00
Gustavo Niemeyer
5887ef7571 misc/vim: Define import commands on buffer switch
This change fixes the import plugin so that the
defined commands are available when opening a new
Go buffer from within Vim itself.

R=adg, rsc
CC=golang-dev
https://golang.org/cl/3998053
2011-02-01 11:12:57 +11:00
Gustavo Niemeyer
400d7772cc misc/vim: Document better syntax sync parameter
Forcing the synchronization of 500 lines is both slower and
less precise than searching for a known sync point.
Unfortunately, though, the way to synchronize correctly is
using the grouphere instruction, which has a bug.

I've already proposed the fix to Vim, so future releases
should have this working.  We can continue using the 500 lines
syncing for now.

This change just documents the proper way to sync.

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/4029047
2011-02-01 11:12:45 +11:00
Yasuhiro Matsumoto
90585bde37 misc/vim/syntax: set large value to 'syntax sync'.
R=golang-dev, dsymonds, adg
CC=golang-dev
https://golang.org/cl/4102044
2011-01-27 23:03:52 +10:00
Gustavo Niemeyer
4e5e0b1d20 misc: Import/Drop commands for Vim
New ftplugin adds Import and Drop commands for Go buffers
in Vim.  These commands ensure that the provided package is
imported (or not imported) in the current Go buffer, using
proper style and ordering, without moving the cursor.

E.g.

    :Import strings
    :ImportAs . strings
    :Drop strings

Two mappings are also introduced to help with the fmt package:

    \f => :Import fmt
    \F => :Drop fmt

R=adg
CC=golang-dev
https://golang.org/cl/4009043
2011-01-25 11:36:13 +10:00
Russ Cox
5cfadeb047 misc: update type + builtin lists found in editor support files
R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/4072041
2011-01-19 23:07:49 -05:00
Andrew Gerrand
a4bade8592 gobuilder: prefix the tarball with 'go.', tweak release regexp
R=rsc
CC=golang-dev
https://golang.org/cl/3775047
2011-01-04 13:16:38 +11:00
Russ Cox
6c6d53052e cgo: handle references to symbols in shared libraries
Fixes #1334.

R=r
CC=golang-dev
https://golang.org/cl/3746041
2010-12-17 11:37:11 -08:00
Russ Cox
0cd3475386 misc/cgo/life: fix, add to build
#pragma dynexport is no longer needed for
this use of cgo, since the gcc and gc code are
now linked together into the same binary.
It may still be necessary later.

On the Mac, you cannot use the GOT to resolve
symbols that exist in the current binary, so 6l and 8l
translate the GOT-loading mov instructions into lea
instructions.

On ELF systems, we could use the GOT for those
symbols, but for consistency 6l and 8l apply the
same translation.

The translation is sketchy in the extreme
(depending on the relocation being in a mov
instruction) but it verifies that the instruction
is a mov before rewriting it to lea.

Also makes typedefs global across files.

Fixes #1335.
Fixes #1345.

R=iant, r
CC=golang-dev
https://golang.org/cl/3650042
2010-12-17 09:51:55 -08:00
Ryan Hitchman
5742ded3ad godashboard: support submitting projects with non-ascii names
Fixes #1314.

R=adg, rsc
CC=golang-dev
https://golang.org/cl/3459043
2010-12-15 12:07:30 +11:00
Russ Cox
9da73612ed cgo: do not reset tag generator between files
Clean up an error message and error exit too.
Insert blank line after "DO NOT EDIT" comment
to keep it from being a doc comment.

Fixes #1213.
Fixes #1222.

R=r
CC=golang-dev
https://golang.org/cl/3608042
2010-12-13 13:20:04 -05:00
Andrew Gerrand
8984fa8fce dashboard: fix project tag filter
R=rsc
CC=golang-dev
https://golang.org/cl/3439043
2010-12-10 08:29:34 +11:00
Devon H. O'Dell
dfd98d090c builder: Allow buildroot to be passed as command-line argument
R=adg
CC=golang-dev
https://golang.org/cl/3473041
2010-12-06 10:34:39 +11:00
Evan Shaw
f62772b1e5 kate: update for append
R=golang-dev, PeterGo, gri
CC=golang-dev
https://golang.org/cl/2710044
2010-10-30 21:25:19 -07:00
Anthony Starks
edaeb88bd5 misc/bbedit: support append, other builtins
R=golang-dev, PeterGo, adg
CC=golang-dev
https://golang.org/cl/2791042
2010-10-30 22:15:59 +11:00
David Symonds
0451cd1950 misc/vim: update list of builtins.
R=adg
CC=golang-dev
https://golang.org/cl/2807041
2010-10-30 22:07:01 +11:00
Andrew Gerrand
fe57dd8522 builder: pass GOHOSTOS and GOHOSTARCH to build
R=rsc
CC=golang-dev
https://golang.org/cl/2759041
2010-10-27 11:27:52 +11:00
Robert Griesemer
3478891d12 gofmt -s -w src misc
R=r, rsc
CC=golang-dev
https://golang.org/cl/2662041
2010-10-22 10:06:33 -07:00
Andrew Gerrand
f16b6b14d8 misc: update python scripts to specify python2 or nothing
(Hopefully this changeset will notice my +x to googlecode_upload.py)

Fixes #1217.

R=rsc
CC=golang-dev
https://golang.org/cl/2634041
2010-10-21 15:41:51 +11:00
Andrew Gerrand
b3601a5c5b gobuilder: write build and benchmarking logs to disk
R=rsc
CC=golang-dev
https://golang.org/cl/2637041
2010-10-21 15:33:31 +11:00
Andrew Gerrand
06492d47cb build: add gobuilder and goplay to run.bash
gobuilder: fix build to work with new log package

R=rsc
CC=golang-dev
https://golang.org/cl/2592041
2010-10-21 10:46:10 +11:00
Yasuhiro Matsumoto
e64280ecfa goplay: fix to run under windows.
Fixes #1204.

R=golang-dev, brainman, Joe Poirier, alex.brainman, adg
CC=golang-dev, math-nuts
https://golang.org/cl/2532041
2010-10-19 11:29:31 +11:00
Andrew Gerrand
e2df7f42ac misc: add goplay
R=rsc, r
CC=golang-dev
https://golang.org/cl/2473041
2010-10-14 14:06:02 +11:00
Graham Miller
cc5c2ee0ec life: fix for new slice rules
R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/2341049
2010-10-07 04:52:13 -04:00
Andrew Gerrand
03babfc626 Use Errorf where appropriate.
R=r, r2
CC=golang-dev
https://golang.org/cl/2308043
2010-10-01 14:14:18 +10:00
Andrew Gerrand
fdb9e68c4e misc/dashboard/builder: remove build files after benchmarking
R=r
CC=golang-dev
https://golang.org/cl/2270041
2010-09-30 11:59:36 +10:00
Andrew Gerrand
96d6f9dea4 misc/dashboard/builder: -cmd for user-specified build command
R=rsc
CC=golang-dev
https://golang.org/cl/2248043
2010-09-22 15:18:41 +10:00
Russ Cox
a2450c1456 cgo: bug fixes
* Add documentation about array arguments.  Fixes issue 1125.
* Do not interpret x, y := z, w as special errno form.  Fixes issue 952.
* Fix nested Go calls (brainman).  Fixes issue 907.

R=r
CC=golang-dev
https://golang.org/cl/2214044
2010-09-21 22:41:19 -04:00
Andrew Gerrand
0e73fffe36 misc/dashboard/builder: fix bug that caused old revisions to be rebuilt
R=rsc, r2
CC=golang-dev
https://golang.org/cl/2213044
2010-09-22 11:42:40 +10:00