This change removes the (extremely deprecated) forms
Global array --> size;
Global array data ...;
Global array initial ...;
Global array initstr ...;
...and other uses of the Global directive to define arrays. (I don't even remember what data, initial, or initstr meant.) That is, the Global and Array directives no longer overlap at all.
I have therefore divided the make_global(array_flag) function into separate functions make_global() and make_array(), to the considerable simplification of both.
(Git's diffs are not very informative, mind you. Compare the original function side-by-side with the new ones.)
With that change in place, I was able to make the = sign in the Global directive optional, just as it is in the Constant directive. So all of these are now legal:
Constant c1 11;
Constant c2 = 22;
Global g1 33;
Global g2 = 44;
This change removes the (extremely deprecated) forms
...and other uses of the Global directive to define arrays. (I don't even remember what
data
,initial
, orinitstr
meant.) That is, the Global and Array directives no longer overlap at all.I have therefore divided the make_global(array_flag) function into separate functions make_global() and make_array(), to the considerable simplification of both.
(Git's diffs are not very informative, mind you. Compare the original function side-by-side with the new ones.)
With that change in place, I was able to make the
=
sign in the Global directive optional, just as it is in the Constant directive. So all of these are now legal:Fixes https://github.com/DavidKinder/Inform6/issues/190 .
I also fixed https://github.com/DavidKinder/Inform6/issues/194 while I was at it.