Mime-Version: |
1.0 |
Content-Type: |
multipart/signed; micalg="pgp-sha256";
protocol="application/pgp-signature";
boundary="=-O41swTx4K1J8GpRaghMT" |
Date: |
Mon, 27 Aug 2018 05:58:36 +0200 |
Reply-To: |
|
Subject: |
|
From: |
|
In-Reply-To: |
|
Message-ID: |
|
Sender: |
|
Parts/Attachments: |
|
|
Hi Will,
On Mon, 2018-08-27 at 13:12 +0930, Will Robertson wrote:
> If you really know that users will be updating/using new versions of
> your package on outdated systems, and they can’t/won't upgrade
> l3kernel itself, the best/easiest thing to do in this case would be
> to have code like:
>
> \cs_if_exist:NF \ior_str_get:NN
> { \cs_set_eq:NN \ior_str_get:NN \ior_get_str:NN }
>
> (Perhaps with a warning in there that if at all possible the user
> should update their expl3 version.) And then use the updated version
> of the command.
Adding a warning sounds like a good idea.
Hmm, do you think that will work? I had tried the following[1]:
\cs_if_exist:NF \ior_str_get:NN { \cs_new_eq:NN \ior_str_get:NN \ior_get_str:NN }
However, while this worked fine with older LaTeX distributions, the
user with a newer distribution reported the following error:
Runaway argument?
{\cs_new_eq:NN \ior_str_get:NN
! Forbidden control sequence found while scanning use of \use_i:nn.
<inserted text>
\par
l.34 ..._new_eq:NN \ior_str_get:NN \ior_get_str:NN
}
I have no idea why that error is happening here, it must have something
to do with the code to emit the deprecation warning.
Maybe \cs_set_eq:NN will behave better, I can try that later.
Regards,
Benjamin
[1] https://github.com/sdaps/sdaps-class/blob/master/sdapsarray.dtx#L125
|
|
|