-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Glulx Entry Points command pasting is not invoked, preventing hyperlink extensions from working #65
Comments
Here is a version of the now-broken extension with a few debug printouts. These merely serve to demonstrate that the Inform 7 mechanisms of Inline Hyperlinks are working as expected. |
By injecting printouts into the "handle glk event rule" I have zeroed in on these lines in Glulx Entry Points as the point where processing of the hyperlink seems to stop:
The original:
EDIT: I seem to have confirmed that the outcome of the handle glk rulebook is not a success with either version. |
Upon further inspection, it appears that the "the handle glk event rule" is never invoked by the latest version of the extension, because the By extension, the following lines are never run:
This apparently breaks Glulx Entry Points' ability to inject or replace player commands. I'm inclined to call this a bug in Glulx Entry Points. |
It's very possible there are a ton of bugs - the state of affairs for hyperlinks in I7 is really poor. Sorry. I'm not sure if I'll have the time to look into this any time soon. There are other hyperlink extensions. I'm not sure which is the most up to date. |
It seems like repairing the "glulx replacement command" function in Glulx Entry Points might do a lot for the hyperlink situation. :) I'm tinkering to see if I can work out how to restore functionality to the Handle Glk Event Rule. There are two problems with this:
As a compromise on the first issue, I've implemented a small addition to GEP that patches the two handlers together and restores the command-pasting part of the hyperlinks feature:
...But I'm still trying to figure out how I can respect the handler result and actually submit the pasted command. |
Here's a rather crude modification that restores the broken functionality without introducing a new rulebook. With these changes Inline Hyperlinks works again, although there are probably other better ways to fix things. My changes are purely additions:
Essentially what we're doing here is intercepting Glk Events' invocation of the input handling rules so we can dispatch Glulx Entry Points' own with additional logic... collecting the result... and later returning that result from HandleGlkEvent (which allows us to submit commands). |
The command-replacement functionality in Glulx Entry Points is broken. Use this extension instead. |
Thanks, I'll give that a try! That said, I think I've worked out how to repair Glulx Entry Points and I'll be making a PR shortly. I notice far more extensions rely on Glulx Entry Points than rely directly on Glk Input Handling... But I think there's a (tidy, robust) way to fix GEP without breaking compatibility with anything. |
I'm trying to use the Inline Hyperlinks extension with the Flexible Windows extension and I've hit an impasse. The latter needs a newer version of Glulx Entry Points than the one which is stocked with Inform; the former stops working when the latest Glulx Entry Points are installed.
My attempts at debugging suggest that Inline Hyperlinks' behavior doesn't change much. It invokes the following Inform 6 code when clicking links, but the glulx replacement command is never processed:
This thread suggests the issue also affected an earlier version of Glulx Entry Points, although that version also appears to depend on Dannii Willis' additions.
https://intfiction.org/t/inline-hyperlinks-is-broken-update-not-flexible-windows/11047/7
The text was updated successfully, but these errors were encountered: