[I7] @output_stream in I6 inclusions

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.

Well, that was easy. Thanks!

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.