From 2b0769f9e04cd016fdc87710e6b7d6f3f1386b9b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 26 Jul 2018 21:44:37 +0000 Subject: knowledge (26jul18) git-svn-id: svn://tug.org/texlive/trunk@48280 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/knowledge/README.md | 4 +- .../texmf-dist/doc/latex/knowledge/knowledge.pdf | Bin 677639 -> 677730 bytes .../texmf-dist/doc/latex/knowledge/knowledge.tex | 6 +- .../source/latex/knowledge/knowledge-code.dtx | 64 ++++++++++--------- .../source/latex/knowledge/knowledge-utils.dtx | 15 +++-- .../texmf-dist/tex/latex/knowledge/knowledge.sty | 70 +++++++++++---------- 6 files changed, 87 insertions(+), 72 deletions(-) diff --git a/Master/texmf-dist/doc/latex/knowledge/README.md b/Master/texmf-dist/doc/latex/knowledge/README.md index c05535030e0..e8cf3eed37a 100644 --- a/Master/texmf-dist/doc/latex/knowledge/README.md +++ b/Master/texmf-dist/doc/latex/knowledge/README.md @@ -3,8 +3,8 @@ This directory contains the package name: knowledge license: LaTeX Project Public License version 1.2 or above - version: v1.11 - date: 2018/05/17 + version: v1.12 + date: 2018/07/26 author: Thomas Colcombet mail: thomas.colcombet@irif.fr web: https://www.irif.fr/~colcombe/knowledge_en.html diff --git a/Master/texmf-dist/doc/latex/knowledge/knowledge.pdf b/Master/texmf-dist/doc/latex/knowledge/knowledge.pdf index 8c5970a16ad..39c2942e1df 100644 Binary files a/Master/texmf-dist/doc/latex/knowledge/knowledge.pdf and b/Master/texmf-dist/doc/latex/knowledge/knowledge.pdf differ diff --git a/Master/texmf-dist/doc/latex/knowledge/knowledge.tex b/Master/texmf-dist/doc/latex/knowledge/knowledge.tex index 72f8bb013b7..9739fd57bc4 100644 --- a/Master/texmf-dist/doc/latex/knowledge/knowledge.tex +++ b/Master/texmf-dist/doc/latex/knowledge/knowledge.tex @@ -689,6 +689,7 @@ This is essentially a list for personal referencing of what has to be done. \item[2018-02-21] Documentation improvement for "Emacs" (thanks to Michaƫl Cadilhac). \item[2018-02-24] Documentation improvement for the environment "thebibliography@@env". \item[2018-05-17] Correction to be compatible with the lastest version of "expl3@@package" (thanks to Leo Stefanesco). +\item[2018-07-26] Compatibility with utf8 symbols in labels (thanks to Yves Guiraud). \end{compactdesc} \normalsize %\restoregeometry @@ -2083,7 +2084,7 @@ or by loading the \kl(package){makeidx} before the "knowledge@@package" package. \subsubsubsection{Features} When activated, it becomes possible to trigger the \cs{\index} command when a \cs{\kl} command is used. -The following \kl[\knowledge directives]{directives} are use: +The following \kl[\knowledge directives]{directives} are to be used: \begin{description} \itemAP[\intro{index=}] is the version that uses the standard syntax of the \cs{\index} parameter. \itemAP[\intro{index key=}] takes as argument the \kl{index key}: a text that is used for identifying the \kl{index entry} (usually an accent free version of it). @@ -2305,7 +2306,8 @@ A workaround is to use the \texttt{breaklinks} option of \kl(package){hyperref} \subsection{Problems with scope} \subsubsection{Problems in combination with \cs{\bibitem} and "thebibliography@@env"} -\section{} + + The "scope option" of the package triggers some analysis of the code, and restrains the structure of the code (in particular, this is because "scopes" have to be nested, and thus some not so well nested part of \LaTeX{} yields error). In particular, the "scope option" does not allow to have a \cs{\section} command inside a list. However, this is what does the environment "thebibliography@@env", yielding a scoping error. diff --git a/Master/texmf-dist/source/latex/knowledge/knowledge-code.dtx b/Master/texmf-dist/source/latex/knowledge/knowledge-code.dtx index 1828e3d2aa6..44378e07573 100644 --- a/Master/texmf-dist/source/latex/knowledge/knowledge-code.dtx +++ b/Master/texmf-dist/source/latex/knowledge/knowledge-code.dtx @@ -23,7 +23,7 @@ % % \iffalse %\usepackage{expl3} -%\ProvidesExplPackage{knowledge}{2018/05/17}{1.11}{} +%\ProvidesExplPackage{knowledge}{2018/07/26}{1.12}{} %<*driver> \def\knowledgecode{active} \input{knowledge.tex} @@ -44,6 +44,7 @@ % \changes{1.09}{2017/10/31}{minor changes} % % \changes{1.10}{2018/02/17}{bug fixes} % % \changes{1.11}{2018/05/17}{bug fixes} % +% \changes{1.12}{2018/07/26}{bug fixes} % % \GetFileInfo{knowledge.sty} % % \DoNotIndex{} % @@ -63,8 +64,8 @@ This directory contains the package name: knowledge license: LaTeX Project Public License version 1.2 or above - version: v1.11 - date: 2018/05/17 + version: v1.12 + date: 2018/07/26 author: Thomas Colcombet mail: thomas.colcombet@irif.fr web: https://www.irif.fr/~colcombe/knowledge_en.html @@ -408,9 +409,10 @@ Content of the file knowledge-sources.zip: \KnowledgeConfigureTrigger{protect~quotation}{\kl_protect_environment_quotation:n{#1}} % \end{macrocode} % +% Activates or deactivates the line numbering in the "diagnose file". % \begin{macrocode} \bool_new:N\knowledge_configuration_diagnoseline_bool -\bool_gset_false:N\knowledge_configuration_diagnoseline_bool +\bool_set_false:N\knowledge_configuration_diagnoseline_bool \KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnoseline_bool]{diagnose~line} % \end{macrocode} % @@ -955,11 +957,12 @@ Content of the file knowledge-sources.zip: % \begin{macrocode} \cs_new:Nn\scope_internal_pop: { \use:c{\scope_tl.area[\scope_top_area_tl].popcode_tl} - \seq_gpop:NNTF\scope_instances_stack_seq\scope_top_instance_tl - {\int_gdecr:c{\scope_tl.area[\scope_top_area_tl].nesting_int} + \seq_gpop:NNTF\scope_instances_stack_seq\l_tmpa_tl + {\tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl + \int_gdecr:c{\scope_tl.area[\scope_top_area_tl].nesting_int} \exp_args:NV\knowledge_pop_visible_instances_to:n\scope_top_instance_tl - \seq_get:NN\scope_instances_stack_seq\scope_top_instance_tl - \tl_gset_eq:NN\scope_top_instance_tl\scope_top_instance_tl + \seq_get:NN\scope_instances_stack_seq\l_tmpa_tl + \tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl \tl_gset:Nx\scope_top_area_tl {\tl_use:c{\scope_tl.instance[\scope_top_instance_tl].area_tl}}} {\msg_error:nnn{scope}{empty~pop}{}} @@ -1065,7 +1068,7 @@ Content of the file knowledge-sources.zip: {\tl_gset_eq:NN\scope_top_instance_tl\scope_top_area_tl} % \exp_args:Nx\knowledge_push_visible_instance:n{\scope_top_instance_tl} - \seq_push:Nx\scope_instances_stack_seq{\scope_top_instance_tl} + \seq_gpush:Nx\scope_instances_stack_seq{\scope_top_instance_tl} % \tl_new:c {\scope_tl.instance[\scope_top_instance_tl].area_tl} @@ -1081,7 +1084,7 @@ Content of the file knowledge-sources.zip: \seq_if_exist:cTF{\scopept_tl.instance[\l_tmpa_tl].context_seq} {\seq_set_eq:Nc\l_tmpa_seq{\scopept_tl.instance[\l_tmpa_tl].context_seq}} {\seq_clear_new:N\l_tmpa_seq} - \exp_args:NNx\seq_gpush:Nn + \exp_args:NNx\seq_push:Nn \l_tmpa_seq{\scope_top_instance_tl} \seq_new:c {\scopept_tl.instance[\scope_top_instance_tl].context_seq} @@ -1201,7 +1204,7 @@ Content of the file knowledge-sources.zip: \NewDocumentCommand\scopeLabel{m} { \kl_hide_begin: \scope_get_labelizable_instance:N\l_tmpb_tl - \KAuxWriteX*{\exp_not:n{\KAuxScopeLabel}{#1}{\l_tmpb_tl}} + \KAuxWriteX*{\exp_not:n{\KAuxScopeLabel}{\exp_not:n{#1}}{\l_tmpb_tl}} %\tl_new:cx{\scopept_tl.label[#1].instance_tl}{\l_tmpb_tl} \kl_hide_end: \cs_if_exist:NTF\LaTeXlabel\LaTeXlabel\use_none:n{#1}} @@ -1230,8 +1233,8 @@ Content of the file knowledge-sources.zip: \NewKAuxCommand\KAuxScopeLabel{mm} {Package~scope:~Links~a~label~to~the~scope~of~its~definition.} \DeclareKAuxPhaseCommand\KAuxScopeLabel{init} - {\tl_if_exist:cTF{\scopept_tl.label[#1].instance_tl}{} - {\tl_new:cn{\scopept_tl.label[#1].instance_tl}{#2}}} + {\tl_if_exist:cTF{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{} + {\tl_new:cn{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{#2}}} % \end{macrocode} % \begin{macrocode} \cs_new:Npn\scopept_label_instance_if_exist:nTF#1 @@ -1382,6 +1385,9 @@ Content of the file knowledge-sources.zip: % % \subsubsection{Diagnose file} % +% \csintro{\knowledge_diagnose_lastline_tl} contains the text +% of the last line that has been diagnosed. If it did not change, it will +% not be output again. % \begin{macrocode} \iow_new:N\knowledge_diagnosefile_iow \cs_new:Nn\knowledge_diagnose:n @@ -1395,12 +1401,12 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_diagnose_line: {\bool_if:NT\knowledge_configuration_diagnoseline_bool - {\tl_set:Nx\g_tmpa_tl + {\tl_set:Nx\l_tmpa_tl {\c_percent_str\space\kauxCurrentFile : \kauxCurrentLine} - \tl_if_eq:NNTF\g_tmpa_tl\knowledge_diagnose_lastline_tl + \tl_if_eq:NNTF\l_tmpa_tl\knowledge_diagnose_lastline_tl {} - {\tl_gset_eq:NN\knowledge_diagnose_lastline_tl\g_tmpa_tl - \knowledge_diagnose:V\g_tmpa_tl}}} + {\tl_gset_eq:NN\knowledge_diagnose_lastline_tl\l_tmpa_tl + \knowledge_diagnose:V\knowledge_diagnose_lastline_tl}}} \NewDocumentCommand\KnowledgeDiagnoseOutput{}{ \iow_open:Nn\knowledge_diagnosefile_iow{\c_sys_jobname_str.diagnose} @@ -1760,10 +1766,10 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_push_visible_instance:n {\seq_gpush:Nn\knowledge_visible_instances_seq{#1}} \cs_new:Npn\knowledge_pop_visible_instance: - {\seq_gpop:NN\knowledge_visible_instances_seq\g_tmpa_tl} + {\seq_gpop:NN\knowledge_visible_instances_seq\l_tmpa_tl} \cs_new:Nn\knowledge_pop_visible_instances_to:n - {\seq_gpop:NNTF\knowledge_visible_instances_seq\g_tmpa_tl - {\exp_args:NV\tl_if_eq:nnTF\g_tmpa_tl{#1} + {\seq_gpop:NNTF\knowledge_visible_instances_seq\l_tmpa_tl + {\exp_args:NV\tl_if_eq:nnTF\l_tmpa_tl{#1} {} {\knowledge_pop_visible_instances_to:n{#1}}} {\INTERNAL_ERROR_EMPTY_POP_VISIBLE}} @@ -2109,7 +2115,7 @@ Content of the file knowledge-sources.zip: \tl_clear_new:N\knowledge_kl_display_process_tl \tl_clear_new:N\knowledge_kl_display_sequence_tl \tl_new:N\knowledge_namespace_tl -\tl_new:Nn\knowledge_display_code_tl{INTERNAL~ERROR~DISPLAY~CODE} +\tl_gnew:Nn\knowledge_display_code_tl{INTERNAL~ERROR~DISPLAY~CODE} % \end{macrocode} % \begin{macrocode} \NewDocumentCommand\klTKS{}{\knowledge_klTKS:nnn} @@ -2118,10 +2124,10 @@ Content of the file knowledge-sources.zip: \cs_new:Nn\knowledge_klTKS:nnn{ \group_begin: % - \tl_set:Nn\knowledge_kl_linkscope_tl{#3} + \tl_set:Nx\knowledge_kl_linkscope_tl{\tl_to_str:n{#3}} \tl_set:Nn\knowledge_kl_instance_tl{} \tl_set:Nn\knowledge_kl_text_tl{#1} - \tl_set:Nn\knowledge_kl_base_key_tl{#2} + \tl_set:Nx\knowledge_kl_base_key_tl{\tl_to_str:n{#2}} \tl_set_eq:NN\knowledge_kl_key_tl\knowledge_kl_base_key_tl \int_set_eq:NN\knowledge_kl_recursion_int\knowledge_kl_max_recursion_int % @@ -2883,15 +2889,15 @@ Content of the file knowledge-sources.zip: {\tl_gset_eq:NN\knowledge_display_code_tl\knowledge_kl_forcedtext_tl} {\tl_gset_eq:NN\knowledge_display_code_tl\knowledge_kl_text_tl} \bool_if:NT\kl_detokenize_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\tl_to_str:V\knowledge_display_code_tl}} \bool_if:NT\kl_removespace_bool {\tl_remove_all:Nn\knowledge_display_code_tl{~}} \bool_if:NT\kl_lowercase_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\exp_args:NV\tl_lower_case:n\knowledge_display_code_tl}} \bool_if:NT\kl_uppercase_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\exp_args:NV\tl_upper_case:n\knowledge_display_code_tl}} % \tl_if_empty:NTF\knowledge_kl_wrap_tl @@ -3425,10 +3431,10 @@ Content of the file knowledge-sources.zip: % \begin{macrocode} \bool_if:NF\knowledge_option_composition_bool {\bool_if:NF\knowledge_option_paper_bool} - {\bool_gset_true:N\knowledge_option_composition_bool} + {\bool_set_true:N\knowledge_option_composition_bool} \bool_if:NT\knowledge_option_composition_bool {\bool_if:NT\knowledge_option_paper_bool} - {\bool_gset_false:N\knowledge_option_composition_bool} + {\bool_set_false:N\knowledge_option_composition_bool} \DeclareExpandableDocumentCommand\IfKnowledgeCompositionModeTF{} @@ -3513,7 +3519,7 @@ Content of the file knowledge-sources.zip: % \subsubsection{Basic configuration} % % \begin{macrocode} -\tl_gset_eq:NN\knowledge_kl_namespace_tl\knowledge_default_namespace_tl +\tl_set_eq:NN\knowledge_kl_namespace_tl\knowledge_default_namespace_tl % \end{macrocode} % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/knowledge/knowledge-utils.dtx b/Master/texmf-dist/source/latex/knowledge/knowledge-utils.dtx index 9e8ede9bd8b..af2d372a40d 100644 --- a/Master/texmf-dist/source/latex/knowledge/knowledge-utils.dtx +++ b/Master/texmf-dist/source/latex/knowledge/knowledge-utils.dtx @@ -112,17 +112,20 @@ % Some useful adding (newset). % \begin{macrocode} \cs_new:Nn\tl_new:Nn + {\tl_new:N#1 + \tl_set:Nn#1{#2}} +\cs_new:Nn\tl_gnew:Nn {\tl_new:N#1 \tl_gset:Nn#1{#2}} \cs_new:Nn\tl_new_eq:NN {\tl_new:N#1 - \tl_gset_eq:NN#1#2} + \tl_set_eq:NN#1#2} \cs_new:Nn\bool_new_true:N {\bool_new:N#1 - \bool_gset_true:N#1} + \bool_set_true:N#1} \cs_new:Nn\bool_new_false:N {\bool_new:N#1 - \bool_gset_false:N#1} + \bool_set_false:N#1} \cs_new:Nn\bool_set_text:Nn {\use:c{bool_set_#2:N}#1} \cs_generate_variant:Nn\tl_new:Nn{Nx,cn,cx} @@ -332,11 +335,11 @@ % code to be executed before the opening, at the beginning and after the writing of the KAUX file. % \begin{macrocode} \NewDocumentCommand\KAuxBefore{m} - {\tl_put_right:Nn\kaux_pretreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_pretreatment_tl{#1}} \NewDocumentCommand\KAuxAfter{m} - {\tl_put_right:Nn\kaux_posttreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_posttreatment_tl{#1}} \NewDocumentCommand\KAuxInit{m} - {\tl_put_right:Nn\kaux_inittreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_inittreatment_tl{#1}} % \end{macrocode} % \begin{macrocode} \tl_new:N\kaux_pretreatment_tl diff --git a/Master/texmf-dist/tex/latex/knowledge/knowledge.sty b/Master/texmf-dist/tex/latex/knowledge/knowledge.sty index e575f417c54..991e6a7dc6e 100644 --- a/Master/texmf-dist/tex/latex/knowledge/knowledge.sty +++ b/Master/texmf-dist/tex/latex/knowledge/knowledge.sty @@ -23,7 +23,7 @@ %% LaTeX version 1999/12/01 or later. %% \usepackage{expl3} -\ProvidesExplPackage{knowledge}{2018/05/17}{1.11}{} +\ProvidesExplPackage{knowledge}{2018/07/26}{1.12}{} %%%%%%%%%% \RequirePackage{l3keys2e} \RequirePackage{etoolbox} @@ -41,17 +41,20 @@ {} {\tl_set_eq:Nc\c_sys_jobname_str{c_job_name_tl}} \cs_new:Nn\tl_new:Nn + {\tl_new:N#1 + \tl_set:Nn#1{#2}} +\cs_new:Nn\tl_gnew:Nn {\tl_new:N#1 \tl_gset:Nn#1{#2}} \cs_new:Nn\tl_new_eq:NN {\tl_new:N#1 - \tl_gset_eq:NN#1#2} + \tl_set_eq:NN#1#2} \cs_new:Nn\bool_new_true:N {\bool_new:N#1 - \bool_gset_true:N#1} + \bool_set_true:N#1} \cs_new:Nn\bool_new_false:N {\bool_new:N#1 - \bool_gset_false:N#1} + \bool_set_false:N#1} \cs_new:Nn\bool_set_text:Nn {\use:c{bool_set_#2:N}#1} \cs_generate_variant:Nn\tl_new:Nn{Nx,cn,cx} @@ -162,11 +165,11 @@ \kaux_posttreatment_tl } \NewDocumentCommand\KAuxBefore{m} - {\tl_put_right:Nn\kaux_pretreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_pretreatment_tl{#1}} \NewDocumentCommand\KAuxAfter{m} - {\tl_put_right:Nn\kaux_posttreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_posttreatment_tl{#1}} \NewDocumentCommand\KAuxInit{m} - {\tl_put_right:Nn\kaux_inittreatment_tl{#1}} + {\tl_gput_right:Nn\kaux_inittreatment_tl{#1}} \tl_new:N\kaux_pretreatment_tl \tl_gset:Nn\kaux_pretreatment_tl{} \tl_new:N\kaux_posttreatment_tl @@ -920,7 +923,7 @@ \KnowledgeConfigureBooleanOptionTF[\knowledge_configuration_quotation_bool]{quotation}{\klactivatequotation}{\kldeactivatequotation} \KnowledgeConfigureTrigger{protect~quotation}{\kl_protect_environment_quotation:n{#1}} \bool_new:N\knowledge_configuration_diagnoseline_bool -\bool_gset_false:N\knowledge_configuration_diagnoseline_bool +\bool_set_false:N\knowledge_configuration_diagnoseline_bool \KnowledgeConfigureBooleanOption[\knowledge_configuration_diagnoseline_bool]{diagnose~line} \bool_new:N\knowledge_configuration_visibleAP_bool \KnowledgeConfigureBooleanOption[\knowledge_configuration_visibleAP_bool]{visible~anchor~points}\KnowledgeConfigureBooleanOption[\knowledge_configuration_visibleAP_bool]{visible~AP} @@ -1213,11 +1216,12 @@ {\msg_error:nn{scope}{no~popping~here}}}} \cs_new:Nn\scope_internal_pop: { \use:c{\scope_tl.area[\scope_top_area_tl].popcode_tl} - \seq_gpop:NNTF\scope_instances_stack_seq\scope_top_instance_tl - {\int_gdecr:c{\scope_tl.area[\scope_top_area_tl].nesting_int} + \seq_gpop:NNTF\scope_instances_stack_seq\l_tmpa_tl + {\tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl + \int_gdecr:c{\scope_tl.area[\scope_top_area_tl].nesting_int} \exp_args:NV\knowledge_pop_visible_instances_to:n\scope_top_instance_tl - \seq_get:NN\scope_instances_stack_seq\scope_top_instance_tl - \tl_gset_eq:NN\scope_top_instance_tl\scope_top_instance_tl + \seq_get:NN\scope_instances_stack_seq\l_tmpa_tl + \tl_gset_eq:NN\scope_top_instance_tl\l_tmpa_tl \tl_gset:Nx\scope_top_area_tl {\tl_use:c{\scope_tl.instance[\scope_top_instance_tl].area_tl}}} {\msg_error:nnn{scope}{empty~pop}{}} @@ -1314,7 +1318,7 @@ {\tl_gset_eq:NN\scope_top_instance_tl\scope_top_area_tl} % \exp_args:Nx\knowledge_push_visible_instance:n{\scope_top_instance_tl} - \seq_push:Nx\scope_instances_stack_seq{\scope_top_instance_tl} + \seq_gpush:Nx\scope_instances_stack_seq{\scope_top_instance_tl} % \tl_new:c {\scope_tl.instance[\scope_top_instance_tl].area_tl} @@ -1330,7 +1334,7 @@ \seq_if_exist:cTF{\scopept_tl.instance[\l_tmpa_tl].context_seq} {\seq_set_eq:Nc\l_tmpa_seq{\scopept_tl.instance[\l_tmpa_tl].context_seq}} {\seq_clear_new:N\l_tmpa_seq} - \exp_args:NNx\seq_gpush:Nn + \exp_args:NNx\seq_push:Nn \l_tmpa_seq{\scope_top_instance_tl} \seq_new:c {\scopept_tl.instance[\scope_top_instance_tl].context_seq} @@ -1411,7 +1415,7 @@ \NewDocumentCommand\scopeLabel{m} { \kl_hide_begin: \scope_get_labelizable_instance:N\l_tmpb_tl - \KAuxWriteX*{\exp_not:n{\KAuxScopeLabel}{#1}{\l_tmpb_tl}} + \KAuxWriteX*{\exp_not:n{\KAuxScopeLabel}{\exp_not:n{#1}}{\l_tmpb_tl}} %\tl_new:cx{\scopept_tl.label[#1].instance_tl}{\l_tmpb_tl} \kl_hide_end: \cs_if_exist:NTF\LaTeXlabel\LaTeXlabel\use_none:n{#1}} @@ -1427,8 +1431,8 @@ \NewKAuxCommand\KAuxScopeLabel{mm} {Package~scope:~Links~a~label~to~the~scope~of~its~definition.} \DeclareKAuxPhaseCommand\KAuxScopeLabel{init} - {\tl_if_exist:cTF{\scopept_tl.label[#1].instance_tl}{} - {\tl_new:cn{\scopept_tl.label[#1].instance_tl}{#2}}} + {\tl_if_exist:cTF{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{} + {\tl_new:cn{\scopept_tl.label[\tl_to_str:n{#1}].instance_tl}{#2}}} \cs_new:Npn\scopept_label_instance_if_exist:nTF#1 {\tl_if_exist:cTF{\scopept_tl.label[#1].instance_tl}} \cs_new:Nn\scopept_label_instance_use:n @@ -1545,12 +1549,12 @@ \cs_new:Nn\knowledge_diagnose_line: {\bool_if:NT\knowledge_configuration_diagnoseline_bool - {\tl_set:Nx\g_tmpa_tl + {\tl_set:Nx\l_tmpa_tl {\c_percent_str\space\kauxCurrentFile : \kauxCurrentLine} - \tl_if_eq:NNTF\g_tmpa_tl\knowledge_diagnose_lastline_tl + \tl_if_eq:NNTF\l_tmpa_tl\knowledge_diagnose_lastline_tl {} - {\tl_gset_eq:NN\knowledge_diagnose_lastline_tl\g_tmpa_tl - \knowledge_diagnose:V\g_tmpa_tl}}} + {\tl_gset_eq:NN\knowledge_diagnose_lastline_tl\l_tmpa_tl + \knowledge_diagnose:V\knowledge_diagnose_lastline_tl}}} \NewDocumentCommand\KnowledgeDiagnoseOutput{}{ \iow_open:Nn\knowledge_diagnosefile_iow{\c_sys_jobname_str.diagnose} @@ -1745,10 +1749,10 @@ \cs_new:Nn\knowledge_push_visible_instance:n {\seq_gpush:Nn\knowledge_visible_instances_seq{#1}} \cs_new:Npn\knowledge_pop_visible_instance: - {\seq_gpop:NN\knowledge_visible_instances_seq\g_tmpa_tl} + {\seq_gpop:NN\knowledge_visible_instances_seq\l_tmpa_tl} \cs_new:Nn\knowledge_pop_visible_instances_to:n - {\seq_gpop:NNTF\knowledge_visible_instances_seq\g_tmpa_tl - {\exp_args:NV\tl_if_eq:nnTF\g_tmpa_tl{#1} + {\seq_gpop:NNTF\knowledge_visible_instances_seq\l_tmpa_tl + {\exp_args:NV\tl_if_eq:nnTF\l_tmpa_tl{#1} {} {\knowledge_pop_visible_instances_to:n{#1}}} {\INTERNAL_ERROR_EMPTY_POP_VISIBLE}} @@ -2001,15 +2005,15 @@ \tl_clear_new:N\knowledge_kl_display_process_tl \tl_clear_new:N\knowledge_kl_display_sequence_tl \tl_new:N\knowledge_namespace_tl -\tl_new:Nn\knowledge_display_code_tl{INTERNAL~ERROR~DISPLAY~CODE} +\tl_gnew:Nn\knowledge_display_code_tl{INTERNAL~ERROR~DISPLAY~CODE} \NewDocumentCommand\klTKS{}{\knowledge_klTKS:nnn} \cs_new:Nn\knowledge_klTKS:nnn{ \group_begin: % - \tl_set:Nn\knowledge_kl_linkscope_tl{#3} + \tl_set:Nx\knowledge_kl_linkscope_tl{\tl_to_str:n{#3}} \tl_set:Nn\knowledge_kl_instance_tl{} \tl_set:Nn\knowledge_kl_text_tl{#1} - \tl_set:Nn\knowledge_kl_base_key_tl{#2} + \tl_set:Nx\knowledge_kl_base_key_tl{\tl_to_str:n{#2}} \tl_set_eq:NN\knowledge_kl_key_tl\knowledge_kl_base_key_tl \int_set_eq:NN\knowledge_kl_recursion_int\knowledge_kl_max_recursion_int % @@ -2558,15 +2562,15 @@ {\tl_gset_eq:NN\knowledge_display_code_tl\knowledge_kl_forcedtext_tl} {\tl_gset_eq:NN\knowledge_display_code_tl\knowledge_kl_text_tl} \bool_if:NT\kl_detokenize_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\tl_to_str:V\knowledge_display_code_tl}} \bool_if:NT\kl_removespace_bool {\tl_remove_all:Nn\knowledge_display_code_tl{~}} \bool_if:NT\kl_lowercase_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\exp_args:NV\tl_lower_case:n\knowledge_display_code_tl}} \bool_if:NT\kl_uppercase_bool - {\tl_set:Nx\knowledge_display_code_tl + {\tl_gset:Nx\knowledge_display_code_tl {\exp_args:NV\tl_upper_case:n\knowledge_display_code_tl}} % \tl_if_empty:NTF\knowledge_kl_wrap_tl @@ -2954,10 +2958,10 @@ \makeatother \bool_if:NF\knowledge_option_composition_bool {\bool_if:NF\knowledge_option_paper_bool} - {\bool_gset_true:N\knowledge_option_composition_bool} + {\bool_set_true:N\knowledge_option_composition_bool} \bool_if:NT\knowledge_option_composition_bool {\bool_if:NT\knowledge_option_paper_bool} - {\bool_gset_false:N\knowledge_option_composition_bool} + {\bool_set_false:N\knowledge_option_composition_bool} \DeclareExpandableDocumentCommand\IfKnowledgeCompositionModeTF{} {\bool_if:NTF\knowledge_option_composition_bool} @@ -3029,7 +3033,7 @@ \knowledgevariantmodifier{\reintro*\kl}{\reintro} \ExplSyntaxOn -\tl_gset_eq:NN\knowledge_kl_namespace_tl\knowledge_default_namespace_tl +\tl_set_eq:NN\knowledge_kl_namespace_tl\knowledge_default_namespace_tl \newcommand\robustdisplay[1] {\expandafter\use:n%\tl_trim_spaces:n \expandafter{\tl_to_str:n{#1}}} -- cgit v1.2.3