Scicos tests: regenerate ref files after referencing messages 01/17301/1
Paul Bignier [Fri, 9 Oct 2015 07:15:10 +0000 (09:15 +0200)]
 * Minor fixes in some Xcos tests as well

Change-Id: I9c76b04b63e1ab7a3c15f7663861506a49cf27e0

16 files changed:
scilab/modules/scicos/tests/unit_tests/model/Block.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Block_copy_list.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Consecutive_init.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Deep_cloning.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Delete_objects.dia.ref
scilab/modules/scicos/tests/unit_tests/model/Diagram.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/SuperBlock_in_SuperBlock.dia.ref
scilab/modules/scicos/tests/unit_tests/model/clone_extract.dia.ref
scilab/modules/scicos/tests/unit_tests/model/from_mlist.dia.ref
scilab/modules/scicos/tests/unit_tests/model/link_preservation.dia.ref
scilab/modules/scicos/tests/unit_tests/model/prop_wrong.dia.ref
scilab/modules/scicos/tests/unit_tests/model/simple_delete.dia.ref
scilab/modules/scicos/tests/unit_tests/sciblk2.dia.ref
scilab/modules/xcos/tests/unit_tests/xcosPalAdd.dia.ref
scilab/modules/xcos/tests/unit_tests/xcosPalAddBlock.dia.ref

index 8076ad0..32bd721 100644 (file)
@@ -10,6 +10,7 @@ scicos_log("TRACE");
 // Allocate a summation block
 o = BIGSOM_f("define")
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -37,6 +38,8 @@ Xcos trace: propertyUpdated( 2 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , PORT , DATATYPE ) : SUCCESS
@@ -54,10 +57,13 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
  o  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -77,6 +83,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -101,6 +109,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,3]
@@ -121,6 +131,8 @@ in_label = ["";""]
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
  ans  =
 sum type: 2
 in = [-1;-1]
@@ -162,6 +174,10 @@ function [ok,sgn,exprs] = scicos_getvalue(title, field, Type, exprs)
 endfunction
 funcprot(p);
 o = BIGSOM_f("set", o)
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos debug: objectCreated( 5 , BLOCK )
 Xcos trace: propertyUpdated( 5 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -216,6 +232,7 @@ Xcos trace: propertyUpdated( 5 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , ANGLE ) : NO_CHANGES
@@ -232,6 +249,8 @@ Xcos trace: propertyUpdated( 6 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , PORT , DATATYPE ) : NO_CHANGES
@@ -255,6 +274,7 @@ Xcos trace: propertyUpdated( 5 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -274,6 +294,8 @@ Xcos debug: objectDeleted( 1 , BLOCK )
  o  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -293,6 +315,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -317,6 +341,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,3]
@@ -337,6 +363,8 @@ in_label = ["";""]
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
  ans  =
 sum type: 2
 in = [-1;-1]
@@ -371,6 +399,10 @@ function [ok,sgn,exprs] = scicos_getvalue(title, field, Type, exprs)
 endfunction
 funcprot(p);
 o = BIGSOM_f("set", o)
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
 Xcos debug: objectCreated( 9 , BLOCK )
 Xcos trace: propertyUpdated( 9 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 9 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -425,6 +457,7 @@ Xcos trace: propertyUpdated( 9 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 9 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 9 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , ANGLE ) : NO_CHANGES
@@ -441,6 +474,8 @@ Xcos trace: propertyUpdated( 10 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 9 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , PORT , DATATYPE ) : NO_CHANGES
@@ -464,6 +499,7 @@ Xcos trace: propertyUpdated( 9 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 5 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -483,6 +519,8 @@ Xcos debug: objectDeleted( 5 , BLOCK )
  o  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -502,6 +540,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -526,6 +566,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,3]
@@ -546,6 +588,8 @@ in_label = ["";""]
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
  ans  =
 sum type: 2
 in = [-1;-1]
@@ -580,6 +624,10 @@ function [ok,sgn,exprs] = scicos_getvalue(title, field, Type, exprs)
 endfunction
 funcprot(p);
 o = BIGSOM_f("set", o)
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
 Xcos debug: objectCreated( 13 , BLOCK )
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -634,6 +682,7 @@ Xcos trace: propertyUpdated( 13 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , ANGLE ) : NO_CHANGES
@@ -657,6 +706,8 @@ Xcos trace: propertyUpdated( 15 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , PORT , DATATYPE ) : NO_CHANGES
@@ -677,6 +728,7 @@ Xcos trace: propertyUpdated( 13 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 9 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 9 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -696,6 +748,8 @@ Xcos debug: objectDeleted( 9 , BLOCK )
  o  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -715,6 +769,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1;-1]
           in2 = [1;1;1]
@@ -739,6 +795,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,3]
@@ -759,6 +817,8 @@ in_label = ["";"";""]
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
  ans  =
 sum type: 2
 in = [-1;-1;-1]
@@ -793,6 +853,10 @@ function [ok,sgn,exprs] = scicos_getvalue(title, field, Type, exprs)
 endfunction
 funcprot(p);
 o = BIGSOM_f("set", o)
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos debug: objectCreated( 18 , BLOCK )
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -856,6 +920,7 @@ Xcos trace: propertyUpdated( 18 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -878,6 +943,8 @@ Xcos trace: propertyUpdated( 19 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 20 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , PORT , DATATYPE ) : NO_CHANGES
@@ -897,6 +964,7 @@ Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 13 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -921,6 +989,8 @@ Xcos debug: objectDeleted( 13 , BLOCK )
  o  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -940,6 +1010,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -964,6 +1036,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,3]
@@ -984,6 +1058,8 @@ in_label = ["";""]
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
  ans  =
 sum type: 2
 in = [-1;-1]
@@ -1011,6 +1087,7 @@ uid = ""
 // Try with another block containing event inputs
 o = CSCOPE("define")
 Xcos debug: objectCreated( 23 , BLOCK )
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1029,6 +1106,8 @@ Xcos trace: propertyUpdated( 24 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 24 , PORT , DATATYPE ) : SUCCESS
@@ -1046,6 +1125,7 @@ Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 23 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -1066,6 +1146,8 @@ Xcos debug: objectDeleted( 18 , BLOCK )
  o  = 
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1085,6 +1167,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
           cscope type: 4
           in = -1
           in2 = 1
@@ -1109,6 +1193,8 @@ Model   :
           equations = list()
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,2]
@@ -1129,6 +1215,8 @@ in_label = ""
 out_label = ""
 style = ""
 o.model
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
  ans  =
 cscope type: 4
 in = -1
@@ -1179,6 +1267,10 @@ function [ok,clrs,win,wpos,wdim,ymin,ymax,per,N,heritance,nom,exprs] = scicos_ge
 endfunction
 funcprot(p);
 o = CSCOPE("set", o)
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
 Xcos debug: objectCreated( 26 , BLOCK )
 Xcos trace: propertyUpdated( 26 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -1224,6 +1316,7 @@ Xcos trace: propertyUpdated( 28 , PORT , CONNECTED_SIGNALS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , EVENT_INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 26 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 26 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1234,6 +1327,8 @@ Xcos trace: propertyUpdated( 27 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 26 , BLOCK ) : 0
+Xcos debug: objectReferenced( 26 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 26 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , PORT , DATATYPE ) : NO_CHANGES
@@ -1252,6 +1347,7 @@ Xcos trace: propertyUpdated( 26 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 26 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 26 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 23 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1266,6 +1362,8 @@ Xcos debug: objectDeleted( 23 , BLOCK )
  o  = 
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 26 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 26 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1285,6 +1383,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 26 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 26 , BLOCK ) : 0
           cscope type: 4
           in = -1
           in2 = 1
@@ -1311,6 +1411,7 @@ Model   :
 // Test 'opar' and 'odstate'
 o = LOGIC("define")
 Xcos debug: objectCreated( 29 , BLOCK )
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 29 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1342,6 +1443,8 @@ Xcos trace: propertyUpdated( 30 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 31 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 32 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : SUCCESS
@@ -1366,6 +1469,7 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 29 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 26 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -1381,6 +1485,8 @@ Xcos debug: objectDeleted( 26 , BLOCK )
  o  = 
 GUI     : LOGIC
 Graphics: 
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1400,6 +1506,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
           logic type: 4
           in = [1;1]
           in2 = [1;1]
@@ -1424,6 +1532,8 @@ Model   :
           equations = list()
           uid = ""
 o.model.opar
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
  ans  =
        ans(1)
   0
@@ -1431,8 +1541,13 @@ o.model.opar
   0
   1
 assert_checkequal(typeof(o.model.opar(1)), "int8");
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 listRef = list([1 2 3; 4 5 6], ["Hello" "world!"; "Test" "123"], [%i 2 3*%i; 4 5*%i 6], uint32([32 32; 32 32]));
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1457,8 +1572,14 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 o.model.odstate = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1483,12 +1604,18 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.odstate, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // With hypermatrices
 // Double
 testHM = hypermat([2 2 2], 1:8);
 listRef = list([], testHM, []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1513,10 +1640,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // int8
 listRef = list([], int8(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1541,10 +1674,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // int16
 listRef = list([], int16(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1569,10 +1708,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // int32
 listRef = list([], int32(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1597,10 +1742,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // uint8
 listRef = list([], uint8(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1625,10 +1776,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // uint16
 listRef = list([], uint16(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1653,10 +1810,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // uint32
 listRef = list([], uint32(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1681,10 +1844,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // String
 listRef = list([], string(testHM), []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1709,10 +1878,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // Bool
 listRef = list([], testHM > 3, []);
 o.model.opar = listRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1737,10 +1912,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, listRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // With tlist
 tlistRef = tlist(["tl" "f1" "f2" "f3"], [], testHM, []);
 o.model.opar = tlistRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1765,10 +1946,16 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, tlistRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // With struct
 structRef = struct("f1", [], "f2", testHM, "f3", []);
 o.model.opar = structRef;
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , PORT , DATATYPE ) : NO_CHANGES
@@ -1793,10 +1980,14 @@ Xcos trace: propertyUpdated( 29 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 assert_checkequal(o.model.opar, structRef);
+Xcos debug: objectReferenced( 29 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 29 , BLOCK ) : 0
 // Test 'equations'
 o = VsourceAC("define")
 Xcos debug: objectCreated( 34 , BLOCK )
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1818,6 +2009,8 @@ Xcos trace: propertyUpdated( 36 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 35 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 36 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 35 , PORT , DATATYPE ) : SUCCESS
@@ -1835,7 +2028,11 @@ Xcos trace: propertyUpdated( 34 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , EQUATIONS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 34 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1849,6 +2046,10 @@ Xcos trace: propertyUpdated( 36 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 35 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 36 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1862,6 +2063,7 @@ Xcos trace: propertyUpdated( 36 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 35 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 36 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 29 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 29 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -1886,6 +2088,8 @@ Xcos debug: objectDeleted( 29 , BLOCK )
  o  = 
 GUI     : VsourceAC
 Graphics: 
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1905,6 +2109,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
           VsourceAC type: 0
           in = 1
           in2 = 1
@@ -1929,6 +2135,8 @@ Model   :
           equations = tlist(["modelica","model","inputs","outputs","parameters"],"VsourceAC","p","n",list(["VA";"f"],list(220,50)))
           uid = ""
 o.model.equations
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
  ans  =
        ans(1)
 !modelica  model  inputs  outputs  parameters  !
@@ -1950,6 +2158,9 @@ o.model.equations
     50.
 listRef = modelica();
 o.model.equations = listRef;
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 35 , PORT , DATATYPE ) : NO_CHANGES
@@ -1971,10 +2182,14 @@ Xcos trace: propertyUpdated( 34 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , EQUATIONS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
 assert_checkequal(o.model.equations, listRef);
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
 // Test 'exprs' with Modelica Block
 o = MBLOCK("define")
 Xcos debug: objectCreated( 37 , BLOCK )
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 37 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2002,6 +2217,8 @@ Xcos trace: propertyUpdated( 38 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 40 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 37 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 37 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 38 , PORT , DATATYPE ) : SUCCESS
@@ -2020,7 +2237,11 @@ Xcos trace: propertyUpdated( 37 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , EQUATIONS ) : SUCCESS
 Xcos trace: propertyUpdated( 37 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 37 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2037,6 +2258,10 @@ Xcos trace: propertyUpdated( 38 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 40 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2053,6 +2278,7 @@ Xcos trace: propertyUpdated( 38 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 40 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 34 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
@@ -2067,6 +2293,8 @@ Xcos debug: objectDeleted( 34 , BLOCK )
  o  = 
 GUI     : MBLOCK
 Graphics: 
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
           orig = [0,0]
           sz = [3,2]
           flip = %t
@@ -2086,6 +2314,8 @@ Graphics:
           out_label = ["";""]
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
           generic type: 30004
           in = 1
           in2 = 1
@@ -2110,6 +2340,8 @@ Model   :
           equations = tlist(["modelica","model","inputs","outputs","parameters"],"generic","u1",["y1";"y2"],list(["R";"L"],list(0.1,0.0001)))
           uid = ""
 o.graphics
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [3,2]
@@ -2130,6 +2362,8 @@ in_label = ""
 out_label = ["";""]
 style = ""
 o.graphics.exprs
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
  ans  =
        ans(1)
 !MBLOCK  in  intype  out  outtype  param  paramv  pprop  nameF  funtxt  !
@@ -2155,6 +2389,8 @@ o.graphics.exprs
        ans(10)
     []
 o.model.equations
+Xcos debug: objectReferenced( 37 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 37 , BLOCK ) : 0
  ans  =
        ans(1)
 !modelica  model  inputs  outputs  parameters  !
@@ -2181,6 +2417,7 @@ o.model.equations
 lS = list([],list([],"Configuration des Param├Ętres du bloc",list([])));
 o = scicos_block(gui="SUPER", graphics=scicos_graphics(exprs=lS));
 Xcos debug: objectCreated( 41 , BLOCK )
+Xcos debug: objectReferenced( 41 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 41 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2188,6 +2425,8 @@ Xcos trace: propertyUpdated( 41 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , EXPRS ) : SUCCESS
 Xcos trace: propertyUpdated( 41 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 41 , BLOCK ) : 0
+Xcos debug: objectReferenced( 41 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 41 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , STATE ) : NO_CHANGES
@@ -2202,6 +2441,7 @@ Xcos trace: propertyUpdated( 41 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 41 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 41 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 37 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 37 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2220,10 +2460,13 @@ Xcos trace: propertyUpdated( 37 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 40 , PORT )
 Xcos debug: objectDeleted( 37 , BLOCK )
 assert_checkequal(o.graphics.exprs, lS);
+Xcos debug: objectReferenced( 41 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 41 , BLOCK ) : 0
 // Masked SuperBlock with one parameter
 lDS = list("3",list("J",["Configuration des Param├Ętres du bloc"; "mon_param"],list("pol", -1)));
 o = scicos_block(gui="DSUPER", graphics=scicos_graphics(exprs=lDS));
 Xcos debug: objectCreated( 42 , BLOCK )
+Xcos debug: objectReferenced( 42 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 42 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2231,6 +2474,8 @@ Xcos trace: propertyUpdated( 42 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , EXPRS ) : SUCCESS
 Xcos trace: propertyUpdated( 42 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 42 , BLOCK ) : 0
+Xcos debug: objectReferenced( 42 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 42 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , STATE ) : NO_CHANGES
@@ -2245,12 +2490,16 @@ Xcos trace: propertyUpdated( 42 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 42 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 42 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectDeleted( 41 , BLOCK )
 assert_checkequal(o.graphics.exprs, lDS);
+Xcos debug: objectReferenced( 42 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 42 , BLOCK ) : 0
 // CBLOCK, default has empty function body
 o = CBLOCK("define");
 Xcos debug: objectCreated( 43 , BLOCK )
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2272,6 +2521,8 @@ Xcos trace: propertyUpdated( 45 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 45 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : SUCCESS
@@ -2288,13 +2539,19 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 43 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectDeleted( 42 , BLOCK )
 lCB = list(["toto"; "n"; "1"; "1"; "[]"; "[]"; "[]"; "0"; "[]"; "[]"; "[]"; "[]"; "y"; "n"], []);
 assert_checkequal(o.graphics.exprs, lCB);
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
 // Add a function body
 lCB2 = list(["toto"; "n"; "1"; "1"; "[]"; "[]"; "[]"; "0"; "[]"; "[]"; "[]"; "[]"; "y"; "n"], ["Function body"]);
 o.graphics.exprs = lCB2;
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2308,10 +2565,14 @@ Xcos trace: propertyUpdated( 45 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 45 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
 assert_checkequal(o.graphics.exprs, lCB2);
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
 // scifunc_block_m
 o = scifunc_block_m("define");
 Xcos debug: objectCreated( 46 , BLOCK )
+Xcos debug: objectReferenced( 46 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 46 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 46 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2333,6 +2594,8 @@ Xcos trace: propertyUpdated( 48 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 47 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 48 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 46 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 0
+Xcos debug: objectReferenced( 46 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 46 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , PORT , DATATYPE ) : SUCCESS
@@ -2353,6 +2616,7 @@ Xcos trace: propertyUpdated( 46 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 46 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 46 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 46 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 46 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2367,9 +2631,12 @@ Xcos debug: objectDeleted( 45 , PORT )
 Xcos debug: objectDeleted( 43 , BLOCK )
 lsci = list(["[1,1]";"[1,1]";"[]";"[]";"[]";"[]";"[]";"[]";"0"],list("y1=sin(u1)"," "," ","y1=sin(u1)"," "," "," "));
 assert_checkequal(o.graphics.exprs, lsci);
+Xcos debug: objectReferenced( 46 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 0
 // fortran_block
 o = fortran_block("define");
 Xcos debug: objectCreated( 49 , BLOCK )
+Xcos debug: objectReferenced( 49 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 49 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 49 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2391,6 +2658,8 @@ Xcos trace: propertyUpdated( 51 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 50 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 51 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 49 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 49 , BLOCK ) : 0
+Xcos debug: objectReferenced( 49 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 49 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 50 , PORT , DATATYPE ) : SUCCESS
@@ -2407,6 +2676,7 @@ Xcos trace: propertyUpdated( 49 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 49 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 49 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 49 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 49 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 49 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2421,9 +2691,12 @@ Xcos debug: objectDeleted( 48 , PORT )
 Xcos debug: objectDeleted( 46 , BLOCK )
 lfort = list(["1";"1";"[]";"forty"],list([]));
 assert_checkequal(o.graphics.exprs, lfort);
+Xcos debug: objectReferenced( 49 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 49 , BLOCK ) : 0
 // Test a PDE block
 o = PDE("define");
 Xcos debug: objectCreated( 52 , BLOCK )
+Xcos debug: objectReferenced( 52 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 52 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 52 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2475,6 +2748,8 @@ Xcos trace: propertyUpdated( 57 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 0
+Xcos debug: objectReferenced( 52 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 52 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 52 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , PORT , DATATYPE ) : SUCCESS
@@ -2496,6 +2771,7 @@ Xcos trace: propertyUpdated( 52 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 52 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2509,6 +2785,8 @@ Xcos trace: propertyUpdated( 49 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 51 , PORT )
 Xcos debug: objectDeleted( 49 , BLOCK )
 o.graphics.exprs
+Xcos debug: objectReferenced( 52 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 0
  ans  =
        ans(1)
               ans(1)(1)
@@ -2692,6 +2970,7 @@ o.graphics.exprs
 // Test 'ipar', 'nzcross' and 'nmode' fields
 o = scicos_block();
 Xcos debug: objectCreated( 60 , BLOCK )
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2699,6 +2978,8 @@ Xcos trace: propertyUpdated( 60 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2713,6 +2994,7 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 60 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Xcos trace: propertyUpdated( 52 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 52 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2751,6 +3033,9 @@ Xcos trace: propertyUpdated( 52 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 59 , PORT )
 Xcos debug: objectDeleted( 52 , BLOCK )
 o.model.ipar = [];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2765,8 +3050,14 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.ipar, []);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 o.model.nzcross = [];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2781,8 +3072,14 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.nzcross, []);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 o.model.nmode = [];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2797,8 +3094,14 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.nmode, []);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 o.model.ipar = [1; 2; 3];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2813,8 +3116,14 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.ipar, [1; 2; 3]);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 o.model.nzcross = [1; 2; 3];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2829,8 +3138,14 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.nzcross, [1; 2; 3]);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 o.model.nmode = [1; 2; 3];
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , STATE ) : NO_CHANGES
@@ -2845,7 +3160,10 @@ Xcos trace: propertyUpdated( 60 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , BLOCK , NMODE ) : SUCCESS
 Xcos trace: propertyUpdated( 60 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 assert_checkequal(o.model.nmode, [1; 2; 3]);
+Xcos debug: objectReferenced( 60 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 60 , BLOCK ) : 0
 // Check that all the model items are freed
 clear
 Xcos debug: objectDeleted( 60 , BLOCK )
index 4b41b77..3b127ed 100644 (file)
@@ -10,6 +10,7 @@ scicos_log("TRACE");
 // Create one block and make a list out of it (duplicate it)
 Sum = BIGSOM_f("define");
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -37,6 +38,8 @@ Xcos trace: propertyUpdated( 2 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , PORT , DATATYPE ) : SUCCESS
@@ -54,6 +57,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 l = list(Sum);
 // Copy the list content (no duplicate)
@@ -61,6 +65,8 @@ Sum2 = l(1)
  Sum2  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -80,6 +86,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -110,6 +118,8 @@ Sum2
 Sum2  = 
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -129,6 +139,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
index 71ab9b7..fc1c939 100644 (file)
@@ -10,6 +10,7 @@ scicos_log("TRACE");
 // Check consecutive initialization of a diagram in a SuperBlock
 super = scicos_block();
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -17,6 +18,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -31,18 +34,22 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 d         = scicos_diagram();
 Xcos debug: objectCreated( 2 , DIAGRAM )
+Xcos debug: objectReferenced( 2 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 sub       = scicos_block();
 Xcos debug: objectCreated( 3 , BLOCK )
+Xcos debug: objectReferenced( 3 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , ANGLE ) : NO_CHANGES
@@ -50,6 +57,8 @@ Xcos trace: propertyUpdated( 3 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , BLOCK ) : 0
+Xcos debug: objectReferenced( 3 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , STATE ) : NO_CHANGES
@@ -64,6 +73,7 @@ Xcos trace: propertyUpdated( 3 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 3 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 d.objs(1) = sub;
 Xcos debug: objectCreated( 4 , BLOCK )
@@ -95,7 +105,11 @@ Xcos trace: propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 super.model.rpar = d;
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -136,8 +150,10 @@ Xcos trace: propertyUpdated( 6 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 6 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -146,9 +162,15 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // 'b' is a SuperBlock containing a Block
 sizeBeforeInsert = size(super.model.rpar.objs);
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 super.model.rpar = d;
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -189,9 +211,12 @@ Xcos trace: propertyUpdated( 8 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 8 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -200,20 +225,26 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 6 , BLOCK )
 Xcos debug: objectDeleted( 5 , DIAGRAM )
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 sizeAfterInsert  = size(super.model.rpar.objs);
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 assert_checkequal(sizeBeforeInsert, 1);
 assert_checkequal(sizeAfterInsert,  1);
 // Check consecutive initialization of a SuperBlock in a diagram
 superD = scicos_diagram();
 Xcos debug: objectCreated( 9 , DIAGRAM )
+Xcos debug: objectReferenced( 9 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 9 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 9 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 superD.objs(1) = super;
@@ -244,6 +275,9 @@ Xcos trace: propertyUpdated( 10 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , STATE ) : NO_CHANGES
@@ -284,8 +318,10 @@ Xcos trace: propertyUpdated( 12 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 12 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 12 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 10 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -294,13 +330,20 @@ Xcos trace: propertyUpdated( 10 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
 // 'superD' is a diagram containing a SuperBlock
 sBeforeInsert = size(superD.objs(1).model.rpar.objs);
+Xcos debug: objectReferenced( 10 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 1
 superD.objs(1) = super;
+Xcos debug: objectUnreferenced( 12 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 12 , BLOCK ) : 0
 Xcos debug: objectDeleted( 11 , DIAGRAM )
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
 Xcos debug: objectCreated( 13 , BLOCK )
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
@@ -328,6 +371,9 @@ Xcos trace: propertyUpdated( 13 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , STATE ) : NO_CHANGES
@@ -368,8 +414,10 @@ Xcos trace: propertyUpdated( 15 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 15 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 15 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 13 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -378,28 +426,38 @@ Xcos trace: propertyUpdated( 13 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 12 , BLOCK )
 Xcos debug: objectDeleted( 10 , BLOCK )
 sAfterInsert  = size(superD.objs(1).model.rpar.objs);
+Xcos debug: objectReferenced( 13 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 1
 assert_checkequal(sizeBeforeInsert, 1);
 assert_checkequal(sizeAfterInsert,  1);
 // Check that all the model items are freed
 clear
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 4 , BLOCK )
 Xcos debug: objectDeleted( 2 , DIAGRAM )
 Xcos debug: objectDeleted( 3 , BLOCK )
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 0
 Xcos debug: objectDeleted( 7 , DIAGRAM )
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 8 , BLOCK )
 Xcos debug: objectDeleted( 1 , BLOCK )
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 0
 Xcos debug: objectDeleted( 14 , DIAGRAM )
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 15 , BLOCK )
index 5bcdc8e..fc0cb73 100644 (file)
@@ -11,6 +11,7 @@ scicos_log("TRACE");
 // The SuperBlock, containing a Block and a Link
 sb = scicos_block();
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -18,6 +19,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -32,20 +35,24 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 // Sub-Diagram of 'sb'
 d = scicos_diagram();
 Xcos debug: objectCreated( 2 , DIAGRAM )
+Xcos debug: objectReferenced( 2 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 // Block & Link
 b = scicos_block();
 Xcos debug: objectCreated( 3 , BLOCK )
+Xcos debug: objectReferenced( 3 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , ANGLE ) : NO_CHANGES
@@ -53,6 +60,8 @@ Xcos trace: propertyUpdated( 3 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , BLOCK ) : 0
+Xcos debug: objectReferenced( 3 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , STATE ) : NO_CHANGES
@@ -67,6 +76,7 @@ Xcos trace: propertyUpdated( 3 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 3 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 l = scicos_link( from=[1 1 0],to=[1 1 1] ); // Connecting 'b' to itself (create two ports)
 Xcos debug: objectCreated( 4 , LINK )
@@ -107,6 +117,7 @@ Xcos trace: propertyUpdated( 5 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
 d.objs(2) = l;
 Xcos debug: objectCreated( 6 , LINK )
 Xcos trace: propertyUpdated( 6 , LINK , COLOR ) : NO_CHANGES
@@ -120,6 +131,7 @@ Xcos trace: propertyUpdated( 6 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , LINK ) : 1
 Xcos debug: objectCreated( 7 , PORT )
 Xcos trace: propertyUpdated( 7 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , PORT , PORT_KIND ) : SUCCESS
@@ -139,6 +151,9 @@ Xcos trace: propertyUpdated( 5 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , DESTINATION_PORT ) : SUCCESS
 sb.model.rpar = d;
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -207,14 +222,18 @@ Xcos trace: propertyUpdated( 13 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 13 , LINK ) : 1
 Xcos trace: propertyUpdated( 12 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 10 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 13 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 13 , LINK ) : 2
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -223,14 +242,17 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Main diagram
 scs_m = scicos_diagram();
 Xcos debug: objectCreated( 14 , DIAGRAM )
+Xcos debug: objectReferenced( 14 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 14 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 14 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 14 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 scs_m.objs(1) = sb;
@@ -261,6 +283,9 @@ Xcos trace: propertyUpdated( 15 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 15 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 15 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , STATE ) : NO_CHANGES
@@ -329,14 +354,18 @@ Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 20 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 17 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 17 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 20 , LINK ) : 1
 Xcos trace: propertyUpdated( 19 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 17 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 17 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 20 , LINK ) : 2
 Xcos trace: propertyUpdated( 15 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -345,10 +374,16 @@ Xcos trace: propertyUpdated( 15 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 15 , BLOCK ) : 1
 scs_m.objs(1).model.rpar // Checking 'sb' elements
+Xcos debug: objectReferenced( 15 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 16 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 16 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -361,10 +396,14 @@ void3 = []
 doc = list()
 1     
 scs_m.objs(1).model.rpar.objs // "
+Xcos debug: objectReferenced( 15 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : 
 Graphics: 
+Xcos debug: objectReferenced( 17 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 17 , BLOCK ) : 2
           orig = [0,0]
           sz = [20,20]
           flip = %t
@@ -384,6 +423,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 17 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 17 , BLOCK ) : 2
            type: 0
           in = -1
           in2 = 1
@@ -451,6 +492,9 @@ Xcos trace: propertyUpdated( 22 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 15 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 1
+Xcos debug: objectReferenced( 22 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 22 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , STATE ) : NO_CHANGES
@@ -519,14 +563,18 @@ Xcos trace: propertyUpdated( 27 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 24 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 24 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 27 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 27 , LINK ) : 1
 Xcos trace: propertyUpdated( 26 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 27 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 25 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 27 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 22 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 24 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 24 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 27 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 27 , LINK ) : 2
 Xcos trace: propertyUpdated( 22 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -535,10 +583,16 @@ Xcos trace: propertyUpdated( 22 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 21 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 22 , BLOCK ) : 1
 l(1).objs(1).model.rpar
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 23 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 23 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -551,10 +605,14 @@ void3 = []
 doc = list()
 1     
 l(1).objs(1).model.rpar.objs
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : 
 Graphics: 
+Xcos debug: objectReferenced( 24 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 2
           orig = [0,0]
           sz = [20,20]
           flip = %t
@@ -574,6 +632,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 24 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 2
            type: 0
           in = -1
           in2 = 1
@@ -607,14 +667,30 @@ Link    :
           from: 1 1 0
           to: 1 1 1
 assert_checkequal(size(l(1).objs(1).model.rpar.objs), 2);
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Check connections
 assert_checkequal(l(1).objs(1).model.rpar.objs(1).graphics.pout, 2);
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
+Xcos debug: objectReferenced( 24 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 2
 assert_checkequal(l(1).objs(1).model.rpar.objs(1).graphics.pin,  2);
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
+Xcos debug: objectReferenced( 24 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 2
 assert_checkequal(l(1).objs(1).model.rpar.objs(2).from, [1 1 0]);
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 assert_checkequal(l(1).objs(1).model.rpar.objs(2).to,   [1 1 1]);
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Check that all the model items are freed
 clear
 Xcos debug: objectDeleted( 3 , BLOCK )
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 6 , LINK ) : 0
 Xcos trace: propertyUpdated( 5 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , INPUTS ) : SUCCESS
@@ -632,9 +708,14 @@ Xcos debug: objectDeleted( 7 , PORT )
 Xcos debug: objectDeleted( 5 , BLOCK )
 Xcos debug: objectDeleted( 6 , LINK )
 Xcos debug: objectDeleted( 2 , DIAGRAM )
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 27 , LINK ) : 1
 Xcos trace: propertyUpdated( 24 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 27 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 24 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 27 , LINK ) : 0
 Xcos debug: objectDeleted( 23 , DIAGRAM )
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 24 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 27 , LINK , PARENT_BLOCK ) : SUCCESS
@@ -654,8 +735,12 @@ Xcos debug: objectDeleted( 24 , BLOCK )
 Xcos debug: objectDeleted( 27 , LINK )
 Xcos debug: objectDeleted( 22 , BLOCK )
 Xcos debug: objectDeleted( 21 , DIAGRAM )
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 13 , LINK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 13 , LINK ) : 0
 Xcos debug: objectDeleted( 9 , DIAGRAM )
 Xcos trace: propertyUpdated( 10 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , LINK , PARENT_BLOCK ) : SUCCESS
@@ -674,9 +759,14 @@ Xcos debug: objectDeleted( 12 , PORT )
 Xcos debug: objectDeleted( 10 , BLOCK )
 Xcos debug: objectDeleted( 13 , LINK )
 Xcos debug: objectDeleted( 1 , BLOCK )
+Xcos debug: objectUnreferenced( 17 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 20 , LINK ) : 1
 Xcos trace: propertyUpdated( 17 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 17 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 20 , LINK ) : 0
 Xcos debug: objectDeleted( 16 , DIAGRAM )
+Xcos debug: objectUnreferenced( 15 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 15 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 17 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_BLOCK ) : SUCCESS
@@ -703,6 +793,7 @@ scicos_log("TRACE");
 // The SuperBlock, containing a Block and a Link
 sb = scicos_block();
 Xcos debug: objectCreated( 28 , BLOCK )
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 28 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , ANGLE ) : NO_CHANGES
@@ -710,6 +801,8 @@ Xcos trace: propertyUpdated( 28 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 28 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , STATE ) : NO_CHANGES
@@ -724,20 +817,24 @@ Xcos trace: propertyUpdated( 28 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 28 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 // Sub-Diagram of 'sb'
 d = scicos_diagram();
 Xcos debug: objectCreated( 29 , DIAGRAM )
+Xcos debug: objectReferenced( 29 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 29 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 29 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 29 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 // Block & Link
 Sum1 = BIGSOM_f("define");
 Xcos debug: objectCreated( 30 , BLOCK )
+Xcos debug: objectReferenced( 30 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 30 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , ANGLE ) : NO_CHANGES
@@ -765,6 +862,8 @@ Xcos trace: propertyUpdated( 31 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 32 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 30 , BLOCK ) : 0
+Xcos debug: objectReferenced( 30 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 30 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 31 , PORT , DATATYPE ) : SUCCESS
@@ -782,9 +881,11 @@ Xcos trace: propertyUpdated( 30 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 30 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 30 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Sum2 = BIGSOM_f("define");
 Xcos debug: objectCreated( 34 , BLOCK )
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , ANGLE ) : NO_CHANGES
@@ -812,6 +913,8 @@ Xcos trace: propertyUpdated( 35 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 36 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 37 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 35 , PORT , DATATYPE ) : SUCCESS
@@ -829,6 +932,7 @@ Xcos trace: propertyUpdated( 34 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 34 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 l = scicos_link( from=[1 1 0],to=[2 1 1] ); // Connecting 'Sum1' to 'Sum2'
 Xcos debug: objectCreated( 38 , LINK )
@@ -896,6 +1000,7 @@ Xcos trace: propertyUpdated( 39 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 39 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 39 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 39 , BLOCK ) : 1
 d.objs(2) = Sum2;
 Xcos debug: objectCreated( 43 , BLOCK )
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
@@ -953,6 +1058,7 @@ Xcos trace: propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 d.objs(3) = l;
 Xcos debug: objectCreated( 47 , LINK )
 Xcos trace: propertyUpdated( 47 , LINK , COLOR ) : NO_CHANGES
@@ -966,11 +1072,15 @@ Xcos trace: propertyUpdated( 47 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 47 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 47 , LINK ) : 1
 Xcos trace: propertyUpdated( 42 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 44 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , LINK , DESTINATION_PORT ) : SUCCESS
 sb.model.rpar = d;
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 28 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , STATE ) : NO_CHANGES
@@ -1102,16 +1212,22 @@ Xcos trace: propertyUpdated( 57 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 48 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 49 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 53 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 53 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 57 , LINK ) : 1
 Xcos trace: propertyUpdated( 52 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 28 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 49 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 53 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 53 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 57 , LINK ) : 2
 Xcos trace: propertyUpdated( 28 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -1120,14 +1236,17 @@ Xcos trace: propertyUpdated( 28 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
 // Main diagram
 scs_m = scicos_diagram();
 Xcos debug: objectCreated( 58 , DIAGRAM )
+Xcos debug: objectReferenced( 58 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 58 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 58 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 58 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 58 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 scs_m.objs(1) = sb;
@@ -1158,6 +1277,9 @@ Xcos trace: propertyUpdated( 59 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
+Xcos debug: objectReferenced( 59 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 59 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , STATE ) : NO_CHANGES
@@ -1289,16 +1411,22 @@ Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 60 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 61 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 61 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 65 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 65 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 69 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 69 , LINK ) : 1
 Xcos trace: propertyUpdated( 64 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 69 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 66 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 69 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 59 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 61 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 61 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 65 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 65 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 69 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 69 , LINK ) : 2
 Xcos trace: propertyUpdated( 59 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -1307,10 +1435,16 @@ Xcos trace: propertyUpdated( 59 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 58 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 59 , BLOCK ) : 1
 scs_m.objs(1).model.rpar // Checking 'sb' elements
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 60 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 60 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -1324,10 +1458,14 @@ doc = list()
 1     BIGSOM_f
 2     BIGSOM_f
 scs_m.objs(1).model.rpar.objs // "
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 61 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 61 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1347,6 +1485,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 61 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 61 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1373,6 +1513,8 @@ Model   :
        ans(2)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 65 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 65 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1392,6 +1534,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 65 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 65 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1459,6 +1603,9 @@ Xcos trace: propertyUpdated( 71 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
+Xcos debug: objectReferenced( 71 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 71 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , STATE ) : NO_CHANGES
@@ -1590,16 +1737,22 @@ Xcos trace: propertyUpdated( 81 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 81 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 72 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 73 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 73 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 77 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 77 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 81 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 81 , LINK ) : 1
 Xcos trace: propertyUpdated( 76 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 81 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 78 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 81 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 71 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 73 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 73 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 77 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 77 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 81 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 81 , LINK ) : 2
 Xcos trace: propertyUpdated( 71 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -1608,10 +1761,16 @@ Xcos trace: propertyUpdated( 71 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 71 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 70 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 71 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 71 , BLOCK ) : 1
 l(1).objs(1).model.rpar
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 72 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 72 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -1625,10 +1784,14 @@ doc = list()
 1     BIGSOM_f
 2     BIGSOM_f
 l(1).objs(1).model.rpar.objs
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 73 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 73 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1648,6 +1811,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 73 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 73 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1674,6 +1839,8 @@ Model   :
        ans(2)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 77 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 77 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1693,6 +1860,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 77 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 77 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1726,12 +1895,28 @@ Link    :
           from: 1 1 0
           to: 2 1 1
 assert_checkequal(size(l(1).objs(1).model.rpar.objs), 3);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
 // Check connections
 assert_checkequal(l(1).objs(1).model.rpar.objs(1).graphics.pout,   3);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
+Xcos debug: objectReferenced( 73 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 73 , BLOCK ) : 2
 assert_checkequal(l(1).objs(1).model.rpar.objs(2).graphics.pin(1), 3);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
+Xcos debug: objectReferenced( 77 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 77 , BLOCK ) : 2
 assert_checkequal(l(1).objs(1).model.rpar.objs(3).from, [1 1 0]);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
 assert_checkequal(l(1).objs(1).model.rpar.objs(3).from, [1 1 0]);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
 assert_checkequal(l(1).objs(1).model.rpar.objs(3).to,   [2 1 1]);
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
 // Clone a second time
 l2 = list(1); l2(1) = l(1); // Cloning 'l(1)', which is 'scs_m's clone
 Xcos debug: objectCreated( 82 , DIAGRAM )
@@ -1767,6 +1952,9 @@ Xcos trace: propertyUpdated( 83 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 71 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 1
+Xcos debug: objectReferenced( 83 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 83 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , STATE ) : NO_CHANGES
@@ -1898,16 +2086,22 @@ Xcos trace: propertyUpdated( 93 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 93 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 84 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 85 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 85 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 89 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 89 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 93 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 93 , LINK ) : 1
 Xcos trace: propertyUpdated( 88 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 93 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 90 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 93 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 83 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 85 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 85 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 89 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 89 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 93 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 93 , LINK ) : 2
 Xcos trace: propertyUpdated( 83 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -1916,10 +2110,16 @@ Xcos trace: propertyUpdated( 83 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 83 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 82 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 83 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 83 , BLOCK ) : 1
 l2(1).objs(1).model.rpar
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 84 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 84 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -1933,10 +2133,14 @@ doc = list()
 1     BIGSOM_f
 2     BIGSOM_f
 l2(1).objs(1).model.rpar.objs
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 85 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 85 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1956,6 +2160,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 85 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 85 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1982,6 +2188,8 @@ Model   :
        ans(2)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 89 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 89 , BLOCK ) : 2
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -2001,6 +2209,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 89 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 89 , BLOCK ) : 2
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -2034,12 +2244,28 @@ Link    :
           from: 1 1 0
           to: 2 1 1
 assert_checkequal(size(l2(1).objs(1).model.rpar.objs), 3);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
 // Check connections
 assert_checkequal(l2(1).objs(1).model.rpar.objs(1).graphics.pout,   3);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
+Xcos debug: objectReferenced( 85 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 85 , BLOCK ) : 2
 assert_checkequal(l2(1).objs(1).model.rpar.objs(2).graphics.pin(1), 3);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
+Xcos debug: objectReferenced( 89 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 89 , BLOCK ) : 2
 assert_checkequal(l2(1).objs(1).model.rpar.objs(3).from, [1 1 0]);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
 assert_checkequal(l2(1).objs(1).model.rpar.objs(3).from, [1 1 0]);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
 assert_checkequal(l2(1).objs(1).model.rpar.objs(3).to,   [2 1 1]);
+Xcos debug: objectReferenced( 83 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 1
 // Check that all the model items are freed
 clear
 Xcos trace: propertyUpdated( 30 , BLOCK , INPUTS ) : SUCCESS
@@ -2074,6 +2300,9 @@ Xcos trace: propertyUpdated( 34 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 37 , PORT )
 Xcos debug: objectDeleted( 34 , BLOCK )
+Xcos debug: objectUnreferenced( 39 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 47 , LINK ) : 0
 Xcos trace: propertyUpdated( 39 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 47 , LINK , PARENT_DIAGRAM ) : SUCCESS
@@ -2113,10 +2342,17 @@ Xcos debug: objectDeleted( 46 , PORT )
 Xcos debug: objectDeleted( 43 , BLOCK )
 Xcos debug: objectDeleted( 47 , LINK )
 Xcos debug: objectDeleted( 29 , DIAGRAM )
+Xcos debug: objectUnreferenced( 73 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 77 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 81 , LINK ) : 1
 Xcos trace: propertyUpdated( 73 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 77 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 81 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 73 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 77 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 81 , LINK ) : 0
 Xcos debug: objectDeleted( 72 , DIAGRAM )
+Xcos debug: objectUnreferenced( 71 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 71 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 73 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 77 , BLOCK , PARENT_BLOCK ) : SUCCESS
@@ -2158,10 +2394,17 @@ Xcos debug: objectDeleted( 77 , BLOCK )
 Xcos debug: objectDeleted( 81 , LINK )
 Xcos debug: objectDeleted( 71 , BLOCK )
 Xcos debug: objectDeleted( 70 , DIAGRAM )
+Xcos debug: objectUnreferenced( 85 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 89 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 93 , LINK ) : 1
 Xcos trace: propertyUpdated( 85 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 89 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 93 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 85 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 89 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 93 , LINK ) : 0
 Xcos debug: objectDeleted( 84 , DIAGRAM )
+Xcos debug: objectUnreferenced( 83 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 83 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 85 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 89 , BLOCK , PARENT_BLOCK ) : SUCCESS
@@ -2203,9 +2446,15 @@ Xcos debug: objectDeleted( 89 , BLOCK )
 Xcos debug: objectDeleted( 93 , LINK )
 Xcos debug: objectDeleted( 83 , BLOCK )
 Xcos debug: objectDeleted( 82 , DIAGRAM )
+Xcos debug: objectUnreferenced( 49 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 53 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 57 , LINK ) : 1
 Xcos trace: propertyUpdated( 49 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 53 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 49 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 53 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 57 , LINK ) : 0
 Xcos debug: objectDeleted( 48 , DIAGRAM )
 Xcos trace: propertyUpdated( 49 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 53 , BLOCK , PARENT_BLOCK ) : SUCCESS
@@ -2246,10 +2495,17 @@ Xcos debug: objectDeleted( 56 , PORT )
 Xcos debug: objectDeleted( 53 , BLOCK )
 Xcos debug: objectDeleted( 57 , LINK )
 Xcos debug: objectDeleted( 28 , BLOCK )
+Xcos debug: objectUnreferenced( 61 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 65 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 69 , LINK ) : 1
 Xcos trace: propertyUpdated( 61 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 65 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 69 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 61 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 65 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 69 , LINK ) : 0
 Xcos debug: objectDeleted( 60 , DIAGRAM )
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 61 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 65 , BLOCK , PARENT_BLOCK ) : SUCCESS
@@ -2297,19 +2553,26 @@ scicos_log("TRACE");
 // Try with a predefined SuperBlock
 sb = SUPER_f("define");
 Xcos debug: objectCreated( 94 , DIAGRAM )
+Xcos debug: objectReferenced( 94 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 94 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 94 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 94 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
+Xcos debug: objectReferenced( 94 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 94 , DIAGRAM ) : 0
+Xcos debug: objectReferenced( 94 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 94 , DIAGRAM , TITLE ) : SUCCESS
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 94 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 95 , BLOCK )
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 95 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2324,6 +2587,8 @@ Xcos trace: propertyUpdated( 96 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 95 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 95 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , DATATYPE ) : SUCCESS
@@ -2341,7 +2606,11 @@ Xcos trace: propertyUpdated( 95 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 95 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2352,6 +2621,10 @@ Xcos trace: propertyUpdated( 96 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
+Xcos debug: objectReferenced( 95 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 95 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2362,7 +2635,9 @@ Xcos trace: propertyUpdated( 96 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 96 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 95 , BLOCK ) : 0
 Xcos debug: objectCreated( 97 , BLOCK )
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 97 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2377,6 +2652,8 @@ Xcos trace: propertyUpdated( 98 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 97 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 97 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , DATATYPE ) : SUCCESS
@@ -2394,7 +2671,11 @@ Xcos trace: propertyUpdated( 97 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 97 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2405,6 +2686,10 @@ Xcos trace: propertyUpdated( 98 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
+Xcos debug: objectReferenced( 97 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 97 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2415,6 +2700,7 @@ Xcos trace: propertyUpdated( 98 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 98 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 97 , BLOCK ) : 0
 Xcos debug: objectCreated( 99 , BLOCK )
 Xcos trace: propertyUpdated( 99 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 99 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -2453,6 +2739,7 @@ Xcos trace: propertyUpdated( 99 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 99 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 99 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 99 , BLOCK ) : 1
 Xcos debug: objectCreated( 101 , BLOCK )
 Xcos trace: propertyUpdated( 101 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 101 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -2491,7 +2778,9 @@ Xcos trace: propertyUpdated( 101 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 101 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 94 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 101 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 101 , BLOCK ) : 1
 Xcos debug: objectCreated( 103 , BLOCK )
+Xcos debug: objectReferenced( 103 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 103 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 103 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 103 , BLOCK , ANGLE ) : NO_CHANGES
@@ -2513,6 +2802,8 @@ Xcos trace: propertyUpdated( 105 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 104 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 105 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 103 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 103 , BLOCK ) : 0
+Xcos debug: objectReferenced( 103 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 103 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 103 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 104 , PORT , DATATYPE ) : SUCCESS
@@ -2600,10 +2891,14 @@ Xcos trace: propertyUpdated( 109 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 109 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 106 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 107 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 107 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 109 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 109 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 103 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 107 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 107 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 109 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 109 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 107 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 109 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 103 , BLOCK , IPAR ) : NO_CHANGES
@@ -2614,6 +2909,7 @@ Xcos trace: propertyUpdated( 103 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 103 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 103 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 103 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 103 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 103 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 95 , BLOCK , INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 95 , BLOCK , OUTPUTS ) : SUCCESS
@@ -2627,6 +2923,8 @@ Xcos trace: propertyUpdated( 97 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 97 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 98 , PORT )
 Xcos debug: objectDeleted( 97 , BLOCK )
+Xcos debug: objectUnreferenced( 99 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 101 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 99 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 101 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 99 , BLOCK , INPUTS ) : NO_CHANGES
@@ -2644,11 +2942,13 @@ Xcos debug: objectDeleted( 101 , BLOCK )
 Xcos debug: objectDeleted( 94 , DIAGRAM )
 scs_m = scicos_diagram();
 Xcos debug: objectCreated( 111 , DIAGRAM )
+Xcos debug: objectReferenced( 111 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 111 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 111 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 111 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 111 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 111 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 111 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 111 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 111 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 scs_m.objs(1) = sb;
@@ -2697,6 +2997,9 @@ Xcos trace: propertyUpdated( 112 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 112 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 103 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 103 , BLOCK ) : 0
+Xcos debug: objectReferenced( 112 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 112 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 113 , PORT , DATATYPE ) : NO_CHANGES
@@ -2788,10 +3091,14 @@ Xcos trace: propertyUpdated( 118 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 118 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 115 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 116 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 116 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 118 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 118 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 112 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 116 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 116 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 118 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 118 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 116 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 118 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 112 , BLOCK , IPAR ) : NO_CHANGES
@@ -2802,8 +3109,10 @@ Xcos trace: propertyUpdated( 112 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 112 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 112 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 111 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 112 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 112 , BLOCK ) : 1
 l = list(1); l(1) = scs_m; // Cloning 'scs_m'
 Xcos debug: objectCreated( 120 , DIAGRAM )
 Xcos trace: propertyUpdated( 120 , DIAGRAM , TITLE ) : NO_CHANGES
@@ -2856,6 +3165,9 @@ Xcos trace: propertyUpdated( 121 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 121 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 112 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 112 , BLOCK ) : 1
+Xcos debug: objectReferenced( 121 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 121 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 122 , PORT , DATATYPE ) : NO_CHANGES
@@ -2947,10 +3259,14 @@ Xcos trace: propertyUpdated( 127 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 127 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 124 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 125 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 125 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 127 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 127 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 121 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 125 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 125 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 127 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 127 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 125 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 127 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 121 , BLOCK , IPAR ) : NO_CHANGES
@@ -2961,10 +3277,16 @@ Xcos trace: propertyUpdated( 121 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 121 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 121 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 120 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 121 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 121 , BLOCK ) : 1
 l(1).objs(1).model.rpar
+Xcos debug: objectReferenced( 121 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 121 , BLOCK ) : 1
  ans  =
+Xcos debug: objectReferenced( 124 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 124 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Super Block";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -2978,10 +3300,14 @@ doc = list()
 1     IN_f
 2     OUT_f
 l(1).objs(1).model.rpar.objs
+Xcos debug: objectReferenced( 121 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 121 , BLOCK ) : 1
  ans  =
        ans(1)
 GUI     : IN_f
 Graphics: 
+Xcos debug: objectReferenced( 125 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 125 , BLOCK ) : 2
           orig = [40,40]
           sz = [20,20]
           flip = %t
@@ -3001,6 +3327,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 125 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 125 , BLOCK ) : 2
           input type: 0
           in = []
           in2 = []
@@ -3027,6 +3355,8 @@ Model   :
        ans(2)
 GUI     : OUT_f
 Graphics: 
+Xcos debug: objectReferenced( 127 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 127 , BLOCK ) : 2
           orig = [240,40]
           sz = [20,20]
           flip = %t
@@ -3046,6 +3376,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 127 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 127 , BLOCK ) : 2
           output type: 0
           in = -1
           in2 = -2
@@ -3070,11 +3402,18 @@ Model   :
           equations = list()
           uid = ""
 assert_checkequal(size(l(1).objs(1).model.rpar.objs), 2); // Blocks "IN_f" and "OUT_f"
+Xcos debug: objectReferenced( 121 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 121 , BLOCK ) : 1
 // Check that all the model items are freed
 clear
+Xcos debug: objectUnreferenced( 125 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 127 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 125 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 127 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 125 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 127 , BLOCK ) : 0
 Xcos debug: objectDeleted( 124 , DIAGRAM )
+Xcos debug: objectUnreferenced( 121 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 121 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 121 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 121 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -3102,8 +3441,12 @@ Xcos debug: objectDeleted( 128 , PORT )
 Xcos debug: objectDeleted( 127 , BLOCK )
 Xcos debug: objectDeleted( 121 , BLOCK )
 Xcos debug: objectDeleted( 120 , DIAGRAM )
+Xcos debug: objectUnreferenced( 107 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 109 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 107 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 109 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 107 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 109 , BLOCK ) : 0
 Xcos debug: objectDeleted( 106 , DIAGRAM )
 Xcos trace: propertyUpdated( 103 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 103 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -3130,9 +3473,14 @@ Xcos trace: propertyUpdated( 109 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 110 , PORT )
 Xcos debug: objectDeleted( 109 , BLOCK )
 Xcos debug: objectDeleted( 103 , BLOCK )
+Xcos debug: objectUnreferenced( 116 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 118 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 116 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 118 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 116 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 118 , BLOCK ) : 0
 Xcos debug: objectDeleted( 115 , DIAGRAM )
+Xcos debug: objectUnreferenced( 112 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 112 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 112 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 112 , BLOCK , OUTPUTS ) : NO_CHANGES
index 0384037..c93e00d 100644 (file)
@@ -9,15 +9,18 @@ loadXcosLibs();
 scicos_log("TRACE");
 scs_m = scicos_diagram();
 Xcos debug: objectCreated( 1 , DIAGRAM )
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 1 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Sum1 = BIGSOM_f("define");
 Xcos debug: objectCreated( 2 , BLOCK )
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -45,6 +48,8 @@ Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , PORT , DATATYPE ) : SUCCESS
@@ -62,9 +67,11 @@ Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 2 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Sum2 = BIGSOM_f("define");
 Xcos debug: objectCreated( 6 , BLOCK )
+Xcos debug: objectReferenced( 6 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 6 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , ANGLE ) : NO_CHANGES
@@ -92,6 +99,8 @@ Xcos trace: propertyUpdated( 7 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 0
+Xcos debug: objectReferenced( 6 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 6 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , PORT , DATATYPE ) : SUCCESS
@@ -109,6 +118,7 @@ Xcos trace: propertyUpdated( 6 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 6 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 lnk1 = scicos_link( from=[1 1 0],to=[2 1 1]);
 Xcos debug: objectCreated( 10 , LINK )
@@ -184,6 +194,7 @@ Xcos trace: propertyUpdated( 12 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 12 , BLOCK ) : 1
 scs_m.objs(2) = Sum2;
 Xcos debug: objectCreated( 16 , BLOCK )
 Xcos trace: propertyUpdated( 16 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
@@ -241,6 +252,7 @@ Xcos trace: propertyUpdated( 16 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 16 , BLOCK ) : 1
 scs_m.objs(3) = lnk1;
 Xcos debug: objectCreated( 20 , LINK )
 Xcos trace: propertyUpdated( 20 , LINK , COLOR ) : NO_CHANGES
@@ -254,6 +266,7 @@ Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 20 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 20 , LINK ) : 1
 Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 17 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -271,6 +284,7 @@ Xcos trace: propertyUpdated( 21 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 21 , LINK ) : 1
 Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , SOURCE_PORT ) : NO_CHANGES
@@ -283,6 +297,7 @@ Xcos trace: propertyUpdated( 21 , LINK , DESTINATION_PORT ) : NO_CHANGES
 // check that they were replaced with "Deleted" mlists.
 DeletedBlock = mlist("Deleted");
 scs_m.objs(1) = DeletedBlock;
+Xcos debug: objectUnreferenced( 12 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , INPUTS ) : SUCCESS
@@ -309,6 +324,7 @@ Xcos trace: propertyUpdated( 21 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(1), DeletedBlock);
 scs_m.objs(2) = DeletedBlock;
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 16 , BLOCK , INPUTS ) : SUCCESS
@@ -332,6 +348,7 @@ Xcos trace: propertyUpdated( 21 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(2), DeletedBlock);
 scs_m.objs(3) = DeletedBlock;
+Xcos debug: objectUnreferenced( 20 , LINK ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 20 , LINK )
@@ -339,6 +356,7 @@ Xcos trace: propertyUpdated( 21 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(3), DeletedBlock);
 scs_m.objs(4) = DeletedBlock;
+Xcos debug: objectUnreferenced( 21 , LINK ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 21 , LINK )
index d402920..6d7d4fa 100644 (file)
@@ -10,14 +10,18 @@ scicos_log("TRACE");
 // Allocate a diagram and access its fields
 scs_m = scicos_diagram()
 Xcos debug: objectCreated( 1 , DIAGRAM )
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 1 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
  scs_m  = 
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -29,6 +33,8 @@ void2 = []
 void3 = []
 doc = list()
 scs_m.props
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
  ans  =
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
@@ -54,6 +60,7 @@ Xcos debug: objectDeleted( 1 , DIAGRAM )
 // Create a dummy diagram with one undefined block then clear it
 scs_m = scicos_diagram(objs=list(scicos_block()));
 Xcos debug: objectCreated( 2 , BLOCK )
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -61,6 +68,8 @@ Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STATE ) : NO_CHANGES
@@ -75,13 +84,16 @@ Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 2 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Xcos debug: objectCreated( 3 , DIAGRAM )
+Xcos debug: objectReferenced( 3 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 4 , BLOCK )
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
@@ -111,15 +123,18 @@ Xcos trace: propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Xcos debug: objectDeleted( 2 , BLOCK )
 clear scs_m
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 4 , BLOCK )
 Xcos debug: objectDeleted( 3 , DIAGRAM )
 // Create a diagram containing 2 summation blocks and two links
 Sum    = BIGSOM_f("define");
 Xcos debug: objectCreated( 5 , BLOCK )
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , ANGLE ) : NO_CHANGES
@@ -147,6 +162,8 @@ Xcos trace: propertyUpdated( 6 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
+Xcos debug: objectReferenced( 5 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , PORT , DATATYPE ) : SUCCESS
@@ -164,9 +181,11 @@ Xcos trace: propertyUpdated( 5 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 5 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 5 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Scope1 = CSCOPE("define");
 Xcos debug: objectCreated( 9 , BLOCK )
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 9 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 9 , BLOCK , ANGLE ) : NO_CHANGES
@@ -185,6 +204,8 @@ Xcos trace: propertyUpdated( 10 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
+Xcos debug: objectReferenced( 9 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 9 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 9 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , PORT , DATATYPE ) : SUCCESS
@@ -202,9 +223,11 @@ Xcos trace: propertyUpdated( 9 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 9 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 9 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Scope2 = CSCOPE("define");
 Xcos debug: objectCreated( 12 , BLOCK )
+Xcos debug: objectReferenced( 12 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 12 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , ANGLE ) : NO_CHANGES
@@ -223,6 +246,8 @@ Xcos trace: propertyUpdated( 13 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 12 , BLOCK ) : 0
+Xcos debug: objectReferenced( 12 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 12 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 12 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , PORT , DATATYPE ) : SUCCESS
@@ -240,6 +265,7 @@ Xcos trace: propertyUpdated( 12 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 12 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 12 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 lnk1   = scicos_link();          // Data link
 Xcos debug: objectCreated( 15 , LINK )
@@ -259,11 +285,13 @@ Xcos trace: propertyUpdated( 16 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , LINK , KIND ) : SUCCESS
 scs_m = scicos_diagram( objs=list(Sum,Scope1,Scope2,lnk1,lnk2) )
 Xcos debug: objectCreated( 17 , DIAGRAM )
+Xcos debug: objectReferenced( 17 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 17 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 17 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 18 , BLOCK )
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -430,16 +458,23 @@ Xcos trace: propertyUpdated( 29 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 22 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 25 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 25 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 28 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 28 , LINK ) : 1
 Xcos trace: propertyUpdated( 29 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 29 , LINK ) : 1
 Xcos trace: propertyUpdated( 28 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
  scs_m  = 
+Xcos debug: objectReferenced( 17 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 17 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -458,6 +493,8 @@ scs_m.objs
        ans(1)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 18 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -477,6 +514,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 18 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 1
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -503,6 +542,8 @@ Model   :
        ans(2)
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -522,6 +563,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
           cscope type: 4
           in = -1
           in2 = 1
@@ -548,6 +591,8 @@ Model   :
        ans(3)
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 25 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 25 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -567,6 +612,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 25 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 25 , BLOCK ) : 1
           cscope type: 4
           in = -1
           in2 = 1
@@ -620,7 +667,11 @@ Xcos trace: propertyUpdated( 28 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(1).graphics.pout, 4);   // Check that block #1 is connected to lnk1
+Xcos debug: objectReferenced( 18 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(1).model.out,    -1);   // "
+Xcos debug: objectReferenced( 18 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 1
 scs_m.objs(4).to = [2 1 1];   // Link block #2
 Xcos trace: propertyUpdated( 23 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 28 , LINK , DESTINATION_PORT ) : SUCCESS
@@ -636,7 +687,11 @@ Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(4).from, [1 1 0]);
 assert_checkequal(scs_m.objs(4).to,   [2 1 1]);
 assert_checkequal(scs_m.objs(2).graphics.pin, 4);    // Check that block #2 is connected to lnk1
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.in,    -1);    // "
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Change the end of the link to input port #2 of block #2
 scs_m.objs(4).to = [2 2 1];
 Xcos trace: propertyUpdated( 23 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -661,7 +716,11 @@ Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(4).from, [1 1 0]);
 assert_checkequal(scs_m.objs(4).to,   [2 2 1]);
 assert_checkequal(scs_m.objs(2).graphics.pin, [0; 4]);   // Check that block #2 is connected to lnk1
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.in,     [-1; -1]); // "
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Disconnect the source
 scs_m.objs(4).from = [0 0 0];
 Xcos trace: propertyUpdated( 21 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -676,7 +735,11 @@ Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(4).from, [0 0 0]);
 assert_checkequal(scs_m.objs(4).to,   [2 2 1]);
 assert_checkequal(scs_m.objs(1).graphics.pout, 0);     // Check that block #1 is not connected
+Xcos debug: objectReferenced( 18 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).graphics.pin, [0; 4]); // But block #2 is still connected to the link
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Disconnect the destination
 scs_m.objs(4).to = [0 0 0];
 Xcos trace: propertyUpdated( 30 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -687,6 +750,8 @@ Xcos trace: propertyUpdated( 28 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(2).graphics.pin, [0; 0]);  // Check that block #2 is not connected
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 // Now link the two Scope blocks together by adding an event output port to block #3 thanks to lnk2
 scs_m.objs(5).from = [2 1 1]; // Link the input of block #2
 Xcos trace: propertyUpdated( 24 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -720,9 +785,17 @@ Xcos trace: propertyUpdated( 29 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs_m.objs(5).from, [2 1 1]);
 assert_checkequal(scs_m.objs(5).to,   [3 1 0]);
 assert_checkequal(scs_m.objs(2).graphics.pein,  5);  // Check that block #2 is connected to lnk2
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.evtin,    1);  // "
+Xcos debug: objectReferenced( 22 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(3).graphics.peout, 5);  // Check that block #3 is connected to lnk2
+Xcos debug: objectReferenced( 25 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 25 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(3).model.evtout,  -1);  // "
+Xcos debug: objectReferenced( 25 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 25 , BLOCK ) : 1
 // Verify that it is impossible to link two inputs or two outputs together
 scs_m.objs(5).from = [2 1 0]; // Two outputs
 Xcos trace: propertyUpdated( 17 , DIAGRAM , CHILDREN ) : NO_CHANGES
@@ -738,6 +811,11 @@ Xcos trace: propertyUpdated( 28 , LINK , DESTINATION_PORT ) : NO_CHANGES
 //===================================================================================================
 // Test predefined link at diagram creation
 clear scs_m;
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 22 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 25 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 28 , LINK ) : 0
+Xcos debug: objectUnreferenced( 29 , LINK ) : 0
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 22 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 25 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
@@ -806,11 +884,13 @@ Xcos trace: propertyUpdated( 32 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 32 , LINK , KIND ) : NO_CHANGES
 scs_m = scicos_diagram( objs=list(Sum,Scope1,lnk) );
 Xcos debug: objectCreated( 33 , DIAGRAM )
+Xcos debug: objectReferenced( 33 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 33 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 33 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 34 , BLOCK )
 Xcos trace: propertyUpdated( 34 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -922,8 +1002,11 @@ Xcos trace: propertyUpdated( 41 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 41 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 33 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 34 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 38 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 38 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 41 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 41 , LINK ) : 1
 Xcos trace: propertyUpdated( 37 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 41 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 39 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -932,12 +1015,23 @@ Xcos trace: propertyUpdated( 33 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 assert_checkequal(scs_m.objs(3).from, [1 1 0]);
 assert_checkequal(scs_m.objs(3).to,   [2 1 1]);
 assert_checkequal(scs_m.objs(1).graphics.pout,  3);  // Check that block #1 is connected to lnk
+Xcos debug: objectReferenced( 34 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(1).model.out,     -1);  // "
+Xcos debug: objectReferenced( 34 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).graphics.pin,   3);  // Check that block #2 is connected to lnk
+Xcos debug: objectReferenced( 38 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 38 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.in,      -1);  // "
+Xcos debug: objectReferenced( 38 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 38 , BLOCK ) : 1
 //===================================================================================================
 // Test predefined link insertion
 clear scs_m;
+Xcos debug: objectUnreferenced( 34 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 38 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 41 , LINK ) : 0
 Xcos trace: propertyUpdated( 34 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 38 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 41 , LINK , PARENT_DIAGRAM ) : SUCCESS
@@ -983,11 +1077,13 @@ Xcos trace: propertyUpdated( 42 , LINK , KIND ) : NO_CHANGES
 Xcos debug: objectDeleted( 32 , LINK )
 scs_m = scicos_diagram( objs=list(Sum,Scope1) );
 Xcos debug: objectCreated( 43 , DIAGRAM )
+Xcos debug: objectReferenced( 43 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 43 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 44 , BLOCK )
 Xcos trace: propertyUpdated( 44 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 44 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -1089,12 +1185,22 @@ Xcos trace: propertyUpdated( 48 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 44 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 44 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 48 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 assert_checkequal(scs_m.objs(1).graphics.pout,  0);  // Check that block #1 is not connected
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(1).model.out,     -1);  // "
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).graphics.pin,   0);  // Check that block #2 is not connected
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.in,      -1);  // "
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
 scs_m.objs(3) = lnk;          // Add the predefined Link
 Xcos debug: objectCreated( 51 , LINK )
 Xcos trace: propertyUpdated( 51 , LINK , COLOR ) : NO_CHANGES
@@ -1108,6 +1214,7 @@ Xcos trace: propertyUpdated( 51 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 51 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 51 , LINK ) : 1
 Xcos trace: propertyUpdated( 47 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 49 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -1117,6 +1224,8 @@ scs_m.objs
        ans(1)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1136,6 +1245,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1162,6 +1273,8 @@ Model   :
        ans(2)
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1181,6 +1294,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
           cscope type: 4
           in = -1
           in2 = 1
@@ -1216,12 +1331,23 @@ Link    :
 assert_checkequal(scs_m.objs(3).from, [1 1 0]);
 assert_checkequal(scs_m.objs(3).to,   [2 1 1]);
 assert_checkequal(scs_m.objs(1).graphics.pout,  3);  // Check that block #1 is connected to lnk
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(1).model.out,     -1);  // "
+Xcos debug: objectReferenced( 44 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).graphics.pin,   3);  // Check that block #2 is connected to lnk
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.in,      -1);  // "
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
 //===================================================================================================
 // Test Links insertion before Block insertion
 clear scs_m;
+Xcos debug: objectUnreferenced( 44 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 51 , LINK ) : 0
 Xcos trace: propertyUpdated( 44 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
@@ -1267,11 +1393,13 @@ Xcos trace: propertyUpdated( 52 , LINK , KIND ) : NO_CHANGES
 Xcos debug: objectDeleted( 42 , LINK )
 scs_m = scicos_diagram();
 Xcos debug: objectCreated( 53 , DIAGRAM )
+Xcos debug: objectReferenced( 53 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 53 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 53 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 53 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 scs_m.objs(1) = lnk;          // Add the predefined Link
@@ -1287,6 +1415,7 @@ Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 54 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 54 , LINK ) : 1
 assert_checkequal(scs_m.objs(1).from, [2 1 0]);
 assert_checkequal(scs_m.objs(1).to,   [3 1 1]);
 scs_m.objs(2) = Sum;          // Add the Block that lnk's 'from' points to
@@ -1346,6 +1475,7 @@ Xcos trace: propertyUpdated( 55 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 55 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 55 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 55 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : SUCCESS
 scs_m.objs(3) = Scope1;       // Add the Block that lnk's 'to' points to
@@ -1396,6 +1526,7 @@ Xcos trace: propertyUpdated( 59 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 53 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 59 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 58 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 54 , LINK , SOURCE_PORT ) : NO_CHANGES
@@ -1415,6 +1546,8 @@ Link    :
        ans(2)
 GUI     : BIGSOM_f
 Graphics: 
+Xcos debug: objectReferenced( 55 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 55 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,3]
           flip = %t
@@ -1434,6 +1567,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 55 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 55 , BLOCK ) : 1
           sum type: 2
           in = [-1;-1]
           in2 = [1;1]
@@ -1460,6 +1595,8 @@ Model   :
        ans(3)
 GUI     : CSCOPE
 Graphics: 
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1479,6 +1616,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
           cscope type: 4
           in = -1
           in2 = 1
@@ -1507,9 +1646,17 @@ Model   :
 assert_checkequal(scs_m.objs(1).from, [2 1 0]);
 assert_checkequal(scs_m.objs(1).to,   [3 1 1]);
 assert_checkequal(scs_m.objs(2).graphics.pout,  1);
+Xcos debug: objectReferenced( 55 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 55 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(2).model.out,     -1);
+Xcos debug: objectReferenced( 55 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 55 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(3).graphics.pin,   1);
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
 assert_checkequal(scs_m.objs(3).model.in,      -1);
+Xcos debug: objectReferenced( 59 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 1
 // Check that all the model items are freed
 clear Sum Scope1 Scope2 lnk1 lnk2 lnk scs_m
 Xcos trace: propertyUpdated( 5 , BLOCK , INPUTS ) : SUCCESS
@@ -1553,6 +1700,9 @@ Xcos debug: objectDeleted( 12 , BLOCK )
 Xcos debug: objectDeleted( 15 , LINK )
 Xcos debug: objectDeleted( 16 , LINK )
 Xcos debug: objectDeleted( 52 , LINK )
+Xcos debug: objectUnreferenced( 54 , LINK ) : 0
+Xcos debug: objectUnreferenced( 55 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 59 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 54 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 55 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 59 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
index f9f11b3..a038224 100644 (file)
@@ -10,19 +10,26 @@ scicos_log("TRACE");
 // Allocate a SuperBlock and access its fields
 sb = SUPER_f("define")
 Xcos debug: objectCreated( 1 , DIAGRAM )
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 1 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 1 , DIAGRAM , TITLE ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 2 , BLOCK )
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -37,6 +44,8 @@ Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , DATATYPE ) : SUCCESS
@@ -54,7 +63,11 @@ Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 2 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -65,6 +78,10 @@ Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -75,7 +92,9 @@ Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
 Xcos debug: objectCreated( 4 , BLOCK )
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -90,6 +109,8 @@ Xcos trace: propertyUpdated( 5 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , DATATYPE ) : SUCCESS
@@ -107,7 +128,11 @@ Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -118,6 +143,10 @@ Xcos trace: propertyUpdated( 5 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -128,6 +157,7 @@ Xcos trace: propertyUpdated( 5 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos debug: objectCreated( 6 , BLOCK )
 Xcos trace: propertyUpdated( 6 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -166,6 +196,7 @@ Xcos trace: propertyUpdated( 6 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , BLOCK ) : 1
 Xcos debug: objectCreated( 8 , BLOCK )
 Xcos trace: propertyUpdated( 8 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -204,7 +235,9 @@ Xcos trace: propertyUpdated( 8 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 8 , BLOCK ) : 1
 Xcos debug: objectCreated( 10 , BLOCK )
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , ANGLE ) : NO_CHANGES
@@ -226,6 +259,8 @@ Xcos trace: propertyUpdated( 12 , PORT , STYLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , PORT , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , PORT , DATATYPE ) : SUCCESS
@@ -313,10 +348,14 @@ Xcos trace: propertyUpdated( 16 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 14 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 16 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 10 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 14 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 16 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 14 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 16 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , IPAR ) : NO_CHANGES
@@ -327,6 +366,7 @@ Xcos trace: propertyUpdated( 10 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 10 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , OUTPUTS ) : SUCCESS
@@ -340,6 +380,8 @@ Xcos trace: propertyUpdated( 4 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 5 , PORT )
 Xcos debug: objectDeleted( 4 , BLOCK )
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , INPUTS ) : NO_CHANGES
@@ -358,6 +400,8 @@ Xcos debug: objectDeleted( 1 , DIAGRAM )
  sb  = 
 GUI     : SUPER_f
 Graphics: 
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -377,6 +421,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
           super type: 0
           in = 1
           in2 = 1
@@ -401,6 +447,8 @@ Model   :
           equations = list()
           uid = ""
 sb.graphics
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,2]
@@ -421,8 +469,20 @@ in_label = ""
 out_label = ""
 style = ""
 sb.model
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
 super type: 0
+Xcos debug: objectReferenced( 13 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 13 , DIAGRAM ) : 0
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
 in = 1
 in2 = 1
 intyp = 1
@@ -453,7 +513,11 @@ sb.doc
      ()
 // Access the contained diagram's fields
 sb.model.rpar
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
+Xcos debug: objectReferenced( 13 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 13 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Super Block";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -467,6 +531,10 @@ doc = list()
 1     IN_f
 2     OUT_f
 sb.model.rpar.props
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 13 , DIAGRAM ) : 0
  ans  =
 wpar = [600,450,0,0,600,450]
 title = ["Super Block";""]
@@ -479,10 +547,14 @@ void2 = []
 void3 = []
 doc = list()
 sb.model.rpar.objs
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
        ans(1)
 GUI     : IN_f
 Graphics: 
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
           orig = [40,40]
           sz = [20,20]
           flip = %t
@@ -502,6 +574,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
           input type: 0
           in = []
           in2 = []
@@ -528,6 +602,8 @@ Model   :
        ans(2)
 GUI     : OUT_f
 Graphics: 
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
           orig = [240,40]
           sz = [20,20]
           flip = %t
@@ -547,6 +623,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
           output type: 0
           in = -1
           in2 = -2
@@ -571,6 +649,10 @@ Model   :
           equations = list()
           uid = ""
 sb.model.rpar.objs(1).graphics
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
  ans  =
 orig = [40,40]
 sz = [20,20]
@@ -591,6 +673,10 @@ in_label = ""
 out_label = ""
 style = ""
 sb.model.rpar.objs(1).model
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 14 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 2
  ans  =
 input type: 0
 in = []
@@ -616,6 +702,10 @@ nmode = 0
 equations = list()
 uid = ""
 sb.model.rpar.objs(2).graphics
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
  ans  =
 orig = [240,40]
 sz = [20,20]
@@ -636,6 +726,10 @@ in_label = ""
 out_label = ""
 style = ""
 sb.model.rpar.objs(2).model
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
+Xcos debug: objectReferenced( 16 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 2
  ans  =
 output type: 0
 in = -1
@@ -661,13 +755,18 @@ nmode = 0
 equations = list()
 uid = ""
 sb.model.rpar.version
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
  
 sb.model.rpar.contrib
+Xcos debug: objectReferenced( 10 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 10 , BLOCK ) : 0
  ans  =
      ()
 clk = CLOCK_c("define")
 Xcos debug: objectCreated( 18 , BLOCK )
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -683,6 +782,8 @@ Xcos trace: propertyUpdated( 20 , PORT , PORT_KIND ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 19 , PORT , DATATYPE ) : SUCCESS
@@ -700,7 +801,11 @@ Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 18 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -708,6 +813,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -715,6 +824,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -722,6 +835,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -729,6 +846,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -736,6 +857,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
@@ -743,6 +868,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , PORT , DATATYPE ) : NO_CHANGES
@@ -760,6 +889,10 @@ Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , PORT , DATATYPE ) : NO_CHANGES
@@ -777,7 +910,9 @@ Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
 Xcos debug: objectCreated( 21 , BLOCK )
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -789,6 +924,8 @@ Xcos trace: propertyUpdated( 22 , PORT , PORT_KIND ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , EVENT_INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , PORT , DATATYPE ) : SUCCESS
@@ -804,7 +941,11 @@ Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 21 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -812,6 +953,10 @@ Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -819,6 +964,10 @@ Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -826,6 +975,10 @@ Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -833,6 +986,10 @@ Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
@@ -840,6 +997,10 @@ Xcos trace: propertyUpdated( 21 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
+Xcos debug: objectReferenced( 21 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 21 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 22 , PORT , DATATYPE ) : NO_CHANGES
@@ -855,7 +1016,9 @@ Xcos trace: propertyUpdated( 21 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 21 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 21 , BLOCK ) : 0
 Xcos debug: objectCreated( 23 , BLOCK )
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
@@ -874,6 +1037,8 @@ Xcos trace: propertyUpdated( 26 , PORT , PORT_KIND ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 24 , PORT , DATATYPE ) : SUCCESS
@@ -893,7 +1058,11 @@ Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 23 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
@@ -901,6 +1070,10 @@ Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
@@ -908,6 +1081,10 @@ Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
@@ -915,12 +1092,15 @@ Xcos trace: propertyUpdated( 23 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 23 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
 Xcos debug: objectCreated( 27 , DIAGRAM )
+Xcos debug: objectReferenced( 27 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 27 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 27 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Xcos debug: objectCreated( 28 , BLOCK )
@@ -961,6 +1141,7 @@ Xcos trace: propertyUpdated( 28 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 28 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 28 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 28 , BLOCK ) : 1
 Xcos debug: objectCreated( 30 , BLOCK )
 Xcos trace: propertyUpdated( 30 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
@@ -1008,6 +1189,7 @@ Xcos trace: propertyUpdated( 30 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 30 , BLOCK ) : 1
 Xcos debug: objectCreated( 33 , LINK )
 Xcos trace: propertyUpdated( 33 , LINK , CONTROL_POINTS ) : SUCCESS
 Xcos trace: propertyUpdated( 33 , LINK , CONTROL_POINTS ) : SUCCESS
@@ -1027,6 +1209,7 @@ Xcos trace: propertyUpdated( 34 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 34 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 34 , LINK ) : 1
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos debug: objectDeleted( 33 , LINK )
@@ -1086,6 +1269,7 @@ Xcos trace: propertyUpdated( 35 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 35 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 35 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 35 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , SOURCE_PORT ) : NO_CHANGES
@@ -1110,6 +1294,7 @@ Xcos trace: propertyUpdated( 40 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 40 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 40 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 40 , LINK ) : 1
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , SOURCE_PORT ) : NO_CHANGES
@@ -1140,6 +1325,7 @@ Xcos trace: propertyUpdated( 42 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 42 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 27 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 42 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 42 , LINK ) : 1
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 32 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , SOURCE_PORT ) : NO_CHANGES
@@ -1158,6 +1344,7 @@ Xcos trace: propertyUpdated( 31 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 42 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos debug: objectDeleted( 41 , LINK )
 Xcos debug: objectCreated( 43 , BLOCK )
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1165,6 +1352,8 @@ Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STATE ) : NO_CHANGES
@@ -1179,8 +1368,12 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 43 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1188,6 +1381,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1195,6 +1392,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , ANGLE ) : NO_CHANGES
@@ -1206,6 +1407,10 @@ Xcos trace: propertyUpdated( 44 , PORT , PORT_KIND ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , EVENT_OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : SUCCESS
@@ -1222,6 +1427,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : SUCCESS
@@ -1238,6 +1447,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : NO_CHANGES
@@ -1254,6 +1467,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : NO_CHANGES
@@ -1270,6 +1487,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : NO_CHANGES
@@ -1286,6 +1507,10 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 44 , PORT , DATATYPE ) : NO_CHANGES
@@ -1465,11 +1690,17 @@ Xcos trace: propertyUpdated( 57 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 45 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 46 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 48 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 51 , LINK ) : 1
 Xcos trace: propertyUpdated( 52 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 52 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 56 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 56 , LINK ) : 1
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 57 , LINK ) : 1
 Xcos trace: propertyUpdated( 50 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , LINK , SOURCE_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 53 , PORT , CONNECTED_SIGNALS ) : SUCCESS
@@ -1484,11 +1715,17 @@ Xcos trace: propertyUpdated( 49 , PORT , CONNECTED_SIGNALS ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , DESTINATION_PORT ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 46 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 46 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 48 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 51 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 51 , LINK ) : 2
 Xcos trace: propertyUpdated( 52 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 52 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 56 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 56 , LINK ) : 2
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 57 , LINK ) : 2
 Xcos trace: propertyUpdated( 46 , BLOCK , PORT_REFERENCE ) : SUCCESS
 Xcos trace: propertyUpdated( 43 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , OPAR ) : NO_CHANGES
@@ -1499,6 +1736,13 @@ Xcos trace: propertyUpdated( 43 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 28 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 30 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 34 , LINK ) : 0
+Xcos debug: objectUnreferenced( 35 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 40 , LINK ) : 0
+Xcos debug: objectUnreferenced( 42 , LINK ) : 0
 Xcos trace: propertyUpdated( 28 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 34 , LINK , PARENT_DIAGRAM ) : SUCCESS
@@ -1584,6 +1828,8 @@ Xcos debug: objectDeleted( 23 , BLOCK )
  clk  = 
 GUI     : CLOCK_c
 Graphics: 
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
           orig = [0,0]
           sz = [2,2]
           flip = %t
@@ -1603,6 +1849,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
           csuper type: 0
           in = []
           in2 = []
@@ -1627,6 +1875,8 @@ Model   :
           equations = list()
           uid = ""
 clk.graphics
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
 orig = [0,0]
 sz = [2,2]
@@ -1647,8 +1897,24 @@ in_label = ""
 out_label = ""
 style = ""
 clk.model
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
 csuper type: 0
+Xcos debug: objectReferenced( 45 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 45 , DIAGRAM ) : 0
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
 in = []
 in2 = []
 intyp = 1
@@ -1672,7 +1938,11 @@ nmode = 0
 equations = list()
 uid = ""
 clk.model.rpar
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
+Xcos debug: objectReferenced( 45 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 45 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -1687,6 +1957,10 @@ doc = list()
 2     EVTDLY_c
 3     CLKSPLIT_f
 clk.model.rpar.props
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 45 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 45 , DIAGRAM ) : 0
  ans  =
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
@@ -1699,10 +1973,14 @@ void2 = []
 void3 = []
 doc = list()
 clk.model.rpar.objs
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
        ans(1)
 GUI     : CLKOUT_f
 Graphics: 
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
           orig = [399,162]
           sz = [20,20]
           flip = %t
@@ -1722,6 +2000,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
           output type: 0
           in = []
           in2 = []
@@ -1748,6 +2028,8 @@ Model   :
        ans(2)
 GUI     : EVTDLY_c
 Graphics: 
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
           orig = [320,232]
           sz = [40,40]
           flip = %t
@@ -1767,6 +2049,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
           evtdly4 type: 4
           in = []
           in2 = []
@@ -1802,6 +2086,8 @@ Link    :
        ans(4)
 GUI     : CLKSPLIT_f
 Graphics: 
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
           orig = [380.71066,172]
           sz = [0.3333333,0.3333333]
           flip = %t
@@ -1821,6 +2107,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
           split type: 0
           in = []
           in2 = []
@@ -1863,6 +2151,10 @@ Link    :
           from: 4 2 0
           to: 2 1 1
 clk.model.rpar.objs(1).graphics
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
  ans  =
 orig = [399,162]
 sz = [20,20]
@@ -1883,6 +2175,10 @@ in_label = ""
 out_label = ""
 style = ""
 clk.model.rpar.objs(1).model
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 46 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 2
  ans  =
 output type: 0
 in = []
@@ -1908,6 +2204,10 @@ nmode = 0
 equations = list()
 uid = ""
 clk.model.rpar.objs(2).graphics
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
  ans  =
 orig = [320,232]
 sz = [40,40]
@@ -1928,6 +2228,10 @@ in_label = ""
 out_label = ""
 style = ""
 clk.model.rpar.objs(2).model
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 48 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 2
  ans  =
 evtdly4 type: 4
 in = []
@@ -1953,12 +2257,20 @@ nmode = 0
 equations = list()
 uid = ""
 clk.model.rpar.objs(3).from
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     2.    1.    0.
 clk.model.rpar.objs(3).to
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     4.    1.    1.
 clk.model.rpar.objs(4).graphics
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
  ans  =
 orig = [380.71066,172]
 sz = [0.3333333,0.3333333]
@@ -1979,6 +2291,10 @@ in_label = ""
 out_label = ""
 style = ""
 clk.model.rpar.objs(4).model
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
+Xcos debug: objectReferenced( 52 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 2
  ans  =
 split type: 0
 in = []
@@ -2004,21 +2320,33 @@ nmode = 0
 equations = list()
 uid = ""
 clk.model.rpar.objs(5).from
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     4.    1.    0.
 clk.model.rpar.objs(5).to
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     1.    1.    1.
 clk.model.rpar.objs(6).from
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     4.    2.    0.
 clk.model.rpar.objs(6).to
+Xcos debug: objectReferenced( 43 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 43 , BLOCK ) : 0
  ans  =
     2.    1.    1.
 // Check that all the model items are freed
 clear sb clk
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 16 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 16 , BLOCK ) : 0
 Xcos debug: objectDeleted( 13 , DIAGRAM )
 Xcos trace: propertyUpdated( 10 , BLOCK , INPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , BLOCK , OUTPUTS ) : NO_CHANGES
@@ -2045,12 +2373,24 @@ Xcos trace: propertyUpdated( 16 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos debug: objectDeleted( 17 , PORT )
 Xcos debug: objectDeleted( 16 , BLOCK )
 Xcos debug: objectDeleted( 10 , BLOCK )
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 51 , LINK ) : 1
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 56 , LINK ) : 1
+Xcos debug: objectUnreferenced( 57 , LINK ) : 1
 Xcos trace: propertyUpdated( 46 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 48 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 51 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 52 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 56 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 57 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 46 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 48 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 51 , LINK ) : 0
+Xcos debug: objectUnreferenced( 52 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 56 , LINK ) : 0
+Xcos debug: objectUnreferenced( 57 , LINK ) : 0
 Xcos debug: objectDeleted( 45 , DIAGRAM )
 Xcos trace: propertyUpdated( 43 , BLOCK , INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 43 , BLOCK , OUTPUTS ) : NO_CHANGES
index 6d1c7b1..0b499ce 100644 (file)
@@ -17,11 +17,13 @@ Xcos trace: propertyUpdated( 1 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , LINK , KIND ) : NO_CHANGES
 subDiag = scicos_diagram( objs=list(link) );
 Xcos debug: objectCreated( 2 , DIAGRAM )
+Xcos debug: objectReferenced( 2 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 3 , LINK )
 Xcos trace: propertyUpdated( 3 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , LINK , KIND ) : NO_CHANGES
@@ -34,6 +36,7 @@ Xcos trace: propertyUpdated( 3 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 3 , LINK ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Super1 = scicos_block(,..
 model=scicos_model(sim="super",in=[],in2=[],intyp=1,out=[],out2=[],outtyp=[],evtin=[],evtout=[],state=[],dstate=[],odstate=list(),..
@@ -41,6 +44,7 @@ rpar=subDiag,..
 ipar=[],opar=list(),blocktype="h",firing=[],dep_ut=[%f,%f],label="Quat_Conj",nzcross=0,nmode=0,equations=list())..
 );
 Xcos debug: objectCreated( 4 , BLOCK )
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -48,6 +52,8 @@ Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STATE ) : NO_CHANGES
@@ -71,8 +77,10 @@ Xcos trace: propertyUpdated( 6 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , LINK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 6 , LINK ) : 2
 Xcos trace: propertyUpdated( 4 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_BLOCKTYPE ) : SUCCESS
@@ -81,14 +89,17 @@ Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 diag = scicos_diagram();
 Xcos debug: objectCreated( 7 , DIAGRAM )
+Xcos debug: objectReferenced( 7 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 7 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 7 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 7 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 diag.objs(1) = Super1;
@@ -119,6 +130,9 @@ Xcos trace: propertyUpdated( 8 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 8 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 8 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , STATE ) : NO_CHANGES
@@ -142,8 +156,10 @@ Xcos trace: propertyUpdated( 10 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 10 , LINK ) : 1
 Xcos trace: propertyUpdated( 8 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 10 , LINK ) : 2
 Xcos trace: propertyUpdated( 8 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -152,12 +168,16 @@ Xcos trace: propertyUpdated( 8 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 7 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 8 , BLOCK ) : 1
 diag.objs(1)
  ans  =
 GUI     : 
 Graphics: 
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
           orig = [0,0]
           sz = [20,20]
           flip = %t
@@ -177,6 +197,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
           super type: 0
           in = []
           in2 = []
@@ -201,8 +223,12 @@ Model   :
           equations = list()
           uid = ""
 diag.objs(1).model
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
  ans  =
 super type: 0
+Xcos debug: objectReferenced( 9 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 9 , DIAGRAM ) : 0
 in = []
 in2 = []
 intyp = 1
@@ -226,6 +252,8 @@ nmode = 0
 equations = list()
 uid = ""
 diag.objs(1).model.rpar.objs(1)
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
  ans  =
 Link    :
           xx: []
@@ -241,6 +269,7 @@ rpar=diag,..
 ipar=[],opar=list(),blocktype="h",firing=[],dep_ut=[%f,%f],label="Quat_Conj",nzcross=0,nmode=0,equations=list())..
 );
 Xcos debug: objectCreated( 11 , BLOCK )
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , ANGLE ) : NO_CHANGES
@@ -248,6 +277,8 @@ Xcos trace: propertyUpdated( 11 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , STATE ) : NO_CHANGES
@@ -286,6 +317,9 @@ Xcos trace: propertyUpdated( 13 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 8 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 1
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , STATE ) : NO_CHANGES
@@ -309,8 +343,10 @@ Xcos trace: propertyUpdated( 15 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 15 , LINK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 15 , LINK ) : 2
 Xcos trace: propertyUpdated( 13 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -319,10 +355,13 @@ Xcos trace: propertyUpdated( 13 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 12 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 13 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 11 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , SIM_BLOCKTYPE ) : SUCCESS
@@ -331,10 +370,21 @@ Xcos trace: propertyUpdated( 11 , BLOCK , LABEL ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 11 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Super2.model
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
  ans  =
 super type: 0
+Xcos debug: objectReferenced( 12 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 12 , DIAGRAM ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
+Xcos debug: objectReferenced( 14 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 14 , DIAGRAM ) : 0
 in = []
 in2 = []
 intyp = 1
@@ -358,7 +408,11 @@ nmode = 0
 equations = list()
 uid = ""
 Super2.model.rpar
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
  ans  =
+Xcos debug: objectReferenced( 12 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 12 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -371,9 +425,13 @@ void3 = []
 doc = list()
 1     
 Super2.model.rpar.objs(1)
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
  ans  =
 GUI     : 
 Graphics: 
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
           orig = [0,0]
           sz = [20,20]
           flip = %t
@@ -393,6 +451,8 @@ Graphics:
           out_label = ""
           style = ""
 Model   : 
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
           super type: 0
           in = []
           in2 = []
@@ -417,8 +477,14 @@ Model   :
           equations = list()
           uid = ""
 Super2.model.rpar.objs(1).model
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
  ans  =
 super type: 0
+Xcos debug: objectReferenced( 14 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 14 , DIAGRAM ) : 0
 in = []
 in2 = []
 intyp = 1
@@ -442,7 +508,13 @@ nmode = 0
 equations = list()
 uid = ""
 Super2.model.rpar.objs(1).model.rpar
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
  ans  =
+Xcos debug: objectReferenced( 14 , DIAGRAM ) : 1
+Xcos debug: objectUnreferenced( 14 , DIAGRAM ) : 0
 wpar = [600,450,0,0,600,450]
 title = ["Untitled";""]
 tol = [0.000001,0.000001,1.000D-10,100001,0,1,0]
@@ -454,6 +526,10 @@ void2 = []
 void3 = []
 doc = list()
 Super2.model.rpar.objs(1).model.rpar.objs(1)
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
  ans  =
 Link    :
           xx: []
@@ -464,31 +540,49 @@ Link    :
           from: 2 1 0
           to: 3 1 1
 assert_checkequal(Super2.model.rpar.objs(1).model.rpar.objs(1).from, [2 1 0]);
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
 assert_checkequal(Super2.model.rpar.objs(1).model.rpar.objs(1).to,   [3 1 1]);
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 13 , BLOCK ) : 3
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 2
 // Check that all the model items are freed
 clear
+Xcos debug: objectUnreferenced( 6 , LINK ) : 1
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 6 , LINK ) : 0
 Xcos debug: objectDeleted( 5 , DIAGRAM )
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 6 , LINK )
 Xcos debug: objectDeleted( 4 , BLOCK )
+Xcos debug: objectUnreferenced( 15 , LINK ) : 1
 Xcos trace: propertyUpdated( 15 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 15 , LINK ) : 0
 Xcos debug: objectDeleted( 14 , DIAGRAM )
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 13 , BLOCK ) : 0
 Xcos debug: objectDeleted( 12 , DIAGRAM )
 Xcos trace: propertyUpdated( 13 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 15 , LINK )
 Xcos debug: objectDeleted( 13 , BLOCK )
 Xcos debug: objectDeleted( 11 , BLOCK )
+Xcos debug: objectUnreferenced( 10 , LINK ) : 1
 Xcos trace: propertyUpdated( 10 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 10 , LINK ) : 0
 Xcos debug: objectDeleted( 9 , DIAGRAM )
+Xcos debug: objectUnreferenced( 8 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 8 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 10 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 10 , LINK )
 Xcos debug: objectDeleted( 8 , BLOCK )
 Xcos debug: objectDeleted( 7 , DIAGRAM )
 Xcos debug: objectDeleted( 1 , LINK )
+Xcos debug: objectUnreferenced( 3 , LINK ) : 0
 Xcos trace: propertyUpdated( 3 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 3 , LINK )
 Xcos debug: objectDeleted( 2 , DIAGRAM )
index d5a11c6..3f7d251 100644 (file)
@@ -11,6 +11,7 @@ scicos_log("TRACE");
 // Creating a Diagram containing a Link connected to a Block
 scs = scicos_diagram( objs=list(scicos_block(),scicos_link(from=[1,1,0])) );
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -18,6 +19,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -32,6 +35,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Xcos debug: objectCreated( 2 , LINK )
 Xcos trace: propertyUpdated( 2 , LINK , CONTROL_POINTS ) : NO_CHANGES
@@ -41,11 +45,13 @@ Xcos trace: propertyUpdated( 2 , LINK , THICK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , LINK , KIND ) : NO_CHANGES
 Xcos debug: objectCreated( 3 , DIAGRAM )
+Xcos debug: objectReferenced( 3 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 4 , BLOCK )
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
@@ -85,7 +91,9 @@ Xcos trace: propertyUpdated( 5 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 5 , LINK ) : 1
 Xcos debug: objectCreated( 6 , PORT )
 Xcos trace: propertyUpdated( 6 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , PORT , PORT_KIND ) : SUCCESS
@@ -113,11 +121,15 @@ Xcos trace: propertyUpdated( 7 , LINK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , LINK , DESTINATION_PORT ) : NO_CHANGES
 assert_checkequal(scs.objs(1).graphics.pout, 2);
+Xcos debug: objectReferenced( 4 , BLOCK ) : 2
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 1
 assert_checkequal(scs.objs(2).from, [1 1 0]);
 assert_checkequal(newLink.from, [3 1 0]);
 // Check that all the model items are freed
 clear
 Xcos debug: objectDeleted( 7 , LINK )
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 5 , LINK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , INPUTS ) : NO_CHANGES
index 1252cfa..efe9751 100644 (file)
@@ -12,14 +12,17 @@ scicos_log("TRACE");
 // Loading a Superblock containing an mlist as subdiagram
 exec("SCI/modules/scicos/palettes/Lookup_Tables.cosf", -1);
 Xcos debug: objectCreated( 1 , DIAGRAM )
+Xcos debug: objectReferenced( 1 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 1 , DIAGRAM , TITLE ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PATH ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , DIAGRAM ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , DIAGRAM , VERSION_NUMBER ) : SUCCESS
 Xcos debug: objectCreated( 2 , BLOCK )
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
@@ -27,18 +30,23 @@ Xcos trace: propertyUpdated( 2 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , STATE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , DSTATE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , ODSTATE ) : NO_CHANGES
 Xcos debug: objectCreated( 3 , DIAGRAM )
+Xcos debug: objectReferenced( 3 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , TITLE ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PATH ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 4 , BLOCK )
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -55,6 +63,8 @@ Xcos trace: propertyUpdated( 4 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 5 , PORT , DATATYPE ) : SUCCESS
@@ -74,8 +84,10 @@ Xcos trace: propertyUpdated( 4 , BLOCK , SIM_DEP_UT ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NMODE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectCreated( 7 , BLOCK )
+Xcos debug: objectReferenced( 7 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 7 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , ANGLE ) : NO_CHANGES
@@ -96,6 +108,8 @@ Xcos trace: propertyUpdated( 7 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 8 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 9 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 10 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 7 , BLOCK ) : 0
+Xcos debug: objectReferenced( 7 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 7 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 8 , PORT , DATATYPE ) : SUCCESS
@@ -113,8 +127,10 @@ Xcos trace: propertyUpdated( 7 , BLOCK , SIM_DEP_UT ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 7 , BLOCK , NMODE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 7 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 7 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectCreated( 11 , BLOCK )
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , ANGLE ) : NO_CHANGES
@@ -131,6 +147,8 @@ Xcos trace: propertyUpdated( 11 , BLOCK , OUTPUTS ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 13 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 12 , PORT , DATATYPE ) : SUCCESS
@@ -148,8 +166,10 @@ Xcos trace: propertyUpdated( 11 , BLOCK , SIM_DEP_UT ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 11 , BLOCK , NMODE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 11 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectCreated( 14 , BLOCK )
+Xcos debug: objectReferenced( 14 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 14 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , ANGLE ) : NO_CHANGES
@@ -170,6 +190,8 @@ Xcos trace: propertyUpdated( 14 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 15 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 16 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 17 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 0
+Xcos debug: objectReferenced( 14 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 14 , BLOCK , SIM_FUNCTION_NAME ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , SIM_FUNCTION_API ) : SUCCESS
 Xcos trace: propertyUpdated( 15 , PORT , DATATYPE ) : SUCCESS
@@ -187,18 +209,27 @@ Xcos trace: propertyUpdated( 14 , BLOCK , SIM_DEP_UT ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 14 , BLOCK , NMODE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 14 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 7 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 7 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 11 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 11 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 14 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 4 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 7 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 7 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 11 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 11 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 14 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 2 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , SIM_BLOCKTYPE ) : SUCCESS
@@ -207,6 +238,7 @@ Xcos trace: propertyUpdated( 2 , BLOCK , LABEL ) : SUCCESS
 Xcos trace: propertyUpdated( 2 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 2 , BLOCK , INTERFACE_FUNCTION ) : SUCCESS
 Xcos debug: objectCreated( 18 , BLOCK )
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
@@ -235,6 +267,9 @@ Xcos trace: propertyUpdated( 18 , BLOCK , OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_INPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
+Xcos debug: objectReferenced( 2 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 2 , BLOCK ) : 0
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , STATE ) : NO_CHANGES
@@ -446,14 +481,22 @@ Xcos trace: propertyUpdated( 30 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 19 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 20 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 23 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 23 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 27 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 27 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 30 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 18 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 20 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 23 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 23 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 27 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 27 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 30 , BLOCK ) : 2
 Xcos trace: propertyUpdated( 18 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -462,12 +505,22 @@ Xcos trace: propertyUpdated( 18 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 18 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 18 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 7 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 11 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 14 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 7 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 11 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 14 , BLOCK ) : 0
 Xcos debug: objectDeleted( 3 , DIAGRAM )
 Xcos trace: propertyUpdated( 4 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 7 , BLOCK , PARENT_BLOCK ) : SUCCESS
@@ -530,11 +583,20 @@ Xcos debug: objectDeleted( 14 , BLOCK )
 Xcos debug: objectDeleted( 2 , BLOCK )
 // Check that all the model items are freed
 clear
+Xcos debug: objectUnreferenced( 20 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 27 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 30 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 20 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 27 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 30 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 20 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 23 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 27 , BLOCK ) : 0
+Xcos debug: objectUnreferenced( 30 , BLOCK ) : 0
 Xcos debug: objectDeleted( 19 , DIAGRAM )
+Xcos debug: objectUnreferenced( 18 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 18 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos trace: propertyUpdated( 20 , BLOCK , PARENT_BLOCK ) : SUCCESS
 Xcos trace: propertyUpdated( 23 , BLOCK , PARENT_BLOCK ) : SUCCESS
index 7366573..11f7a68 100644 (file)
@@ -9,6 +9,7 @@ loadXcosLibs();
 scicos_log("TRACE");
 b = scicos_block();
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -16,6 +17,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -30,6 +33,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 d = scicos_diagram( objs=list(scicos_link(from=[3 3 0],to=[5 2 1]) ));
 Xcos debug: objectCreated( 2 , LINK )
@@ -40,11 +44,13 @@ Xcos trace: propertyUpdated( 2 , LINK , THICK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , LINK , KIND ) : NO_CHANGES
 Xcos debug: objectCreated( 3 , DIAGRAM )
+Xcos debug: objectReferenced( 3 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 3 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 4 , LINK )
 Xcos trace: propertyUpdated( 4 , LINK , COLOR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , LINK , KIND ) : NO_CHANGES
@@ -57,9 +63,13 @@ Xcos trace: propertyUpdated( 4 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 4 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 4 , LINK ) : 1
 Xcos trace: propertyUpdated( 3 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Xcos debug: objectDeleted( 2 , LINK )
 b.model.rpar = d;
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -83,8 +93,10 @@ Xcos trace: propertyUpdated( 6 , LINK , SOURCE_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , LINK , DESTINATION_PORT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , LINK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
+Xcos debug: objectReferenced( 6 , LINK ) : 2
 Xcos trace: propertyUpdated( 1 , BLOCK , IPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , OPAR ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_BLOCKTYPE ) : NO_CHANGES
@@ -93,16 +105,24 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // b is now a SuperBlock containing a diagram containing a link, with its 'from' and and 'to' properties set
 assert_checkequal(b.model.rpar.objs(1).from, [3 3 0]);
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 assert_checkequal(b.model.rpar.objs(1).to, [5 2 1]);
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Check that all the model items are freed
 clear
+Xcos debug: objectUnreferenced( 6 , LINK ) : 1
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectUnreferenced( 6 , LINK ) : 0
 Xcos debug: objectDeleted( 5 , DIAGRAM )
 Xcos trace: propertyUpdated( 6 , LINK , PARENT_BLOCK ) : SUCCESS
 Xcos debug: objectDeleted( 6 , LINK )
 Xcos debug: objectDeleted( 1 , BLOCK )
+Xcos debug: objectUnreferenced( 4 , LINK ) : 0
 Xcos trace: propertyUpdated( 4 , LINK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 4 , LINK )
 Xcos debug: objectDeleted( 3 , DIAGRAM )
index 43d9f4c..763ad96 100644 (file)
@@ -9,6 +9,7 @@
 scicos_log("TRACE");
 b = scicos_block();
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -16,6 +17,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -30,6 +33,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 // Standard filling
 b.graphics = mlist(..
@@ -47,6 +51,7 @@ list(),..
 "",..
 ["E";"E"],..
 "E");
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : SUCCESS
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -67,6 +72,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Omit "sz" and "id", so GEOMETRY#2 and LABEL are missing from the log
 b.graphics = mlist(..
 ["graphics","orig","flip","theta","exprs","pin","pout","pein","peout","gr_i","in_implicit","out_implicit"],..
@@ -81,6 +87,7 @@ b.graphics = mlist(..
 list(),..
 ["E";"E"],..
 "E");
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -88,6 +95,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Add a fake wrong property "fake" with value "fake". The log must be the same as above
 b.graphics = mlist(..
 ["graphics","orig","flip","fake","theta","exprs","pin","pout","pein","peout","gr_i","in_implicit","out_implicit"],..
@@ -103,6 +111,7 @@ b.graphics = mlist(..
 list(),..
 ["E";"E"],..
 "E");
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -110,6 +119,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Swap "flip" and "in_implicit"
 b.graphics = mlist(..
 ["graphics","orig","in_implicit","fake","theta","exprs","pin","pout","pein","peout","gr_i","flip","out_implicit"],..
@@ -125,6 +135,7 @@ b.graphics = mlist(..
 list(),..
 %t,..
 "E");
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , PORT , IMPLICIT ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , PORT , IMPLICIT ) : NO_CHANGES
@@ -132,6 +143,7 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , PORT , IMPLICIT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 // Check that all the model items are freed
 clear
 Xcos trace: propertyUpdated( 1 , BLOCK , INPUTS ) : SUCCESS
index 28dd199..760dfd9 100644 (file)
@@ -10,6 +10,7 @@ scicos_log("TRACE");
 // Test #1: the temporary block is deleted with the diagram
 scs_m = scicos_diagram( objs=list(scicos_block()) );
 Xcos debug: objectCreated( 1 , BLOCK )
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
@@ -17,6 +18,8 @@ Xcos trace: propertyUpdated( 1 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
+Xcos debug: objectReferenced( 1 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , STATE ) : NO_CHANGES
@@ -31,13 +34,16 @@ Xcos trace: propertyUpdated( 1 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 1 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 1 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 1 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 Xcos debug: objectCreated( 2 , DIAGRAM )
+Xcos debug: objectReferenced( 2 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 2 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 3 , BLOCK )
 Xcos trace: propertyUpdated( 3 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
@@ -67,15 +73,18 @@ Xcos trace: propertyUpdated( 3 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 3 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 2 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 3 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 3 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 2 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 Xcos debug: objectDeleted( 1 , BLOCK )
 clear scs_m
+Xcos debug: objectUnreferenced( 3 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 3 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 3 , BLOCK )
 Xcos debug: objectDeleted( 2 , DIAGRAM )
 // Test #2: the block is deleted after the diagram
 blk = scicos_block();
 Xcos debug: objectCreated( 4 , BLOCK )
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , GEOMETRY ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
@@ -83,6 +92,8 @@ Xcos trace: propertyUpdated( 4 , BLOCK , ANGLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , EXPRS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STYLE ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
+Xcos debug: objectReferenced( 4 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_NAME ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , STATE ) : NO_CHANGES
@@ -97,14 +108,17 @@ Xcos trace: propertyUpdated( 4 , BLOCK , LABEL ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NZCROSS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , NMODE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 4 , BLOCK , UID ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 4 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 4 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
 scs_m = scicos_diagram( objs=list(blk) );
 Xcos debug: objectCreated( 5 , DIAGRAM )
+Xcos debug: objectReferenced( 5 , DIAGRAM ) : 1
 Xcos trace: propertyUpdated( 5 , DIAGRAM , TITLE ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , PATH ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , PROPERTIES ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , CONTEXT ) : NO_CHANGES
+Xcos debug: objectUnreferenced( 5 , DIAGRAM ) : 0
 Xcos debug: objectCreated( 6 , BLOCK )
 Xcos trace: propertyUpdated( 6 , BLOCK , SIM_FUNCTION_API ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , INTERFACE_FUNCTION ) : NO_CHANGES
@@ -134,8 +148,10 @@ Xcos trace: propertyUpdated( 6 , BLOCK , EVENT_OUTPUTS ) : NO_CHANGES
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_BLOCK ) : NO_CHANGES
 Xcos trace: propertyUpdated( 5 , DIAGRAM , CHILDREN ) : SUCCESS
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
+Xcos debug: objectReferenced( 6 , BLOCK ) : 1
 Xcos trace: propertyUpdated( 5 , DIAGRAM , VERSION_NUMBER ) : NO_CHANGES
 clear scs_m
+Xcos debug: objectUnreferenced( 6 , BLOCK ) : 0
 Xcos trace: propertyUpdated( 6 , BLOCK , PARENT_DIAGRAM ) : SUCCESS
 Xcos debug: objectDeleted( 6 , BLOCK )
 Xcos debug: objectDeleted( 5 , DIAGRAM )
index 0a7f21d..a0ee3ce 100644 (file)
@@ -176,6 +176,7 @@ warning(wMode);
 cpr = scicos_simulate(scs_m);
    Generate a loader file
    Generate a Makefile
+   ilib_gen_Make: configure : Generate Makefile.
    ilib_gen_Make: Copy compilation files (Makefile*, libtool...) to TMPDIR
    ilib_gen_Make: Copy inv_pend.c to TMPDIR
    ilib_gen_Make: configure : Generate Makefile.
index 14655f3..4393ef4 100644 (file)
@@ -16,9 +16,9 @@ function [status, msg] = xcosPalExport(pal, path)
 endfunction
 function xcosPalLoad(pal, category)
     if typeof(pal) <> "string" then bugmes();quit;end
-    if size(pal, '*') <> 1 then bugmes();quit;end
+    if size(pal, "*") <> 1 then bugmes();quit;end
     if typeof(category) <> "string" then bugmes();quit;end
-    if and([size(category, 'r') > 1, size(category, 'c') > 1]) then bugmes();quit;end
+    if and([size(category, "r") > 1, size(category, "c") > 1]) then bugmes();quit;end
 endfunction
 funcprot(prot);
 // start of the test
index 6a65698..4cadddd 100644 (file)
@@ -20,40 +20,40 @@ blockPath = TMPDIR + "/block.sod";
 // check call with a block name only
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, "SUM_f");
-if getos() == 'Windows' then
+if getos() == "Windows" then
     root_url = "file:///";
 else
     root_url = "file://";
 end
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR) msprintf("noLabel=1;image="+ root_url +"%s/SUM_f.svg;", TMPDIR)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 // check call with a block instance only
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, scs_m);
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR) msprintf("noLabel=1;image="+ root_url +"%s/SUM_f.svg;", TMPDIR)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 // check call with a stored block instance
 pal = xcosPal();
 save(blockPath, "scs_m");
 pal = xcosPalAddBlock(pal, blockPath);
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR) msprintf("noLabel=1;image="+ root_url +"%s/SUM_f.svg;", TMPDIR)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 // check call with empty icon and style
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, blockPath, [], []);
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR) msprintf("noLabel=1;image="+ root_url +"%s/SUM_f.svg;", TMPDIR)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 //
 // Test pal_block_img argument
@@ -66,9 +66,9 @@ cd(SCI);
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, blockPath, "modules/xcos/images/palettes/NPN.png");
 expectedResult = ["SUM_f" iconPath msprintf("noLabel=1;image="+ root_url +"%s/SUM_f.svg;", TMPDIR)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 cd(current);
 //
@@ -81,23 +81,23 @@ myStyle.image = root_url + iconPath;
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, blockPath, [], myStyle);
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR)  msprintf("block;image="+ root_url +"%s;", iconPath)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 // check call with an empty icon and a path style
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, blockPath, [], iconPath);
 expectedResult = ["SUM_f" msprintf("%s/SUM_f.gif", TMPDIR)  msprintf("shape=label;image="+ root_url +"%s;", iconPath)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end
 // check a full call with only paths (eg for toolbox creation)
 pal = xcosPal();
 pal = xcosPalAddBlock(pal, blockPath, iconPath, stylePath);
 expectedResult = ["SUM_f" iconPath  msprintf("shape=label;image="+ root_url +"%s;", stylePath)];
-expectedResult = strsubst(expectedResult, '\', '/');
+expectedResult = strsubst(expectedResult, "\", "/");
 result = [pal.blockNames(1) pal.icons(1) pal.style(1)];
-result = strsubst(result, '\', '/');
+result = strsubst(result, "\", "/");
 if or(expectedResult <> result) then bugmes();quit;end