summaryrefslogtreecommitdiff
path: root/tex/context/base/lang-spe.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/lang-spe.tex')
-rw-r--r--tex/context/base/lang-spe.tex22
1 files changed, 19 insertions, 3 deletions
diff --git a/tex/context/base/lang-spe.tex b/tex/context/base/lang-spe.tex
index 845040dce..bd34674b2 100644
--- a/tex/context/base/lang-spe.tex
+++ b/tex/context/base/lang-spe.tex
@@ -25,7 +25,12 @@
\newevery \everyresetlanguagespecifics \relax
-\def\resetlanguagespecifics{\the\everyresetlanguagespecifics}
+\def\resetlanguagespecifics
+ {\ifcase\protectionlevel
+ \the\everyresetlanguagespecifics
+ \else % to be translated
+ \writestatus{system}{don't change language in unprotected mode!}%
+ \fi}
\appendtoks
\resetlanguagespecifics
@@ -163,19 +168,30 @@
\expanded{\doglobal\noexpand\appendtoks{#1}{\the\catcode`#1}}\to\everyresetlanguagespecifics
\fi}
-\def\dodeactivatetoken#1#2#3%
- {\def#1{#2}\catcode`#2=#3\relax}
+% \def\dodeactivatetoken#1#2#3%
+% {\def#1{#2}\catcode`#2=#3\relax}
+
+\def\dodeactivatetoken#1#2#3% tets needed to avoid clash with \unprotect
+ {\def#1{#2}\ifnum\catcode`#2=\@@active\catcode`#2=#3\relax\fi}
%D We cannot hook this into the installer since language
%D specifics can be anything. So far, we have the following
%D potentially active characters.
+%D Beware, this should happen under an unprotected regime;
+%D thanks to Giuseppe Oblomov Bilotta, who first noticed
+%D that something was wrong.
+
+\protect
+
\deactivatelanguagespecific "
\deactivatelanguagespecific /
\deactivatelanguagespecific :
\deactivatelanguagespecific ;
\deactivatelanguagespecific ?
\deactivatelanguagespecific !
+
+\unprotect
%D \macros
%D {ordinaldaynumber, highordinalstr, ordinalstr}