While trying examples from the README, I found that the following line causes a panic with go1.3:
philip@indiana:~$ elvish
~> println [a b c &key value][key]
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x30 pc=0x4609ed]
goroutine 92 [running]:
runtime.panic(0x530940, 0x80d6b3)
/home/philip/projects/f/go/src/pkg/runtime/panic.c:279 +0xf5
github.com/xiaq/elvish/eval.print(0xc20803b320, 0xc20804f360, 0x2, 0x2, 0x0, 0x0)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/builtin-func.go:72 +0x11d
github.com/xiaq/elvish/eval.println(0xc20803b320, 0xc20804f360, 0x2, 0x2, 0x0, 0x0)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/builtin-func.go:79 +0x175
github.com/xiaq/elvish/eval.func·010()
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/exec.go:204 +0x5e
created by github.com/xiaq/elvish/eval.(*Evaluator).execBuiltinFunc
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/exec.go:209 +0xcf
goroutine 16 [chan receive]:
github.com/xiaq/elvish/eval.func·014(0xc20803a120, 0x0, 0x0, 0x0)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/op.go:102 +0x5a2
github.com/xiaq/elvish/eval.func·012(0xc20803a120)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/op.go:31 +0xb0
github.com/xiaq/elvish/eval.(*Evaluator).eval(0xc20803a120, 0xc208000318, 0x7, 0xc20804e8c0, 0x1f, 0xc2080cd9a0, 0x0, 0x0)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/eval.go:145 +0xdd
github.com/xiaq/elvish/eval.(*Evaluator).Eval(0xc20803a120, 0xc208000318, 0x7, 0xc20804e8c0, 0x1f, 0xc20804e9c0, 0x0, 0x0)
/home/philip/projects/go/src/github.com/xiaq/elvish/eval/eval.go:134 +0x10f
main.interact()
/home/philip/projects/go/src/github.com/xiaq/elvish/main.go:70 +0x65e
main.main()
/home/philip/projects/go/src/github.com/xiaq/elvish/main.go:118 +0x2c
goroutine 19 [finalizer wait]:
runtime.park(0x414c00, 0x81b538, 0x8101e9)
/home/philip/projects/f/go/src/pkg/runtime/proc.c:1369 +0x89
runtime.parkunlock(0x81b538, 0x8101e9)
/home/philip/projects/f/go/src/pkg/runtime/proc.c:1385 +0x3b
runfinq()
/home/philip/projects/f/go/src/pkg/runtime/mgc0.c:2644 +0xcf
runtime.goexit()
/home/philip/projects/f/go/src/pkg/runtime/proc.c:1445
goroutine 20 [syscall]:
os/signal.loop()
/home/philip/projects/f/go/src/pkg/os/signal/signal_unix.go:21 +0x1e
created by os/signal.init·1
/home/philip/projects/f/go/src/pkg/os/signal/signal_unix.go:27 +0x32
goroutine 17 [syscall]:
runtime.goexit()
/home/philip/projects/f/go/src/pkg/runtime/proc.c:1445
goroutine 21 [syscall]:
syscall.Syscall(0x0, 0x3, 0x7fe5d6bf7ea1, 0x1, 0x1, 0x1, 0x417eb5)
/home/philip/projects/f/go/src/pkg/syscall/asm_linux_amd64.s:21 +0x5
syscall.read(0x3, 0x7fe5d6bf7ea1, 0x1, 0x1, 0x100000002, 0x0, 0x0)
/home/philip/projects/f/go/src/pkg/syscall/zsyscall_linux_amd64.go:838 +0x75
syscall.Read(0x3, 0x7fe5d6bf7ea1, 0x1, 0x1, 0xc208002120, 0x0, 0x0)
/home/philip/projects/f/go/src/pkg/syscall/syscall_unix.go:136 +0x5c
os.(*File).read(0xc208038030, 0x7fe5d6bf7ea1, 0x1, 0x1, 0x4ef560, 0x0, 0x0)
/home/philip/projects/f/go/src/pkg/os/file_unix.go:190 +0x62
os.(*File).Read(0xc208038030, 0x7fe5d6bf7ea1, 0x1, 0x1, 0x1, 0x0, 0x0)
/home/philip/projects/f/go/src/pkg/os/file.go:95 +0x98
github.com/xiaq/elvish/util.(*AsyncReader).run(0xc208022720)
/home/philip/projects/go/src/github.com/xiaq/elvish/util/async-reader.go:89 +0x4b7
created by github.com/xiaq/elvish/util.NewAsyncReader
/home/philip/projects/go/src/github.com/xiaq/elvish/util/async-reader.go:44 +0x15e
goroutine 22 [chan receive]:
github.com/xiaq/elvish/edit.(*Reader).stop(0xc2080227b0, 0xc208004240)
/home/philip/projects/go/src/github.com/xiaq/elvish/edit/reader.go:245 +0x51
github.com/xiaq/elvish/edit.(*Reader).run(0xc2080227b0)
/home/philip/projects/go/src/github.com/xiaq/elvish/edit/reader.go:271 +0x1ea
created by github.com/xiaq/elvish/edit.NewReader
/home/philip/projects/go/src/github.com/xiaq/elvish/edit/reader.go:75 +0xe6
philip@indiana:~$ go version
go version go1.3 linux/amd64
Probably should not be doing that.