Я считаю отсутствие файла macros.txt недостаточной причиной для возбуждения фатальной ошибки.
Поэтому мне пришло в голову сделать так, чтобы при необходимости создавался пустой файл macros.txt и выводилось соответствующее предупреждение.
macro.pl
Код: Выделить всё
sub onstart3 {
&checkConfig;
$cfID = Settings::addControlFile($macro_file,loader => [\&parseAndHook,\%macro]);
#начало патча
if (not Settings::getControlFilename($macro_file)) {
warning TF("There was no macros file\nCreate an empty one with name %s\n", $macro_file);
my @controlFolders = Settings::getControlFolders;
open(my $new_macro, ">", $controlFolders[0] . '/' . $macro_file);
print $new_macro "#There was no macros file\n";
print $new_macro "#This file was auto-created\n";
close($new_macro);
}
#конец патча
Settings::loadByHandle($cfID);
...