diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/l3kernel/l3file.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/l3kernel/l3file.sty | 548 |
1 files changed, 0 insertions, 548 deletions
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty deleted file mode 100644 index cecc6672fa6..00000000000 --- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty +++ /dev/null @@ -1,548 +0,0 @@ -%% -%% This is file `l3file.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3file.dtx (with options: `package') -%% -%% EXPERIMENTAL CODE -%% -%% Do not distribute this file without also distributing the -%% source files specified above. -%% -%% Do not distribute a modified version of this file. -%% -%% File: l3file.dtx Copyright (C) 1990-2013 The LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of the -%% LaTeX Project Public License (LPPL), either version 1.3c of this -%% license or (at your option) any later version. The latest version -%% of this license is in the file -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the "l3kernel bundle" (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% The released version of this bundle is available from CTAN. -%% -%% ----------------------------------------------------------------------- -%% -%% The development version of the bundle can be found at -%% -%% http://www.latex-project.org/svnroot/experimental/trunk/ -%% -%% for those people who are interested. -%% -%%%%%%%%%%% -%% NOTE: %% -%%%%%%%%%%% -%% -%% Snapshots taken from the repository represent work in progress and may -%% not work or may contain conflicting material! We therefore ask -%% people _not_ to put them into distributions, archives, etc. without -%% prior consultation with the LaTeX3 Project. -%% -%% ----------------------------------------------------------------------- -\RequirePackage{l3bootstrap} -\GetIdInfo$Id: l3file.dtx 4596 2013-10-13 21:24:01Z joseph $ - {L3 File and I/O operations} -\ProvidesExplPackage - {\ExplFileName}{\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription} -\__expl_package_check: -\tl_new:N \g_file_current_name_tl -\tl_gset_eq:NN \g_file_current_name_tl \@currname -\seq_new:N \g__file_stack_seq -\seq_new:N \g__file_record_seq -\tl_new:N \l__file_internal_tl -\tl_new:N \l__file_internal_name_tl -\seq_new:N \l__file_search_path_seq -\seq_new:N \l__file_saved_search_path_seq -\seq_new:N \l__file_internal_seq -\cs_new_protected:Npn \__file_name_sanitize:nn #1#2 - { - \group_begin: - \seq_map_inline:Nn \l_char_active_seq - { \cs_set_nopar:Npx ##1 { \token_to_str:N ##1 } } - \tl_set:Nx \l__file_internal_name_tl {#1} - \tl_set:Nx \l__file_internal_name_tl - { \tl_to_str:N \l__file_internal_name_tl } - \tl_if_in:NnT \l__file_internal_name_tl { ~ } - { - \__msg_kernel_error:nnx { kernel } { space-in-file-name } - { \l__file_internal_name_tl } - \tl_remove_all:Nn \l__file_internal_name_tl { ~ } - } - \use:x - { - \group_end: - \exp_not:n {#2} { \l__file_internal_name_tl } - } - } -\cs_new_protected:Npn \file_add_path:nN #1 - { \__file_name_sanitize:nn {#1} { \__file_add_path:nN } } -\cs_new_protected:Npn \__file_add_path:nN #1#2 - { - \__ior_open:Nn \g__file_internal_ior {#1} - \ior_if_eof:NTF \g__file_internal_ior - { \__file_add_path_search:nN {#1} #2 } - { \tl_set:Nn #2 {#1} } - \ior_close:N \g__file_internal_ior - } -\cs_new_protected:Npn \__file_add_path_search:nN #1#2 - { - \tl_set:Nn #2 { \q_no_value } - \cs_if_exist:NT \input@path - { - \seq_set_eq:NN \l__file_saved_search_path_seq \l__file_search_path_seq - \seq_set_split:NnV \l__file_internal_seq { , } \input@path - \seq_concat:NNN \l__file_search_path_seq - \l__file_search_path_seq \l__file_internal_seq - } - \seq_map_inline:Nn \l__file_search_path_seq - { - \__ior_open:Nn \g__file_internal_ior { ##1 #1 } - \ior_if_eof:NF \g__file_internal_ior - { - \tl_set:Nx #2 { ##1 #1 } - \seq_map_break: - } - } - \cs_if_exist:NT \input@path - { \seq_set_eq:NN \l__file_search_path_seq \l__file_saved_search_path_seq } - } -\prg_new_protected_conditional:Npnn \file_if_exist:n #1 { T , F , TF } - { - \file_add_path:nN {#1} \l__file_internal_name_tl - \quark_if_no_value:NTF \l__file_internal_name_tl - { \prg_return_false: } - { \prg_return_true: } - } -\cs_new_protected:Npn \file_input:n #1 - { - \file_add_path:nN {#1} \l__file_internal_name_tl - \quark_if_no_value:NTF \l__file_internal_name_tl - { - \__file_name_sanitize:nn {#1} - { \__msg_kernel_error:nnx { kernel } { file-not-found } } - } - { \__file_input:V \l__file_internal_name_tl } - } -\cs_new_protected:Npn \__file_input:n #1 - { - \tl_if_in:nnTF {#1} { . } - { \__file_input_aux:n {#1} } - { \__file_input_aux:o { \tl_to_str:n { #1 . tex } } } - } -\cs_generate_variant:Nn \__file_input:n { V } -\cs_new_protected:Npn \__file_input_aux:n #1 - { - \clist_if_exist:NTF \@filelist - { \@addtofilelist {#1} } - { \seq_gput_right:Nn \g__file_record_seq {#1} } - \seq_gpush:No \g__file_stack_seq \g_file_current_name_tl - \tl_gset:Nn \g_file_current_name_tl {#1} - \tex_input:D #1 \c_space_tl - \seq_gpop:NN \g__file_stack_seq \l__file_internal_tl - \tl_gset_eq:NN \g_file_current_name_tl \l__file_internal_tl - } -\cs_generate_variant:Nn \__file_input_aux:n { o } -\cs_new_protected:Npn \file_path_include:n #1 - { \__file_name_sanitize:nn {#1} { \__file_path_include:n } } -\cs_new_protected:Npn \__file_path_include:n #1 - { - \seq_if_in:NnF \l__file_search_path_seq {#1} - { \seq_put_right:Nn \l__file_search_path_seq {#1} } - } -\cs_new_protected:Npn \file_path_remove:n #1 - { - \__file_name_sanitize:nn {#1} - { \seq_remove_all:Nn \l__file_search_path_seq } - } -\cs_new_protected_nopar:Npn \file_list: - { - \seq_set_eq:NN \l__file_internal_seq \g__file_record_seq - \clist_if_exist:NT \@filelist - { - \clist_map_inline:Nn \@filelist - { - \seq_put_right:No \l__file_internal_seq - { \tl_to_str:n {##1} } - } - } - \seq_remove_duplicates:N \l__file_internal_seq - \iow_log:n { *~File~List~* } - \seq_map_inline:Nn \l__file_internal_seq { \iow_log:n {##1} } - \iow_log:n { ************* } - } -\AtBeginDocument - { - \clist_map_inline:Nn \@filelist - { \seq_gput_right:No \g__file_record_seq { \tl_to_str:n {#1} } } - } -\cs_new_eq:NN \c_term_ior \c_sixteen -\seq_new:N \g__ior_streams_seq -\tl_new:N \l__ior_stream_tl -\prop_new:N \g__ior_streams_prop -\prop_gput:Nnn \g__ior_streams_prop { 0 } { LaTeX2e~reserved } -\cs_new_protected:Npn \ior_new:N #1 { \cs_new_eq:NN #1 \c_term_ior } -\cs_generate_variant:Nn \ior_new:N { c } -\cs_new_protected:Npn \ior_open:Nn #1#2 - { \__file_name_sanitize:nn {#2} { \__ior_open_aux:Nn #1 } } -\cs_generate_variant:Nn \ior_open:Nn { c } -\cs_new_protected:Npn \__ior_open_aux:Nn #1#2 - { - \file_add_path:nN {#2} \l__file_internal_name_tl - \quark_if_no_value:NTF \l__file_internal_name_tl - { \__msg_kernel_error:nnx { kernel } { file-not-found } {#2} } - { \__ior_open:No #1 \l__file_internal_name_tl } - } -\prg_new_protected_conditional:Npnn \ior_open:Nn #1#2 { T , F , TF } - { \__file_name_sanitize:nn {#2} { \__ior_open_aux:NnTF #1 } } -\cs_generate_variant:Nn \ior_open:NnT { c } -\cs_generate_variant:Nn \ior_open:NnF { c } -\cs_generate_variant:Nn \ior_open:NnTF { c } -\cs_new_protected:Npn \__ior_open_aux:NnTF #1#2 - { - \file_add_path:nN {#2} \l__file_internal_name_tl - \quark_if_no_value:NTF \l__file_internal_name_tl - { \prg_return_false: } - { - \__ior_open:No #1 \l__file_internal_name_tl - \prg_return_true: - } - } -\cs_new_protected:Npn \__ior_open:Nn #1#2 - { - \ior_close:N #1 - \seq_gpop:NNTF \g__ior_streams_seq \l__ior_stream_tl - { \__ior_open_stream:Nn #1 {#2} } - { - \newread #1 - \tl_set:Nx \l__ior_stream_tl { \int_eval:n {#1} } - \__ior_open_stream:Nn #1 {#2} - } - } -\cs_generate_variant:Nn \__ior_open:Nn { No } -\cs_new_protected:Npn \__ior_open_stream:Nn #1#2 - { - \tex_global:D \tex_chardef:D #1 = \l__ior_stream_tl \scan_stop: - \prop_gput:NVn \g__ior_streams_prop #1 {#2} - \tex_openin:D #1 #2 \scan_stop: - } -\cs_new_protected:Npn \ior_close:N #1 - { - \int_compare:nT { \c_minus_one < #1 < \c_sixteen } - { - \tex_closein:D #1 - \prop_gremove:NV \g__ior_streams_prop #1 - \seq_if_in:NVF \g__ior_streams_seq #1 - { \seq_gpush:NV \g__ior_streams_seq #1 } - \cs_gset_eq:NN #1 \c_term_ior - } - } -\cs_generate_variant:Nn \ior_close:N { c } -\cs_new_protected_nopar:Npn \ior_list_streams: - { \__ior_list_streams:Nn \g__ior_streams_prop { input } } -\cs_new_protected:Npn \__ior_list_streams:Nn #1#2 - { - \__msg_term:nnn { LaTeX / kernel } - { \prop_if_empty:NTF #1 { show-no-stream } { show-open-streams } } - {#2} - \__msg_show_variable:n - { \prop_map_function:NN #1 \__msg_show_item_unbraced:nn } - } -\cs_new_eq:NN \if_eof:w \tex_ifeof:D -\prg_new_conditional:Nnn \ior_if_eof:N { p , T , F , TF } - { - \cs_if_exist:NTF #1 - { - \if_int_compare:w #1 = \c_sixteen - \prg_return_true: - \else: - \if_eof:w #1 - \prg_return_true: - \else: - \prg_return_false: - \fi: - \fi: - } - { \prg_return_true: } - } -\cs_new_protected:Npn \ior_get:NN #1#2 - { \tex_read:D #1 to #2 } -\cs_new_protected:Npn \ior_get_str:NN #1#2 - { - \use:x - { - \int_set_eq:NN \tex_endlinechar:D \c_minus_one - \exp_not:n { \etex_readline:D #1 to #2 } - \int_set:Nn \tex_endlinechar:D { \int_use:N \tex_endlinechar:D } - } - } -\ior_new:N \g__file_internal_ior -\cs_new_eq:NN \c_log_iow \c_minus_one -\cs_new_eq:NN \c_term_iow \c_sixteen -\seq_new:N \g__iow_streams_seq -\tl_new:N \l__iow_stream_tl -\prop_new:N \g__iow_streams_prop -\prop_put:Nnn \g__iow_streams_prop { 0 } { LaTeX2e~reserved } -\prop_put:Nnn \g__iow_streams_prop { 1 } { LaTeX2e~reserved } -\prop_put:Nnn \g__iow_streams_prop { 2 } { LaTeX2e~reserved } -\cs_new_protected:Npn \iow_new:N #1 { \cs_new_eq:NN #1 \c_term_iow } -\cs_generate_variant:Nn \iow_new:N { c } -\cs_new_protected:Npn \iow_open:Nn #1#2 - { \__file_name_sanitize:nn {#2} { \__iow_open:Nn #1 } } -\cs_generate_variant:Nn \iow_open:Nn { c } -\cs_new_protected:Npn \__iow_open:Nn #1#2 - { - \iow_close:N #1 - \seq_gpop:NNTF \g__iow_streams_seq \l__iow_stream_tl - { \__iow_open_stream:Nn #1 {#2} } - { - \newwrite #1 - \tl_set:Nx \l__iow_stream_tl { \int_eval:n {#1} } - \__iow_open_stream:Nn #1 {#2} - } - } -\cs_generate_variant:Nn \__iow_open:Nn { No } -\cs_new_protected:Npn \__iow_open_stream:Nn #1#2 - { - \tex_global:D \tex_chardef:D #1 = \l__iow_stream_tl \scan_stop: - \prop_gput:NVn \g__iow_streams_prop #1 {#2} - \tex_immediate:D \tex_openout:D #1 #2 \scan_stop: - } -\cs_new_protected:Npn \iow_close:N #1 - { - \int_compare:nT { \c_minus_one < #1 < \c_sixteen } - { - \tex_immediate:D \tex_closeout:D #1 - \prop_gremove:NV \g__iow_streams_prop #1 - \seq_if_in:NVF \g__iow_streams_seq #1 - { \seq_gpush:NV \g__iow_streams_seq #1 } - \cs_gset_eq:NN #1 \c_term_ior - } - } -\cs_generate_variant:Nn \iow_close:N { c } -\cs_new_protected_nopar:Npn \iow_list_streams: - { \__iow_list_streams:Nn \g__iow_streams_prop { output } } -\cs_new_eq:NN \__iow_list_streams:Nn \__ior_list_streams:Nn -\cs_new_protected:Npn \iow_shipout_x:Nn #1#2 - { \tex_write:D #1 {#2} } -\cs_generate_variant:Nn \iow_shipout_x:Nn { Nx } -\cs_new_protected:Npn \iow_shipout:Nn #1#2 - { \tex_write:D #1 { \exp_not:n {#2} } } -\cs_generate_variant:Nn \iow_shipout:Nn { Nx } -\cs_new_protected:Npn \iow_now:Nn #1#2 - { \tex_immediate:D \tex_write:D #1 { \exp_not:n {#2} } } -\cs_generate_variant:Nn \iow_now:Nn { Nx } -\cs_set_protected_nopar:Npn \iow_log:x { \iow_now:Nx \c_log_iow } -\cs_new_protected_nopar:Npn \iow_log:n { \iow_now:Nn \c_log_iow } -\cs_set_protected_nopar:Npn \iow_term:x { \iow_now:Nx \c_term_iow } -\cs_new_protected_nopar:Npn \iow_term:n { \iow_now:Nn \c_term_iow } -\cs_new_nopar:Npn \iow_newline: { ^^J } -\cs_new_eq:NN \iow_char:N \cs_to_str:N -\int_new:N \l_iow_line_count_int -\int_set:Nn \l_iow_line_count_int { 78 } -\int_new:N \l__iow_target_count_int -\int_new:N \l__iow_current_line_int -\int_new:N \l__iow_current_word_int -\int_new:N \l__iow_current_indentation_int -\tl_new:N \l__iow_current_line_tl -\tl_new:N \l__iow_current_word_tl -\tl_new:N \l__iow_current_indentation_tl -\tl_new:N \l__iow_wrap_tl -\tl_new:N \l__iow_newline_tl -\bool_new:N \l__iow_line_start_bool -\group_begin: - \char_set_catcode_other:N \* - \char_set_lccode:nn {`\*} {`\ } - \tl_to_lowercase:n { \tl_const:Nn \c_catcode_other_space_tl { * } } -\group_end: -\group_begin: - \int_set_eq:NN \tex_escapechar:D \c_minus_one - \tl_const:Nx \c__iow_wrap_marker_tl - { \tl_to_str:n { \^^I \^^O \^^W \^^_ \^^W \^^R \^^A \^^P } } -\group_end: -\tl_map_inline:nn - { { end } { newline } { indent } { unindent } } - { - \tl_const:cx { c__iow_wrap_ #1 _marker_tl } - { - \c_catcode_other_space_tl - \c__iow_wrap_marker_tl - \c_catcode_other_space_tl - #1 - \c_catcode_other_space_tl - } - } -\cs_new_protected:Npn \iow_indent:n #1 { } -\cs_new:Npx \__iow_indent:n #1 - { - \c__iow_wrap_indent_marker_tl - #1 - \c__iow_wrap_unindent_marker_tl - } -\cs_new_protected:Npn \iow_wrap:nnnN #1#2#3#4 - { - \group_begin: - \int_set_eq:NN \tex_escapechar:D \c_minus_one - \cs_set_nopar:Npx \{ { \token_to_str:N \{ } - \cs_set_nopar:Npx \# { \token_to_str:N \# } - \cs_set_nopar:Npx \} { \token_to_str:N \} } - \cs_set_nopar:Npx \% { \token_to_str:N \% } - \cs_set_nopar:Npx \~ { \token_to_str:N \~ } - \int_set:Nn \tex_escapechar:D { 92 } - \cs_set_eq:NN \\ \c__iow_wrap_newline_marker_tl - \cs_set_eq:NN \ \c_catcode_other_space_tl - \cs_set_eq:NN \iow_indent:n \__iow_indent:n - #3 - \protected@edef \l__iow_wrap_tl {#1} - \tl_set:Nx \l__iow_newline_tl { \iow_newline: #2 } - \tl_set:Nx \l__iow_newline_tl { \tl_to_str:N \l__iow_newline_tl } - \tl_replace_all:Nnn \l__iow_newline_tl { ~ } { \c_space_tl } - \int_set:Nn \l__iow_target_count_int - { \l_iow_line_count_int - \tl_count:N \l__iow_newline_tl + \c_one } - \int_zero:N \l__iow_current_indentation_int - \tl_clear:N \l__iow_current_indentation_tl - \int_zero:N \l__iow_current_line_int - \tl_clear:N \l__iow_current_line_tl - \bool_set_true:N \l__iow_line_start_bool - \use:x - { - \exp_not:n { \tl_clear:N \l__iow_wrap_tl } - \__iow_wrap_loop:w - \tl_to_str:N \l__iow_wrap_tl - \tl_to_str:N \c__iow_wrap_end_marker_tl - \c_space_tl \c_space_tl - \exp_not:N \q_stop - } - \exp_args:NNo \group_end: - #4 \l__iow_wrap_tl - } -\cs_new_protected:Npn \__iow_wrap_loop:w #1 ~ % - { - \tl_set:Nn \l__iow_current_word_tl {#1} - \tl_if_eq:NNTF \l__iow_current_word_tl \c__iow_wrap_marker_tl - { \__iow_wrap_special:w } - { \__iow_wrap_word: } - } -\cs_new_protected_nopar:Npn \__iow_wrap_word: - { - \int_set:Nn \l__iow_current_word_int - { \__str_count_ignore_spaces:N \l__iow_current_word_tl } - \int_add:Nn \l__iow_current_line_int { \l__iow_current_word_int } - \int_compare:nNnTF \l__iow_current_line_int < \l__iow_target_count_int - { \__iow_wrap_word_fits: } - { \__iow_wrap_word_newline: } - \__iow_wrap_loop:w - } -\cs_new_protected_nopar:Npn \__iow_wrap_word_fits: - { - \bool_if:NTF \l__iow_line_start_bool - { - \bool_set_false:N \l__iow_line_start_bool - \tl_put_right:Nx \l__iow_current_line_tl - { \l__iow_current_indentation_tl \l__iow_current_word_tl } - \int_add:Nn \l__iow_current_line_int - { \l__iow_current_indentation_int } - } - { - \tl_put_right:Nx \l__iow_current_line_tl - { ~ \l__iow_current_word_tl } - \int_incr:N \l__iow_current_line_int - } - } -\cs_new_protected_nopar:Npn \__iow_wrap_word_newline: - { - \tl_put_right:Nx \l__iow_wrap_tl - { \l__iow_current_line_tl \l__iow_newline_tl } - \int_set:Nn \l__iow_current_line_int - { - \l__iow_current_word_int - + \l__iow_current_indentation_int - } - \tl_set:Nx \l__iow_current_line_tl - { \l__iow_current_indentation_tl \l__iow_current_word_tl } - } -\cs_new_protected:Npn \__iow_wrap_special:w #1 ~ #2 ~ #3 ~ % - { - \use:c { __iow_wrap_#1: } - \str_if_eq_x:nnTF { #2~#3 } { ~ \c__iow_wrap_marker_tl } - { \__iow_wrap_special:w } - { \__iow_wrap_loop:w #2 ~ #3 ~ } - } -\cs_new_protected_nopar:Npn \__iow_wrap_newline: - { - \tl_put_right:Nx \l__iow_wrap_tl - { \l__iow_current_line_tl \l__iow_newline_tl } - \int_zero:N \l__iow_current_line_int - \tl_clear:N \l__iow_current_line_tl - \bool_set_true:N \l__iow_line_start_bool - } -\cs_new_protected_nopar:Npx \__iow_wrap_indent: - { - \int_add:Nn \l__iow_current_indentation_int \c_four - \tl_put_right:Nx \exp_not:N \l__iow_current_indentation_tl - { \c_space_tl \c_space_tl \c_space_tl \c_space_tl } - } -\cs_new_protected_nopar:Npn \__iow_wrap_unindent: - { - \int_sub:Nn \l__iow_current_indentation_int \c_four - \tl_set:Nx \l__iow_current_indentation_tl - { \prg_replicate:nn \l__iow_current_indentation_int { ~ } } - } -\cs_new_protected_nopar:Npn \__iow_wrap_end: - { - \tl_put_right:Nx \l__iow_wrap_tl - { \l__iow_current_line_tl } - \use_none_delimit_by_q_stop:w - } -\cs_new_nopar:Npn \__str_count_ignore_spaces:N - { \exp_args:No \__str_count_ignore_spaces:n } -\cs_new:Npn \__str_count_ignore_spaces:n #1 - { - \__int_value:w \__int_eval:w - \exp_after:wN \__str_count_loop:NNNNNNNNN \tl_to_str:n {#1} - { X8 } { X7 } { X6 } { X5 } { X4 } { X3 } { X2 } { X1 } { X0 } \q_stop - \__int_eval_end: - } -\cs_new:Npn \__str_count_loop:NNNNNNNNN #1#2#3#4#5#6#7#8#9 - { - \if_catcode:w X #9 - \exp_after:wN \use_none_delimit_by_q_stop:w - \else: - 9 + - \exp_after:wN \__str_count_loop:NNNNNNNNN - \fi: - } -\__msg_kernel_new:nnnn { kernel } { file-not-found } - { File~'#1'~not~found. } - { - The~requested~file~could~not~be~found~in~the~current~directory,~ - in~the~TeX~search~path~or~in~the~LaTeX~search~path. - } -\__msg_kernel_new:nnnn { kernel } { input-streams-exhausted } - { Input~streams~exhausted } - { - TeX~can~only~open~up~to~16~input~streams~at~one~time.\\ - All~16~are~currently~in~use,~and~something~wanted~to~open~ - another~one. - } -\__msg_kernel_new:nnnn { kernel } { output-streams-exhausted } - { Output~streams~exhausted } - { - TeX~can~only~open~up~to~16~output~streams~at~one~time.\\ - All~16~are~currently~in~use,~and~something~wanted~to~open~ - another~one. - } -\__msg_kernel_new:nnnn { kernel } { space-in-file-name } - { Space~in~file~name~'#1'. } - { - Spaces~are~not~permitted~in~files~loaded~by~LaTeX: \\ - Further~errors~may~follow! - } -%% -%% -%% End of file `l3file.sty'. |