diff --git a/app.go b/app.go index 646a0200..7e8e8eaf 100644 --- a/app.go +++ b/app.go @@ -475,11 +475,21 @@ func (app *app) loop() { } } -func (app *app) exportData() { - store("maps", listBinds(gOpts.keys)) - store("cmaps", listBinds(gOpts.cmdkeys)) - store("cmds", listCmds()) - store("jumps", listJumps(app.nav.jumpList, app.nav.jumpListInd)) +func (app *app) exportData() error { + if err := store("maps", listBinds(gOpts.keys)); err != nil { + return err + } + if err := store("cmaps", listBinds(gOpts.cmdkeys)); err != nil { + return err + } + if err := store("cmds", listCmds()); err != nil { + return err + } + if err := store("jumps", listJumps(app.nav.jumpList, app.nav.jumpListInd)); err != nil { + return err + } + + return nil } func (app *app) runCmdSync(cmd *exec.Cmd, pause_after bool) { @@ -520,7 +530,10 @@ func (app *app) runShell(s string, args []string, prefix string) { exportOpts() if !gSingleMode { - app.exportData() + if err := app.exportData(); err != nil { + app.ui.echoerrf("exporting data: %s", err) + return + } } cmd := shellCommand(s, args) diff --git a/client.go b/client.go index 8877c6ed..2ad8d0b2 100644 --- a/client.go +++ b/client.go @@ -122,11 +122,10 @@ func remote(cmd string) error { return nil } -func store(key string, reader io.Reader) { +func store(key string, reader io.Reader) error { c, err := net.Dial(gSocketProt, gSocketPath) if err != nil { - log.Printf("dialing to send server: %s", err) - return + return fmt.Errorf("dialing to send server: %s", err) } defer c.Close() @@ -145,5 +144,10 @@ func store(key string, reader io.Reader) { } // wait for server to finish storing data and send response, if any - io.ReadAll(c) + _, err = io.ReadAll(c) + if err != nil { + return fmt.Errorf("getting response from server: %s", err) + } + + return nil }