%%%% amstexfr.sty  6-93, 
%%%% L. Siebenmann <lcs@matups.matups.fr>
%%%% LaTeX amstex.sty tuned to French needs.
 
 \input {amstex.sty} %% standard!
 
 %%% Now patches to allow activation of ;:!? for French
 
 %%% New definitions
 \let\semicolon@;
 \let\colon@:
 \let\exclamationmark@!
 \let\questionmark@?
 \let\doublequote@"
 %% Category does not matterjust now.

 %% Aim: to replace ;:!? respectively 
 %% by the above in the expansions
 %% of the following macros: 
 %% \pdotsc, \extrap@#1, \tdots@, \keybin@
 %% The corresponding list for amstex.tex was:
 %% \dotsc, \extrap@#1, \tdots@, \keybin@, \boldkey#1

 %% Then, when ;:!?", to change category 12 to 13 or back,
 %% the meaning of the above must be changed to 
 %% tokens of the right category. 
 %% This is done by \frpunctactive@ and \frpunctother@
 %% in fe-punct.tex for example.  
 %% For the end user \French, English, etc.
 %% take care of this automatically.

 
\def\keybin@{\gtest@true
 \ifx\next+\else
 \ifx\next=\else
 \ifx\next<\else
 \ifx\next>\else
 \ifx\next-\else
 \ifx\next*\else
 \ifx\next\colon@
 \else\gtest@false\fi\fi\fi\fi\fi\fi\fi}

\def\tdots@{\unskip\relaxnext@
 \DN@{$\m@th\@ldots\,
   \ifx\next,\,$\else
   \ifx\next.\,$\else
   \ifx\next\semicolon@\,$\else
   \ifx\next\colon@\,$\else
   \ifx\next\questionmark@\,$\else
   \ifx\next\exclamationmark@\,$\else
   $ \fi\fi\fi\fi\fi\fi}%
 \ \FN@\next@}

\def\extrap@#1{%
 \DN@{#1\,}%
 \ifx\next,\else
 \ifx\next\semicolon@\else
 \ifx\next.\else\extra@
 \ifgtest@\else
 \let\next@#1\fi\fi\fi\fi\next@}

\def\pdotsc{\relaxnext@
 \DN@{\ifx\next\semicolon@\@ldots\,\else
  \ifx\next.\@ldots\,\else\extra@\@ldots
  \ifgtest@\,\fi\fi\fi}%
 \FN@\next@}

\endinput