Latest news 2020-05-02: new blog post "Book Samples."

# 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.)

To unsubscribe from all notifications use the notifications page.

## Comment

You can append a comment to the report using the form below. Comments are checked first before being added. Any spam or offensive content will be removed first according to this site's Terms of Website Use. Please bear in mind that I develop and maintain free software in my spare time. If you want commerical level support then you can hire a TeX consultant.

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. If provided, it will be shown with the comment.) Message: You can use the following markup: [pre]Displayed verbatim[/pre] [tt]monospace text[/tt] [em]emphasized text[/em] [b]bold text[/b] [url]web address[/url] Ordered list: [ol] [li]first item[/li] [li]second item[/li] [/ol] Unordered list: [ul] [li]first item[/li] [li]second item[/li] [/ul]

Click on the Preview button to preview the message.