# HG changeset patch # User Kim Alvefur # Date 1689535297 -7200 # Node ID 8dbe693ded6b898cb63c570ad08ae52aa9ebccb7 # Parent c8d949cf6b09127031420c0b5f9ec420bd44afd4 util.human.io: Fix stray 'stty' error by only querying width of real ttys This adds a dependency on a binary and *nix-specific module but then stty is probably *nix-specific anyway so maybe that's fine. diff -r c8d949cf6b09 -r 8dbe693ded6b util/human/io.lua --- a/util/human/io.lua Sun Jul 16 20:49:33 2023 +0200 +++ b/util/human/io.lua Sun Jul 16 21:21:37 2023 +0200 @@ -1,4 +1,5 @@ local array = require "prosody.util.array"; +local pposix = require "prosody.util.pposix"; local utf8 = rawget(_G, "utf8") or require"prosody.util.encodings".utf8; local len = utf8.len or function(s) local _, count = s:gsub("[%z\001-\127\194-\253][\128-\191]*", ""); @@ -111,6 +112,9 @@ local function term_width(default) local env_cols = tonumber(os.getenv "COLUMNS"); if env_cols then return env_cols; end + if not pposix.isatty(io.stdout) then + return default; + end local stty = io.popen("stty -a"); if not stty then return default; end local result = stty:read("*a");