- docstring const & before = getParam("before");
- docstring const & after = getParam("after");
- if (!before.empty() && cs.textBefore)
- os << '[' << before << "][" << after << ']';
- else if (!after.empty() && cs.textAfter)
- os << '[' << after << ']';
+ if (qualified)
+ os << "s";
+
+ docstring before = params().prepareCommand(runparams, getParam("before"),
+ param_info_["before"].handling());
+ docstring after = params().prepareCommand(runparams, getParam("after"),
+ param_info_["after"].handling());
+ if (!before.empty() && cs.textBefore) {
+ if (qualified)
+ os << '(' << protectArgument(before, '(', ')')
+ << ")(" << protectArgument(after, '(', ')') << ')';
+ else
+ os << '[' << protectArgument(before) << "]["
+ << protectArgument(after) << ']';
+ } else if (!after.empty() && cs.textAfter) {
+ if (qualified)
+ os << '(' << protectArgument(after, '(', ')') << ')';
+ else
+ os << '[' << protectArgument(after) << ']';
+ }