Check the link slots of all unit instances for bi-directional consistency.
Arguments and values
|silentp|| A generalized boolean (default is |
|errorp|| A generalized boolean (default is |
The number of inconsistent links encountered.
GBBopen automatically maintains bidirectional relationship consistency all link-slot definitions are consistent. (Definitional consistency can be checked with
without a protective
copy-list) can break this consistency.
If a link inconsistency is found, details of the inconsistency
are printed to
If silentp is true, warning and summary messages are not printed. If
nil and errorp is true, a correctable error is
signaled if a link inconsistency is found.
Check that all instance links are consistent:
> (check-all-instance-links) ;; All instance links are consistent. 0 >Check again, silently:
> (check-all-instance-links 't) 0 >
The result of checking when something has set the
location 20 to
> (check-all-instance-links) Warning: Inverse link back to #<location 21 (32 37)> (link-slot previous-location) from #<location 20 (28 28)> is missing in link-slot next-location ;; 1 problem was found. 1 >
Repeat, but with errorp true to prompt for automated repair of each problem:
> (check-all-instance-links nil 't) Error: Inverse link back to #<location 21 (32 37)> (link-slot previous-location) from #<location 20 (28 28)> is missing in link-slot next-location Restart actions (select using :c n): 0: Fix the inconsistency. >> :c 0 ;; Link to #<location 21 (32 37)> added. ;; 1 problem was found. ;; 1 repair was made. 1 > (check-all-instance-links) ;; All instance links are consistent. 0 >
The GBBopen Project