I have nearly zero experience with I6, so I have no idea why the following won’t work.
[code]
Include (- Array streambuf buffer 200; -);
Include (-
[ Perform_Undo; #ifdef PREVENT_UNDO; L__M(##Miscellany, 70); return; #endif;
if (turns == 1) { L__M(##Miscellany, 11); return; }
if (undo_flag == 0) { L__M(##Miscellany, 6); return; }
if (undo_flag == 1) { L__M(##Miscellany, 7); return; }
if( isJS() ) { @output_stream 5 streambuf;
print “vorple.parser.setTurnType(‘undo’)”; @output_stream( -5 );
}
if (VM_Undo() == 0) L__M(##Miscellany, 7);
];
-) instead of “Perform Undo” in “OutOfWorld.i6t”.[/code]
It works if you comment out the @–commands. The stream commands work perfectly as I7 to-phrases (“To open JavaScript channel: (- @output_stream 5 streambuf; -).”). How do you open and close the stream inside the I6 function?
As the error says, the compiler gets antsy if there’s a @ character at the beginning of an I6 line. Just put some spaces before it, or a semicolon, or something else that doesn’t affect the I6 semantics.
Yeah, against the margin, I think it’s @p, @c, and @s which mean section headings part, chapter and section, IIRC. I specifically requested the error message you’re seeing because previously the old error message was misleading, not realizing I was putting an opcode against the margin rather than a I6 section heading.