# Bug Tracker

ID: 18 🔗 Closed (Migrated) datatool 2.11 20 2013-01-16 14:37:58 xkeyval incompatibility

## Report

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}


## Evaluation

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

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 supply your name, it will be used in the email greeting, which provides a more personal message, otherwise you'll just get a generic greeting. If you have previously supplied your name when signing up for notifications, you don't need to resupply it unless you want to change it.

If you have previously subscribed to notifications for this report, you can unsubscribe by clicking on the "Stop Notification" button.

The "Confirm Bug ID" field helps to protect against spambots. Please enter the bug ID (which you can find at the top of this page).

Name: (Optional.)