On 4/10/22 02:43, Dave Blandston wrote:
> "jr"<cre### [at] gmailcom> wrote:
>> wow. (thank you v much for working this out) it works, though I'd lie if I
>> said I understood why; in particular, can't fathom why the order makes no
>> difference for MS users, apparently (but never mind, it works :-)).
> This has gone way beyond my comprehension but if I understand correctly the
> include file is useable as-is so long as the settings are declared before the
> file is included, so as of right now I won't make any changes.
Beyond mine too at the moment - if you push me to describe the exact
source code paths involved and all that can happen. :-) Any real
investigation of code and behavior will take me days more at a minimum.
I have doubts about the windows claim order making no difference, but
I've never been a windows POV-Ray user - and the claim could be true for
any particular release version of window's POV-Ray binary for many
reasons I can imagine. I'm not chasing that rabbit.
Related: I woke up this morning remembering something in the shipped
rand.inc on my "it bothers me" list. There is a declare of Gauss_Next
sitting in that file which 'looks' to me to count on a re-read/parse of
the entire rand.inc(a) file for proper operation after the first call to
some of the macros therein.
This rand.inc, question at least, touches on the fundamental point that
v3.8 onward does a sort of 'pre-process/pre-compile' of the include files.
In other, oversimplified words, just as you cannot configure and compile
a release of POV-Ray without a certain feature and then at run time
expect to use it; we now cannot later change the SDL / indexes sitting
in memory via later changes in macro 'declare driven configurations'(b).
(a) - I doubt even in v3.7 the entire file gets read again... I suspect
offset indexes into each include file are already in use with v3.7, but
it's not something I've verified. The rand.inc file is the one povr
shipped include I've mostly left as is for not knowing what I should
really do with all of it.
(b) - And I go on to wonder if this one of the reasons v3.8 supports
optional defaulted macro parameters...
Me thinking aloud - FWIW. My understanding is vague enough I don't
completely trust what I've written.
Post a reply to this message