<..pre 2008..>
\expandafter\ifx \csname sectionautorefname\endcsname\relax
\let\:temp=\def
\def\def#1{\expandafter
\ifx \csname \expandafter\:gobble\string#1\endcsname\relax
\expandafter\:temp\expandafter#1\else
\expandafter\:gobble\fi }
\csname Hy@captionsenglish\endcsname
\let\def=\:temp
\fi
\def\::autoref#1{{%
\bgroup
\a:@newlabel
\def\:tempa{#1}%
\@onelevel@sanitize\:tempa
\expandafter\global \expandafter\let
\expandafter\:temp \csname \:tempa autorefname\endcsname
\expandafter\global \expandafter\let
\expandafter\:tempa \csname \:tempa name\endcsname
\egroup
\ifx \:temp\relax
\ifx \:tempa \relax #1%
\else \:tempa \fi
\else \:temp \fi ~}}
\let\:autoref=\:gobble
-_-_-
���
<..post 2001 late hyperrref-pre 2008..>
\AtBeginDocument{%
\edef\autoref{\noexpand\protect\expandafter\noexpand
\csname autoref \endcsname}}
\expandafter\def\csname autoref \endcsname{%
\@ifstar {\HyRef@autoref \@gobbletwo }{\HyRef@autoref \hyper@@link}}
\def\HyRef@autoref#1#2{%
\begingroup
\Hy@safe@activestrue
\expandafter\auto@setref \csname r@#2\endcsname \@firstoffive {#2}%
\endgroup
}
-_-_-