1
0
Fork 0

Nasal library load order

Control the order in which fgdata/Nasal/*.nas files are loaded
on startup.

Previously all the files were loaded in order based on filename.
This was problematic for aaa.nas which might want to call
props.getNode(), and generally resolved by using
_setlistener("/sim/signals/nasal-dir-initialized")

This change allows us to configure a list of Nasal files that are
loaded first on startup - loadpriority.xml.
This commit is contained in:
Stuart Buchanan 2020-05-25 19:47:50 +01:00
parent 0ce0e436ec
commit f0a999cb2c
2 changed files with 15 additions and 0 deletions

14
Nasal/loadpriority.xml Normal file
View file

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<!--
Core Nasal module load priority list.
The files listed below will be loaded in order before any other files in the
Nasal directory. This is to avoid dependency problems that would otherwise
occur if aaaa.nas relied on props.nas
-->
<PropertyList>
<file n="0">props.nas</file>
<file n="1">globals.nas</file>
<file n="2">math.nas</file>
<file n="3">string.nas</file>
<file n="3">io.nas</file>
</PropertyList>

View file

@ -19,6 +19,7 @@ Started September 2000 by David Megginson, david@megginson.com
<session type="int" userarchive="y">0</session>
<nasal-gc-threaded type="bool">true</nasal-gc-threaded>
<nasal-gc-threaded-wait type="bool">false</nasal-gc-threaded-wait>
<nasal-load-priority include="Nasal/loadpriority.xml" />
<paths>
<screenshot-dir type="string" userarchive="y"/>
<!-- defaults to current working dir -->