diff --git a/cmd/micro/initlua.go b/cmd/micro/initlua.go index 41d752cc..77349caa 100644 --- a/cmd/micro/initlua.go +++ b/cmd/micro/initlua.go @@ -55,7 +55,6 @@ func luaImportMicro() *lua.LTable { ulua.L.SetField(pkg, "Tabs", luar.New(ulua.L, func() *action.TabList { return action.Tabs })) - ulua.L.SetField(pkg, "Lock", luar.New(ulua.L, &ulua.Lock)) ulua.L.SetField(pkg, "After", luar.New(ulua.L, func(t time.Duration, f func()) { time.AfterFunc(t, func() { timerChan <- f diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index 09c9ab2b..303d7173 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -23,7 +23,6 @@ import ( "github.com/zyedidia/micro/v2/internal/buffer" "github.com/zyedidia/micro/v2/internal/clipboard" "github.com/zyedidia/micro/v2/internal/config" - ulua "github.com/zyedidia/micro/v2/internal/lua" "github.com/zyedidia/micro/v2/internal/screen" "github.com/zyedidia/micro/v2/internal/shell" "github.com/zyedidia/micro/v2/internal/util" @@ -418,15 +417,11 @@ func DoEvent() { select { case f := <-shell.Jobs: // If a new job has finished while running in the background we should execute the callback - ulua.Lock.Lock() f.Function(f.Output, f.Args) - ulua.Lock.Unlock() case <-config.Autosave: - ulua.Lock.Lock() for _, b := range buffer.OpenBuffers { b.Save() } - ulua.Lock.Unlock() case <-shell.CloseTerms: case event = <-screen.Events: case <-screen.DrawChan(): @@ -478,12 +473,10 @@ func DoEvent() { return } - ulua.Lock.Lock() _, resize := event.(*tcell.EventResize) if action.InfoBar.HasPrompt && !resize { action.InfoBar.HandleEvent(event) } else { action.Tabs.HandleEvent(event) } - ulua.Lock.Unlock() } diff --git a/internal/lua/lua.go b/internal/lua/lua.go index d7af16b0..e17f2a66 100644 --- a/internal/lua/lua.go +++ b/internal/lua/lua.go @@ -17,7 +17,6 @@ import ( "regexp" "runtime" "strings" - "sync" "time" "unicode/utf8" @@ -27,7 +26,6 @@ import ( ) var L *lua.LState -var Lock sync.Mutex // LoadFile loads a lua file func LoadFile(module string, file string, data []byte) error {