summaryrefslogtreecommitdiff
path: root/tex/context/base/supp-ran.tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2001-03-27 00:00:00 +0200
committerHans Hagen <pragma@wxs.nl>2001-03-27 00:00:00 +0200
commit2a2e86e6c2022e3925e0ee62f5c7b66bbec03338 (patch)
treee02a419ec09c32da024db4855f46de2b1fa85ead /tex/context/base/supp-ran.tex
parente78478392e9717499b101d0fed642c945c104097 (diff)
downloadcontext-2a2e86e6c2022e3925e0ee62f5c7b66bbec03338.tar.gz
stable 2001.03.27
Diffstat (limited to 'tex/context/base/supp-ran.tex')
-rw-r--r--tex/context/base/supp-ran.tex19
1 files changed, 13 insertions, 6 deletions
diff --git a/tex/context/base/supp-ran.tex b/tex/context/base/supp-ran.tex
index ec0f73f15..b83f4ad52 100644
--- a/tex/context/base/supp-ran.tex
+++ b/tex/context/base/supp-ran.tex
@@ -55,8 +55,9 @@
\else
- \let\normalnextrandom = \nextrandom
- \let\restorerandomseed = \relax
+ \let\normalnextrandom = \nextrandom
+
+ \global\chardef\randomseedfrozen=0
\def\nextrandom%
{\bgroup
@@ -65,7 +66,8 @@
\let\month=\normalmonth
\let\year =\normalyear
\normalnextrandom
- \gdef\nextrandom{\restorerandomseed\normalnextrandom}%
+ \gdef\nextrandom%
+ {\ifcase\randomseedfrozen\normalnextrandom\fi}%
\egroup}
% avoid scratch dimens 0 and 2
@@ -83,9 +85,14 @@
\fi
\def\freezerandomseed%
- {\xdef\restorerandomseed%
- {\global\randomi\number\randomi
- \global\let\noexpand\restorerandomseed\relax}}
+ {\ifcase\randomseedfrozen
+ \nextrandom \global\chardef\randomseedfrozen=1
+ \fi}
+
+\def\defrostrandomseed%
+ {\ifcase\randomseedfrozen\else
+ \global\chardef\randomseedfrozen=0 \nextrandom
+ \fi}
\let\getrandomcount = \setrannum
\let\getrandomdimen = \setrandim