In article <t7rugd$h9l$
1...@gioia.aioe.org>,
This was an unfortunate bug in KEGS caused by the routine trying to legalize
names from your host Linux system to be valid ProDOS names.
When a character which is not valid for ProDOS was found in the native
name (say, en emoji, a space, anything other than A-Za-z0-9 or .), KEGS
would convert that character to a '.' in the ProDOS name.
So a name like "file (9)" would become "file..9.". So then KEGS tried to
eliminate '.'s at the end of the filename since they weren't useful, to
create "file..9" in this example.
But: if the native name already had a dot at the end, this was a legal
ProDOS name, but KEGS was still tossing it. So "TRY1." would be changed
to "TRY1". This is the bug you found.
I just made the step for converting unknown characters to '.' remember which
ones were real '.'s and which ones are converted characters, so "TRY1."
stays "TRY1." but "file (9)" becomes "file..9" still.
I'm not sure when the next KEGS release will be. If you want an immediate
fix and can recompile, edit dynapro.c around lines 1369-1372 to remove these
lines:
while((outpos >= 0) && (g_dynapro_path_buf[outpos-1] == '.')) {
outpos--;
g_dynapro_path_buf[outpos] = 0;
}
This the code removing the trailing '.' from the end of the filename, and
it's what's causing your problem. Without this code, native name "file (9)"
will become "file..9.", but that's not really a problem.
Kent