} elsif (@i>=1 && defined $c_entryextra) {
$entrytype_x{$c_entryextra} .= " $_\n";
} elsif (@i==1 && m/^[a-z].*$/ && defined $c_table) {
- if (m/^\w+$/) {
+ if (m/^[-_0-9A-Za-z]+$/) {
$c_entry= $_;
- } elsif (m/^(\w+)\s+(\S.*)$/) {
+ } elsif (m/^([-_0-9A-Za-z]+)\s+(\S.*)$/) {
$c_entry= $1;
$tables{$c_table}{$c_entry}{I} .= ", $2";
} else {
$x_table= $table_x{$c_table};
$op_tab= '';
- foreach $c_entry (keys %$r_table) {
+ foreach $c_entry (sort keys %$r_table) {
+ $c_entry_c= $c_entry; $c_entry_c =~ y/-/_/;
$r_entry= $r_table->{$c_entry};
- $pa_decl= "int pa_${c_table}_${c_entry}(ClientData cd,".
+ $pa_decl= "int pa_${c_table}_${c_entry_c}(ClientData cd,".
" Tcl_Interp *ip, int objc, Tcl_Obj *const *objv)";
- $do_decl= "int do_${c_table}_${c_entry}(";
+ $do_decl= "int do_${c_table}_${c_entry_c}(";
@do_al= ('ClientData cd', 'Tcl_Interp *ip');
@do_aa= qw(cd ip);
$pa_init= '';
$pa_rslt .= " Tcl_SetObjResult(ip, ret_$t(ip, result));\n";
}
$pa_body .= "\n";
- $pa_body .= " rc= do_${c_table}_${c_entry}(";
+ $pa_body .= " rc= do_${c_table}_${c_entry_c}(";
$pa_body .= join ', ', @do_aa;
$pa_body .= ");\n";
$pa_body .= " if (rc) goto rc_err;\n";
$op_tab .= sprintf(" { %-20s %-40s%s },\n",
"\"$c_entry\",",
- "pa_${c_table}_${c_entry}",
+ "pa_${c_table}_${c_entry_c}",
$r_entry->{I});
}
if (length $c_table) {