Simplify boolean expression parsing a bit.

This commit reduces the number of auxiliaries from 35 to 16,
hopefully that will help me understand the parser enough to
correct the precedence of && and || (currently equal).



git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3885 de43f980-851b-0410-b2f7-c40aca1f87e0
Mark up internal/private functions in l3str.

For the l3regex and l3str modules, there is no doubt on where the limits 
between private, internal, and public functions are.  For l3tl-analysis, 
I made only tl_show_analysis public, no public function in l3tl-build 
(even though we may need to provide something along those lines 
eventually), and almost everything in l3flag is public.



git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3886 de43f980-851b-0410-b2f7-c40aca1f87e0
Add tests for cs_set:cn.

No particular reason to do it now, it just was on my todo list.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3887 de43f980-851b-0410-b2f7-c40aca1f87e0
Rename some str auxiliaries which are currently in l3tl.

The auxiliaries of \str_head:n and \str_tail:n which are used in l3tl 
now have the name that they will have when l3str is merged into the 
kernel.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3888 de43f980-851b-0410-b2f7-c40aca1f87e0
Document all skip functions before all muskip functions (minor reordering).


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3889 de43f980-851b-0410-b2f7-c40aca1f87e0
Add constant empty sequence and clist.

This is done for consistency with tl, prop, box, and coffins, which all 
have an empty constant of that type.  All types which support 
\<type>_if_empty should have a \c_empty_<type>.
 


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3890 de43f980-851b-0410-b2f7-c40aca1f87e0
Typography: "x-type" => "\texttt{x}-type".

Also, a bunch of trailing spaces removed.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3891 de43f980-851b-0410-b2f7-c40aca1f87e0
Clean up the documentation of expl3.dtx a bit.

Typos fixed, small inaccuracies corrected, long lines
reflowed, trailing spaces trimmed.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3892 de43f980-851b-0410-b2f7-c40aca1f87e0
Add to \END a test that we are at grouplevel and iflevel 0.

Occasionally, ill-designed macros might 'leak' groups or
primitive conditionals.  It is thus useful to make sure at
the end of each test file that we are correctly back to
the outer group level and to the outer if level.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3893 de43f980-851b-0410-b2f7-c40aca1f87e0
Note small change that happened to tl_trim_spaces:n

The \tl_trim_spaces:n function was altered a bit in
a commit last month: it used to expand in two steps,
now it takes a variable number of expansion steps.
I had forgotten to add a note about that in
l3syntax-changes.  Now done.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3894 de43f980-851b-0410-b2f7-c40aca1f87e0
Make allocation variables internal by adding one underscore.

All the variables used inside l3alloc should be internal,
rather than public in format mode.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3895 de43f980-851b-0410-b2f7-c40aca1f87e0
Some textual suggestions. Please use as you see fit (certainly needs polish but I lack the time right now)

git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3896 de43f980-851b-0410-b2f7-c40aca1f87e0
Towards getting 'make checkcmds' to work.

I changed the format of the '.cmds' file which is created by l3doc.  
Before, it used to be a list of all commands which are both defined and 
documented.  Now it has the form

    > \documented_defined_function:w
    ! \documented_undefined_function:w
    ? \defined_not_documented_function:w

Then commands-check reads that file and displays the lines starting with 
'!'.  Can someone check that I didn't bust the make.bat file?  I can't 
test.  Also, I hope that the l3doc changes don't screw up typesetting 
somewhere else.

Hyperlinks for e.g., '.value_forbidden:' seem broken in l3keys, dunno 
why: for '.tl_set:Nn' it works alright.

Some changes in the other modules to reduce discrepancies between 
documented functions and defined functions (as far as I can tell, [aux] 
macros do not count as 'defined').



git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3897 de43f980-851b-0410-b2f7-c40aca1f87e0
Document two :n functions which require braces.

The renamed primitives \tl_to_str:n and \exp_not:n only
accept arguments which are braced.  This should be
documented (we state in expl3 that we document that
unusual behaviour, so we must do it).

Presumably something similar should be done for the \def
variants (\cs_(new/set/gset)(_protected)(_nopar):Npn),
but I didn't know where to add that.



git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3898 de43f980-851b-0410-b2f7-c40aca1f87e0
Prefer the stable set_split to the candidate set_from_clist.

Converting a comma-list to a sequence can be done either with
\seq_set_from_clist:NN, now moved to l3candidates, or with
\seq_set_split:NnV (using ',' as a second argument), which is
documented in l3seq.

We could have continued using \seq_set_from_clist:NN internally,
but I'd rather use public functions when both options make sense.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3899 de43f980-851b-0410-b2f7-c40aca1f87e0
Correct {macro} to {function} in the documentation of l3prg.

This mistake of using the macro environment instead of function
interacted in weird ways with 'make checkcmds'.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3900 de43f980-851b-0410-b2f7-c40aca1f87e0
Some internal prg functions were not marked as such.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3901 de43f980-851b-0410-b2f7-c40aca1f87e0
Proof of concept code to convert "@@" in source3.pdf

The markup in the source is minimal: add
\SetModuleName{foo} just next to the %<@@=foo> line.
Then '\cs', '\begin{macro}', and '\begin{macrocode}'
all replace '@@' by '__foo' in the same way as
l3docstrip.

Some care is needed to get the catcodes right,
otherwise the index breaks.  In fact, I didn't pick
the best example module since & in some prg macro
names clashes with the verbatim char for index files.



git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3902 de43f980-851b-0410-b2f7-c40aca1f87e0
A misnamed error


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3903 de43f980-851b-0410-b2f7-c40aca1f87e0
Missing 'end{macro}' in l3msg.


git-svn-id: svn+ssh://comedy.dante.de/serv/latex-project/svn/experimental/trunk@3904 de43f980-851b-0410-b2f7-c40aca1f87e0