Bug Tracker 
| ID | 173🔗 |
|---|---|
| Date: | 2021-06-08 07:42:45 |
| Status | Closed (Fixed) |
| Category | glossaries |
| Version | 4.46 |
| Summary | .glsdefs is not updated |
Sign in to subscribe to notifications about this report.
Description
Following are the steps to reproduce:- Compile minimal working example
- Change the
testglossary entry's description - Compile minimal working example
- Compile minimal working example
Actual behavior: The old description shows up in the document.
While the documentation states "if you modify an entry definition, you need a second run to see the effect of your modification", this does not help.
Possible root of the bug:
\newrobustcmd{\new@glossaryentry}[2]{%
\ifundef\@gls@deffile
{%
\global\newwrite\@gls@deffile
\immediate\openout\@gls@deffile=\jobname.glsdefs
}%
{}%
\ifglsentryexists{#1}{}%
{%
\gls@defglossaryentry{#1}{#2}%
}%
\@gls@writedef{#1}%
}
By using \ifglsentryexists, the new dfinition is not used. Not even for \@gls@writedef.MWE
Download (176B)
\documentclass{report}
\usepackage{glossaries}
\makeglossaries
\begin{document}
\newglossaryentry{test}{name={t},description={Test2}}
\Glsentrydesc{test}
\end{document}
Evaluation
Fixed in v4.47. (You may need to delete your .glsdefs file after upgrading.)
Note that this update slightly changes the format of the .glsdefs file. If anyone has a system that parses this file (for example, to pick up labels for autocompletion) it will need to be modified.
Old format:
\ifglsentryexists{label}{}%
{%
\gls@defglossaryentry{label}%
{%
key value list
}%
}%
New format:
\glsdefs@newdocentry{label}%
{%
key value list
}%Comments
0 comments.
Add Comment
Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=173
