From 03228762d4598d9a5e0c1112b8c6c539cc50e45b Mon Sep 17 00:00:00 2001 From: Zachary Yedidia Date: Tue, 28 Jan 2020 22:06:58 -0500 Subject: [PATCH] Don't call plugin if nil --- cmd/micro/micro.go | 2 ++ internal/config/plugin.go | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/cmd/micro/micro.go b/cmd/micro/micro.go index fb5ce220..3e0284fc 100644 --- a/cmd/micro/micro.go +++ b/cmd/micro/micro.go @@ -269,6 +269,8 @@ func main() { action.InfoBar.Display() screen.Screen.Show() + event = nil + // Check for new events select { case f := <-shell.Jobs: diff --git a/internal/config/plugin.go b/internal/config/plugin.go index 8cd933ac..e46e3c6e 100644 --- a/internal/config/plugin.go +++ b/internal/config/plugin.go @@ -2,6 +2,7 @@ package config import ( "errors" + "log" lua "github.com/yuin/gopher-lua" ulua "github.com/zyedidia/micro/internal/lua" @@ -103,6 +104,10 @@ func (p *Plugin) Load() error { func (p *Plugin) Call(fn string, args ...lua.LValue) (lua.LValue, error) { plug := ulua.L.GetGlobal(p.Name) + if plug == lua.LNil { + log.Println("Plugin does not exist:", p.Name, "at", p.DirName, ":", p) + return nil, nil + } luafn := ulua.L.GetField(plug, fn) if luafn == lua.LNil { return nil, ErrNoSuchFunction