Thanks Anton and Max

Anton:
> In my tests it looks like the needs block isn't evaluated,
>  just examined.

We might be seeing different behaviour on different versions of REBOL -- I'm 
looking at Win and Unix.  It looks to me like the header is *always* 
evaluated, including the needs check, despite the /all refinement.  Try this

===save next lines as temp.r===
 A preamble: there is text before header, containing "bad things
 More text before rebol [print "gets printed if this is taken as the header"]
 rebol this isn't a header despite starting with the magic word
 rebol [print "gets printed if header is evaluated" file: %fff needs: [1.2.1 
view]]

 print "gets printed if script is executed"
=====end of test script=====

This is what I see:

>> load %temp.r         ;; evaluates header; returns body
>> load/all %temp.r         ;; crashes because preamble is not valid REBOL 
words
>> load/header %temp.r      ;; evaluates header; returns header
>> load/header/all %temp.r  ;; evaluates header; returns header

What I want is a way to load the header of *any* REBOL script regardless of 
its needs setting.  Any one any ideas?

Max:
>is this dialect actualy usable as a function given a block?

Looks like you can do a lot with it.  I guess part of the original idea is 
that a script can load another's header and thus learn a lot about it. You could 
use that to build some sort of documentation tool.

Or if I wrote something that alters a script (like a pretty printer) I could 
use the header to give it directives:

    rebol [
        prettyprint [maxwidth: 50 comments: 'keep blanklines: 'drop]
        ]

Trouble is. my prettyprinter would seem to be only able to load scripts that 
run under the same version that it does....Annoying or what?

Sunanda.
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to