summaryrefslogtreecommitdiff
path: root/tex/context/base/core-reg.tex
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2007-03-19 11:20:00 +0100
committerHans Hagen <pragma@wxs.nl>2007-03-19 11:20:00 +0100
commit8a354e9fa5309910252aee3e7c5fdb4303deae45 (patch)
tree0bbe6c416aa606420e73c3b0cae3870d6ba94e50 /tex/context/base/core-reg.tex
parent29f7819d5e497bf8181e7cee80f8ef56995db3f4 (diff)
downloadcontext-8a354e9fa5309910252aee3e7c5fdb4303deae45.tar.gz
stable 2007.03.19 11:20
Diffstat (limited to 'tex/context/base/core-reg.tex')
-rw-r--r--tex/context/base/core-reg.tex28
1 files changed, 21 insertions, 7 deletions
diff --git a/tex/context/base/core-reg.tex b/tex/context/base/core-reg.tex
index bd64bd6ad..af90cebd0 100644
--- a/tex/context/base/core-reg.tex
+++ b/tex/context/base/core-reg.tex
@@ -142,14 +142,28 @@
\def\writetoregister[#1]% to be documented
{\doregister{#1}}
-\def\startregister
- {\dotripleempty\dostartregister}
+% \def\startregister
+% {\dotripleempty\dostartregister}
-\def\dostartregister[#1][#2][#3]#4%
- {\chardef\registerpagestatus\plustwo
- \def\currentregister{#1}%
- \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#3]{#4}}%
- \dodoregister[#3]{}{#4}}
+% \def\dostartregister[#1][#2][#3]#4%
+% {\chardef\registerpagestatus\plustwo
+% \def\currentregister{#1}%
+% \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#3]{#4}}%
+% \dodoregister[#3]{}{#4}}
+
+\def\startregister
+ {\doquadrupleempty\dostartregister}
+
+\def\dostartregister[#1][#2][#3][#4]#5% % 3 args: #3 is sortkey
+ {\chardef\registerpagestatus\plustwo % 4 args: #3 is type, #4 is sortkey
+ \def\currentregister{#1}%
+ \iffourarguments
+ \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#4]{#5}}%
+ \dodoregister[#4]{#3}{#5}%
+ \else
+ \setgvalue{\??id#1\??id#2}{\dodostopregister[#1][#3]{#5}}%
+ \dodoregister[#3]{}{#5}%
+ \fi}
\def\stopregister
{\dodoubleargument\dostopregister}