From 6f424f32138495d009b4093f806883c1fb9248b8 Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Sun, 9 Feb 2020 15:36:31 -0500 Subject: [PATCH] Properly flush bufio writer --- internal/buffer/buffer.go | 5 +++-- internal/buffer/save.go | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/buffer/buffer.go b/internal/buffer/buffer.go index 903aa78e..d78ebb87 100644 --- a/internal/buffer/buffer.go +++ b/internal/buffer/buffer.go @@ -1,6 +1,7 @@ package buffer import ( + "bufio" "bytes" "crypto/md5" "errors" @@ -210,7 +211,7 @@ func NewBuffer(r io.Reader, size int64, path string, startcursor Loc, btype BufT b.Settings["encoding"] = "utf-8" } - reader := transform.NewReader(r, enc.NewDecoder()) + reader := bufio.NewReader(transform.NewReader(r, enc.NewDecoder())) found := false if len(path) > 0 { @@ -398,7 +399,7 @@ func (b *Buffer) ReOpen() error { return err } - reader := transform.NewReader(file, enc.NewDecoder()) + reader := bufio.NewReader(transform.NewReader(file, enc.NewDecoder())) data, err := ioutil.ReadAll(reader) txt := string(data) diff --git a/internal/buffer/save.go b/internal/buffer/save.go index fdc2e58c..2fb410bd 100644 --- a/internal/buffer/save.go +++ b/internal/buffer/save.go @@ -58,6 +58,7 @@ func overwriteFile(name string, enc encoding.Encoding, fn func(io.Writer) error, w := bufio.NewWriter(transform.NewWriter(writeCloser, enc.NewEncoder())) err = fn(w) + w.Flush() if e := writeCloser.Close(); e != nil && err == nil { err = e