summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/l3kernel/l3oldmodules.dtx
blob: b98ff93d266c43dac579dc36673de2ad46febae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
% \iffalse meta-comment
%
%% File: l3oldmodules.dtx Copyright (C) 2014-2018 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
%
%    https://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 development version of the bundle can be found at
%
%    https://github.com/latex3/latex3
%
% for those people who are interested.
%
%<*driver|oldmodules>
%</driver|oldmodules>
%<*driver>
\documentclass[full,kernel]{l3doc}
\begin{document}
  \DocInput{\jobname.dtx}
\end{document}
%</driver>
% \fi
%
% \title{Obsolete individual modules}
%
% \author{^^A
%  The \LaTeX3 Project\thanks
%    {^^A
%      E-mail:
%        \href{mailto:latex-team@latex-project.org}
%          {latex-team@latex-project.org}^^A
%    }^^A
% }
%
%
% \date{Released 2018-12-12}
%
% \maketitle
%
% \section{Introduction}
%
% \begin{documentation}
%   The source code for \texttt{expl3} is organized by modules, e.g.,
%   integer processing is found in \texttt{l3int.dtx}, etc. Initially
%   each such module was used to generate a corresponding
%   \texttt{.sty} that was then loaded as part of the \texttt{expl3}
%   package.
%
%   It was however also possible to load only individual modules (they
%   would then load other modules as necessary.  This scheme was done
%   to ease testing and updates during the time the kernel code saw a
%   lot of update.
%
%   However, keeping dependencies between modules current became a
%   complex task and in fact most modules would require most other
%   modules so that in the end everything or nearly everything was
%   loaded anyway.
%
%   We therefore decided to stop providing individual module packages
%   but instead generate all code into a single file that is then
%   loaded as part of the \texttt{expl3} package. This decision was
%   announced a while back and with the recent \texttt{expl3}
%   distributions it because a reality.
%
%   To help user that do have code or documents referencing the old
%   module packages, we provide (for the time being) skeleton packages
%   that generate an error message and then load the \texttt{expl3} so
%   that the user can continue.
%   Eventually these packages will get fully removed.
% \end{documentation}
%
% \section{Implementation}
%
% \begin{implementation}
%
%    First store the current package name in a macro for later use.
%    \begin{macrocode}
%<*oldmodules>
\def\old@liii@module@name
%<l3regex>{l3regex}
%<l3sort>{l3sort}
%<l3str>{l3str}
%<l3tl-analysis>{l3tl-analysis}
%<l3tl-build>{l3tl-build}
%    \end{macrocode}
%
%    Then identify the current package:
%    \begin{macrocode}
\ProvidesPackage\old@liii@module@name
  [%
    2017/03/18 Obsolete L3 package
  ]
%    \end{macrocode}
%    Describe the current situation on the terminal, then generate an
%    error to ensure that the message is actually seen.
%    \begin{macrocode}
\typeout{*****************************************************************}
\typeout{** }
\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
\typeout{** }
\typeout{** Its functionality is now only provided as part of the expl3 package.}
\typeout{** }
\typeout{** The old packages will be removed entirely at the end of 2018.}
\typeout{** }
\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
\typeout{** }
\typeout{*******************************************************************}
\PackageWarning
  \old@liii@module@name{This package is obsolete ---
   use 'expl3' instead}
%    \end{macrocode}
%    Finally load \texttt{expl3} so that the user can continue for now.
%    \begin{macrocode}
\RequirePackage{expl3}
%</oldmodules>
%    \end{macrocode}
%
% \end{implementation}