Skip to content
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

Undo Output Control by Erik Temple steps on #undef from 6.3.3 compiler #77

Closed
andrewschultz opened this issue Mar 6, 2022 · 3 comments

Comments

@andrewschultz
Copy link
Contributor

I don't know if it is practical to do anything to fix this, but ... in Undo Output Control, the user is allowed to specify new words for "undo" and "oops." This gets in the way of code such as

Include (-

	#Undef OOPS1__WD;
	Constant OOPS1__WD = 'o//';
	#Undef OOPS2__WD;
	Constant OOPS2__WD = 'o//';
	#Undef OOPS3__WD;
	Constant OOPS3__WD = 'o//';

-) after "Language.i6t".

Which is simpler, and it's usable for compiler version 6.3.3 and above. (We are at 6.3.6, but 6.3.3 has been around for years.)

Though this was a very forward-thinking thing for Erik to do, and it provided immediate flexibility, he couldn't look into the future and see #Undefs. The result was, I couldn't figure how/why the OOPS word was still enabled in Ailihphilia.

My test case was that I 1) set AGAIN1__WD etc. elsewhere and 2) assumed the same would work for OOPS1_WD (it works fine without this extension and seems like a better general approach.)

So is it worth upgrading Undo Output Control to note this? Should we assume that people have/want the latest compiler version? Is there a way we can/should document things so other people are less likely to run into the same dead end I did?

The code in question would be

To decide which value is undo word #1:
	(- 'undo' -)
	
To decide which value is undo word #2:
	(- 'undo' -)
	
To decide which value is undo word #3:
	(- 'undo' -)
	
To decide which value is oops word #1:
	(- 'oops' -)

To decide which value is oops word #2:
	(- 'o//' -)
	
To decide which value is oops word #3:
	(- 'oops' -)

And changing "undo word #1" in the code to UNDO__W1, etc.

@neroden
Copy link
Contributor

neroden commented Mar 6, 2022 via email

@neroden
Copy link
Contributor

neroden commented May 22, 2022

Solved during my update of Undo Output Control for Inform v10. Basically I removed the old Undo Output Control mechanism and told people to use the most modern method (which isn't actually #Undef any more, it's "replacing"... it's in the docs for the extension). This is now on the 'master' branch and I am working on getting it pushed into the 10.1 branch.

@neroden
Copy link
Contributor

neroden commented May 22, 2022

Um, I'm not sure why that didn't close this issue. Trying again.

@neroden neroden closed this as completed May 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants