Closed Skillmon closed 4 years ago
Thanks for the report, I suspect it would be better to use the simple form without #
in both cases. (As currently defined the pdftex version does not allow \relax before the first argument but it does before the second.
@josephwright are you aware of any differences between pdftex and xetex here?
@davidcarlisle No, the two are the same in implementation (the code is a copy done by me and fixed by Jonathan Kew).
I've noticed the weirdness here before, but really it's very much an edge case: I'm not really sure why Heiko allowed material before the first argument: as these are explicitly macro wrappers, there is no need to cover primitive argument grabbing.
Thanks l agree it's not a big issue but I'm updating the package this release anyway so I may as well do this
On Wed, 20 Nov 2019, 16:40 Joseph Wright, notifications@github.com wrote:
@davidcarlisle https://github.com/davidcarlisle No, the two are the same in implementation (the code is a copy done by me and fixed by Jonathan Kew).
I've noticed the weirdness here before, but really it's very much an edge case: I'm not really sure why Heiko allowed material before the first argument: as these are explicitly macro wrappers, there is no need to cover primitive argument grabbing.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ho-tex/oberdiek/issues/60?email_source=notifications&email_token=AAJVYART35XLWTNO42PTEJDQUVR6DA5CNFSM4HEBHWE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEESUKII#issuecomment-556090657, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJVYAUY4DAN6OKWA4CRJYDQUVR6DANCNFSM4HEBHWEQ .
The definitions of
\pdf@strcmp
are inconsistent between pdfLaTeX and XeLaTeX. One would think that they should both be defined to expand to the appropriate primitive (or even let to those), but instead under pdfLaTeX the definition is done with\def\pdf@strcmp#{\pdfstrcmp}
and in XeLaTeX with\def\pdf@strcmp{\strcmp}
. Why are those defined inconsistently across the two engines, as far as I can see, both primitives have the same rules for their argument (\pdfstrcmp\relax{foo}\relax{foo}
and\strcmp\relax{foo}\relax{foo}
both work).