So I think what’s happening here is that the Context the AnonymousCommand
is created with is ending and thus getting marked finished. The finished
marker is how Contexts know whether or not to keep executing code. You can
see this here:
https://github.com/NetLogo/NetLogo/blob/hexy/netlogo-core/src/main/nvm/Context.java#L128-L137.
Because it’s a do... while rather than a while, it will only prematurely
end if there’s more than one command (which it seems is what you’re
seeing). Regardless of the reason, using a Context past the end of it’s
lifetime is definitely asking for trouble.

How to workaround this depends on the context. Can you give an example of
the usage of your extension? Also, what thread is this event being
triggered from?

On Tue, Jan 7, 2020 at 4:23 PM TechnoRazor <therealtechnora...@gmail.com>
wrote:

> My NetLogo extension has a command that binds an anonymous command to an
> event. On the event, the command is called using:
> command.perform(context, new Object[0]);
> in which context is the context when the anonymous command was first
> bound. This seemed to work fine until recently, when I noticed something
> peculiar. The first time the event occurs after the command is bound, it
> only runs the first command in the anonymous command. This poses a problem
> for me, since, for example, if I bound the command "[-> if true [ print
> true ]]" then it would never print "true" on the first call. I have no idea
> why this is, does someone have an idea of why this happens and how to avoid
> it? Thanks in advance.
>
> --
> You received this message because you are subscribed to the Google Groups
> "netlogo-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to netlogo-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/netlogo-devel/de8251bd-4a06-4a2f-a936-edc7c55993e6%40googlegroups.com
> <https://groups.google.com/d/msgid/netlogo-devel/de8251bd-4a06-4a2f-a936-edc7c55993e6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Bryan Head
PhD Candidate, Computer Science
Center for Connected Learning and Computer-Based Modeling
Department of Electrical Engineering and Computer Science
Northwestern University

-- 
You received this message because you are subscribed to the Google Groups 
"netlogo-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to netlogo-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/netlogo-devel/CAFM%3DnTdfmc-Zu13QQaR1ZFx%3DfcDkN1AeU31_Ss_gvt4F_Vxv%3Dw%40mail.gmail.com.

Reply via email to