On 12/20/18 2:41 PM, Bruno Le Floch wrote: > On 12/20/18 08:35, Joseph Wright wrote: >> On 20/12/2018 05:56, Tisha Shusho wrote: >>> Hello List, >>> >>> In "The LaTeX3 Sources" document it says (on p. 296, >>> Released 2018-12-12): >>> "Older versions of expl3 divided up primitives by “source”: >>> that becomes very tricky with multiple parallel engine >>> developments, so has been dropped. To cover the transition, >>> we provide the older names here for a limited period (until >>> the end of019)." >>> >>> Does this mean one should avoid using functions such as >>> "\etex_iffontchar:D"? >>> If yes, are there any alternative to such commands? >>> >>> Furthermore, in "The expl3 package and LaTeX3 programming" >>> document it says (on page 7, Released 2018-12-12): >>> "D This means: Do not use. This special case is used for TEX >>> primitives. Programmers outside the kernel team should not use >>> these functions!" >>> >>> Again, which function should a programmer who is not a member >>> of kernel team use instead of "\etex_iffontchar:D"? >>> >>> Thanks, >>> Tisha >> >> Hello, >> >> We moved all of the primitives to \tex_...:D a while ago: the engine >> history is not really helpful in dealing with them. >> >> For cases where you *have* to use a :D command, we recommend making a >> private copy >> >> \cs_neq_eq:NN \__module_fontchar:w \tex_fontchar:D >> >> then using that. >> >> Joseph > > To avoid possible confusion, here is the command with the typo > corrected, and of course replace "module" by the name of your module. > > \cs_set_eq:NN \__module_fontchar:w \tex_fontchar:D > > Best, > Bruno I think Joseph meant: \cs_new_eq:NN \__module_fontchar:w \tex_fontchar:D However, as I understand from the document the <cs> created by "\cs_new_eq" is global, but according to the description of "\cs_set_eq" which reads: "The assignment of a meaning to the <control sequence1> is restricted to the current TeX group level.", I think the assignment is valid within the module only. Am I right? Thanks, Tisha