• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[Rebol School] REBOL School

MarcS
12-Oct-2012
[1401x3]
but of course,
>> x: load %foo.r 
== [
    foo: [] 
    append foo 1
]
>> do x
== [1]
>> do x
== [1 1]
>> foo
== [1 1]
which was henrik's point
Henrik
12-Oct-2012
[1404]
actually not
MarcS
12-Oct-2012
[1405]
oh!
Ladislav
12-Oct-2012
[1406]
and by "keep the code" I mean "keep the code as a block", if you 
keep it as a string then it does not matter
Henrik
12-Oct-2012
[1407]
do %foo.r
do %foo.r

will produce something you may not intend.
MarcS
12-Oct-2012
[1408x4]
well, if there are side effects, sure
but with the above, i get the anticipated result,
>> do %foo.r
Script: "Untitled" (none)
== [1]
>> do %foo.r
Script: "Untitled" (none)
== [1]
>> foo
== [1]
ladislav: yep, understood
Henrik
12-Oct-2012
[1412]
sorry, MarcS. you are right again. I better take a nap...
MarcS
12-Oct-2012
[1413x2]
so to get back to pitfall vs. stylistic - i notice that carl's scripts 
(makedoc, blog) tend not to copy 'global' literals
whereas, for example, the source for vanilla does
Ladislav
12-Oct-2012
[1415]
However, when writing something like:

a: []


into a file, you may not be totally sure that somebody does not LOAD 
your code and try to evaluate it twice....
MarcS
12-Oct-2012
[1416x2]
yep
so unless you're certain (!) that that won't occur, better to be 
safe and copy?
Ladislav
12-Oct-2012
[1418]
Yes, copy looks safer....
MarcS
12-Oct-2012
[1419]
thanks for the help
Endo
17-Oct-2012
[1420x2]
Henrik: I've registered on http://hmkdesign.dkBugs database (curecode), 
I got an error when I create a new account but I think it created 
my user. Can you check it please?
My username is "endo".
I've setup a new Cheyenne (r179) with html-008.r included, playing 
with html dialect.
Henrik
17-Oct-2012
[1422]
now validated... also validated 3 other registrations from 2009... 
I guess they are in for a surprise email. :-)
Sunanda
31-Oct-2012
[1423]
Why can't  a button hide itself? Looks like /SHOW? is always set 
TRUE on exit from an action facet:
    view layout [b: button "hide me" [hide b print b/show?]]
   (esc)

   print b/show?   ;; expect FALSE if button clicked, but always get 
   TRUE


My ungainly work-around is to move the button well out of the visible 
area:

   view layout [b: button "hide me" [b/offset: -100x-100 - abs b/offset 
   show b]]

(the abs and -100s allow me to reverse the action to put it back 
where it was)
Henrik
31-Oct-2012
[1424]
AFAIK, it's because the action is run on mouse down, and the mouse 
up event causes a redraw, which will then show the button again.
Maxim
31-Oct-2012
[1425]
action is run on mouse up.  I can't figure out why face won't stay 
hidden... but its probably because Carl used redraw.   first thing 
I do when I build new styles is to clear the redraw.
Henrik
31-Oct-2012
[1426]
you are right. the problem is probably that the action is run before 
the redraw takes place. but it's been a few years now since I worked 
on this problem.
Maxim
31-Oct-2012
[1427x3]
IIRC feel/redraw does a show on a face which forces it back on.
just about every time I've had to fix something with VID it was related 
to the fact that redraw is being used.  its a very bad design... 
redraw should never have been put into the feel.   its also a big 
slowdow, since it forces every face to redraw itself when you show 
a pane.
slowdown
MaxV
31-Oct-2012
[1430x2]
A button can remove itself: lokk here:
a: layout [b: button [remove find a/pane b show a]]
view a
Did you understand how it works?
Maxim
1-Nov-2012
[1432]
but here you removed the button...  hiding it , leaves it there.
Sunanda
2-Nov-2012
[1433x4]
Thanks guys...MaxV that's the overkill solution :-)
Another question ... I'vd like a field action facet to be triggered 
on field exit.
But I can find two cases (under windows) when it isn't:
1. ctrl+tab out of the field, rather than tab
2. right click another face, eg a button


   view layout [field 100x100 [print "field was exited"] button "click 
   me" [print 'left] [print 'right]]


Any ideas for making the field action trigger in all cases? Please!


(Right now my workaround is to do a bulk check on all fields when 
the user clicks a main action button like SAVE, but that means they 
may see multiple field-exit messages all at once, and later than 
they'd expected).
(oops new VIEW/VID group now open for such questions).
Any good reason why DEHEX won't touch %00 ?  It's the only one of 
the 256-single-byte values it leaves hexed rather than dehexed
   dehex "%00 %6f%64%64%3f"
Maxim
2-Nov-2012
[1437]
that is a strange bug
Sunanda
2-Nov-2012
[1438]
Yes, it is thanks. I stumbled across a case where I had to run DEHEX 
twice because it skipped a few values the first time.

Sadly, not been able to replicate that in a one-liner, so it may 
have been something stupid I did.
BrianH
2-Nov-2012
[1439]
Works in R3.
Maxim
2-Nov-2012
[1440x2]
it is a bug in R2 2.7.8
nice that its fixed in R3
BrianH
2-Nov-2012
[1442]
Just 2.7.8? Not earlier versions?
Maxim
2-Nov-2012
[1443]
probably in all versions... I meant its still there in 2.7.8  didn't 
check earlier versions.
BrianH
2-Nov-2012
[1444]
I checked back to 2.6.2, bug still there.
Maxim
2-Nov-2012
[1445]
it may in fact refer to some part of the RFC which prohibits character 
0 from URLs (which I am guessing is the case, haven't read that RFC 
for a time).


 in this context, it makes sense to leave it there, but if using dehex 
 for other purposes its annoying.
Endo
2-Nov-2012
[1446]
Note, however, that the 

%00" percent-encoding (NUL) may require special handling and should 
be rejected if the application is not expecting to receive raw data 
within a component." -RFC 3986
BrianH
2-Nov-2012
[1447]
Skipping is not rejecting, and Rebol doesn't require special handling 
of NUL in a string. DEHEX made the wrong choice.
Nicolas
2-Nov-2012
[1448x2]
I made a program that embeds a dll to generate a cellular automaton 
image. Could someone test it for me?     http://pastebin.com/raw.php?i=67KtcSK3
windows only
Maxim
2-Nov-2012
[1450]
seems to work here  (a big triangle filled with some recursive inverse 
triangles)