 		}
 		
 		/**
-		 * This function evaluates a macro specified in the macros hash map.
+		 * This function evaluates a macro specified in the macros hash map,
+		 * catching and reporting any errors that are thrown.
 		 * @param macroName The name of the macro to evaluate.
 		 * @param params The parameters to pass to the macro.
 		 * @return The result of evaluating the macro.
 		 */
-		public static function evaluateMacro(macroName:String, ...params):*
-		{
+		public static function evaluateMacro(macroName:String, params:Array = null):*
+		{
+			// error catching/reporting is handled automatically for LinkableFunctions in the macros list.
 			var lf:LinkableFunction = macros.getObject(macroName) as LinkableFunction;
 			return lf ? lf.apply(null, params) : undefined;
 		}

		{
			if (_triggerCount != triggerCounter)
			{
				_triggerCount = triggerCounter;
				// in case compile fails, prevent re-compiling erroneous code
				_compiledMethod = RETURN_UNDEFINED;

			_paramNames = paramNames && paramNames.concat();
		}
		
		private var _catchErrors:Boolean = false;
		private var _ignoreRuntimeErrors:Boolean = false;
		private var _useThisScope:Boolean = false;
		private var _compiledMethod:Function = null;
