From b2053c7ca17849fd767069669f95dcd244e63aef Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 11 May 2015 20:51:50 +0000
Subject: acro (11may15)

git-svn-id: svn://tug.org/texlive/trunk@37328 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/acro/acro.sty | 124 ++++++++++++++++--------------
 1 file changed, 68 insertions(+), 56 deletions(-)

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

diff --git a/Master/texmf-dist/tex/latex/acro/acro.sty b/Master/texmf-dist/tex/latex/acro/acro.sty
index 91708444591..b53f44f44cb 100644
--- a/Master/texmf-dist/tex/latex/acro/acro.sty
+++ b/Master/texmf-dist/tex/latex/acro/acro.sty
@@ -31,8 +31,8 @@
 \RequirePackage{expl3,l3sort,xparse,l3keys2e,xtemplate}
 \ProvidesExplPackage
   {acro}
-  {2015/04/08}
-  {1.6a}
+  {2015/05/10}
+  {1.6b}
   {Typeset Acronyms}
 
 % --------------------------------------------------------------------------
@@ -774,63 +774,71 @@
   {
     \seq_if_empty:cF { g__acro_#1_pages_seq }
       {
-        % have the numbers changed?
-        \tl_set:Nx \l__acro_tmpa_tl
-          { \seq_use:cnnn { g__acro_#1_pages_seq } { | } { | } { | } }
-        \tl_if_eq:cNF { g__acro_#1_recorded_pages_tl } \l__acro_tmpa_tl
+        \bool_if:NTF \l__acro_list_all_pages_bool
           {
-            \@latex@warning@no@line
-              {Rerun~to~get~page~numbers~of~acronym~#1~in~acronym~list~right}
-          }
-        \tl_clear:N \l__acro_write_pages_tl
-        \tl_clear:N \l__acro_last_page_tl
-        \tl_clear:N \l__acro_current_page_tl
-        \seq_set_eq:Nc \l__acro_tmpb_seq { g__acro_#1_pages_seq }
-        \seq_remove_duplicates:N \l__acro_tmpb_seq
-        \seq_clear:N \l__acro_tmpa_seq
-        \cs_set_protected:Npn \acro_page_range_comma:
-          { \cs_set:Npn \acro_page_range_comma: { ,~ } }
-        % get the numbers:
-        \int_compare:nNnTF { \seq_count:N \l__acro_tmpb_seq } = { 1 }
-          {
-            \l__acro_page_name_tl
-            \seq_get_right:cN { g__acro_#1_pages_seq } \l__acro_tmpa_tl
-            \acro_get_thepage_from:N \l__acro_tmpa_tl
-          }
-          { \l__acro_pages_name_tl
-            \seq_map_inline:cn { g__acro_#1_pages_seq }
+            % have the numbers changed?
+            \tl_set:Nx \l__acro_tmpa_tl
+              { \seq_use:cnnn { g__acro_#1_pages_seq } { | } { | } { | } }
+            \tl_if_eq:cNF { g__acro_#1_recorded_pages_tl } \l__acro_tmpa_tl
               {
-                \tl_if_blank:VTF \l__acro_last_page_tl
-                  {% we're at the beginning
-                    \seq_put_right:Nn \l__acro_tmpa_seq {##1}
-                    \tl_set:Nn \l__acro_last_page_tl {##1}
-                  }
-                  {% we'at least at the second page
-                     % current page:
-                     \tl_set:Nn  \l__acro_current_page_tl {##1}
-                     % last page:
-                     \seq_get_right:NN \l__acro_tmpa_seq \l__acro_last_page_tl
-                     \tl_if_eq:NNTF \l__acro_current_page_tl \l__acro_last_page_tl
-                       {% there were more than one appearance on the current page
-                         \seq_put_right:Nn \l__acro_tmpa_seq {##1}
-                       }
-                       {% new page
-                         \acro_determine_page_ranges:NNn
-                           \l__acro_tmpa_seq
-                           \l__acro_write_pages_tl
-                           {##1}
-                       }
-                  }
+                \@latex@warning@no@line
+                  {Rerun~to~get~page~numbers~of~acronym~#1~in~acronym~list~right}
               }
-            \seq_if_empty:NF \l__acro_tmpa_seq
+            \tl_clear:N \l__acro_write_pages_tl
+            \tl_clear:N \l__acro_last_page_tl
+            \tl_clear:N \l__acro_current_page_tl
+            \seq_set_eq:Nc \l__acro_tmpb_seq { g__acro_#1_pages_seq }
+            \seq_remove_duplicates:N \l__acro_tmpb_seq
+            \seq_clear:N \l__acro_tmpa_seq
+            \cs_set_protected:Npn \acro_page_range_comma:
+              { \cs_set:Npn \acro_page_range_comma: { ,~ } }
+            % get the numbers:
+            \int_compare:nNnTF { \seq_count:N \l__acro_tmpb_seq } = { 1 }
               {
-                \acro_determine_page_ranges:NNV
-                  \l__acro_tmpa_seq
-                  \l__acro_write_pages_tl
-                  \l__acro_current_page_tl
+                \tl_use:N \l__acro_page_name_tl
+                \seq_get_right:cN { g__acro_#1_pages_seq } \l__acro_tmpa_tl
+                \acro_get_thepage_from:N \l__acro_tmpa_tl
               }
-            \tl_use:N \l__acro_write_pages_tl
-            \tl_clear:N \l__acro_write_pages_tl
+              {
+                \tl_use:N \l__acro_pages_name_tl
+                \seq_map_inline:cn { g__acro_#1_pages_seq }
+                  {
+                    \tl_if_blank:VTF \l__acro_last_page_tl
+                      {% we're at the beginning
+                        \seq_put_right:Nn \l__acro_tmpa_seq {##1}
+                        \tl_set:Nn \l__acro_last_page_tl {##1}
+                      }
+                      {% we'at least at the second page
+                         % current page:
+                         \tl_set:Nn  \l__acro_current_page_tl {##1}
+                         % last page:
+                         \seq_get_right:NN \l__acro_tmpa_seq \l__acro_last_page_tl
+                         \tl_if_eq:NNTF \l__acro_current_page_tl \l__acro_last_page_tl
+                           {% there were more than one appearance on the current page
+                             \seq_put_right:Nn \l__acro_tmpa_seq {##1}
+                           }
+                           {% new page
+                             \acro_determine_page_ranges:NNn
+                               \l__acro_tmpa_seq
+                               \l__acro_write_pages_tl
+                               {##1}
+                           }
+                      }
+                  }
+                \seq_if_empty:NF \l__acro_tmpa_seq
+                  {
+                    \acro_determine_page_ranges:NNV
+                      \l__acro_tmpa_seq
+                      \l__acro_write_pages_tl
+                      \l__acro_current_page_tl
+                  }
+                \tl_use:N \l__acro_write_pages_tl
+                \tl_clear:N \l__acro_write_pages_tl
+              }
+          }
+          {
+            \tl_use:N \l__acro_page_name_tl
+            \pageref{\l__acro_label_prefix_tl #1}
           }
       }
     \seq_clear:N \l__acro_tmpa_seq
@@ -2260,7 +2268,7 @@
 \DeclareExpandableDocumentCommand \acifused { m }
   { \acro_if_acronym_used:nTF {#1} }
 
-\prg_new_conditional:Npnn \acro_if_acronym_used:n #1 { TF }
+\prg_new_conditional:Npnn \acro_if_acronym_used:n #1 { p,T,F,TF }
   {
     \bool_if:nTF
       {
@@ -2285,7 +2293,7 @@
 
 % ---------------------------------------------------------------------------
 % process options:
-\ProcessKeysOptions {acro}
+\ProcessKeysPackageOptions {acro}
 
 % ---------------------------------------------------------------------------
 % PDF bookmark support
@@ -2891,9 +2899,13 @@
                  - drop support for version 0
 2015/04/08 v1.6a - more generalized user command definitions, see
                    http://tex.stackexchange.com/q/236362/ for an application
+2015/05/10 v1.6b - \ProcessKeysPackageOptions ,
+                 - correct bug http://tex.stackexchange.com/q/236860/ :
+                   option `pages = first' works again
 
 % --------------------------------------------------------------------------
 % TODO:
+- issue 18: https://bitbucket.org/cgnieder/acro/issue/18
 - extend option `macros' to also define uppercase macros, possibly as a choice
 - https://bitbucket.org/cgnieder/acro/issue/18
 - options user1, user2, user3? (Genitiv lang, Akkusativ lang,...) Bsp: ``des
-- 
cgit v1.2.3

