check_macro("sh1", "@shell{true}", "");
check_macro("sh2", "@shell{echo spong}", "spong\n");
check_macro("sh1", "@shell{true}", "");
check_macro("sh2", "@shell{echo spong}", "spong\n");
check_macro("sh3", "@shell{echo spong;exit 3}", "spong\n");
check_macro("url1", "@urlquote{unreserved}", "unreserved");
check_macro("url2", "@urlquote{has space}", "has%20space");
check_macro("url3", "@urlquote{\xc0\xc1}", "%c0%c1");
check_macro("sh3", "@shell{echo spong;exit 3}", "spong\n");
check_macro("url1", "@urlquote{unreserved}", "unreserved");
check_macro("url2", "@urlquote{has space}", "has%20space");
check_macro("url3", "@urlquote{\xc0\xc1}", "%c0%c1");