aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzelig <viktor.tron@gmail.com>2015-03-24 22:09:06 +0800
committerzelig <viktor.tron@gmail.com>2015-03-27 03:00:18 +0800
commit1c4c71dcff442e3ae30e510fef312d3c05341f30 (patch)
tree11ac27da8c937cd372d5c811442281fea4accd2d
parentfd8d18ec280c3fe2c3d2651870c31c65b02039ba (diff)
downloaddexon-1c4c71dcff442e3ae30e510fef312d3c05341f30.tar.gz
dexon-1c4c71dcff442e3ae30e510fef312d3c05341f30.tar.zst
dexon-1c4c71dcff442e3ae30e510fef312d3c05341f30.zip
cli: fix liner not closing (spuriously opened) in noninteractive jsre
-rw-r--r--cmd/ethereum/js.go4
-rw-r--r--cmd/ethereum/main.go4
2 files changed, 4 insertions, 4 deletions
diff --git a/cmd/ethereum/js.go b/cmd/ethereum/js.go
index 1f0033daa..599af0a16 100644
--- a/cmd/ethereum/js.go
+++ b/cmd/ethereum/js.go
@@ -67,14 +67,14 @@ type jsre struct {
prompter
}
-func newJSRE(ethereum *eth.Ethereum, libPath string) *jsre {
+func newJSRE(ethereum *eth.Ethereum, libPath string, interactive bool) *jsre {
js := &jsre{ethereum: ethereum, ps1: "> "}
js.xeth = xeth.New(ethereum, js)
js.re = re.New(libPath)
js.apiBindings()
js.adminBindings()
- if !liner.TerminalSupported() {
+ if !liner.TerminalSupported() || !interactive {
js.prompter = dumbterm{bufio.NewReader(os.Stdin)}
} else {
lr := liner.NewLiner()
diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go
index fea3fbf61..59c6ef485 100644
--- a/cmd/ethereum/main.go
+++ b/cmd/ethereum/main.go
@@ -246,7 +246,7 @@ func console(ctx *cli.Context) {
}
startEth(ctx, ethereum)
- repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name))
+ repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), true)
repl.interactive()
ethereum.Stop()
@@ -261,7 +261,7 @@ func execJSFiles(ctx *cli.Context) {
}
startEth(ctx, ethereum)
- repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name))
+ repl := newJSRE(ethereum, ctx.String(utils.JSpathFlag.Name), false)
for _, file := range ctx.Args() {
repl.exec(file)
}