## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

#### View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font

Subject:

Re: Rewriting polyglossia in LaTeX3

From:

Date:

Thu, 11 Nov 2010 12:17:27 +0000

Content-Type:

text/plain

Parts/Attachments:

 text/plain (35 lines)
 On 11/11/2010 12:06, Rémy Oudompheng wrote: > Another l3keys puzzle : the following code > > \documentclass{minimal} > \usepackage{expl3} > \begin{document} > \ExplSyntaxOn > \keys_define:nn {module} { > a .default:n = Alice , > a .code:n = Hello #1 , > } > \keys_set:nn {module} {a} > \ExplSyntaxOff > \end{document} > > produces "Hello ", but if I swap the "default:n" and "code:n" line, I > get "Hello Alice". > > The example from the documentation (latex3-source.pdf) also puts the > "default:n" line last. Is that mandatory ? At least in the current implementation, .code:n will 'reset' any other properties of a key. So setting "a .code:n = Hello #1" will delete any default value. I guess that this needs more explanation. Now, you might wonder why this happens. The thinking when I wrote this was that if you change the code in some arbitrary way then any other properties may no longer be valid. For example, if you do something like    a .value_forbidden: ,    a .code:n = Hello #1 , then it's not exactly obvious what should happen about 'forbidden' property. -- Joseph Wright