From 6daec24aeac4d7891fe52680138b8faef057fabd Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Fri, 15 Dec 2023 15:17:28 -0800 Subject: [PATCH] rename a function to be more specific This caused a bug in Lua Carousel. Scenario: - Run carousel.love - run the abbreviations screen which creates an abbreviation called `color` - run driver.love Before this commit, carousel.love would silently exit, and driver.love would then hang waiting for it to come back. The cause: - driver.love sends MANIFEST - in processing it, carousel.love calls color() to emit a color escape. - the error silently quits the app After restarting carousel.love, the error shows up in driver.love: Error: live.lua:104: bad argument #3 to 'color' (number expected, got no value) stack traceback: [C]: in function 'color' live.lua:104: in function 'receive_from_driver' ... --- live.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/live.lua b/live.lua index 5f48e6e..93e9152 100644 --- a/live.lua +++ b/live.lua @@ -101,7 +101,7 @@ function live.receive_from_driver() local result = f:read('*a') f:close() if result == '' then return nil end -- empty file == no message - print('<='..color(--[[bold]]1, --[[blue]]4)) + print('<='..color_escape(--[[bold]]1, --[[blue]]4)) print(result) print(reset_terminal()) os.remove(love.filesystem.getAppdataDirectory()..'/_love_akkartik_driver_app') @@ -113,7 +113,7 @@ function live.send_to_driver(msg) if f == nil then return end f:write(msg) f:close() - print('=>'..color(0, --[[green]]2)) + print('=>'..color_escape(0, --[[green]]2)) print(msg) print(reset_terminal()) end @@ -123,7 +123,7 @@ function live.send_run_time_error_to_driver(msg) if f == nil then return end f:write(msg) f:close() - print('=>'..color(0, --[[red]]1)) + print('=>'..color_escape(0, --[[red]]1)) print(msg) print(reset_terminal()) end @@ -131,7 +131,7 @@ end -- args: -- format: 0 for normal, 1 for bold -- color: 0-15 -function color(format, color) +function color_escape(format, color) return ('\027[%d;%dm'):format(format, 30+color) end