Re: Simple Definition Invocation Disappears

Valery Ushakov <[email protected]> Mon, 30 Apr 2018 11:28:22 +0300
Newsgroups gmane.comp.type-setting.lout
Message-ID <[email protected]>
On Sun, Apr 29, 2018 at 22:44:53 -0400, Brian Sakal wrote:

> I was wondering why the invocation of the following definition doesn't
> appear in the output:
> 
> 
> @SysInclude {doc}
> 
> def @Sef
>   left num {}
>   right content
>   {num @DropCapTwo content}
> 
> @Doc @Text @Begin
> 
> @Display @Heading {My Heading}
> 
> {A} @Sef {
> Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
> blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
> blah blah blah blah blah blah blah blah blah
> }
> 
> @End @Text
> 
> 
> 
> It compiles with no errors.

No, it doesn't :).  Your example does result in an error because of
the empty braces after left num (guess, it's a named parameter in the
real example).

But that's irrelevant to the actual problem (once you g/c the leftover
braces).


> I suspect due to the simplicity of my problem that I am missing
> something :-)

Actually, to the contrary, it ventures into rather obscure corners.
@DropCapTwo is a galley.  When you hide it inside a definition like
that, the galley is never considered, iirc.  You need to look up the
details of galley promotion in the expert's guide.  It's been more
than a decade since the last time I actually remembered anything about
that.

Hopefully, Jeff can provide a real answer.

-uwe