T-F-S / tcolorbox

A LaTeX package to create highly customizable colored boxes.
http://www.ctan.org/pkg/tcolorbox
LaTeX Project Public License v1.3c
224 stars 16 forks source link

Use `\cs_new_protected:Npn` for expl3 functions not fully expandable #235

Open muzimuzhi opened 1 year ago

muzimuzhi commented 1 year ago

To ease expansion handling, expl3 follows the rule that a function is either fully expandable or protected.

As of v6.0.5 only two zlabel-related functions are defined by \cs_new_protected:Npn, which will eventually be defined with prefix \protected. More non-expandable functions should be created by \cs_new_protected:Npn and \cs_new_protected_nopar:Npn, not the corresponding \cs_new:Npn and \cs_new_nopar:Npn.

T-F-S commented 1 year ago

I take this as some general advice when overhauling code.