From 7a50f35d6fd3bd705c78298b1ccc085991638f87 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 29 Dec 2011 23:03:42 +0000
Subject: l3kernel 3109 (29dec11)

git-svn-id: svn://tug.org/texlive/trunk@24971 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/l3kernel/l3basics.sty | 77 ++++++++++++++---------
 1 file changed, 46 insertions(+), 31 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/l3kernel/l3basics.sty')

diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
index c9e56e990e1..6faa1110ad1 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
@@ -46,7 +46,7 @@
 %%
 %% -----------------------------------------------------------------------
 \RequirePackage{l3names}
-\GetIdInfo$Id: l3basics.dtx 3023 2011-12-04 07:25:04Z bruno $
+\GetIdInfo$Id: l3basics.dtx 3090 2011-12-23 03:12:53Z bruno $
   {L3 Experimental basic definitions}
 \ProvidesExplPackage
   {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
@@ -86,10 +86,30 @@
 \tex_let:D \tex_long:D        \tex_long:D
 \tex_let:D \tex_protected:D   \etex_protected:D
 \tex_long:D \tex_def:D \exp_args:Nc #1#2 { \exp_after:wN #1 \cs:w #2 \cs_end: }
-%%  A small number of variants by hand.
-\tex_def:D \cs_meaning:c   { \exp_args:Nc \cs_meaning:N }
 \tex_def:D \token_to_str:c { \exp_args:Nc \token_to_str:N }
-\tex_def:D \cs_show:c      { \exp_args:Nc \cs_show:N }
+\tex_long:D \tex_def:D \cs_meaning:c #1
+  {
+    \if_cs_exist:w #1 \cs_end:
+      \exp_after:wN \use_i:nn
+    \else:
+      \exp_after:wN \use_ii:nn
+    \fi:
+    { \exp_args:Nc \cs_meaning:N {#1} }
+    { \tl_to_str:n {undefined} }
+  }
+\tex_protected:D \tex_def:D \cs_show:c
+  { \group_begin: \exp_args:NNc \group_end: \cs_show:N }
+\tex_let:D \c_minus_one \m@ne
+\tex_chardef:D \c_sixteen = 16~
+\tex_chardef:D \c_zero    = 0~
+\tex_chardef:D \c_six     = 6~
+\tex_chardef:D \c_seven   = 7~
+\tex_chardef:D \c_twelve  = 12~
+\etex_ifdefined:D \luatex_luatexversion:D
+  \tex_chardef:D \c_max_register_int = 65 535 ~
+\tex_else:D
+  \tex_mathchardef:D \c_max_register_int = 32 767 ~
+\tex_fi:D
 \tex_let:D \cs_set_nopar:Npn            \tex_def:D
 \tex_let:D \cs_set_nopar:Npx            \tex_edef:D
 \tex_protected:D \cs_set_nopar:Npn \cs_set:Npn
@@ -327,13 +347,13 @@
 \tex_chardef:D \c_false_bool = 0~
 \cs_set_nopar:Npn \cs_to_str:N
   {
-    \if:w \int_to_roman:w - `0 \token_to_str:N \ %
-      \cs_to_str_aux:w
-    \fi:
-    \exp_after:wN \use_none:n \token_to_str:N
- }
-\cs_set_nopar:Npn \cs_to_str_aux:w #1 \use_none:n
-  { ~ \int_to_roman:w - `0 \fi: }
+    \int_to_roman:w
+      \if:w \token_to_str:N \ \cs_to_str_aux:w \fi:
+      \exp_after:wN \cs_to_str_aux:N \token_to_str:N
+  }
+\cs_set:Npn \cs_to_str_aux:N #1 { \c_zero }
+\cs_set:Npn \cs_to_str_aux:w #1 \cs_to_str_aux:N
+  { - \int_value:w \fi: \exp_after:wN \c_zero }
 \group_begin:
   \tex_lccode:D  `\@ = `\: \scan_stop:
   \tex_catcode:D `\@ = 12~
@@ -342,8 +362,9 @@
     \group_end:
     \cs_set:Npn \cs_split_function:NN #1#2
       {
+        \exp_after:wN \exp_after:wN
         \exp_after:wN \cs_split_function_aux:w
-          \int_to_roman:w - `\q \cs_to_str:N #1 @ a \q_stop #2
+          \cs_to_str:N #1 @ a \q_stop #2
       }
     \cs_set:Npn \cs_split_function_aux:w #1 @ #2#3 \q_stop #4
       {
@@ -434,18 +455,11 @@
   { \cs_if_exist:cTF {#1} { \use:c {#1} #2 } { } }
 \cs_set:Npn \cs_if_exist_use:c #1
   { \cs_if_exist:cTF {#1} { \use:c {#1} } { } }
-\tex_let:D \c_minus_one \m@ne
-\tex_chardef:D \c_sixteen = 16~
-\tex_chardef:D \c_zero    = 0~
-\tex_chardef:D \c_six     = 6~
-\tex_chardef:D \c_seven   = 7~
-\tex_chardef:D \c_twelve  = 12~
-\tex_mathchardef:D \c_max_register_int = 32 767 \scan_stop:
 \cs_set_protected_nopar:Npn \iow_log:x
   { \tex_immediate:D \tex_write:D \c_minus_one }
 \cs_set_protected_nopar:Npn \iow_term:x
   { \tex_immediate:D \tex_write:D \c_sixteen }
-\cs_set_protected_nopar:Npn \msg_kernel_error:nnxx #1#2#3#4
+\cs_set_protected:Npn \msg_kernel_error:nnxx #1#2#3#4
   {
     \tex_errmessage:D
       {
@@ -457,13 +471,13 @@
       }
     \tex_end:D
   }
-\cs_set_protected_nopar:Npn \msg_kernel_error:nnx #1#2#3
+\cs_set_protected:Npn \msg_kernel_error:nnx #1#2#3
   { \msg_kernel_error:nnxx {#1} {#2} {#3} { } }
-\cs_set_protected_nopar:Npn \msg_kernel_error:nn #1#2
+\cs_set_protected:Npn \msg_kernel_error:nn #1#2
   { \msg_kernel_error:nnxx {#1} {#2} { } { } }
 \cs_set_nopar:Npn \msg_line_context:
   { on~line~\tex_the:D \tex_inputlineno:D }
-\cs_set_protected_nopar:Npn \chk_if_free_cs:N #1
+\cs_set_protected:Npn \chk_if_free_cs:N #1
   {
     \cs_if_free:NF #1
       {
@@ -472,7 +486,7 @@
       }
 }
 \tex_ifodd:D \l@expl@log@functions@bool
-  \cs_set_protected_nopar:Npn \chk_if_free_cs:N #1
+  \cs_set_protected:Npn \chk_if_free_cs:N #1
     {
       \cs_if_free:NF #1
         {
@@ -484,7 +498,7 @@
 \fi:
 \cs_set_protected_nopar:Npn \chk_if_free_cs:c
   { \exp_args:Nc \chk_if_free_cs:N }
-\cs_set_protected_nopar:Npn \chk_if_exist_cs:N #1
+\cs_set_protected:Npn \chk_if_exist_cs:N #1
   {
     \cs_if_exist:NF #1
       {
@@ -496,7 +510,7 @@
   { \exp_args:Nc \chk_if_exist_cs:N }
 \cs_set:Npn \cs_tmp:w #1#2
   {
-    \cs_set_protected_nopar:Npn #1 ##1
+    \cs_set_protected:Npn #1 ##1
        {
          \chk_if_free_cs:N ##1
          #2 ##1
@@ -552,9 +566,9 @@
 \cs_new_protected_nopar:Npn \cs_gset_eq:Nc { \exp_args:NNc  \cs_gset_eq:NN }
 \cs_new_protected_nopar:Npn \cs_gset_eq:cN { \exp_args:Nc   \cs_gset_eq:NN }
 \cs_new_protected_nopar:Npn \cs_gset_eq:cc { \exp_args:Ncc  \cs_gset_eq:NN }
-\cs_new_protected_nopar:Npn \cs_undefine:N #1
+\cs_new_protected:Npn \cs_undefine:N #1
   { \cs_gset_eq:NN #1 \c_undefined:D }
-\cs_new_protected_nopar:Npn \cs_undefine:c #1
+\cs_new_protected:Npn \cs_undefine:c #1
   {
     \if_cs_exist:w #1 \cs_end:
       \exp_after:wN \use:n
@@ -601,7 +615,7 @@
     {#2#1}
     {#4}
   }
-\cs_new_protected_nopar:Npn
+\cs_new_protected:Npn
   \cs_generate_from_arg_count_aux:nwn #1 #2 \fi: #3
   { \fi: #3 #1 }
 \cs_new_nopar:Npn \cs_generate_from_arg_count:cNnn
@@ -693,7 +707,7 @@
 \cs_new_nopar:Npn \cs_if_eq:ccTF { \exp_args:Ncc \cs_if_eq:NNTF }
 \cs_new_nopar:Npn \cs_if_eq:ccT  { \exp_args:Ncc \cs_if_eq:NNT }
 \cs_new_nopar:Npn \cs_if_eq:ccF  { \exp_args:Ncc \cs_if_eq:NNF }
-\cs_new_nopar:Npn \kernel_register_show:N #1
+\cs_new:Npn \kernel_register_show:N #1
   {
     \cs_if_exist:NTF #1
      { \tex_showthe:D #1 }
@@ -702,7 +716,8 @@
          { \token_to_str:N #1 }
      }
   }
-\cs_new_nopar:Npn \kernel_register_show:c { \exp_args:Nc \int_show:N }
+\cs_new_nopar:Npn \kernel_register_show:c
+  { \exp_args:Nc \kernel_register_show:N }
 \cs_new_eq:NN \luatex_if_engine:T  \use_none:n
 \cs_new_eq:NN \luatex_if_engine:F  \use:n
 \cs_new_eq:NN \luatex_if_engine:TF \use_ii:nn
-- 
cgit v1.2.3

