Причём тут макролиб?
Тут надо решать глобальнее, после того как всё почините, конечно же, "то что не работает"
Например, разбиение на области Shell, Editor, ... - хорошо, но вот условия "пустая комстрока", "не пустая" - как-то не очень:
есть макрос работающий при непустой комстроке, а как добавить макрос на туже кнопку при пустой комстроке? - обединять их в один с проверкой нелогично, тогда уж все макросы загонять в common и пусть макросописатель разруливает
Почему бы не разрешить несколько макросов на одну клавишу, и пусть сработает тот который подошёл по условиям первым (ну например условий у него меньше)...
это так мысли в слух, мне приходится делать макросы интеграторы которые с помощью eval запускают развешенные на непривычные клавиши другие макросы, это ради того, что собери я эти макросы в один, хрен его осмыслишь (я вот, с ходу перевел почти всё под луа, а вот с выделением мышкой завис, хотя это не самый крутой мой макрос).