Tony wrote:

> When running :helptags, it sometimes aborts with no generated tags
> file and an error message (I forget the error number) saying that the
> helpfiles are not all in the same encoding. One possible case is if
> UTF-8 with and without BOM are mixed. But helpfiles distributed with
> Vim are not all in the same charset, see below, and yet :helptags
> accepts them.
> 
> Nothing about a "common encoding and BOM status" requirement is
> mentioned under under ":help :helptags" (options.txt, last change 2017
> Mar 19, lines 204sqq) unless it be the cryptic mention "*E154* *E150*
> *E151* *E152* *E153* *E670*" at line 205.
> 
> I just noticed that among the helpfiles distributed with Vim, while
> most are in 7-bit US-ASCII (byte-for-byte compatible with most
> ISO-8859 encodings including Latin1 and also with UTF-8 without BOM)
> options.txt, arabic.txt and hebrew.txt (at least) are in "real" UTF-8
> without BOM, while farsi.txt is in some 8-bit encoding not compatible
> with UTF-8, which after some detective work I tentatively identify as
> ISIRI-3342 (not the "ISIR-3342", unknown by iconv, mentioned at lines
> 171, 172, 190 and 191 of farsi.txt). (Vim of course detects it as
> Latin1, the 8-bit "catchall" charset at the end of 'fileencodings'; in
> this case this identification is "Vim's best try" but it is mistaken.)
> 
> How :helptags (as run as part of "make install") can accept in
> $VIMRUNTIME/doc/ this non-UTF-8 charset for farsi. txt together with
> the UTF-8 of the three mentioned above, while :helptags run manually
> or by UseVimball balks when encountering in $VIM/vimfiles/doc/ UTF-8
> with BOM together with UTF-8 without BOM, leaves me baffled. (My
> system locale includes $LC_CTYPE unset but $LANG=en_US.UTF-8 so I
> would expect that « $(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
> » (the command called by src/Makefile "make install" or "make
> installruntime" via runtime/doc/Makefile "make vimtags" to generate
> the help tags) would get the "Unicode default" of
> "ucs-bom,utf-8,default,latin1" for 'fileencodings' and thus get Latin1
> for farsi.txt but utf-8 for everything else.)

:helptags only uses the very first line of the file to check the
encoding.  The idea is that this is the header and will be in the same
encoding for all help files in one language.

The encoding only matters for the tags, which are often ASCII anyway.

It's possible that a BOM in the first line causes trouble.  Well, better
remove them then.  You don't need them for utf-8.

-- 
Eye have a spelling checker, it came with my PC;
It plainly marks four my revue mistakes I cannot sea.
I've run this poem threw it, I'm sure your please to no,
It's letter perfect in it's weigh, my checker tolled me sew!

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui