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 using \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. Cheers, -- Morten