PortableApps.com Platform and Suite 1.6 have been released.

gVimPortable 7.2 spaces in path

Submitted by ronh on November 19, 2009 - 8:31am

Hi,
This is a new problem that wasn't present in the pre-release version of gVimPortable 7.2
When gVim is installed with spaces in its path, the :make command will complain that it "Can't open errorfile [path_to_gvim\Data\temp\VIe####.tmp]".
I use Win7beta and msys shell with make.


( categories: )

Still not sure

I'm still not sure quite why this may be doing this (I'm mainly posting this so you know I know about it). I hope to be able to look more closely into it tomorrow.

I am a Christian and a developer and moderator here.

“It is in vain that you rise up early and go late to rest, eating the bread of anxious toil; for he gives to his beloved sleep.” – Solomon, Psalm 127:2

$TEMP

To see if it helps me, could you please :echo $TEMP and tell me what you're getting?

I am a Christian and a developer and moderator here.

“It is in vain that you rise up early and go late to rest, eating the bread of anxious toil; for he gives to his beloved sleep.” – Solomon, Psalm 127:2

My output:

With spaces
========
:echo $TEMP
D:\My Documents\gVimPortable With Spaces\Data\temp

:!make >D:/My Documents/gVimPortable With Spaces/Data/temp/VIe48.tmp 2>&1
shell returned 2
E40: Can't open errorfile D:/My Documents/gVimPortable With Spaces/Data/temp/VIe48.tmp

Without spaces
==========
:echo $TEMP
D:\gVimPortable\Data\temp

:!make >D:/gVimPortable/Data/temp/VIeF5F4.tmp 2>&1
(1 of 3): g++ -c -Wall src/main.cpp -o ./obj/main.o

Pre-release version of gVimPortable
=======================
:echo $TEMP
C:\Users\Me\AppData\Local\Temp\gVimPortableTemp

:!make >C:/Users/Me/AppData/Local/Temp/gVimPortableTemp/Vie560E.tmp 2>&1
(1 of 3): g++ -c -Wall src/main.cpp -o ./obj/main.o

Change it

Could you please try quoting $TEMP inside Vim;

let $TEMP = '"D:\My Documents\gVimPortable With Spaces\Data\temp"'

Then try :making again. It seems to me that the issue is more likely to be with the compiler... but I'm not sure how or why any of it.

I am a Christian and a developer and moderator here.

“It is in vain that you rise up early and go late to rest, eating the bread of anxious toil; for he gives to his beloved sleep.” – Solomon, Psalm 127:2

Still doesn't work, but

When I change the $TMP variable and set it to:
let $TMP = "C:\\Users\\Me\\AppData\\Local\\Temp\\gVimPortableTemp"
It does work and :make works again.

Make deficiency

I'm pretty convinced it's a make deficiency. It'd be worth while trying on XP - I rather suspect it would go getting it in the wrong place, C:\Documents\something. Could you ask the Vim people about it in irc://irc.freenode.net/#vim? I'm not familiar enough with how Vim's :make works, and I have no time to check it out at the moment, or probably for the rest of the year (I'm currently in Singapore airport, heading on to Kolkata in a few hours)

I'm pretty certain though that it's just not quoting something where it should be.

Oh yeah, Data\temp does exist while it's running, doesn't it (it most certainly should)?

Something just occurred to me; could you please tell me what your 'makeprg' and 'makeef' are. Also try something like :set makeef=X:\gVim Portable\Data\temp\makeef## and maybe fiddle around with quotes around it.

I am a Christian and a developer and moderator here.

“It is in vain that you rise up early and go late to rest, eating the bread of anxious toil; for he gives to his beloved sleep.” – Solomon, Psalm 127:2

All I could come with is a

All I could come up with is a workaround:
:set makeef D:/foo/bar/vim###.err