Bug Tracker RSS feed

ID 303🔗
Date: 2025-04-25 12:50:16
Last update: 2025-04-25 14:13:20
Status Closed (Fixed)
Category datatool
Version 3.4
Summary Use of arguments inconsistent with expl3 language specification

Return to Search Results

Sign in to subscribe to notifications about this report.

Description

I am writing as a developer of expltools [Link], which includes the static analysis tool explcheck for the expl3 programming language.

In February, we launched a public website [Link] that aggregates all issues detected in the current TeX Live distribution by explcheck. According to our report, datatool currently triggers 1 error "E300 (Unexpected function call argument)" [Link] in the following invocation on line 2603 of file databib.sty:

  \regex_extract_once:NnNF \c_databib_year_suffix_regex
     \l__datatool_tmp_seq
   {
     \seq_get_left:NN
       \l__datatool_tmp_seq
       \l__databib_year_tl
   }
   {
     \tl_clear:N \l__databib_year_tl
   }
Specifically, the issue is with the N-type argument { \seq_get_left:NN [...] }, because an N-type argument should consist of exactly one (unbraced) token, yet it consists of a braced set of three tokens.

It's not entirely clear to me what is being accomplished but the documentation of \regex_extract_once:NnNF in interface3.pdf says the arguments should be as follows: ⟨regex⟩ {⟨token list⟩} ⟨seq var⟩ {⟨false code⟩} Given that \l__datatool_tmp_seq appears as the second argument, I wonder if perhaps the second and third arguments have been exchanged by a mistake here?

MWE

Download (15B)

not applicable

Evaluation

It should be

\cs_new:Nn \__databib_get_year_suffix:n
{        
  \regex_extract_once:NnNTF \c_databib_year_suffix_regex
     { #1 }
     \l__datatool_tmp_seq
   {   
     \seq_get_left:NN
       \l__datatool_tmp_seq
       \l__databib_year_tl
   }
   {
     \tl_clear:N \l__databib_year_tl
   }
} 
I'll get it fixed. Thank you.

Update: fixed in v3.4.1

Comments

0 comments.


Add Comment

Name (optional):

Are you human? Please confirm the bug report ID (which can be found at the top of this page) or login if you have an account. All guest comments have to be manually checked before they appear on the page. There are too many bots trying to spam the site to allow unauthenticated users to post without verification.

Comment:


You can use the following markup:

Block:

[pre]Displayed verbatim[/pre]
[quote]block quote[/quote]

In line:

[tt]code[/tt]
[file]file/package/class name[/file]
[em]emphasized text[/em]
[b]bold text[/b]
[url]web address[/url] [sup]superscript[/sup]
[sub]subscript[/sub]

Ordered list:
[ol]
[li]first item[/li]
[li]second item[/li]
[/ol]

Unordered list:
[ul]
[li]first item[/li]
[li]second item[/li]
[/ul]

You can use the Preview button to review your message formatting before submitting.

Page permalink: https://www.dickimaw-books.com/bugtracker.php?key=303

Return to Search Results