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