News (2017-09-10): New application bib2gls for use with glossaries-extra.sty.

# Bug Tracker

ID 18 Closed (Migrated) datatool 2.11 N/A xkeyval incompatibility

## Report

Migrated to Error if \DTLnewdbentry's third argument is an empty macro

Hi,

a file which used to compile doesn't compile anymore, due to an "! Paragraph ended before \@dtl@checknumericalstart was complete." error.

Thanks!

### MWE

\listfiles{}

\documentclass{article}
\usepackage{datatool}
\DTLnewdb{mydata}
\makeatletter
\define@cmdkeys{family}{firstname}[none]
\setkeys{family}{firstname=}%
\newcommand{\populatemydata}[2][]{%
\dtlexpandnewvalue
\setkeys{family}{#1}%
\DTLnewrow{mydata}%
\DTLnewdbentry{mydata}{Surname}{#2}%
\DTLnewdbentry{mydata}{FirstName}{\cmdKV@family@firstname}
\setkeys{family}{firstname=}%
}
\makeatother
\begin{document}
\populatemydata{Doe}
\populatemydata[firstname=John]{Doe}

\DTLdisplaydb{mydata}
\end{document}

Comment from Denis Bitouze
Date: 2013-01-16 14:49:53 CST

Same trouble with version 2.13

Comment from Denis Bitouze
Date: 2013-01-18 10:56:32 CST

Hi,

in fact, the bug has nothing to do with xkeyval (sorry), but if \DTLnewdbentry's third argument (value of the identifier key) is an empty macro.

The following MCE shows the problem:

  \DTLnewdbentry{mydata}{Surname}{\test}%


is OK as long as \test is a non-empty macro (uncomment penultimate line to bring out the error).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass{article}
\usepackage{datatool}
%
\newcommand{\test}{}
%
\begin{document}
%
\DTLnewdb{mydata}%
%
\renewcommand{\test}{Doe}
\DTLnewrow{mydata}%
\DTLnewdbentry{mydata}{Surname}{\test}%
%
\renewcommand{\test}{}
\DTLnewrow{mydata}%
% \DTLnewdbentry{mydata}{Surname}{\test}%
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


## Watch This Report

If you would like to add a comment regarding this bug report, please fill in the form below, but don't use it for a different bug or feature request, even if it's related. Instead fill out a new bug report or feature request. (If you want to link it to this report, make a note of the ID number at the top of the page.)

 Name (Optional) Comment You can use the following markup: [pre]Displayed verbatim[/pre] [tt]monospace font[/tt] [url]web address[/url] which will be converted to:
Displayed verbatim