Three problems with no_implicit_actions
First reported by Garry Francis at https://intfiction.org/t/i6-weird-bugs-when-using-no-implicit-actions/44953/15
-
The noun token works where the multiexcept token doesn’t work. Multiexcept should effectively build a list of nouns and treat each one in turn. It should not abort prematurely in situations where the noun token does not abort.
-
If an object provides a before handler for Insert, it should be run. The library should not abort prematurely before the before handler has a chance to run.
-
If the library ignores the requirements of 1 and 2 above, it should not provide two different error responses for different objects for no apparent reason.
I've (Garry) tried to make sense of the library myself (specifically parser.h), but the really long functions, spaghetti-like code (use of jumps), untidy formatting and extensive use of obscure global variables makes it extremely difficult to work out what’s going on. As you’re more familiar with the source code than I am, I’m sure you’ll at least have a fighting chance of identifying (and fixing?) the problems. Thanks if you can.