Will Robertson writes: > I'd like to hear the opinions of the others; I guess this is an edge case > to using SyntaxNames. Ideally, perhaps, we should make \bool_if:n more > robust so the catcode of | isn't as critical. I wouldn't want to do the latter as that would mean an unnecessary performance hit during run (or do I misunderstand what you are saying?) question to me are - do we really need both declarations? - if so what are the intendend semantics? right now, when reading the documentation we state that % Issues a catcode regime where spaces are ignored and colon and % underscore are letters. A space character may by input with "~" instead. however \ExplSyntaxOn these days does much more and secures a number of additional catcodes. On the other hand \ExplSntaxNames only sets _ and : explicitly and that for a start seems wrong and is bound to produce problems one day. So if we want \ExplSyntaxNames we need to decide if the only difference between the two is the space handling or if it really just sets up things so that "Names" can be entered (in which case it would be correct if boolean expression do not work). In either case we would then have to worry about proper resetting of catcodes. Personally, I would think that it isn't needed at all. Instead I would suggest to either drop it totally so that with expl code ~ always needs to be used for entering spaces or provide \ExplSyntaxOn/Off % sets the whole shebang and prepares for catcode % resetting \ExplObeySpacesOn/Off % just changes the space related catcodes to be used % within \ExplSyntaxOn in use reason for the latter command: if you have to enter a lot of code that actually needs real spaces then it might be nice not to always have to go "this~ is ~ some~ text~ to~ be displayed~ with spaces~ on the~ terminal" and then forget one or two as I did above. Having said that, I got fairly used to always use ~ with the code so I wouldn't mind just dropping it frank