By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

v20 code page behavior changes

I just upgraded from v20.00 build 14 (the initial release) to the latest v20.0 build 20. It seems like something changed in the way the application handles double-byte code pages. I checked this in code page 950, but also assume that 949, 936, and 932 would also have the same behavior (I would have to reboot to verify those).

When I start typing, it inserts spaces between each character, e.g.:

If I type "dir /s /b", it would show up as:
C:\Temp>d i r   / s   / b

If I do a CHCP 437 and type the same command, then it would be fine:
C:\Temp>dir /s /b

The command still works, so it's not actually adding spaces, it's only in the presentation.

If I use tab completion, then it doesn't insert spaces on the completed portion, but adds many of spaces after it, so it would look something like this (where MyFile.txt was tab completed):
C:\Temp>d i r   MyFile.txt            S e c o n d F i l e . t x t

I rolled back to v20.00.14 and it works fine. I also still had an old build of v19 installed and it also still works, so it seems like it is something with the latest build and not a system configuration issue.
The problem is that there is no way for TCC to determine the width for a DBCS character. TCC will try to make a guess, but it doesn't always guess right.

The behavior was changed in build 20.0.18 to work around another DBCS issue.

(If users would just switch to Unicode ...)
If I set my code page to 65001, it does seem to fix the issue I listed above. I know I had issues with 65001 in the past, but I think that was with cmd.exe, so hopefully it won't cause any problems.

The only issue I did find is that it will try and quote wide characters if I tab complete and it miscalculates the length. For example, if I create a file "test.txt" using the full-width "test" and do tab completion, it will complete as:

D:\Temp> dir "test.

The actual ".txt" and the closing quotes are actually there, but are just not shown.

Similar threads