At the core, we use a slightly different version of:

#{{{ eval_source
#
proc eval_source { filename } {
if { [file exists $filename] } {
set err [catch { ns_eval [list source $filename] } result]
}
if { $err } {
ns_log notice eval_source ERROR: $result
}
} else {
error "file $filename does not exist."
}
}
#}}}

There are some wrappers around this to recurse through directories using 
patterns, ignore certain types of files, etc.

Note that "ns_eval is asynchronous and the script isn't immediately 
evaluated in the other interpreters until their next atalloc event".  E.g.: 
you run an ns_eval/source in one nscp, you won't see it reflected in a 
second concurrent nscp session.

Will


On Thursday, February 14, 2013 3:21:30 AM UTC-6, Sep Ng wrote:
>
> Hello,
>
> I've been looking into improve my development environment by using ns_eval 
> to update all the TCL interps everytime I do changes on it. First off, it 
> looks like I have to escape all the special TCL characters on ns_eval.  Is 
> this the intended behaviour because I've seen many examples of people using 
> ns_eval to do something like this:
> ns_eval {source /somewhere/out/there/file.tcl}
> but this has never worked for me (source seems to get confused with the [ 
> and the ].
>
> I did a test and ran:
> ns_eval {ns_log notice {test me}}
> which produced errors where there were too many ns_log arguments.  I was 
> able to get it to work by doing this:
> ns_eval {ns_log notice \{test me\}}
>
> This leads me to believe that I have to escape every character that I use 
> for ns_eval.
>
> My second question is that some of my custom API calls don't seem to be 
> recognized when running ns_eval.  I don't really have much of an 
> explanation for what this could be.  If anyone has ideas and theories, I'm 
> all ears.
>
> Thanks!
>
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013 
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
aolserver-talk mailing list
aolserver-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aolserver-talk

Reply via email to