% temporary overloading

\unprotect

\def\strippedcsname
  {\expandafter\dostrippedcsname\string}

\def\dostrippedcsname#1%
  {\if\noexpand#1\letterbackslash\else#1\fi}

\def\doregisterreference[#1]#2%
  {\doifvalue{\??id#1\c!referencing}\v!on
     {\pagereference[#1:\strippedcsname#2]}}

\def\doprocesspageregister[#1]#2#3% key altnum entry
  {\begingroup
   \thisisnextinternal\s!ind
   \ifduplicate\getlastregisterentry{#3}\fi
   \convertexpanded{\registerparameter\c!keyexpansion}{#1}\asciiregisterentryA
   \convertexpanded{\registerparameter\c!expansion   }{#3}\asciiregisterentryB
   \doifsomething{\registerparameter\c!keyexpansion}
     {\ifx\asciiregisterentryA\empty
       \convertexpanded{\registerparameter\c!keyexpansion}{#3}\asciiregisterentryA
      \fi}%
   \makesectionformat
   \doifelse{\registerparameter\c!ownnumber}\v!yes
     \donetrue\donefalse
   % the spaces between } { are essential for texutil's split
   \expanded
     {\writeutility%
        {r \ifcase\registerpagestatus\space\or e \or f \or t \fi
         {\currentregister} %
         {\nextinternalreference} %
         {\asciiregisterentryA} %
         {\asciiregisterentryB} %
         {\sectionformat\sectionseparator\sectionseparator
          \ifdone#2\else\noexpand\pagenumber\fi} %
         {\noexpand\realfolio}}}%
   \getfirstcharacter\currentregister
   \registerinfo{> \firstcharacter}{#3}%
   \endgroup}

\def\convertmeaning#1\to % watch the double expansion !
  {\bgroup
     \honorunexpanded
     %dontexpandencoding    % new
     \literateencodedtokens % newer
     \xdef\@@globalexpanded{#1}%
     \xdef\@@globalexpanded{\@@globalexpanded}%
   \egroup
   \convertcommand\@@globalexpanded\to}

\def\reduceargument#1\to#2%
  {\begingroup
   \reducetocoding[raw]%
   \edef\ascii{#1}%
   \expandafter\endgroup\expandafter\edef\expandafter#2\expandafter{\ascii}}

\protect
