Subject: | |
From: | |
Reply To: | |
Date: | Mon, 10 Aug 2009 08:15:29 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Will Robertson wrote:
> Considering that the things that \ExplSyntaxXYZ do are not expandable, I
> think it would be correct to define them \protected.
>
> Speaking generally, however, I'm not sure how much expansion we should
> be restricting. Lars in particular, recently, has been advocating
> keeping things expandable (and LuaTeX should broaden the applicability
> of what can be done there) but at this stage I've got nothing much to
> say :)
I perhaps should have suggested two general cases:
1) Design functions which clearly are expandable (such as \IfBooleanTF
or the version of \IfNoValue in xparse-alt): these should left alone as
they will behave "nicely".
2) Design functions which are not expandable (at least under pdfTeX or
XeTeX: LuaTeX raises lots of issues, I suspect). This includes
\ExplSyntaxOn/Off, \DeclareDocumentCommand and so on. I'd suggest that
these should be \protected.
I'm not saying it's likely that \edef-ing things like
\DeclareDocumentCommand is likely, but that it seems more consistent.
--
Joseph Wright
|
|
|