Consider the example below where a macro checks if on a given date, there is a moving holiday of list e, and displays the a-Namedays in either case :
bRESULT = HolidayOfListOnDate('e', n_TokenDate)
sRESULT = '[:nd_a]'
If there are no tokens in the GridTemplate which refer to a-Namedays and e-holidays then Q++ will not know that you need to specify a-saints and e-holidays and will not be able to issue a message warning you that you have not defined them. By using the INCLUDE_NAMEDAYS_SET and INCLUDE_HOLIDAYS_LIST directive above, you are telling Q++ that this macro will always require a-Namedays and e-holidays, and therefore Q++ will be able to warn any user in that uses this macro.
The above example was one where the reference to a Holidays List was explicit (the above macro always uses a-Namedays and e-holidays). There are cases where the holidays list used cannot be determined from the macro itself, because the holidays list used is one of the input variables of the macro.
sRESULT = '[:nd_' + sHolList + ']'