|
|
I had the thought the deprecated feature could be a way to track or
inquire about the home scope of particular identifier names. It should
be the deprecated message follows the identifier around as long it
exists. This being, perhaps, a use making the the feature more worthwhile.
Again I set up a scene hierarchy of:
A.pov -> B.inc -> C.inc
Where I used #declare or #local I made use of the deprecated feature. In
A.pov, for example, I set up identifiers A and B:
#declare deprecated "Referenced A 'declared' in file A.pov" A = "A\n"
#local deprecated "Referenced B 'localed' in file A.pov" B = "B\n"
and so on into C.inc where I added this #local declaration of A which is
entirely local to C.inc:
#local deprecated "Referenced A 'localed' in file C.inc" A = "A_l\n"
What happens might or might not be the same bug. I'm not going to
further debug and try and work up a fix. The 'deprecated' feature is
going away in the povr fork.
For v3.8 b2:
Bug 1.
The #local 'A' creation in C.inc has nothing to do with the global 'A',
however, POV-Ray issues the deprecated message as if the global 'A' in
A.pov is being referenced. It does this whether or not the #local in
C.inc of A uses the deprecated feature itself.
Bug 2. The follow on reference to the local A in C.inc returns the
correct local to C.inc 'A' value, but no deprecated message at all -
though I specified one. Other #local use where there is no name
collision with a more global identifiers to work fine with the
deprecated feature.
Aside: I previously mentioned the deprecated feature is not working with
the 'global' and 'local' pseudo dictionaries in this thread:
https://news.povray.org/povray.beta-test/thread/%3C6534786e%241%40news.povray.org%3E/
Lastly, I've attached a tarball with the code I was using that exposed
the bug(s).
Bill P.
Post a reply to this message
Attachments:
Download 'deprecated.tar.gz' (3 KB)
|
|