Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing variants of \property_if_recorded:eeTF #1532

Open
gusbrs opened this issue Nov 3, 2024 · 5 comments
Open

Missing variants of \property_if_recorded:eeTF #1532

gusbrs opened this issue Nov 3, 2024 · 5 comments
Labels
fixed in dev Fixed in development branch, not in stable release

Comments

@gusbrs
Copy link

gusbrs commented Nov 3, 2024

Brief outline of the bug

ltproperties-doc documents all conditional variants of \property_if_recorded:eeTF to exist, but in reality, only the TF is defined.

Minimal example showing the bug

\RequirePackage{latexbug}
\documentclass{article}

\begin{document}

\section{Section}
\RecordProperties{sec:section}{label,page}

\ExplSyntaxOn
% ok
\property_if_recorded:eeTF{sec:section}{label}{Yes}{No}

% fails
\property_if_recorded:eeT{sec:section}{label}{Yes}
\ExplSyntaxOff

\end{document}

Log file (required) and possibly PDF file

document.log

@muzimuzhi
Copy link
Contributor

\property_if_recorded:eTF has a similar issue.

214ce87 (expand label/property name consistently in LaTeX2e commands, 2023-09-13) added e variants of \property_if_recorded:nTF and \property_if_recorded:nnTF for only the TF forms, although the base functions have all four forms (p, T, F, TF) defined.

Probably a documentation issue.

@u-fischer
Copy link
Member

I must say, I have no idea how to properly document that in the l3doc syntax. The easy way out would be to provide all variants (here and in two other conditionals), another to mention the ee-variant only in the text. @josephwright , @FrankMittelbach what do you think?

@josephwright
Copy link
Member

@u-fischer Yes, by far the easiest it to provide all variants

@gusbrs
Copy link
Author

gusbrs commented Nov 5, 2024

This is a little weird, providing the variants for this reason alone...

To be clear, I'm not requesting or suggesting for them to be defined.

Anyway, what I can say from "the user side" is that I almost got bitten by this. I had used the non-existing \property_if_recorded:eeT in a very "corner place" of a package (somewhere reached only if the place is a measuring pass where the user has set a label option there), and which was not covered by regression tests, and almost shipped the package with it. So promising something exists when it doesn't, is also not ideal.

@josephwright
Copy link
Member

This is a little weird, providing the variants for this reason alone...

Sure, but they are low cost and predictability is good.

u-fischer added a commit that referenced this issue Nov 5, 2024
josephwright pushed a commit that referenced this issue Nov 5, 2024
@u-fischer u-fischer added the fixed in dev Fixed in development branch, not in stable release label Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fixed in dev Fixed in development branch, not in stable release
Projects
None yet
Development

No branches or pull requests

4 participants