<..ref star..>
\def\:temp{\protect \T@ref}
\ifx \::ref\:temp
\edef\::ref{\noexpand\protect \expandafter\noexpand \csname ::ref \endcsname}
\expandafter\def\csname ::ref \endcsname{\@ifstar \@refstar \T@ref}
\fi
<.ref star for babl.>
-_-_-
<..ref star for babl..>
\def\:temp#1{\@safe@activestrue\org@:ref{#1}\@safe@activesfalse}
\expandafter\ifx \csname :ref \endcsname\:temp
\expandafter\def\csname :ref \endcsname{\@ifnextchar*{\:refstar}{\r:ref}}
\def\r:ref#1{\@safe@activestrue\org@:ref{#1}\@safe@activesfalse}
\def\:refstar#1{\r:ref}
\fi
-_-_-
<..ref star..>+
\expandafter\ifx \csname real@setref\endcsname\relax
\def\@pagerefstar#1{%
\HyRef@StarSetRef{#1}\@secondoffive
}
\def\HyRef@StarSetRef#1{%
\begingroup
\Hy@safe@activestrue
\edef\x{#1}%
\@onelevel@sanitize\x
\edef\x{\endgroup
\noexpand\HyRef@@StarSetRef
\expandafter\noexpand\csname r@\x\endcsname{\x}%
}%
\x
}
\def\HyRef@@StarSetRef#1#2#3{%
\ifx#1\@undefined
\let#1\relax
\fi
\real@setref#1#3{#2}%
}
\fi
\expandafter\ifx \csname real@setref\endcsname\relax
\let\real@setref\@setref
\fi
-_-_-