Макросы позволяют пользователю расширять синтаксис языка. Хоть они и сложны в реализации, их полезность очевидна.
Пример макроса:
#define echo print
Тут макросом просто создается псевдоним для функции print.
#define slclick(\1,\2,\3) lclick(\1,\2)\
waitms(\3)\
lclick(\1,\2)\
waitms(\3)
slclick(1000,1000,30)
А это уже пример по-сложнее.
Слеши с цифрами - переменные макроса. Можно ставить любое значение, в до 10.
Слеши в конце строки - перевод строки без потери "фокуса" макроса. Т.е. без них перенос строки означает конец макроса.
При запуске скрипта, препроцессором все это переводится в вид:
lclick(1000,1000)
waitms(30)
lclick(1000,1000)
waitms(30)
И уже исполняется.
В наше время, когда макросы есть даже в ассемблере, хотелось бы видеть их и в кликермане.
Да и какая-никакая замена пользовательских фун-ий.
Конечно навряд ли явтор сделает эту фичу в ближайших версиях, но пусть тут все равно висит эта "хотелка"