It’s been a while since I coded with TADS, but I saw the new release of Adv3lite and thought I’d give it a go. I am getting warnings on a fresh installation. I’m using the Windows workbench and the Adv3Lite game template. When it auto-compiles, I get warnings like this.
The symbol "byRoom" is undefined, but appears from context to be a property
name. The compiler is assuming that this is a property. Check the spelling of
the symbol. If this assumption is correct, you can avoid this warning by
explicitly declaring a value to the property in an object definition rather
than in method code.
c:\program files (x86)\tads 3\lib\adv3Lite\parser.t(392): warning:
The symbol "allowImplicitSay" is undefined, but appears from context to be a
property name. The compiler is assuming that this is a property. Check the
spelling of the symbol. If this assumption is correct, you can avoid this
warning by explicitly declaring a value to the property in an object definition
rather than in method code.
c:\program files (x86)\tads 3\lib\adv3Lite\attachables.t(169): warning:
The symbol "failVerifyObj" is undefined, but appears from context to be a
property name. The compiler is assuming that this is a property. Check the
spelling of the symbol. If this assumption is correct, you can avoid this
warning by explicitly declaring a value to the property in an object definition
rather than in method code.
I’m not a Lite user, so I don’t know how much help I can be. But allowImplicitSay is defined in actor.t, line 1017. byRoom in thing.t, 3882. I could be wrong but failVerifyObj might be part of the most recent changes where @Eric_Eve was trying to fix a bug. I don’t know if the freshest update has been well tested. Anyway, it would seem that (some of) the symbols in actor.t and thing.t are not getting compiled?
The latest release of adv3Lite is 1.6.1. Some files have been updated since then on the GitHub repo. Is it the latter you’ve downloaded? (The reference to failVerifyObj suggests so),
I can see how the allowImplicitSay warning might arise if you complied a game with adv3Liter (which doesn’t include actor.t) so I’ll fix that, but the others are baffling.
The file attachables.t doesn’t reference failVerifyObj at all (at line 169 or anywhere else).
As John says byRoom is defined in thing,t. This file must be present in the adv3Lite library, so I can’t see how the warning you’re getting is coming about.
EDIT: I see you’ve installed the adv3Lite library under the lib folder of your TADS 3 installation. It’s conceivable this is causing mysterious clashes with the adv3 library. It’s recommended to install adv3Lite under the extensions folder of your own TADS 3 folder (on Windows under My Documents\TADS 3\extensions).