ZheNing Hu <adlternative@xxxxxxxxx> writes: > Now I am building %(raw:textconv) and %(raw:filter), the code will be > very difficult to write: > > if (format->quote_style && !strncmp(sp, "raw", 3) > && ((!arg) || (!strncmp(arg, > ":textconv", 9)) || (!strncmp(arg, ":filter", 7)))) > return strbuf_addf_ret(err, -1, _("--format=%.*s > cannot be used with" > "--python, --shell, --tcl, --perl"), > (int)(ep-atom), atom); > > Is there any good way? The problem you are having sounds like a natural consequence of doing the check at the wrong place in the code, at least to me.