How does the following print
Heime Borgia
405 Hilgard Ave
Los Angeles
California
90095
United States
Likku Cirillu
409 Hilgard Ave
rather than
Heime Borgia
405 Hilgard Ave
Los Angeles
California
90095
United States
Likku Cirillu
409 Hilgard Ave
Los Angeles
California
90095
United States
I want the second call to use the existing values from the first call for the variables not set by the second call.
The implementation is
\documentclass[a4paper,12pt]{article}
\ExplSyntaxOn
\keys_define:nn { adr_keys }
{
name .tl_set:N = \l_adr_name_tl,
role .tl_set:N = \l_adr_role_tl,
kmpn .tl_set:N = \l_adr_kmpn_tl,
dwlg .tl_set:N = \l_adr_dwlg_tl,
hmlt .tl_set:N = \l_adr_hmlt_tl,
vltw .tl_set:N = \l_adr_vltw_tl,
cbrg .tl_set:N = \l_adr_cbrg_tl,
knty .tl_set:N = \l_adr_knty_tl,
pstc .tl_set:N = \l_adr_pstc_tl,
ktry .tl_set:N = \l_adr_ktry_tl,
}
\cs_new_protected:Nn \adr_print:n
{
\keys_set:nn { adr_keys } { #1 }
\begin {tabular} { @{} l@{} }
\tl_use:N \l_adr_name_tl \\
\tl_if_blank:VF \l_adr_role_tl
{ \tl_use:N \l_adr_role_tl \\ }
\tl_if_blank:VF \l_adr_kmpn_tl
{ \tl_use:N \l_adr_kmpn_tl \\ }
\tl_if_blank:VF \l_adr_dwlg_tl
{ \tl_use:N \l_adr_dwlg_tl \\ }
\tl_if_blank:VF \l_adr_hmlt_tl
{ \tl_use:N \l_adr_hmlt_tl \\ }
\tl_if_blank:VF \l_adr_vltw_tl
{ \tl_use:N \l_adr_vltw_tl \\ }
\tl_if_blank:VF \l_adr_cbrg_tl
{ \tl_use:N \l_adr_cbrg_tl \\ }
\tl_if_blank:VF \l_adr_knty_tl
{ \tl_use:N \l_adr_knty_tl \\ }
\tl_if_blank:VF \l_adr_pstc_tl
{ \tl_use:N \l_adr_pstc_tl \\ }
\tl_if_blank:VF \l_adr_ktry_tl
{ \tl_use:N \l_adr_ktry_tl \\ }
\end {tabular}
}
\NewDocumentCommand {\adrLflush} { m }
{
\begin {flushleft}
\adr_print:n { #1 }
\end {flushleft}
}
\ExplSyntaxOff
\begin{document}
\adrLflush
{
name={Heime Borgia},
dwlg={405 Hilgard Ave},
cbrg={Los Angeles},
knty={California},
pstc={90095},
ktry={United States},
}
\adrLflush
{
name={Likku Cirillu},
dwlg={409 Hilgard Ave},
}
\end{document}

flushleftenvironment. All environments restore all local assignments that is basic latex behaviour unrelated to any specifics of the code. use global (gset) assigments if you want to escape an environment – David Carlisle Mar 11 '24 at 23:40