[chuck-users] Windows, drives, and Machine.add

Rebecca Fiebrink fiebrink at princeton.edu
Fri Oct 15 12:36:54 EDT 2010


Thanks, but this doesn't work: ChucK parses this OK but then fails to find the file.

Machine.add("/Users/rebecca/tmp.ck") works fine.

Machine.add("C\\:/Users/rebecca/tmp.ck") produces
[tmp.ck] no such file or directory

(And re: previous posts, thanks, but Windows does handle forward-slash-style path names fine, without any need for escape characters. Hence the forward slashes in my strings. Escaped "\\" produces same results. Should've mentioned that before.)

Has anyone actually gotten this to work in practice?

The source code in chuck-1.2.1.3 that processes the argument to Machine.add
is expecting to parse a filename and optional arguments using colons to
separate the filename and arguments, but it also looks like it's trying to
allow \: to escape a colon.

On Fri, Oct 15, 2010 at 10:05 AM, Rebecca Fiebrink
<fiebrink at princeton.edu>wrote:
>
>> Have any ChucK windows users figured out how to accomplish Machine.add
>> with a fully-qualified path name that includes the drive letter?
>>
>> Machine.add("C:/Users/rebecca/tmp.ck") results in error
>> "[C]: no such file or directory"
>
>
That happens because the colon is treated the separator between the file
name and an argument.


and Machine.add("C\:/Users/rebecca/tmp.ck") results in error
>> [tmp2.ck]:line(2): unrecognized escape sequence '\:'
>>
>>
That happens, most probably, because the Chuck parser is attempting to
translate escape sequences into characters, long before even constructing
the call to Machine.add().

Try

   Machine.add("C\\:/Users/rebecca/tmp.ck")

that will let the escape sequence parse parse \\ into \, and then the
argument parser will see \: and leave your filename alone.

-- rec --

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20101015/5c319f09/attachment.html>


More information about the chuck-users mailing list