texlive[41907] Master/texmf-dist: siunitx (22aug16)

commits+karl at tug.org commits+karl at tug.org
Tue Aug 23 00:32:11 CEST 2016


Revision: 41907
          http://tug.org/svn/texlive?view=revision&revision=41907
Author:   karl
Date:     2016-08-23 00:32:11 +0200 (Tue, 23 Aug 2016)
Log Message:
-----------
siunitx (22aug16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf
    trunk/Master/texmf-dist/source/latex/siunitx/siunitx.dtx
    trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
    trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg
    trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg
    trunk/Master/texmf-dist/tex/latex/siunitx/siunitx.sty

Modified: trunk/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/siunitx/siunitx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/siunitx/siunitx.dtx	2016-08-22 22:31:57 UTC (rev 41906)
+++ trunk/Master/texmf-dist/source/latex/siunitx/siunitx.dtx	2016-08-22 22:32:11 UTC (rev 41907)
@@ -650,6 +650,10 @@
 % \changes{v2.6p}{2016/01/19}{Improve definition for degree Celsius}
 % \changes{v2.6q}{2016/03/01}{Correctly select font when document commands are
 %   used inside table cells in \texttt{S} columns}
+% \changes{v2.6r}{2016/06/06}{Address color safety issue}
+% \changes{v2.6r}{2016/08/14}{Minor \pkg{expl3} fixes}
+% \changes{v2.6r}{2016/08/21}{Correctly handle \texttt{e0}}
+% \changes{v2.6r}{2016/08/21}{Warn when color support is not available}
 %
 %\begin{abstract}
 % Physical quantities have both numbers and units, and each physical
@@ -2073,6 +2077,8 @@
 %  \num{1.23e4} \\
 %  \num[scientific-notation = fixed, fixed-exponent = 0]{1.23e4}
 %\end{LaTeXdemo}
+% Note that these options apply after any removal of unit mantissa,
+% zero exponent, \emph{etc.}
 %
 % \DescribeOption{omit-uncertainty}
 % \changes{v2.5}{2012/04/07}{New \opt{omit-uncertainty} option}
@@ -5172,7 +5178,7 @@
 %
 % The usual preliminaries.
 %    \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2016/03/01} {2.6q}
+\ProvidesExplPackage {siunitx} {2016/08/22} {2.6r}
   {A comprehensive (SI) units package}
 %    \end{macrocode}
 %
@@ -6379,6 +6385,7 @@
       {
         \@@_ensure_ltr:n
           {
+            \color at begingroup
             \@@_print_color:
             \@@_font_shape:
             \@@_font_weight:
@@ -6390,6 +6397,7 @@
             \bool_if:NTF \l_@@_font_math_mode_bool
               { \@@_print_math: }
               { \@@_print_text: }
+            \color at endgroup
           }
       }
   }
@@ -6418,8 +6426,16 @@
   \@ifpackageloaded { color }
     { \cs_new_eq:NN \@@_textcolor:n \textcolor }
     {
-      \cs_set_eq:NN \@@_print_color: \scan_stop:
-      \cs_new_eq:NN \@@_textcolor:n \use_none:n
+      \cs_set_protected:Npn \@@_print_color:
+        {
+          \cs_set_eq:NN \@@_print_color: \scan_stop:
+          \msg_warning:nn { siunitx } { color-not-loaded }
+        }
+      \cs_new_protected:Npn \@@_textcolor:n #1
+        {
+          \cs_set_eq:NN \@@_textcolor:n \use_none:n
+          \msg_warning:nn { siunitx } { color-not-loaded }
+        }
     }
 }
 %    \end{macrocode}
@@ -6449,7 +6465,7 @@
             { \l_@@_print_arg_tl }
       }
   }
-\cs_new_protected_nopar:Npn \@@_print_text:
+\cs_new_protected:Npn \@@_print_text:
   {
     \tl_replace_all:Nnn \l_@@_print_arg_tl { - }
       { \c_@@_minus_tl }
@@ -6523,12 +6539,12 @@
             \sp { \text {##1} }
           }
       }
-    \cs_set_protected_nopar:Npn \@@_peek_true:
+    \cs_set_protected:Npn \@@_peek_true:
       {
         \tex_afterassignment:D \@@_print_text_sub_super:n
         \cs_set_eq:NN \@@_tmp:w
       }
-    \cs_set_protected_nopar:Npn \@@_peek_false:
+    \cs_set_protected:Npn \@@_peek_false:
       { \ensuremath { \sb { \text {#1} } } }
     \peek_after:Nw \@@_print_text_sub_peek:
   }
@@ -6540,8 +6556,8 @@
       \exp_after:wN \@@_peek_false:
     \fi:
   }
-\cs_new_protected_nopar:Npn \@@_peek_true: { }
-\cs_new_protected_nopar:Npn \@@_peek_false: { }
+\cs_new_protected:Npn \@@_peek_true: { }
+\cs_new_protected:Npn \@@_peek_false: { }
 \cs_new_protected:Npn \@@_print_text_sub_super:n { }
 \cs_new_protected:Npn \@@_print_text_super:n #1 {
   \tl_set:Nn \l_@@_tmpa_tl {#1}
@@ -7700,8 +7716,7 @@
     {
       \tl_if_single:NTF \l_@@_number_uncert_tl
         {
-          \int_compare:nNnTF
-            { \l_@@_number_uncert_tl } = { \c_zero }
+          \int_compare:nNnTF  \l_@@_number_uncert_tl = 0
             { \@@_number_in_complex_to_uncert_dec:n {#1} }
             { \@@_number_in_complex_to_uncert_int: }
         }
@@ -8053,7 +8068,12 @@
                 { exponent-integer }
               \prop_remove:Nn \l_@@_number_in_prop
                 { exponent-decimal }
-             }
+              \prop_if_in:NnF \l_@@_number_in_prop { mantissa }
+                {
+                  \prop_put:Nnn \l_@@_number_in_prop { mantissa } { true }
+                  \prop_put:Nnn \l_@@_number_in_prop { mantissa-integer } { 1 }
+                }
+            }
         }
     }
 }
@@ -8081,7 +8101,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_number_process_figures:n #1
   {
-    \int_compare:nNnTF \l_@@_process_precision_int > \c_zero
+    \int_compare:nNnTF \l_@@_process_precision_int > 0
       {
         \prop_if_in:NnT \l_@@_number_in_prop {#1}
           { \@@_number_process_figures_aux:n {#1} }
@@ -8155,7 +8175,7 @@
     \tl_put_left:cV { l_@@_round_ #1 _out_tl } \l_@@_tmp_int
     \bool_if:NF \l_@@_round_bool
       {
-        \int_compare:nNnF { \l_@@_tmp_int } = \c_zero
+        \int_compare:nNnF \l_@@_tmp_int = 0
           { \bool_set_true:N \l_@@_round_bool }
       }
     \bool_if:NT \l_@@_round_bool
@@ -8203,20 +8223,20 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_number_process_figures_integer:
   {
-    \int_compare:nNnT \l_@@_round_int > \c_zero
+    \int_compare:nNnT \l_@@_round_int > 0
       { \tl_put_left:Nn \l_@@_round_integer_out_tl { 0 } }
-    \int_compare:nNnF \l_@@_round_int > \c_one
+    \int_compare:nNnF \l_@@_round_int > 1
       {
         \int_set:Nn \l_@@_tmp_int
           { \tl_head:N \l_@@_round_integer_in_tl }
         \@@_number_process_round_up:
-        \int_compare:nNnTF \l_@@_round_int = \c_one
+        \int_compare:nNnTF \l_@@_round_int = 1
           {
-            \int_compare:nNnT \l_@@_tmp_int > \c_four
+            \int_compare:nNnT \l_@@_tmp_int > 4
               { \bool_set_true:N \l_@@_round_bool }
           }
           {
-            \int_compare:nNnT \l_@@_tmp_int = \c_ten
+            \int_compare:nNnT \l_@@_tmp_int = { 10 }
               {
                 \bool_set_true:N \l_@@_round_bool
                 \int_zero:N \l_@@_tmp_int
@@ -8297,7 +8317,7 @@
 \cs_new_protected:Npn \@@_number_process_fixed_aux_i:nnn #1#2#3
   {
     \prop_put:Nnn \l_@@_number_in_prop { exponent } { true }
-    \int_compare:nNnTF { \l_@@_process_fixed_int } > { \c_zero }
+    \int_compare:nNnTF \l_@@_process_fixed_int > 0
       {
         \prop_put:NnV \l_@@_number_in_prop { exponent-integer }
           \l_@@_process_fixed_int
@@ -8363,7 +8383,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_number_process_fixed_large:nnn #1
   {
-    \int_compare:nNnTF {#1} = \c_zero
+    \int_compare:nNnTF {#1} = 0
       { \@@_number_process_fixed_large_aux:nnn { } }
       { \@@_number_process_fixed_large_aux:nnn {#1} }
   }
@@ -8438,8 +8458,7 @@
 % once the target is known.
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_number_process_integer_digits: {
-  \int_compare:nNnT
-    { \l_@@_process_integer_min_int } > { \c_zero }
+  \int_compare:nNnT \l_@@_process_integer_min_int > 0
     {
       \prop_get:NnNT \l_@@_number_in_prop { mantissa-integer }
         \l_@@_tmpa_tl
@@ -8449,7 +8468,7 @@
                  \l_@@_process_integer_min_int
               - \tl_count:N \l_@@_tmpa_tl
             }
-          \int_compare:nNnT { \l_@@_tmp_int } > { \c_zero }
+          \int_compare:nNnT \l_@@_tmp_int > 0            
             {
               \tl_set:Nx \l_@@_tmpa_tl
                 {
@@ -8545,7 +8564,7 @@
   }
 \cs_new_protected:Npn \@@_number_process_places_aux_i:n #1
   {
-    \int_compare:nNnTF \l_@@_process_precision_int = \c_zero
+    \int_compare:nNnTF \l_@@_process_precision_int = 0
       { \@@_number_process_places_none:n {#1} }
       {
         \prop_get:NnNT \l_@@_number_in_prop { #1 -decimal }
@@ -8577,7 +8596,7 @@
     \bool_set_true:N \l_@@_tmp_bool
     \tl_map_inline:Nn \l_@@_tmpa_tl
       {
-        \int_compare:nNnF {##1} = \c_zero
+        \int_compare:nNnF {##1} = 0
           {
             \bool_set_false:N \l_@@_tmp_bool
             \tl_map_break:
@@ -8594,7 +8613,7 @@
   {
     \prop_get:NnNT \l_@@_number_in_prop { #1 -decimal } \l_@@_tmpa_tl
       {
-        \int_compare:nNnTF { \tl_head:N \l_@@_tmpa_tl } > \c_four
+        \int_compare:nNnTF { \tl_head:N \l_@@_tmpa_tl } > 4
           {
             \prop_get:NnNTF \l_@@_number_in_prop { #1 -integer }
               \l_@@_tmpb_tl
@@ -8604,7 +8623,7 @@
                 \bool_if:NF \l_@@_round_half_up_bool
                   {
                     \int_compare:nNnT
-                      { 0 \tl_tail:N \l_@@_tmpa_tl } = \c_zero
+                      { 0 \tl_tail:N \l_@@_tmpa_tl } = 0
                       {
                         \int_if_odd:nT \l_@@_tmpb_tl
                           {
@@ -8639,7 +8658,7 @@
   {
     \int_sub:Nn \l_@@_round_int
       { \l_@@_process_precision_int }
-    \int_compare:nNnTF \l_@@_round_int < \c_zero
+    \int_compare:nNnTF \l_@@_round_int < 0
       {
         \int_set:Nn \l_@@_round_int { - \l_@@_round_int }
         \@@_number_process_pad:n {#1}
@@ -8704,7 +8723,7 @@
       { \tl_tail:N \l_@@_round_integer_in_tl }
     \@@_number_process_round_up:
     \bool_set_false:N \l_@@_round_bool
-    \int_compare:nNnT \l_@@_tmp_int = \c_ten
+    \int_compare:nNnT \l_@@_tmp_int = { 10 }
       {
         \int_zero:N \l_@@_tmp_int
         \bool_set_true:N \l_@@_round_bool
@@ -8751,7 +8770,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn \@@_number_process_round_decimal:
   {
-    \int_compare:nNnF \l_@@_round_int > \c_one
+    \int_compare:nNnF \l_@@_round_int > 1
       { \@@_number_process_round_decimal_aux: }
     \tl_put_right:Nx \l_@@_round_discard_tl
       { \tl_head:N \l_@@_round_decimal_in_tl }
@@ -8772,22 +8791,21 @@
     \int_set:Nn \l_@@_tmp_int
       { \tl_head:N \l_@@_round_decimal_in_tl }
     \@@_number_process_round_up:
-    \int_compare:nNnTF \l_@@_round_int = \c_one
+    \int_compare:nNnTF \l_@@_round_int = 1
       {
-        \int_compare:nNnT \l_@@_tmp_int > \c_four
+        \int_compare:nNnT \l_@@_tmp_int > 4
           {
             \bool_set_true:N \l_@@_round_bool
             \bool_if:NF \l_@@_round_half_up_bool
               {
                 \int_compare:nNnT
-                  { \l_@@_round_discard_tl \int_use:N \l_@@_tmp_int }
-                    = \c_five
+                  { \l_@@_round_discard_tl \int_use:N \l_@@_tmp_int } = 5
                   { \bool_set_true:N \l_@@_round_even_bool }
               }
           }
       }
       {
-        \int_compare:nNnT \l_@@_tmp_int = \c_ten
+        \int_compare:nNnT \l_@@_tmp_int = { 10 }
           {
             \bool_set_true:N \l_@@_round_bool
             \int_zero:N \l_@@_tmp_int
@@ -8936,7 +8954,7 @@
 %    \begin{macrocode}
 \cs_new_protected:Npn
   \@@_number_process_scientific_aux_ii:nnn #1#2#3 {
-  \int_compare:nNnTF { \tl_count:n {#1} } > \c_one
+  \int_compare:nNnTF { \tl_count:n {#1} } > 1
     { \@@_number_process_scientific_large:nnn {#1} {#2} {#3} }
     {
       \@@_number_if_zero:nTF {#1}
@@ -8966,7 +8984,7 @@
         \quark_if_recursion_tail_stop_do:Nn ##3
           {
             \@@_number_process_scientific_aux_ii:nnn {##1} { ##2 #2 }
-              { #3 + \c_one }
+              { #3 + 1 }
           }
         \@@_number_process_scientific_large_loop:nNN { ##1 ##2 } ##3
       }
@@ -9338,7 +9356,7 @@
 % \begin{macro}[aux]{\@@_number_process_zero_to_integer_aux:n}
 %   Look for a decimal part which is simply zero, and if found delete it.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_number_process_zero_to_integer:
+\cs_new_protected:Npn \@@_number_process_zero_to_integer:
   {
     \bool_if:NT \l_@@_zero_decimal_to_integer_bool
       {
@@ -11424,7 +11442,7 @@
 % Without this, horrible things happen with \pkg{memoir} and
 % \pkg{hyperref}.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_unit_create_empty_functions:
+\cs_new_protected:Npn \@@_unit_create_empty_functions:
   {
     \@@_unit_create_functions_aux_i:
     \seq_map_function:NN \l_@@_declare_list_seq
@@ -11448,7 +11466,7 @@
 %   }
 %   Creation of macros essentially involves picking up a couple of loops.
 %    \begin{macrocode}
-\cs_new_protected_nopar:Npn \@@_unit_create_functions:
+\cs_new_protected:Npn \@@_unit_create_functions:
   {
     \@@_unit_create_functions_aux_i:
     \bool_if:NT \l_@@_create_overwrite_bool
@@ -11466,7 +11484,7 @@
     \bool_if:NT \l_@@_create_xspace_bool
       { \RequirePackage { xspace } }
   }
-\cs_new_protected_nopar:Npn \@@_unit_create_functions_aux_i:
+\cs_new_protected:Npn \@@_unit_create_functions_aux_i:
   {
     \@ifpackageloaded { soulpos }
       {
@@ -11473,7 +11491,7 @@
         \@ifpackageloaded { soul }
           { }
           {
-            \cs_set_protected_nopar:Npn \@@_unit_create_functions_aux_ii:
+            \cs_set_protected:Npn \@@_unit_create_functions_aux_ii:
               {
                 \cs_undefine:N \hl
                 \cs_undefine:N \ul
@@ -11482,7 +11500,7 @@
       }
       { }
   }
-\cs_new_protected_nopar:Npn \@@_unit_create_functions_aux_ii: { }
+\cs_new_protected:Npn \@@_unit_create_functions_aux_ii: { }
 %    \end{macrocode}
 % \end{macro}
 %  \end{macro}
@@ -11988,7 +12006,7 @@
 \bool_new:N \l_@@_per_fraction_bool
 \tl_new:N \l_@@_per_mode_tl
 \bool_new:N \l_@@_power_number_bool
-\bool_new:N \l_@@_two_parts_bool
+\bool_new:N \l_@@_per_two_parts_bool
 \tl_new:N \l_@@_qualifier_mode_tl
 %    \end{macrocode}
 %\end{macro}
@@ -12638,7 +12656,7 @@
   \tl_put_right:NV \l_@@_unit_current_tl \l_@@_tmpa_tl
   \tl_put_right:NV \l_@@_unit_current_tl \l_@@_bracket_close_tl
 }
-\cs_new_protected_nopar:Npn \@@_unit_format_qualifier_phrase:
+\cs_new_protected:Npn \@@_unit_format_qualifier_phrase:
   {
     \tl_put_right:NV \l_@@_unit_current_tl \l_@@_qualifier_phrase_tl
     \tl_put_right:NV \l_@@_unit_current_tl \l_@@_tmpa_tl
@@ -12746,6 +12764,7 @@
 %    \begin{macrocode}
 \bool_new:N \l_@@_product_brackets_bool
 \bool_new:N \l_@@_product_power_bool
+\bool_new:N \l_@@_product_repeat_bool
 \bool_new:N \l_@@_number_unit_repeat_bool
 %    \end{macrocode}
 %\end{macro}
@@ -13142,7 +13161,7 @@
   {
     \bool_set_true:N \l_@@_list_first_bool
     \tl_clear:N \l_@@_list_current_tl
-    \int_compare:nNnTF { \tl_count:n {#1} } > \c_two
+    \int_compare:nNnTF { \tl_count:n {#1} } > 2
       {
         \tl_map_function:nN {#1} \@@_list_numbers_aux_ii:n
         \l_@@_list_tl
@@ -13150,7 +13169,7 @@
         \l_@@_list_current_tl
       }
       {
-        \int_compare:nNnTF { \tl_count:n {#1} } = \c_two
+        \int_compare:nNnTF { \tl_count:n {#1} } = 2
           { \@@_list_numbers_aux:nn #1 }
           { \@@_combined_output:n #1 }
       }
@@ -13821,7 +13840,7 @@
 %   A fixed skip of one \texttt{fill}.
 %    \begin{macrocode}
 \skip_new:N \c_@@_one_fill_skip
-\skip_set:Nn \c_@@_one_fill_skip { \c_zero_dim plus 1 fill }
+\skip_set:Nn \c_@@_one_fill_skip { 0pt plus 1fill }
 %    \end{macrocode}
 % \end{variable}
 %
@@ -13835,7 +13854,7 @@
       {
         \cs_new_protected:Npn \@@_table_colortbl_correction:
           {
-            \skip_horizontal:n { \c_zero_dim plus -0.5 fill }
+            \skip_horizontal:n { 0pt plus -0.5fill }
             \tex_kern:D \c_zero_skip
           }
       }
@@ -13935,7 +13954,7 @@
       center             .code:n =
         {
           \skip_set:Nn \l_@@_table_unit_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
         },
     table-unit-alignment /
       left               .code:n =
@@ -13944,7 +13963,7 @@
         right            .code:n =
           {
             \skip_set:Nn \l_@@_table_unit_align_skip
-              { \c_zero_dim plus 1 fill }
+              { 0pt plus 1fill }
           }
   }
 \keys_set:nn { siunitx } { table-unit-alignment = center }
@@ -14107,7 +14126,7 @@
       center                  .code:n     =
         {
           \skip_set:Nn \l_@@_table_number_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
           \cs_set_eq:NN \@@_table_print_S_direct_main:
             \@@_table_print_S_direct_reserved:
           \cs_set_eq:NN \@@_table_print_S_parsed:
@@ -14117,7 +14136,7 @@
       center-decimal-marker   .code:n     =
         {
           \skip_set:Nn \l_@@_table_number_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
           \cs_set_eq:NN \@@_table_print_S_direct_main:
             \@@_table_print_S_direct_centered:
           \cs_set_eq:NN \@@_table_print_S_parsed:
@@ -14136,7 +14155,7 @@
       right                 .code:n     =
         {
           \skip_set:Nn \l_@@_table_number_align_skip
-            { \c_zero_dim plus 1 fill }
+            { 0pt plus 1fill }
           \cs_set_eq:NN \@@_table_print_S_direct_main:
             \@@_table_print_S_direct_reserved:
           \cs_set_eq:NN \@@_table_print_S_parsed:
@@ -14149,7 +14168,7 @@
       center                  .code:n     =
         {
           \skip_set:Nn \l_@@_table_text_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
         },
     table-text-alignment /
       left                    .code:n     =
@@ -14158,7 +14177,7 @@
       right                   .code:n     =
         {
           \skip_set:Nn \l_@@_table_text_align_skip
-            { \c_zero_dim plus 1 fill }
+            { 0pt plus 1fill }
         },
     table-comparator          .choice:,
     table-comparator /
@@ -14170,7 +14189,7 @@
     table-comparator          .default:n  = true,
     table-figures-decimal     .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           {
             \prop_remove:Nn \l_@@_table_model_prop { mantissa-decimal }
             \prop_remove:Nn \l_@@_table_model_prop { mantissa-decimal-raw }
@@ -14195,7 +14214,7 @@
       },
     table-figures-exponent    .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           { \prop_remove:Nn \l_@@_table_model_prop { exponent-integer } }
           {
             \prop_put:Nnx \l_@@_table_model_prop { exponent-integer }
@@ -14205,7 +14224,7 @@
       },
     table-figures-integer     .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           {
             \prop_remove:Nn \l_@@_table_model_prop { mantissa-integer }
             \prop_if_in:NnTF \l_@@_table_model_prop { mantissa-decimal }
@@ -14223,7 +14242,7 @@
       },
     table-figures-uncertainty .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           { \prop_remove:Nn \l_@@_table_model_prop { mantissa-uncertainty } }
           {
             \prop_put:Nnx \l_@@_table_model_prop { mantissa-uncertainty }
@@ -15154,7 +15173,7 @@
     \char_set_active_eq:NN #1 \@@_table_print_S_direct_centered_begin:
     \char_set_mathcode:nn { `#1 } { "8000 }
   }
-\cs_new_protected_nopar:Npn \@@_table_print_S_direct_centered_begin:
+\cs_new_protected:Npn \@@_table_print_S_direct_centered_begin:
   {
     \c_math_toggle_token
     \c_group_end_token
@@ -15251,7 +15270,7 @@
     \char_set_active_eq:NN #1 \@@_table_print_S_direct_reserved_begin:
     \char_set_mathcode:nn { `#1 } { "8000 }
   }
-\cs_new_protected_nopar:Npn \@@_table_print_S_direct_reserved_begin:
+\cs_new_protected:Npn \@@_table_print_S_direct_reserved_begin:
   {
       \c_math_toggle_token
     \c_group_end_token
@@ -15611,7 +15630,7 @@
     { set~thousands~separator = { \exp_not:V \l_@@_group_sep_tl } }
   \clist_put_right:Nx \l_@@_pgf_link_clist
     {
-       min~exponent~for~1000~sep = \int_eval:n { \l_@@_group_min_int - \c_one }
+       min~exponent~for~1000~sep = \int_eval:n { \l_@@_group_min_int - 1 }
     }
   \bool_if:nF
     {
@@ -15659,6 +15678,9 @@
 \msg_new:nnnn { siunitx } { bad-arc-sign }
   { Incorrect~use~of~sign~in~degree-minute-second~angle. }
   { Only~the~highest~value~part~of~an~angle~can~have~a~sign. }
+\msg_new:nnnn { siunitx } { color-not-loaded }
+  { Package~"color"~not~loaded. }
+  { The~command~\token_to_str:N \color \ is~not~available. }
 \msg_new:nnnn { siunitx } { duplicate-complex-root-token }
   { Duplicate~complex~root~token~'#1'~in~input. }
   { Only~one~complex~root~token~can~appear~in~a~single~number. }
@@ -16658,12 +16680,12 @@
         { \cs_set_eq:NN \@@_load_binary: \prg_do_nothing: } ,
     binary-units  .default:n = true
   }
-\cs_new_protected_nopar:Npn \@@_load_abbreviations:
+\cs_new_protected:Npn \@@_load_abbreviations:
   {
     \@onefilewithoptions { siunitx-abbreviations } [ ] [ ]
       \c_@@_configuration_ext_tl
   }
-\cs_new_protected_nopar:Npn \@@_load_binary:
+\cs_new_protected:Npn \@@_load_binary:
   {
     \@onefilewithoptions { siunitx-binary } [ ] [ ]
       \c_@@_configuration_ext_tl
@@ -16743,7 +16765,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplFile {siunitx-version-1.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-version-1.cfg} {2016/08/22} {2.6r}
   {siunitx: Version 1 settings}
 %    \end{macrocode}
 %
@@ -17685,7 +17707,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplFile {siunitx-abbreviations.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-abbreviations.cfg} {2016/08/22} {2.6r}
   {siunitx: Abbreviated units}
 %    \end{macrocode}
 %
@@ -17867,7 +17889,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesExplFile {siunitx-binary.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-binary.cfg} {2016/08/22} {2.6r}
   {siunitx: Binary units}
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg	2016-08-22 22:31:57 UTC (rev 41906)
+++ trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg	2016-08-22 22:32:11 UTC (rev 41907)
@@ -13,7 +13,7 @@
 %% See http://www.latex-project.org/lppl.txt
 %% ---------------------------------------------------------------
 %% 
-\ProvidesExplFile {siunitx-abbreviations.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-abbreviations.cfg} {2016/08/22} {2.6r}
   {siunitx: Abbreviated units}
 \DeclareSIUnit \A  {        \ampere }
 \DeclareSIUnit \pA { \pico  \ampere }

Modified: trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg	2016-08-22 22:31:57 UTC (rev 41906)
+++ trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg	2016-08-22 22:32:11 UTC (rev 41907)
@@ -13,7 +13,7 @@
 %% See http://www.latex-project.org/lppl.txt
 %% ---------------------------------------------------------------
 %% 
-\ProvidesExplFile {siunitx-binary.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-binary.cfg} {2016/08/22} {2.6r}
   {siunitx: Binary units}
 \DeclareBinaryPrefix \kibi { Ki } { 10 }
 \DeclareBinaryPrefix \mebi { Mi } { 20 }

Modified: trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg	2016-08-22 22:31:57 UTC (rev 41906)
+++ trunk/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg	2016-08-22 22:32:11 UTC (rev 41907)
@@ -13,7 +13,7 @@
 %% See http://www.latex-project.org/lppl.txt
 %% ---------------------------------------------------------------
 %% 
-\ProvidesExplFile {siunitx-version-1.cfg} {2016/03/01} {2.6q}
+\ProvidesExplFile {siunitx-version-1.cfg} {2016/08/22} {2.6r}
   {siunitx: Version 1 settings}
 \keys_define:nn { siunitx } {
   addsign        .choice: ,

Modified: trunk/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/siunitx/siunitx.sty	2016-08-22 22:31:57 UTC (rev 41906)
+++ trunk/Master/texmf-dist/tex/latex/siunitx/siunitx.sty	2016-08-22 22:32:11 UTC (rev 41907)
@@ -15,7 +15,7 @@
 %% 
 \RequirePackage{expl3}[2015/09/11]
 \RequirePackage{xparse}
-\ProvidesExplPackage {siunitx} {2016/03/01} {2.6q}
+\ProvidesExplPackage {siunitx} {2016/08/22} {2.6r}
   {A comprehensive (SI) units package}
 \@ifpackagelater { expl3 } { 2015/09/11 }
   { }
@@ -775,6 +775,7 @@
       {
         \__siunitx_ensure_ltr:n
           {
+            \color at begingroup
             \__siunitx_print_color:
             \__siunitx_font_shape:
             \__siunitx_font_weight:
@@ -786,6 +787,7 @@
             \bool_if:NTF \l__siunitx_font_math_mode_bool
               { \__siunitx_print_math: }
               { \__siunitx_print_text: }
+            \color at endgroup
           }
       }
   }
@@ -802,8 +804,16 @@
   \@ifpackageloaded { color }
     { \cs_new_eq:NN \__siunitx_textcolor:n \textcolor }
     {
-      \cs_set_eq:NN \__siunitx_print_color: \scan_stop:
-      \cs_new_eq:NN \__siunitx_textcolor:n \use_none:n
+      \cs_set_protected:Npn \__siunitx_print_color:
+        {
+          \cs_set_eq:NN \__siunitx_print_color: \scan_stop:
+          \msg_warning:nn { siunitx } { color-not-loaded }
+        }
+      \cs_new_protected:Npn \__siunitx_textcolor:n #1
+        {
+          \cs_set_eq:NN \__siunitx_textcolor:n \use_none:n
+          \msg_warning:nn { siunitx } { color-not-loaded }
+        }
     }
 }
 \cs_new_protected:Npn \__siunitx_print_math:
@@ -820,7 +830,7 @@
             { \l__siunitx_print_arg_tl }
       }
   }
-\cs_new_protected_nopar:Npn \__siunitx_print_text:
+\cs_new_protected:Npn \__siunitx_print_text:
   {
     \tl_replace_all:Nnn \l__siunitx_print_arg_tl { - }
       { \c__siunitx_minus_tl }
@@ -875,12 +885,12 @@
             \sp { \text {##1} }
           }
       }
-    \cs_set_protected_nopar:Npn \__siunitx_peek_true:
+    \cs_set_protected:Npn \__siunitx_peek_true:
       {
         \tex_afterassignment:D \__siunitx_print_text_sub_super:n
         \cs_set_eq:NN \__siunitx_tmp:w
       }
-    \cs_set_protected_nopar:Npn \__siunitx_peek_false:
+    \cs_set_protected:Npn \__siunitx_peek_false:
       { \ensuremath { \sb { \text {#1} } } }
     \peek_after:Nw \__siunitx_print_text_sub_peek:
   }
@@ -892,8 +902,8 @@
       \exp_after:wN \__siunitx_peek_false:
     \fi:
   }
-\cs_new_protected_nopar:Npn \__siunitx_peek_true: { }
-\cs_new_protected_nopar:Npn \__siunitx_peek_false: { }
+\cs_new_protected:Npn \__siunitx_peek_true: { }
+\cs_new_protected:Npn \__siunitx_peek_false: { }
 \cs_new_protected:Npn \__siunitx_print_text_sub_super:n { }
 \cs_new_protected:Npn \__siunitx_print_text_super:n #1 {
   \tl_set:Nn \l__siunitx_tmpa_tl {#1}
@@ -1640,8 +1650,7 @@
     {
       \tl_if_single:NTF \l__siunitx_number_uncert_tl
         {
-          \int_compare:nNnTF
-            { \l__siunitx_number_uncert_tl } = { \c_zero }
+          \int_compare:nNnTF  \l__siunitx_number_uncert_tl = 0
             { \__siunitx_number_in_complex_to_uncert_dec:n {#1} }
             { \__siunitx_number_in_complex_to_uncert_int: }
         }
@@ -1886,7 +1895,12 @@
                 { exponent-integer }
               \prop_remove:Nn \l__siunitx_number_in_prop
                 { exponent-decimal }
-             }
+              \prop_if_in:NnF \l__siunitx_number_in_prop { mantissa }
+                {
+                  \prop_put:Nnn \l__siunitx_number_in_prop { mantissa } { true }
+                  \prop_put:Nnn \l__siunitx_number_in_prop { mantissa-integer } { 1 }
+                }
+            }
         }
     }
 }
@@ -1900,7 +1914,7 @@
 }
 \cs_new_protected:Npn \__siunitx_number_process_figures:n #1
   {
-    \int_compare:nNnTF \l__siunitx_process_precision_int > \c_zero
+    \int_compare:nNnTF \l__siunitx_process_precision_int > 0
       {
         \prop_if_in:NnT \l__siunitx_number_in_prop {#1}
           { \__siunitx_number_process_figures_aux:n {#1} }
@@ -1966,7 +1980,7 @@
     \tl_put_left:cV { l__siunitx_round_ #1 _out_tl } \l__siunitx_tmp_int
     \bool_if:NF \l__siunitx_round_bool
       {
-        \int_compare:nNnF { \l__siunitx_tmp_int } = \c_zero
+        \int_compare:nNnF \l__siunitx_tmp_int = 0
           { \bool_set_true:N \l__siunitx_round_bool }
       }
     \bool_if:NT \l__siunitx_round_bool
@@ -1998,20 +2012,20 @@
   }
 \cs_new_protected:Npn \__siunitx_number_process_figures_integer:
   {
-    \int_compare:nNnT \l__siunitx_round_int > \c_zero
+    \int_compare:nNnT \l__siunitx_round_int > 0
       { \tl_put_left:Nn \l__siunitx_round_integer_out_tl { 0 } }
-    \int_compare:nNnF \l__siunitx_round_int > \c_one
+    \int_compare:nNnF \l__siunitx_round_int > 1
       {
         \int_set:Nn \l__siunitx_tmp_int
           { \tl_head:N \l__siunitx_round_integer_in_tl }
         \__siunitx_number_process_round_up:
-        \int_compare:nNnTF \l__siunitx_round_int = \c_one
+        \int_compare:nNnTF \l__siunitx_round_int = 1
           {
-            \int_compare:nNnT \l__siunitx_tmp_int > \c_four
+            \int_compare:nNnT \l__siunitx_tmp_int > 4
               { \bool_set_true:N \l__siunitx_round_bool }
           }
           {
-            \int_compare:nNnT \l__siunitx_tmp_int = \c_ten
+            \int_compare:nNnT \l__siunitx_tmp_int = { 10 }
               {
                 \bool_set_true:N \l__siunitx_round_bool
                 \int_zero:N \l__siunitx_tmp_int
@@ -2066,7 +2080,7 @@
 \cs_new_protected:Npn \__siunitx_number_process_fixed_aux_i:nnn #1#2#3
   {
     \prop_put:Nnn \l__siunitx_number_in_prop { exponent } { true }
-    \int_compare:nNnTF { \l__siunitx_process_fixed_int } > { \c_zero }
+    \int_compare:nNnTF \l__siunitx_process_fixed_int > 0
       {
         \prop_put:NnV \l__siunitx_number_in_prop { exponent-integer }
           \l__siunitx_process_fixed_int
@@ -2125,7 +2139,7 @@
 }
 \cs_new_protected:Npn \__siunitx_number_process_fixed_large:nnn #1
   {
-    \int_compare:nNnTF {#1} = \c_zero
+    \int_compare:nNnTF {#1} = 0
       { \__siunitx_number_process_fixed_large_aux:nnn { } }
       { \__siunitx_number_process_fixed_large_aux:nnn {#1} }
   }
@@ -2192,8 +2206,7 @@
 \cs_new_protected:Npn \__siunitx_number_process_fixed_small_aux:w
   { }
 \cs_new_protected:Npn \__siunitx_number_process_integer_digits: {
-  \int_compare:nNnT
-    { \l__siunitx_process_integer_min_int } > { \c_zero }
+  \int_compare:nNnT \l__siunitx_process_integer_min_int > 0
     {
       \prop_get:NnNT \l__siunitx_number_in_prop { mantissa-integer }
         \l__siunitx_tmpa_tl
@@ -2203,7 +2216,7 @@
                  \l__siunitx_process_integer_min_int
               - \tl_count:N \l__siunitx_tmpa_tl
             }
-          \int_compare:nNnT { \l__siunitx_tmp_int } > { \c_zero }
+          \int_compare:nNnT \l__siunitx_tmp_int > 0
             {
               \tl_set:Nx \l__siunitx_tmpa_tl
                 {
@@ -2264,7 +2277,7 @@
   }
 \cs_new_protected:Npn \__siunitx_number_process_places_aux_i:n #1
   {
-    \int_compare:nNnTF \l__siunitx_process_precision_int = \c_zero
+    \int_compare:nNnTF \l__siunitx_process_precision_int = 0
       { \__siunitx_number_process_places_none:n {#1} }
       {
         \prop_get:NnNT \l__siunitx_number_in_prop { #1 -decimal }
@@ -2292,7 +2305,7 @@
     \bool_set_true:N \l__siunitx_tmp_bool
     \tl_map_inline:Nn \l__siunitx_tmpa_tl
       {
-        \int_compare:nNnF {##1} = \c_zero
+        \int_compare:nNnF {##1} = 0
           {
             \bool_set_false:N \l__siunitx_tmp_bool
             \tl_map_break:
@@ -2304,7 +2317,7 @@
   {
     \prop_get:NnNT \l__siunitx_number_in_prop { #1 -decimal } \l__siunitx_tmpa_tl
       {
-        \int_compare:nNnTF { \tl_head:N \l__siunitx_tmpa_tl } > \c_four
+        \int_compare:nNnTF { \tl_head:N \l__siunitx_tmpa_tl } > 4
           {
             \prop_get:NnNTF \l__siunitx_number_in_prop { #1 -integer }
               \l__siunitx_tmpb_tl
@@ -2314,7 +2327,7 @@
                 \bool_if:NF \l__siunitx_round_half_up_bool
                   {
                     \int_compare:nNnT
-                      { 0 \tl_tail:N \l__siunitx_tmpa_tl } = \c_zero
+                      { 0 \tl_tail:N \l__siunitx_tmpa_tl } = 0
                       {
                         \int_if_odd:nT \l__siunitx_tmpb_tl
                           {
@@ -2344,7 +2357,7 @@
   {
     \int_sub:Nn \l__siunitx_round_int
       { \l__siunitx_process_precision_int }
-    \int_compare:nNnTF \l__siunitx_round_int < \c_zero
+    \int_compare:nNnTF \l__siunitx_round_int < 0
       {
         \int_set:Nn \l__siunitx_round_int { - \l__siunitx_round_int }
         \__siunitx_number_process_pad:n {#1}
@@ -2398,7 +2411,7 @@
       { \tl_tail:N \l__siunitx_round_integer_in_tl }
     \__siunitx_number_process_round_up:
     \bool_set_false:N \l__siunitx_round_bool
-    \int_compare:nNnT \l__siunitx_tmp_int = \c_ten
+    \int_compare:nNnT \l__siunitx_tmp_int = { 10 }
       {
         \int_zero:N \l__siunitx_tmp_int
         \bool_set_true:N \l__siunitx_round_bool
@@ -2429,7 +2442,7 @@
   }
 \cs_new_protected:Npn \__siunitx_number_process_round_decimal:
   {
-    \int_compare:nNnF \l__siunitx_round_int > \c_one
+    \int_compare:nNnF \l__siunitx_round_int > 1
       { \__siunitx_number_process_round_decimal_aux: }
     \tl_put_right:Nx \l__siunitx_round_discard_tl
       { \tl_head:N \l__siunitx_round_decimal_in_tl }
@@ -2442,22 +2455,21 @@
     \int_set:Nn \l__siunitx_tmp_int
       { \tl_head:N \l__siunitx_round_decimal_in_tl }
     \__siunitx_number_process_round_up:
-    \int_compare:nNnTF \l__siunitx_round_int = \c_one
+    \int_compare:nNnTF \l__siunitx_round_int = 1
       {
-        \int_compare:nNnT \l__siunitx_tmp_int > \c_four
+        \int_compare:nNnT \l__siunitx_tmp_int > 4
           {
             \bool_set_true:N \l__siunitx_round_bool
             \bool_if:NF \l__siunitx_round_half_up_bool
               {
                 \int_compare:nNnT
-                  { \l__siunitx_round_discard_tl \int_use:N \l__siunitx_tmp_int }
-                    = \c_five
+                  { \l__siunitx_round_discard_tl \int_use:N \l__siunitx_tmp_int } = 5
                   { \bool_set_true:N \l__siunitx_round_even_bool }
               }
           }
       }
       {
-        \int_compare:nNnT \l__siunitx_tmp_int = \c_ten
+        \int_compare:nNnT \l__siunitx_tmp_int = { 10 }
           {
             \bool_set_true:N \l__siunitx_round_bool
             \int_zero:N \l__siunitx_tmp_int
@@ -2564,7 +2576,7 @@
   }
 \cs_new_protected:Npn
   \__siunitx_number_process_scientific_aux_ii:nnn #1#2#3 {
-  \int_compare:nNnTF { \tl_count:n {#1} } > \c_one
+  \int_compare:nNnTF { \tl_count:n {#1} } > 1
     { \__siunitx_number_process_scientific_large:nnn {#1} {#2} {#3} }
     {
       \__siunitx_number_if_zero:nTF {#1}
@@ -2589,7 +2601,7 @@
         \quark_if_recursion_tail_stop_do:Nn ##3
           {
             \__siunitx_number_process_scientific_aux_ii:nnn {##1} { ##2 #2 }
-              { #3 + \c_one }
+              { #3 + 1 }
           }
         \__siunitx_number_process_scientific_large_loop:nNN { ##1 ##2 } ##3
       }
@@ -2871,7 +2883,7 @@
         { \prop_put:Nnn \l__siunitx_number_in_prop { #1 - #2 } { 0 } }
     }
 }
-\cs_new_protected_nopar:Npn \__siunitx_number_process_zero_to_integer:
+\cs_new_protected:Npn \__siunitx_number_process_zero_to_integer:
   {
     \bool_if:NT \l__siunitx_zero_decimal_to_integer_bool
       {
@@ -4265,7 +4277,7 @@
   unit-optional-argument ,
   use-xspace             ,
 }
-\cs_new_protected_nopar:Npn \__siunitx_unit_create_empty_functions:
+\cs_new_protected:Npn \__siunitx_unit_create_empty_functions:
   {
     \__siunitx_unit_create_functions_aux_i:
     \seq_map_function:NN \l__siunitx_declare_list_seq
@@ -4277,7 +4289,7 @@
     \cs_if_free:NT #1
       { \cs_set_protected:Npn #1 { \ERROR } }
   }
-\cs_new_protected_nopar:Npn \__siunitx_unit_create_functions:
+\cs_new_protected:Npn \__siunitx_unit_create_functions:
   {
     \__siunitx_unit_create_functions_aux_i:
     \bool_if:NT \l__siunitx_create_overwrite_bool
@@ -4295,7 +4307,7 @@
     \bool_if:NT \l__siunitx_create_xspace_bool
       { \RequirePackage { xspace } }
   }
-\cs_new_protected_nopar:Npn \__siunitx_unit_create_functions_aux_i:
+\cs_new_protected:Npn \__siunitx_unit_create_functions_aux_i:
   {
     \@ifpackageloaded { soulpos }
       {
@@ -4302,7 +4314,7 @@
         \@ifpackageloaded { soul }
           { }
           {
-            \cs_set_protected_nopar:Npn \__siunitx_unit_create_functions_aux_ii:
+            \cs_set_protected:Npn \__siunitx_unit_create_functions_aux_ii:
               {
                 \cs_undefine:N \hl
                 \cs_undefine:N \ul
@@ -4311,7 +4323,7 @@
       }
       { }
   }
-\cs_new_protected_nopar:Npn \__siunitx_unit_create_functions_aux_ii: { }
+\cs_new_protected:Npn \__siunitx_unit_create_functions_aux_ii: { }
 \cs_new_protected:Npn \__siunitx_unit_create:N #1 {
   \cs_if_free:NT #1
     {
@@ -4581,7 +4593,7 @@
 \bool_new:N \l__siunitx_per_fraction_bool
 \tl_new:N \l__siunitx_per_mode_tl
 \bool_new:N \l__siunitx_power_number_bool
-\bool_new:N \l__siunitx_two_parts_bool
+\bool_new:N \l__siunitx_per_two_parts_bool
 \tl_new:N \l__siunitx_qualifier_mode_tl
 \keys_define:nn { siunitx } {
   bracket-unit-denominator .bool_set:N
@@ -5076,7 +5088,7 @@
   \tl_put_right:NV \l__siunitx_unit_current_tl \l__siunitx_tmpa_tl
   \tl_put_right:NV \l__siunitx_unit_current_tl \l__siunitx_bracket_close_tl
 }
-\cs_new_protected_nopar:Npn \__siunitx_unit_format_qualifier_phrase:
+\cs_new_protected:Npn \__siunitx_unit_format_qualifier_phrase:
   {
     \tl_put_right:NV \l__siunitx_unit_current_tl \l__siunitx_qualifier_phrase_tl
     \tl_put_right:NV \l__siunitx_unit_current_tl \l__siunitx_tmpa_tl
@@ -5142,6 +5154,7 @@
 \bool_new:N \l__siunitx_multi_repeat_bool
 \bool_new:N \l__siunitx_product_brackets_bool
 \bool_new:N \l__siunitx_product_power_bool
+\bool_new:N \l__siunitx_product_repeat_bool
 \bool_new:N \l__siunitx_number_unit_repeat_bool
 \keys_define:nn { siunitx } {
   allow-number-unit-breaks .bool_set:N =
@@ -5401,7 +5414,7 @@
   {
     \bool_set_true:N \l__siunitx_list_first_bool
     \tl_clear:N \l__siunitx_list_current_tl
-    \int_compare:nNnTF { \tl_count:n {#1} } > \c_two
+    \int_compare:nNnTF { \tl_count:n {#1} } > 2
       {
         \tl_map_function:nN {#1} \__siunitx_list_numbers_aux_ii:n
         \l__siunitx_list_tl
@@ -5409,7 +5422,7 @@
         \l__siunitx_list_current_tl
       }
       {
-        \int_compare:nNnTF { \tl_count:n {#1} } = \c_two
+        \int_compare:nNnTF { \tl_count:n {#1} } = 2
           { \__siunitx_list_numbers_aux:nn #1 }
           { \__siunitx_combined_output:n #1 }
       }
@@ -5818,7 +5831,7 @@
     }
 }
 \skip_new:N \c__siunitx_one_fill_skip
-\skip_set:Nn \c__siunitx_one_fill_skip { \c_zero_dim plus 1 fill }
+\skip_set:Nn \c__siunitx_one_fill_skip { 0pt plus 1fill }
 \AtBeginDocument
   {
     \@ifpackageloaded { colortbl }
@@ -5825,7 +5838,7 @@
       {
         \cs_new_protected:Npn \__siunitx_table_colortbl_correction:
           {
-            \skip_horizontal:n { \c_zero_dim plus -0.5 fill }
+            \skip_horizontal:n { 0pt plus -0.5fill }
             \tex_kern:D \c_zero_skip
           }
       }
@@ -5883,7 +5896,7 @@
       center             .code:n =
         {
           \skip_set:Nn \l__siunitx_table_unit_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
         },
     table-unit-alignment /
       left               .code:n =
@@ -5892,7 +5905,7 @@
         right            .code:n =
           {
             \skip_set:Nn \l__siunitx_table_unit_align_skip
-              { \c_zero_dim plus 1 fill }
+              { 0pt plus 1fill }
           }
   }
 \keys_set:nn { siunitx } { table-unit-alignment = center }
@@ -5951,7 +5964,7 @@
       center                  .code:n     =
         {
           \skip_set:Nn \l__siunitx_table_number_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
           \cs_set_eq:NN \__siunitx_table_print_S_direct_main:
             \__siunitx_table_print_S_direct_reserved:
           \cs_set_eq:NN \__siunitx_table_print_S_parsed:
@@ -5961,7 +5974,7 @@
       center-decimal-marker   .code:n     =
         {
           \skip_set:Nn \l__siunitx_table_number_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
           \cs_set_eq:NN \__siunitx_table_print_S_direct_main:
             \__siunitx_table_print_S_direct_centered:
           \cs_set_eq:NN \__siunitx_table_print_S_parsed:
@@ -5980,7 +5993,7 @@
       right                 .code:n     =
         {
           \skip_set:Nn \l__siunitx_table_number_align_skip
-            { \c_zero_dim plus 1 fill }
+            { 0pt plus 1fill }
           \cs_set_eq:NN \__siunitx_table_print_S_direct_main:
             \__siunitx_table_print_S_direct_reserved:
           \cs_set_eq:NN \__siunitx_table_print_S_parsed:
@@ -5993,7 +6006,7 @@
       center                  .code:n     =
         {
           \skip_set:Nn \l__siunitx_table_text_align_skip
-            { \c_zero_dim plus 0.5 fill }
+            { 0pt plus 0.5fill }
         },
     table-text-alignment /
       left                    .code:n     =
@@ -6002,7 +6015,7 @@
       right                   .code:n     =
         {
           \skip_set:Nn \l__siunitx_table_text_align_skip
-            { \c_zero_dim plus 1 fill }
+            { 0pt plus 1fill }
         },
     table-comparator          .choice:,
     table-comparator /
@@ -6014,7 +6027,7 @@
     table-comparator          .default:n  = true,
     table-figures-decimal     .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           {
             \prop_remove:Nn \l__siunitx_table_model_prop { mantissa-decimal }
             \prop_remove:Nn \l__siunitx_table_model_prop { mantissa-decimal-raw }
@@ -6039,7 +6052,7 @@
       },
     table-figures-exponent    .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           { \prop_remove:Nn \l__siunitx_table_model_prop { exponent-integer } }
           {
             \prop_put:Nnx \l__siunitx_table_model_prop { exponent-integer }
@@ -6049,7 +6062,7 @@
       },
     table-figures-integer     .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           {
             \prop_remove:Nn \l__siunitx_table_model_prop { mantissa-integer }
             \prop_if_in:NnTF \l__siunitx_table_model_prop { mantissa-decimal }
@@ -6067,7 +6080,7 @@
       },
     table-figures-uncertainty .code:n     =
       {
-        \int_compare:nNnTF {#1} = \c_zero
+        \int_compare:nNnTF {#1} = 0
           { \prop_remove:Nn \l__siunitx_table_model_prop { mantissa-uncertainty } }
           {
             \prop_put:Nnx \l__siunitx_table_model_prop { mantissa-uncertainty }
@@ -6713,7 +6726,7 @@
     \char_set_active_eq:NN #1 \__siunitx_table_print_S_direct_centered_begin:
     \char_set_mathcode:nn { `#1 } { "8000 }
   }
-\cs_new_protected_nopar:Npn \__siunitx_table_print_S_direct_centered_begin:
+\cs_new_protected:Npn \__siunitx_table_print_S_direct_centered_begin:
   {
     \c_math_toggle_token
     \c_group_end_token
@@ -6794,7 +6807,7 @@
     \char_set_active_eq:NN #1 \__siunitx_table_print_S_direct_reserved_begin:
     \char_set_mathcode:nn { `#1 } { "8000 }
   }
-\cs_new_protected_nopar:Npn \__siunitx_table_print_S_direct_reserved_begin:
+\cs_new_protected:Npn \__siunitx_table_print_S_direct_reserved_begin:
   {
       \c_math_toggle_token
     \c_group_end_token
@@ -7031,7 +7044,7 @@
     { set~thousands~separator = { \exp_not:V \l__siunitx_group_sep_tl } }
   \clist_put_right:Nx \l__siunitx_pgf_link_clist
     {
-       min~exponent~for~1000~sep = \int_eval:n { \l__siunitx_group_min_int - \c_one }
+       min~exponent~for~1000~sep = \int_eval:n { \l__siunitx_group_min_int - 1 }
     }
   \bool_if:nF
     {
@@ -7070,6 +7083,9 @@
 \msg_new:nnnn { siunitx } { bad-arc-sign }
   { Incorrect~use~of~sign~in~degree-minute-second~angle. }
   { Only~the~highest~value~part~of~an~angle~can~have~a~sign. }
+\msg_new:nnnn { siunitx } { color-not-loaded }
+  { Package~"color"~not~loaded. }
+  { The~command~\token_to_str:N \color \ is~not~available. }
 \msg_new:nnnn { siunitx } { duplicate-complex-root-token }
   { Duplicate~complex~root~token~'#1'~in~input. }
   { Only~one~complex~root~token~can~appear~in~a~single~number. }
@@ -7644,12 +7660,12 @@
         { \cs_set_eq:NN \__siunitx_load_binary: \prg_do_nothing: } ,
     binary-units  .default:n = true
   }
-\cs_new_protected_nopar:Npn \__siunitx_load_abbreviations:
+\cs_new_protected:Npn \__siunitx_load_abbreviations:
   {
     \@onefilewithoptions { siunitx-abbreviations } [ ] [ ]
       \c__siunitx_configuration_ext_tl
   }
-\cs_new_protected_nopar:Npn \__siunitx_load_binary:
+\cs_new_protected:Npn \__siunitx_load_binary:
   {
     \@onefilewithoptions { siunitx-binary } [ ] [ ]
       \c__siunitx_configuration_ext_tl



More information about the tex-live-commits mailing list