FuzzyFinder and error E806: using Float as a String

154 views
Skip to first unread message

Peter Krantz

unread,
Sep 27, 2010, 3:25:26 AM9/27/10
to vim...@googlegroups.com
Hi!

First of all I would like to thank Björn for making Macvim available.

I was trying to use FuzzyFinder [1] in Macvim 7.3 (on OSX 10.6.4) and
received multiple errors relating to floating point numbers in
FuzzyFinders source ("E806: using Float as a String"). The error can
be reproduced by trying :let s = 0.5 in Macvim which results in the
same error.

This happens if I launch Macvim by double-clicking the icon in Finder.
If I launch Macvim form the terminal with the mvim command the error
disappears. My locale settings in the terminal is:

$ locale
LANG="sv_SE.UTF-8"
LC_COLLATE="sv_SE.UTF-8"
LC_CTYPE="sv_SE.UTF-8"
LC_MESSAGES="sv_SE.UTF-8"
LC_MONETARY="sv_SE.UTF-8"
LC_NUMERIC="sv_SE.UTF-8"
LC_TIME="sv_SE.UTF-8"
LC_ALL=

In the vim :help language it says that if vim is compiled with the
+float feature "the LC_NUMERIC value will always be set to "C", so
that floating point numbers use '.' as the decimal point". Flags for
my Macvim (which is the standard download) can be seen in comments to
[2].

How can I make Macvim use the same locale settings as mvim in terminal
when I launch it from Finder? Am i misinterpreting what the +float
feature should do? Isn't it supposed to always make sure that dots can
be used for floating point numbers?

Regards,

Peter Krantz
http://www.opengov.se

[1]: Version 2010-09-26: https://bitbucket.org/ns9tks/vim-fuzzyfinder/
[2]: http://bitbucket.org/ns9tks/vim-l9/issue/2/errors-in-l9-in-macvim-73

björn

unread,
Sep 27, 2010, 10:47:12 AM9/27/10
to vim...@googlegroups.com

Hi Peter,

I thought this problem was related to the fact that the Ruby interface
to Vim used to return all expression evaluations as a string but in
7.3 it returns the "proper" value. Thus "all" plugins that use Ruby
need to be updated for 7.3. Reading [2] I don't know if this is the
case but it seems that the issue has been fixed anyway?

As for your question: I have not manage to figure out how Terminal.app
magically figures out which values to use for the locale environment
variables. My only suggestion is that you set them explicitly in your
~/.profile if you want them to always have the same value.

To be clear: Terminal.app has some heuristic for figuring out which
locale settings to use -- these settings are not picked up even if you
start a login shell (as MacVim does when it spawns a Vim process). So
in order for MacVim to have the same settings as Terminal.app I would
need to know how Terminal.app does this. If somebody could enlighten
me on how this is done I'd be grateful.

Björn

Reply all
Reply to author
Forward
0 new messages