From: Tsugikazu Shibata Date: Fri, 04 Jan 2008 16:16:49 GMT Subject: Re: [PATCH 3/2] attribute "coding": specify blob encoding Message-ID: <20080105.011649.26949633.tshibata@ab.jp.nec.com> In-Reply-To: <7vejcyo9ql.fsf@gitster.siamese.dyndns.org> On Thu, 03 Jan 2008 13:54:58 -0800, gitster wrote: > しらいしななこ writes: > > > Quoting Junio C Hamano : > > > >> This teaches "diff hunk header" function about custom character > >> encoding per path via gitattributes(5) so that it can sensibly > >> chomp a line without truncating a character in the middle. > >> > >> Signed-off-by: Junio C Hamano > >> --- > >> > >> * This is not intended for serious inclusion, but was done more > >> as a demonstration of the concept, hence [3/2]. > > ... > >> +static struct { > >> + const char *coding; > >> + sane_truncate_fn fn; > >> +} builtin_truncate_fn[] = { > >> + { "euc-jp", truncate_euc_jp }, > >> + { "utf-8", NULL }, > >> +}; > > > >Can you also do JIS and Shift JIS? I ask because many of my > >old notes are in Shift JIS and I think it is the same for many > >other people. > > I guess somebody else could (hint, hint,...). Shift_JIS should > be more or less straightforward to add. > > With the current code structure, however, ISO-2022 (you said > "JIS" -- Japanese often use that word to mean 7-bit ISO-2022 and > so did you in this context) is a bit cumbersome to handle, as > you cannot just truncate but also have to add a few escape bytes > to go back to ASCII at the end of line. I guess that there are many other encodings and support everything are not reasonable. In my experience, It seems that chopping a multi-byte character occurs the field after "@@". I believe this field is for the name of the appropriate function. Also, I believe most of the function names are in ASCII. So, question is why we should think of this field in case of non programming language files ? In case of text file using any coding, Should we need to add something after "@@"? How about not to add anything after "@@" when the file name was .txt or no extension (ie. HOWTO)?