LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Morten Høgholm <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Wed, 5 Sep 2007 16:33:24 +0200
text/plain (53 lines)
On Wed, 05 Sep 2007 08:37:34 +0200, Frank Mittelbach wrote:

> hmm, something got messed up when the prop implementation got changed  
> from
> using sequences (with tlps) to toks registers. try this one
> \RequirePackage{l3prop}
> \ExplSyntaxOn
> \def_long:NNn \prop_get_del_aux:w 6
> {
>   \tlp_set:Nn #1{#5}
>   \quark_if_no_value:NF #1
>     {
>      \def:Npn \tmp:w ##1#3\q_no_value {#2{#4##1}}
>      \tmp:w #6
>     }
> }
> i haven't updated it yet as I wonder why that change was done.

Clearly a bug. I think what may have happened is that I was very concerned  
about what was input in those \quark tests as there were some areas (in  
l3keyval I think and other palces) where some of them were a bit fragile  
depending on their contents. So this one line got deleted as I probably  
thought it to be redundant.

One thing that should perhaps change here and elsewhere in the module is  
   \tlp_<g>set:Nx <tlp>{\exp_not:n{<value>}}
in case the values contain #s but I don't know if there is use for that or  
if it should be supported.

> using
> \quark_if_no_value:NF is much much faster than \quark_if_no_value:nF as  
> the
> later literately scans for \q_no_value which the former just uses the  
> quark
> feature that
> \tlp_set:Nn \FOO{\BAR}
> \if_meaning:NN \FOO \BAR  ->  true if and only if \BAR was a quark

If run on pdfTeX 1.30 or later the test for string equality use \pdfstrcmp  
and so is a lot faster than before but still slower than the single  
\if_meaning:NN test of course.