- // No expand defined? Then return the same function with expanded arguments (if required)
- if (opt.expand_f == NULL) {
- // Only expand arguments when asked to do so
- if (options & expand_options::expand_function_args)
- return inherited::expand(options);
- else
- return (options == 0) ? setflag(status_flags::expanded) : *this;
- }
-
- current_serial = serial;
- if (opt.expand_use_exvector_args)
- return ((expand_funcp_exvector)(opt.expand_f))(seq, options);
- switch (opt.nparams) {
- // the following lines have been generated for max. @maxargs@ parameters
+ if (opt.expand_f) {
+ // Invoke the defined expand function.
+ current_serial = serial;
+ if (opt.expand_use_exvector_args)
+ return ((expand_funcp_exvector)(opt.expand_f))(seq, options);
+ switch (opt.nparams) {
+ // the following lines have been generated for max. @maxargs@ parameters