Wednesday, December 14, 2011

Re: AW: AW: AW: call to iconv(...) missing somewhere in the code?

On 14/12/11 12:14, Paul Maier wrote:
>
>
>> -----Ursprüngliche Nachricht-----
>> Von: vim_use@googlegroups.com [mailto:vim_use@googlegroups.com] Im Auftrag von Tony Mechelynck
>> Gesendet: Mittwoch, 14. Dezember 2011 05.03
>> An: Paul Maier
>> Cc: vim_use@googlegroups.com
>> Betreff: Re: AW: AW: call to iconv(...) missing somewhere in the code?
>>
>> see my interspersed comments, especially at the bottom
>>
>>
>> On 13/12/11 11:50, Paul Maier wrote:
>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> German message output is broken when encoding=UTF-8.
>>>>>>> Maybe calls to convert messages to the current encoding (see :help iconv) are missing in the
>> code?
>>>>>>>
>>>>>>> To reproduce here are 2 examples among many others:
>>>>>>>
>>>>>>>
>>>>>>> 1. example:
>>>>>>>
>>>>>>> - open new gvim
>>>>>>> - :set enc=UTF-8
>>>>>>> - :set enc=lalala ... something invalid
>>>>>>>
>>>>>>> I get:
>>>>>>> E474: Ung<fc>ltiges Argument: enc=lalala
>>>>>>> I expect:
>>>>>>> E474: Ungültiges Argument: enc=lalala
>>>>>>>
>>>>>>>
>>>>>>> 2. example:
>>>>>>>
>>>>>>> - open new gvim
>>>>>>> - :set enc=UTF-8
>>>>>>> - :set bomb
>>>>>>> - i<Enter><Esc> ... enter a newline to make the buffer not empty
>>>>>>> - g<C-G> ... g CONTROL-G
>>>>>>>
>>>>>>> I get:
>>>>>>> Sp 1 von 0; Zeile 2 von 2; Wort 0 von 0; Byte 4 von 4(+3 f<fc>r BOM)
>>>>>>> I expect:
>>>>>>> Sp 1 von 0; Zeile 2 von 2; Wort 0 von 0; Byte 4 von 4(+3 für BOM)
>>>>>>>
>>>>>>>
>>>>>>> I use:
>>>>>>>
>>>>>>> :version
>>>>>>> VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 27 2010 17:59:02)
>>>>>>> MS-Windows 32 Bit GUI Version mit OLE-Unterstützung
>>>>>>> Inklusive der Korrekturen: 1-46
>>>>>>> Übersetzt von Bram@KIBAALE
>>>>>>>
>>>>>>>
>>>>>>> When enc is latin1, all messages display fine.
>>>>>>>
>>>>>>> Thanks& regards,
>>>>>>> Paul
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> If you were running under Linux I would suggest
>>>>>>
>>>>>> lang mess de_DE.UTF-8
>>>>>>
>>>>>> but beware that the placement of this command before or after not only
>>>>>> ":set enc=utf-8" but also ":filetype [plugin] [indent] on" and ":syntax
>>>>>> on" (and the relative placement of these) makes a difference.
>>>>>>
>>>>>> Under Windows I'm less sure; maybe something like
>>>>>>
>>>>>> lang mess German_Germany.10646
>>>>>>
>>>>>> Same caveats as above about command ordering.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> Hi!
>>>>>
>>>>> Sorry, your hint didn't change anything, but I found, that it's working
>>>>> for Spanish:
>>>>>
>>>>> :set enc=utf-8
>>>>> :lang mess es
>>>>> Este es el cambio más nuevo
>>>>> => WORKS FINE! "á" (Hex 00e1) is printed out fine.
>>>>>
>>>>> :lang mess fr
>>>>> D<e9>j<e0> <e0> la modification la plus r<e9>cente
>>>>> :lang mess de
>>>>> Bereits bei der j<fc>ngsten<c4>nderung
>>>>> => ENCODING PROBLEMS!
>>>>>
>>>>>
>>>>> But when I set to :enc=latin1, then it's VICE VERSA:
>>>>> German and French working, but Spanish not:
>>>>>
>>>>> :set enc=latin1
>>>>> :lang mess es
>>>>> Este es el cambio más nuevo
>>>>> => Looks like UTF-8 here.
>>>>>
>>>>>
>>>>> Are the messages for German and French coded in latin1,
>>>>> and for Spanish in UTF-8?
>>>>>
>>>>> I agree, there needs to be some translation from the encoding of the message
>>>>> to the encoding currently in use.
>>>>> But how?
>>>>> Is it something that I can configure, or is it a vim coding problem?
>>>>>
>>>>> I found out that in Cygwin's vim and Cygwin's gvim the German messages display
>>>>> fine for both settings, enc=utf-8 and enc=latin1 (without that I did anything).
>>>>>
>>>>> Thanks& Regards,
>>>>> Paul
>>>>>
>>>>>
>>>>>
>>>>
>>>> Did you try the _full_ three-part locale, language_COUNTRY.encoding,
>>>> where (IIUC) under Windows "encoding" is a numeric codepage, 10646 for
>>>> Unicode? For German, my guess was
>>>>
>>>> lang mess German_Germany.10646
>>>>
>>>> where 10646 (from ISO/IEC 10646) is the Windows codepage for Unicode.
>>>> Did you try it? Did you try varying the order of
>>>>
>>>> :language messages ...
>>>> :set enc=...
>>>> :filetype ...
>>>> :syntax on
>>>>
>>>> ? (The latter two set up the menus, which are also influenced by the
>>>> "messages" language.)
>>>>
>>>> N.B. When I was on Windows some years ago, my system locale (as set by
>>>> the OS) was French_Belgium.1252 — hence my suggestion above.
>>>>
>>>
>>>
>>> Hi Tony,
>>>
>>> yes I checked the full locale "lang mess German_Germany.10646" and I checked it
>>> again, but sorry, no effect.
>>> The system seems to understand "German_Germany.10646" (because when I enter nonsense
>>> it says so), but when I afterwards query the language with "lang mess" it just
>>> outputs "de" (see below).
>>
>> maybe try the same for :lang ctype
>> I'm not sure
>>
>>>
>>> I also played around with different combinations of filetypes and syntax commands,
>>> but no effect.
>>> First enc, then mess: see my last mail. Other orders: see below.
>>>
>>> Full transcript of my session follows.
>>> There I use :later to produce an error message with German umlaut characters in it.
>>>
>>>
>>> # initial state: latin1, working
>>>
>>> :set enc?
>>> encoding=latin1
>>> :lang mess
>>> Momentane messages Sprache: "de_DE.CP1252"
>>> :later
>>> Bereits bei der jüngsten Änderung
>>>
>>> # ok, let's begin.
>>> # first "mess" then "enc":
>>>
>>> :lang mess German_Germany.10646
>>> :lang mess
>>> Momentane messages Sprache: "de"
>>> :set enc=utf-8
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>>
>>> # "syntax", then again "mess"
>>>
>>> :syntax
>>> Keine Syntax-Elemente f<fc>r diesen Puffer definiert
>>> :syntax on
>>
>> ???
>>
>> Just :syntax on by itself should not give an error (and neither should
>> :set ft=dos BTW). See :help :syntax-on
>>
>> When I do :syntax with no arguments in an empty buffer, I get
>>
>> No syntax items defined for this buffer
>>
>> which is not an error. You could also do
>>
>> :filetype
>> :let syntax_on
>>
>> (both of them with no additional arguments) to see if syntax
>> highlighting is currently on (the first command too because if filetype
>> detection is off, Vim won't set 'syntax' on newly opened files)
>>
>>> E749: Leerer Puffer
>>> :syntax
>>> Keine Syntax-Elemente f<fc>r diesen Puffer definiert
>>> :lang mess
>>> Momentane messages Sprache: "de"
>>> :lang mess German_Germany.10646
>>> :lang mess
>>> Momentane messages Sprache: "de"
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>>
>>> # set filetype, then again "mess"
>>
>> Not :set filetype, just :filetype, as in one of the following:
>>
>> :filetype on
>> :filetype plugin on
>> :filetype plugin indent on
>> :filetype indent on
>>
>>>
>>> :set filetype?
>>> filetype=
>>> :set filetype=dos
>>> E749: Leerer Puffer
>>> :set filetype?
>>> filetype=dos
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>> :set enc=latin1
>>> :later
>>> Bereits bei der jüngsten Änderung
>>> :set enc=utf-8
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>> :lang mess German_Germany.10646
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>> :set enc=utf-8
>>> :later
>>> Bereits bei der j<fc>ngsten<c4>nderung
>>>
>>>
>>> Thank you,
>>> Paul
>>>
>>>
>>>
>>
>> I see. Well, I can't help you then, unless you hit a bug which was fixed
>> between your version (7.3.046) and the latest one (7.3.372).
>>
>> You can get a recent (and regularly updated) version of Vim for Windows
>> from http://sourceforge.net/projects/cream/files/Vim/ — this is what
>> this list's regulars mean when they talk of "Vim without Cream". It is
>> compiled from the official sources, but not by Bram himself, and
>> possibly by means of a different C/C++ compiler; it ought to work just
>> as well as Bram's executable on any Windows system (and maybe better
>> since bugfixes are incorporated more often).
>>
>
>
> Hi Tony,
>
> here is the output of your suggestions (the first line is just hit enter without any command):
>
> :
> E749: Leerer Puffer
> :set enc=utf-8
> :lang ctype
> Momentane ctype Sprache: "C"
> :lang ctype German_Germany.10646
> E197: Sprache kann nicht auf "German_Germany.10646" gesetzt werden
>
> :filetype
> filetype detection:ON plugin:OFF indent:OFF
> :set filetype=dos
> E749: Leerer Puffer
> :filetype
> filetype detection:ON plugin:OFF indent:OFF
>
> :let syntax_on
> E121: Undefinierte Variable: syntax_on
> :syntax on
> E749: Leerer Puffer
> :let syntax_on
> syntax_on #1
>
> :lang mess German_Germany.10646
> :later
> Bereits bei der j<fc>ngsten<c4>nderung
> :lang ctype German_Germany.10646
> E197: Sprache kann nicht auf "German_Germany.10646" gesetzt werden
>
>
> It sounds like a bug to me. Exists there an issue tracker?
>
> Thanks& regards,
> Paul
>
>
>
>

Well, there is one, but its purpose is actually to redirect issue
descriptions and comments to the vim_dev list.

If you can repeat the problem in Vim 7.3.372 (or later: I see 7.3.375
was published today), you can just as well mention it in this thread
(preferably after making sure that you're subscribed to vim_dev).

Best regards,
Tony.
--
7:30, Channel 5: The Bionic Dog (Action/Adventure)
The Bionic Dog gets a hormonal short-circuit and violates the
Mann Act with an interstate Greyhound bus.

--
You received this message from the "vim_use" 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

No comments: