The documented use for different quarks in expl3 is broadly as follows:
- \q_stop and \q_mark for delimiting arguments, with \q_stop used
- \q_nil as a nil pointer
- \q_no_value to indicate the absence of a value at all
However, the use of these quarks in expl3 has been rather less well
defined, with \q_nil in particular used in places where \q_stop is most
appropriate. We've therefore revised the applications, and the SVN
version of expl3 is now much more systematic in this regard.
In the main, this change should not affect the code others are using as
these are mainly internal features. However, one place that the
difference may impact is \tl_head:w and \tl_tail:w. These now terminate
with \q_stop not \q_nil.
There will be a CTAN update of expl3 and xpackages soon (by the weekend,
I hope). This will include these changes (along with others: see my