Recent news (2017-03-24): texosquery v1.2 released.

# 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

I'm sorry, some spammers have cracked the captcha and genuine comments were being hidden in the midst of spam, so I've replaced the captcha with this test: Please enter the ID number of this report in the confirm ID box below.

The free software provided here (including my class files and packages on CTAN) are funded by my book sales. While I'm keen to remove bugs from my code, book production has to take priority over bug fixes, so please don't expect a rapid response.

Version numbers that end with "b" indicate a beta (prototype) release. Version numbers that end with "a" indicate an alpha (unstable) release.

© 2012 Dickimaw Books. "Dickimaw", "Dickimaw Books" and the Dickimaw parrot logo are trademarks. The Dickimaw parrot was painted by Magdalene Pritchett.