-int pat_enum(Tcl_Interp *ip, Tcl_Obj *obj, const void **val,
- const void *opts, size_t sz, const char *what) {
- *val= enum_lookup_cached_func(ip,obj,opts,sz,what);
- if (!*val) return TCL_ERROR;
+int cht_pat_int(Tcl_Interp *ip, Tcl_Obj *obj, int *val) {
+ return Tcl_GetIntFromObj(ip, obj, val);
+}
+
+int cht_pat_long(Tcl_Interp *ip, Tcl_Obj *obj, long *val) {
+ return Tcl_GetLongFromObj(ip, obj, val);
+}
+
+int cht_pat_string(Tcl_Interp *ip, Tcl_Obj *obj, const char **val) {
+ *val= Tcl_GetString(obj);