I'm currently working on some changes to the vcscommand plugin to make
it play more nicely in localized environments. Unfortunately, I don't
have a good sense of how people use the various dials vim provides to
customize such a setting, or how that interacts with localization
settings outside of vim. I would therefore very much appreciate any
help that could be provided by users whose environment isn't straight
utf-8 across the board.
Please feel free to reply off-list if appropriate.
The changes I'm considering can be found in the dev/encoding branch in
the plugin repo:
The rules I am considering following are as follow:
1. When reading the output of a VCS command execution:
1A. If &tenc and &enc differ, transcode the output from &tenc to &enc;
1B. Otherwise if the command is one of (Diff, Annotate, Review), and
&fenc differs from &enc, transcode from &fenc to &enc
2. When committing, if &tenc and &enc differ, transcode the message
from &enc to &tenc.
(1A) was a patch from Xavier Wang. (1B) is made under the assumption
that the file output coming from the VCS is encoded as &fenc as well.
This may fail in annotate if the annotations added by the VCS are not
in the same encoding as the file content.
(2) is made under the assumption that the user expects the encoding of
the log message to respect &tenc.
I have tested a few scenarios that I guessed are likely, but I am a
novice with respect to typical usage of localization settings. Do the
assumptions above make sense?