r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

GiuseppeC
29-May-2010
[16900]
Because I thought I was in REBOL School... sgrunt !
Graham
4-Jun-2010
[16901]
How do I create a string with a single caret ?

rejoin [  a "^" b ] doesn't work
but rejoin [ "a" "^^" "b" ] gives me 
a^^b
Sunanda
4-Jun-2010
[16902]
It only looks that way. There's only one caret in that string:
     length? "a^^b"
    == 3
    print "a^^b"
    a^b
Graham
4-Jun-2010
[16903x2]
the data file I'm using is full of carets :(
It would be nice if we could set the escape character ...
Sunanda
4-Jun-2010
[16905]
If you use READ or READ/LINES, you should find that REBOL handles 
the carets properly.
Ditto. TO-STRING READ/BINARY
Other cases may be problematic :(
Graham
4-Jun-2010
[16906]
In a datafile, the ^ should not escape anything
Sunanda
4-Jun-2010
[16907]
I think you'll find it doesn't.....Create a data file in a text editor 
with just a single caret. Then use READ to read it into REBOL. It 
should have  a length of 1.
Graham
5-Jun-2010
[16908]
that's where I get confused about caret handling
Sunanda
5-Jun-2010
[16909]
Maybe it is too automatic....Try playing with tests like this until 
it becomes clearer:
    to-string #{5e}
    == "^^"
    length? to-string #{5e}
    == 1
Gabriele
5-Jun-2010
[16910]
Graham... LOAD does the escaping, READ does not. does this help? 
MOLD also does the escaping, so if you PROBE at the console you see 
that, but it has nothing to do with what is actually in memory.
Graham
5-Jun-2010
[16911]
Makes sense :)
Graham
8-Jun-2010
[16912x2]
One of those annoyances ...

>> to-local-file %"/c/program files/rebol/rebol.exe"
== "c:\program files\rebol\rebol.exe"

>> rejoin [ "call " to-local-file %"/c/program files/rebol/rebol.exe" 
]
== "call c:\program files\rebol\rebol.exe"

>> quoted-to-local-file: func [ f ][ rejoin [ {"} to-local-file f 
{"}] ]

>> rejoin [ "call " quoted-to-local-file %"/c/program files/rebol/rebol.exe" 
]
== {call "c:\program files\rebol\rebol.exe"}
I presume Linux escapes the spaces so it's not an issue on that platform
BrianH
8-Jun-2010
[16914]
Nope - Linux systems are usually much worse with spaces, so they 
tend to not have spaces in directory names.
Graham
8-Jun-2010
[16915x4]
I thought linux used a backslash to escape spaces
Ok, same problem with Linux.  Just checked. Rebol doesn't escape 
special characters like spaces.
Linux uses either single quotes, or a \ it seems
bit messy ....
BrianH
8-Jun-2010
[16919]
CALL in R2 does the local file conversion though. Let me check whether 
it does escaping.
Maxim
8-Jun-2010
[16920]
graham, the shell doesn't escape them either.
BrianH
8-Jun-2010
[16921]
>> call/console [%/C/WINDOWS/system32/cmd.exe "/c echo" %.]
C:\Program Files\REBOL\View
Maxim
8-Jun-2010
[16922x2]
you have the same problems when you create batch files in Windows. 
 its an OS thing AFAIK
actually, just typing the command in the console requires you to 
properly escape spaces or quote the path.
BrianH
8-Jun-2010
[16924]
CALL does the TO-LOCAL-FILE itself, and wraps with double quotes 
automatically.
Maxim
8-Jun-2010
[16925]
but only if you use block mode for CALL, Graham was using a string, 
which allows us to make sure things are formatted properly, cause 
sometimes, when specifying arguments, this crap gets very mystical. 
 :-)
BrianH
8-Jun-2010
[16926]
Right. That's why I was mentioning the existence of block model to 
Graham :)
Maxim
8-Jun-2010
[16927]
(and why I made that distinction explicit  ;-)   even I almost missed 
that "detail"
BrianH
8-Jun-2010
[16928]
Yeah, and the R3 CALL doesn't do anything like that yet. Time to 
edit the host code?
Oldes
9-Jun-2010
[16929]
Graham, what about using REBOL words to do that job.. like:

>> rejoin [ "call " mold to-local-file %"/c/program files/rebol/rebol.exe" 
]
== {call "c:\program files\rebol\rebol.exe"}
Anton
9-Jun-2010
[16930]
MOLD can produce a string with braces instead {} - not good for the 
command line.
Graham
9-Jun-2010
[16931x3]
I've been playing a little with Gabriele's async http, and I note 
that the subport only sends back close and error events to the main 
awake handler.
If you want to do a progress meter, you'll need the read and write 
events as well.  Easy enough to add back in.  I wonder if this shouldn't 
be improved so that we can use it as standard in core 2.7.8.
Redirects are also not done ...
Gabriele
10-Jun-2010
[16934]
ahttp basically just does what I needed for the Detective... R3's 
http is much closer to the real thing.
Graham
10-Jun-2010
[16935x3]
So we should look for your R3 http for inspiration? :)
I pushed the two small changes to github http://github.com/gchiu/Rebol2/blob/4b59b6e2cb5c06076e7251c311c575b189d4bf77/Protocols/prot-ahttp.r
This Git GUI is not very intuitive to use ...
AdrianS
10-Jun-2010
[16938x2]
tried tortoise git? works pretty well
or is this linux?
Graham
10-Jun-2010
[16940x2]
windows
Git-GUI by Shawn Pearce et al
AdrianS
10-Jun-2010
[16942x2]
why'd you choose this GUI?
I like the shell integration with tortoise git - same as with tortoise 
svn
Graham
10-Jun-2010
[16944x4]
Must have been directed to by Git Hub
Probably I just don't understand how git works
Gab, this is a quick demo with the reinstated write event

http://rebol.wik.is/Protocols/Test-async-http.r


I downloaded a 16mb file, and it updates the bytes downloaded, and 
the progress bar... .and I can still type while it is downloading.
In the close event I am supposed to return a true to exit that event 
loop, but if I do that I also shut down View events so I left it 
as false.
Is that correct??
Maxim
10-Jun-2010
[16948x2]
I used it and modified it too a few years ago... I have 5 simultaneous 
feeds of different types (rss, search engines, xml-web-app) with 
updates and animation.

it was pretty stable once I wrapped an attempt around every close 
port in the source.... otherwise, for some reason it would crash 
rebol arbitrarily .
by close port, I mean, even in the async handler itself.