Content-Type: |
text/plain; format=flowed; delsp=yes; charset=iso-8859-1 |
Date: |
Wed, 5 Sep 2007 16:33:24 +0200 |
Reply-To: |
|
Subject: |
|
From: |
|
Content-Transfer-Encoding: |
7bit |
In-Reply-To: |
|
MIME-Version: |
1.0 |
Sender: |
|
Parts/Attachments: |
|
|
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
|
|
|