From d3589ab6f2fce7147d841db1dac3287e93f11565 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 14 May 2022 20:32:17 +0000
Subject: hyperref (14may22)

git-svn-id: svn://tug.org/texlive/trunk@63298 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/hyperref/hyperref.sty | 418 ++++++++++++----------
 1 file changed, 235 insertions(+), 183 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/hyperref/hyperref.sty')

diff --git a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
index 2eb6ceb474c..f4dd17d933a 100644
--- a/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
+++ b/Master/texmf-dist/tex/latex/hyperref/hyperref.sty
@@ -5,18 +5,19 @@
 %% The original source files were:
 %%
 %% hyperref.dtx  (with options: `package')
+%% hyperref-linktarget.dtx  (with options: `package,package-include')
+%% hyperref.dtx  (with options: `packageEnd')
 %% 
-%% File: hyperref.dtx
 %% Copyright
 %% 1995-2001 Sebastian Rahtz, with portions written by David Carlisle and Heiko Oberdiek,
 %% 2001-2015 Heiko Oberdiek.
 %% 2016-2019 Oberdiek Package Support Group
-%% 2019-2021 LaTeX Project
+%% 2019-2022 LaTeX Project
 %%      https://github.com/latex3/hyperref/issues
-%%
+%% 
 %% This file is part of the `Hyperref Bundle'.
 %% -------------------------------------------
-%%
+%% 
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3
 %% of this license or (at your option) any later version.
@@ -24,17 +25,18 @@
 %%   http://www.latex-project.org/lppl.txt
 %% and version 1.3 or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%%
+%% 
 %% This work has the LPPL maintenance status `maintained'.
-%%
+%% 
 %% The Current Maintainer of this work is the LaTeX Project.
-%%
+%% 
 %% The list of all files belonging to the `Hyperref Bundle' is
 %% given in the file `manifest.txt'.
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+%% 
+%% File: hyperref.dtx
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
 \ProvidesPackage{hyperref}
-  [2022-02-21 v7.00n %
+  [2022-05-13 v7.00o %
   Hypertext links for LaTeX]
 \begingroup
   \@makeother\`%
@@ -343,6 +345,13 @@
     \strip@pt\dimexpr 0.99626401\dimexpr(#1)\relax\relax
   }%
   \def\hypercalcbpdef{\def}%
+\ExplSyntaxOn
+\@ifundefined{text_uppercase:n}{}
+ {
+   \def\MakeUppercaseUnsupportedInPdfStrings#1{\use:e {\text_uppercase:n {#1}}}
+   \def\MakeLowercaseUnsupportedInPdfStrings#1{\use:e {\text_lowercase:n {#1}}}
+ }
+\ExplSyntaxOff
 \def\pdfstringdef#1#2{%
   \begingroup
     \escapechar`\\%
@@ -2030,9 +2039,6 @@
 \@namedef{HyPsd@ding@214}{\textleftrightarrow}%
 \@namedef{HyPsd@ding@215}{\textupdownarrow}%
 \@namedef{HyPsd@ding@240}{\HyPsd@UnicodeReplacementCharacter}
-\@ifclassloaded{memoir}{%
-  \Hy@AtEndOfPackage{\RequirePackage{memhfixc}}%
-}{}
 \@ifpackageloaded{subfigure}{%
   \ltx@IfUndefined{sub@label}{%
     \Hy@hypertexnamesfalse
@@ -2061,10 +2067,6 @@
       \fi
       \@esphack
     }%
-    \@ifpackagelater{subfigure}{2002/03/26}{}{%
-      \providecommand*{\toclevel@subfigure}{1}%
-      \providecommand*{\toclevel@subtable}{1}%
-    }%
   }%
 }{}
 \ltx@IfUndefined{XR@addURL}{%
@@ -2373,6 +2375,9 @@
   \let\Hy@setbreaklinks\@gobble
 }
 \define@key{Hyp}{localanchorname}[true]{%
+  \Hy@WarningNoLine{%
+        Option `localanchorname' is deprecated%
+      }%
   \Hy@boolkey{localanchorname}{#1}%
 }
 \define@key{Hyp}{pageanchor}[true]{%
@@ -4486,23 +4491,6 @@
   \Hy@DisableOption{colorlinks}%
   \Hy@DisableOption{frenchlinks}%
   \ifHy@texht
-    \long\def\@firstoffive#1#2#3#4#5{#1}%
-    \long\def\@secondoffive#1#2#3#4#5{#2}%
-    \long\def\@thirdoffive#1#2#3#4#5{#3}%
-    \long\def\@fourthoffive#1#2#3#4#5{#4}%
-    \long\def\@fifthoffive#1#2#3#4#5{#5}%
-    \providecommand*\@safe@activestrue{}%
-    \providecommand*\@safe@activesfalse{}%
-    \def\T@ref#1{%
-      \Hy@safe@activestrue
-      \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
-      \Hy@safe@activesfalse
-    }%
-    \def\T@pageref#1{%
-      \Hy@safe@activestrue
-      \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
-      \Hy@safe@activesfalse
-    }%
   \else
     \ifHy@typexml
     \else
@@ -4510,25 +4498,30 @@
         \RequirePackage{nameref}[2012/07/28]%
       }%
     \fi
+    \ifHy@implicit
+      \let \T@Ref\HyRef@Ref
+      \def\@refstar#1{%
+        \NR@ref@showkeys{#1}%
+        \HyRef@StarSetRef{#1}\@firstoffive
+      }
+      \def\@pagerefstar#1{%
+        \NR@ref@showkeys{#1}%
+        \HyRef@StarSetRef{#1}\@secondoffive
+      }
+      \def\@namerefstar#1{%
+        \NR@ref@showkeys{#1}%
+        \HyRef@StarSetRef{#1}\@thirdoffive
+      }
+      \def\@Refstar#1{%
+        \NR@ref@showkeys{#1}%
+        \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive
+      }%
+     \else
+     \fi
   \fi
-  \DeclareRobustCommand\ref{%
-    \@ifstar\@refstar\T@ref
-  }%
-  \DeclareRobustCommand\pageref{%
-    \@ifstar\@pagerefstar\T@pageref
-  }%
-    \DeclareRobustCommand*{\nameref}{%
-      \@ifstar\@namerefstar\T@nameref
-    }%
- \ifHy@implicit
- \else
-   \let \@pagerefstar\T@pageref
-   \let \@refstar\T@ref
-   \let \@namerefstar\T@nameref
- \fi
 }
 \Hy@AtBeginDocument{%
-  \ifHy@texht
+  \ifx\ReadBookmarks\relax
   \else
     \Hy@CatcodeWrapper\ReadBookmarks
   \fi
@@ -6093,14 +6086,15 @@
   \Hy@pdfstringfalse
 }
 
-\LetLtxMacro\NoHy@OrgRef\ref
-\DeclareRobustCommand*{\ref}{%
+\@ifundefined{@kernel@ref}
+ {\LetLtxMacro\NoHy@OrgRef\ref
+  \DeclareRobustCommand*{\ref}{%
   \@ifstar\NoHy@OrgRef\NoHy@OrgRef
-}
-\LetLtxMacro\NoHy@OrgPageRef\pageref
-\DeclareRobustCommand*{\pageref}{%
+  }
+  \LetLtxMacro\NoHy@OrgPageRef\pageref
+  \DeclareRobustCommand*{\pageref}{%
   \@ifstar\NoHy@OrgPageRef\NoHy@OrgPageRef
-}
+ }}{}
 \def\NoHyper{%
   \def\hyper@link@[##1]##2##3##4{##4\Hy@xspace@end}%
   \def\hyper@@anchor##1##2{##2\Hy@xspace@end}%
@@ -6143,11 +6137,6 @@
         \string\AtBeginDocument}^^J%
       \string\HyperFirstAtBeginDocument{%
         \string\ifx\string\hyper@anchor\string\@undefined^^J%
-          \string\global\string\let\string\oldcontentsline\string\contentsline^^J%
-          \string\gdef\string\contentsline%
-            \string#1\string#2\string#3\string#4{%
-            \string\oldcontentsline%
-              {\string#1}{\string#2}{\string#3}}^^J%
           \string\global\string\let\string\oldnewlabel\string\newlabel^^J%
           \string\gdef\string\newlabel\string#1\string#2{%
              \string\newlabelxx{\string#1}\string#2}^^J%
@@ -6156,7 +6145,6 @@
              \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J%
           \string\AtEndDocument{%
             \string\ifx\string\hyper@anchor\string\@undefined^^J%
-              \string\let\string\contentsline\string\oldcontentsline^^J%
               \string\let\string\newlabel\string\oldnewlabel^^J%
             \string\fi%
           }^^J%
@@ -6168,22 +6156,6 @@
   \fi
   \let\HyperFirstAtBeginDocument\ltx@firstofone
   \ifx\hyper@last\@undefined
-    \def\@starttoc#1{%
-      \begingroup
-        \makeatletter
-        \ltx@ifpackageloaded{parskip}{\parskip\z@}{}%
-        \IfFileExists{\jobname.#1}{%
-          \Hy@WarningNoLine{%
-            old #1 file detected, not used; run LaTeX again%
-          }%
-        }{}%
-        \if@filesw
-          \expandafter\newwrite\csname tf@#1\endcsname
-          \immediate\openout\csname tf@#1\endcsname \jobname.#1\relax
-        \fi
-        \@nobreakfalse
-      \endgroup
-    }%
     \def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}%
   \fi
 }
@@ -6451,6 +6423,120 @@
   \g@addto@macro\Hy@EveryPageHook{\HyPL@EveryPage}%
 \fi
 \Hy@DisableOption{pdfpagelabels}
+%% File: hyperref-linktarget.dtx
+\ExplSyntaxOn
+\bool_new:N \l__hyp_target_create_bool
+\bool_set_true:N \l__hyp_target_create_bool
+\hook_new:n {makelinktarget}
+\cs_new_protected:Npn \__hyp_target_raise:n #1
+ {
+   \mode_if_vertical:TF
+    { #1 }
+    {
+     \Hy@SaveSpaceFactor
+     \penalty\@M
+     \smash
+      {
+       \box_move_up:nn
+        { \normalbaselineskip }
+        {
+         \hbox:n
+          {
+           \Hy@RestoreSpaceFactor
+           #1
+           \Hy@SaveSpaceFactor
+          }
+        }
+      }
+     \Hy@RestoreSpaceFactor
+    }
+ }
+\ProvideDocumentCommand\LinkTargetOn{}{}
+\ProvideDocumentCommand\LinkTargetOff{}{}
+\ProvideDocumentCommand\MakeLinkTarget{sO{}m}{}
+\ProvideDocumentCommand\NextLinkTarget{m}{}
+\RenewDocumentCommand\LinkTargetOn {}
+ {
+   \bool_set_true:N \l__hyp_target_create_bool
+ }
+
+\RenewDocumentCommand\LinkTargetOff {}
+ {
+   \bool_set_false:N \l__hyp_target_create_bool
+ }
+\RenewDocumentCommand\MakeLinkTarget {s O{} m}
+  {
+    \bool_if:NT \l__hyp_target_create_bool
+      {
+        \group_begin:
+        \hook_use:n { makelinktarget }
+        \IfBooleanTF  {#1}
+          {
+            \__hyp_target_manual:nn {#2}{#3}
+          }
+          {
+            \__hyp_target_counter:nn {#2}{#3}
+          }
+        \group_end:
+      }
+  }
+\cs_new_protected:Npn  \__hyp_target_manual:nn #1 #2 %#1 prefix, #2 name
+  {
+    \tl_gset:Nx \@currentHref {#2}
+    \hook_use:n {__hyp/target/setname}
+    \@onelevel@sanitize\@currentHref
+    \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend}
+  }
+\cs_new_protected:Npn \__hyp_target_counter:nn #1 #2  %#1 prefix, #2 counter or empty
+  {
+    \tl_if_blank:nTF {#2}
+      {
+        \__hyp_target_counter_anon:n {#1}
+      }
+      {
+        \__hyp_target_counter_doc:nn {#1}{#2}
+      }
+  }
+
+\cs_new_protected:Npn \__hyp_target_counter_anon:n #1
+  {
+    \int_gincr:N\Hy@linkcounter
+    \tl_gset:Nx \@currentHref
+      {\tl_if_blank:nTF{#1}{page}{#1}*.\int_use:N\Hy@linkcounter}
+    \hook_use:n {__hyp/target/setname}
+    \@onelevel@sanitize\@currentHref
+    \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend}
+  }
+
+\cs_new_protected:Npn \__hyp_target_counter_doc:nn #1 #2
+  {
+    \bool_lazy_and:nnTF { \cs_if_free_p:c {c@#2} } { \cs_if_free_p:c {theH#2} }
+      {
+        \PackageWarning {hyperref}{Counter~'#2'~or~the~representation~'\string\theH#2`\MessageBreak
+        don't~exist.~No~target~created.}{}
+      }
+      {
+        \tl_gset:Nx \@currentHref {\tl_if_blank:nTF{#1}{#2}{#1}.\use:c{theH#2}}
+        \hook_use:n {__hyp/target/setname}
+        \@onelevel@sanitize\@currentHref
+        \__hyp_target_raise:n {\hyper@anchorstart{\@currentHref}\hyper@anchorend}
+      }
+  }
+\RenewDocumentCommand\NextLinkTarget {m}
+  {
+    \hook_gput_next_code:nn {__hyp/target/setname}
+      {
+        \tl_gset:Nx \@currentHref {#1}
+      }
+  }
+
+\NewDocumentCommand\SetLinkTargetFilter {m}
+  {
+    \cs_set:Npn \HyperDestNameFilter ##1 {#1}
+  }
+\@onlypreamble \SetLinkTargetFilter
+\ExplSyntaxOff
+%% File: hyperref.dtx
 \ifx\MaybeStopEarly\relax
 \else
   \Hy@stoppedearlytrue
@@ -6473,6 +6559,7 @@
 \Hy@CounterExists{section}{%
   \providecommand\theHequation{\theHsection.\arabic{equation}}%
 }
+\providecommand\theHequation{\arabic{equation}}%
 \Hy@CounterExists{part}{%
   \providecommand\theHpart{\arabic{part}}%
 }
@@ -6511,31 +6598,32 @@
 }{}
 \let\H@refstepcounter\refstepcounter
 \edef\name@of@eq{equation}%
-\edef\name@of@slide{slide}%
 \newif\if@hyper@item
 \newif\if@skiphyperref
 \@hyper@itemfalse
 \@skiphyperreffalse
+\ExplSyntaxOn
 \def\refstepcounter#1{%
-  \ifHy@pdfstring
-  \else
+  \legacy_if:nF {Hy@pdfstring}
+   {
     \H@refstepcounter{#1}%
-    \edef\This@name{#1}%
-    \ifx\This@name\name@of@slide
-    \else
-      \if@skiphyperref
-      \else
-        \if@hyper@item
-          \stepcounter{Item}%
-          \hyper@refstepcounter{Item}%
-          \@hyper@itemfalse
-        \else
-          \hyper@refstepcounter{#1}%
-        \fi
-      \fi
-    \fi
-  \fi
+    \bool_lazy_and:nnT
+      { \l__hyp_target_create_bool }
+      { ! \legacy_if_p:n{@skiphyperref} }
+      {
+        \legacy_if:nTF {@hyper@item}
+          {
+            \stepcounter{Item}%
+            \hyper@refstepcounter{Item}%
+            \@hyper@itemfalse
+          }
+          {
+            \hyper@refstepcounter{#1}%
+          }
+      }
+   }
 }
+\ExplSyntaxOff
 \let\Hy@saved@refstepcounter\refstepcounter
 \@ifpackageloaded{amsmath}{}{\newif\ifmeasuring@\measuring@false}
 \def\hyper@refstepcounter#1{%
@@ -6647,19 +6735,11 @@
     \@ctrerr
   \fi
 }
-\@ifl@t@r\fmtversion{2020-10-01}
- {%
-   \NewHook{__hyp/dest/make }
-   \def\hyper@hook@dest@make
-    {\UseHook{__hyp/dest/make}}
-   \define@key{Hyp}{next-anchor}{%
-    \AddToHookNext{__hyp/dest/make}%
+\NewHook{__hyp/target/setname }
+\define@key{Hyp}{next-anchor}{%
+    \AddToHookNext{__hyp/target/setname}%
        {\Hy@MakeCurrentHref{#1}}%
    }
- }
- {
-   \def\hyper@hook@dest@make{}
- }
 \def\hyper@makecurrent#1{%
   \begingroup
     \Hy@safe@activestrue
@@ -6705,7 +6785,7 @@
   \else
     \global\let\@currentHref\HyperGlobalCurrentHref
   \fi
-  \hyper@hook@dest@make
+  \UseHook{__hyp/target/setname}%
 }
 \def\Hy@MakeCurrentHref#1{%
   \edef\HyperLocalCurrentHref{#1}%
@@ -6721,7 +6801,7 @@
    \def\Hy@MakeCurrentHrefAuto#1{%
    \Hy@GlobalStepCount\Hy@linkcounter
    \Hy@MakeCurrentHref{#1.\the\Hy@linkcounter}%
-   \hyper@hook@dest@make}
+   \UseHook{__hyp/target/setname}}
 \def\@currentHlabel{\@currentHref}
 \def\hypergetref#1{\getrefbykeydefault{#1}{}{??}}
 \def\hypergetpageref#1{\getrefbykeydefault{#1}{page}{0}}
@@ -6758,17 +6838,21 @@
     \let\Hy@raisedlink\ttl@b
   }%
 }{}
-\AtBeginDocument{%
-\def\Hy@varioref@undefined{{??}{??}{}{}{}}
-\@ifpackageloaded{varioref}{%
-  \def\vref@pagenum#1#2{%
-    \@ifundefined{r@#2}{%
-      \expandafter\let\csname r@#2\endcsname\Hy@varioref@undefined
-    }{}%
-    \edef#1{\getpagerefnumber{#2}}%
-  }%
-}{}
-}
+\@ifl@t@r\fmtversion{2021-11-15}
+ {}%
+ {
+   \AtBeginDocument{%
+   \def\Hy@varioref@undefined{{??}{??}{}{}{}}
+   \@ifpackageloaded{varioref}{%
+     \def\vref@pagenum#1#2{%
+       \@ifundefined{r@#2}{%
+         \expandafter\let\csname r@#2\endcsname\Hy@varioref@undefined
+       }{}%
+       \edef#1{\getpagerefnumber{#2}}%
+     }%
+   }{}
+   }
+ }
 \@ifpackageloaded{longtable}{%
   \begingroup
     \def\y{\LT@array}%
@@ -7062,6 +7146,7 @@
 }%
 }%
 }
+\@ifundefined{hyper@nopatch@footnote}{%
 \ifHy@hyperfootnotes
   \newcounter{Hfootnote}%
   \let\H@@footnotetext\@footnotetext
@@ -7263,13 +7348,14 @@
     \fi
   }%
   \def\realfootnote{%
-    \@ifnextchar[\@xfootnote{%
-      \stepcounter{\@mpfn}%
+    \@ifnextchar[\@xfootnote%]
+     {\stepcounter{\@mpfn}%
       \protected@xdef\@thefnmark{\thempfn}%
       \H@@footnotemark\H@@footnotetext
     }%
   }%
 \fi
+}{}
 \Hy@DisableOption{hyperfootnotes}
 \def\caption{%
   \ifx\@captype\@undefined
@@ -7780,28 +7866,20 @@
   }%
 }
 \@ifpackageloaded{amsmath}{%
-  \@ifpackagelater{amsmath}{1999/12/14}{%
-    \renewcommand*{\numberwithin}[3][\arabic]{%
-      \@ifundefined{c@#2}{\@nocounterr{#2}}{%
-        \@ifundefined{c@#3}{\@nocnterr{#3}}{%
-          \HyOrg@addtoreset{#2}{#3}%
-          \@xp\xdef\csname the#2\endcsname{%
-            \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
-          }%
-          \@xp\xdef\csname theH#2\endcsname{%
-            \@xp\@nx
-            \csname the\@ifundefined{theH#3}{}H#3\endcsname
-            .\@nx#1{#2}%
-          }%
+  \renewcommand*{\numberwithin}[3][\arabic]{%
+    \@ifundefined{c@#2}{\@nocounterr{#2}}{%
+      \@ifundefined{c@#3}{\@nocnterr{#3}}{%
+        \HyOrg@addtoreset{#2}{#3}%
+        \@xp\xdef\csname the#2\endcsname{%
+          \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
+        }%
+        \@xp\xdef\csname theH#2\endcsname{%
+          \@xp\@nx
+          \csname the\@ifundefined{theH#3}{}H#3\endcsname
+          .\@nx#1{#2}%
         }%
       }%
     }%
-  }{%
-    \Hy@WarningNoLine{%
-      \string\numberwithin\space of package `amsmath' %
-      only fixed\MessageBreak
-      for version 2000/06/06 v2.12 or newer%
-    }%
   }%
 }{}
 \ifHy@hyperfigures
@@ -8053,22 +8131,19 @@
 \def\@namerefstar#1{%
   \HyRef@StarSetRef{#1}\@thirdoffive
 }
-
+\def\@Refstar#1{%
+  \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive
+}%
+\def\HyRef@MakeUppercaseFirstOfFive#1#2#3#4#5{%
+  \MakeUppercase#1%
+}%
+\def\HyRef@Ref#1{%
+  \hyperref[{#1}]{\Ref*{#1}}%
+}%
 \Hy@AtBeginDocument{%
   \@ifpackageloaded{varioref}{%
-    \def\@Refstar#1{%
-      \HyRef@StarSetRef{#1}\HyRef@MakeUppercaseFirstOfFive
-    }%
-    \def\HyRef@MakeUppercaseFirstOfFive#1#2#3#4#5{%
-      \MakeUppercase#1%
-    }%
-    \DeclareRobustCommand*{\Ref}{%
-      \@ifstar\@Refstar\HyRef@Ref
-    }%
-    \def\HyRef@Ref#1{%
-      \hyperref[{#1}]{\Ref*{#1}}%
-    }%
-  \ifdefined\vp@gerefstar
+  \@ifundefined{hyper@nopatch@varioref}
+   {
    \renewcommand\Vref@star[2][]{%
      \begingroup
        \let\T@pageref\@pagerefstar
@@ -8101,29 +8176,9 @@
         \vpageref[#1]{#2}%
        \endgroup
     }%
- \else
-   \def\Vr@f#1{%
-     \leavevmode\unskip\vref@space
-     \hyperref[{#1}]{%
-       \Ref*{#1}%
-       \let\vref@space\nobreakspace
-       \@vpageref[\unskip]{#1}%
-     }%
-   }%
-   \def\vr@f#1{%
-     \leavevmode\unskip\vref@space
-     \begingroup
-       \let\T@pageref\@pagerefstar
-       \hyperref[{#1}]{%
-         \ref*{#1}%
-         \vpageref[\unskip]{#1}%
-       }%
-     \endgroup
-   }%
- \fi
+   }{}%
   }{}%
 }
-
 \DeclareRobustCommand*{\autopageref}{%
   \@ifstar{%
     \HyRef@autopagerefname\pageref*%
@@ -8143,10 +8198,9 @@
     \pageautorefname\nobreakspace
   }%
 }
-\DeclareRobustCommand*{\autoref}{%
-  \leavevmode
-  \@ifstar{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}%
-}
+\NewDocumentCommand\autoref{s}
+   {\leavevmode
+    \IfBooleanTF{#1}{\HyRef@autoref\@gobbletwo}{\HyRef@autoref\hyper@@link}}
 \def\HyRef@autoref#1#2{%
   \begingroup
     \Hy@safe@activestrue
@@ -8224,9 +8278,7 @@
 \def\HyRef@currentHtag{}
 \let\HyRef@ShowKeysRef\@gobble
 \def\HyRef@ShowKeysInit{%
-  \begingroup\expandafter\expandafter\expandafter\endgroup
-  \expandafter\ifx\csname SK@@label\endcsname\relax
-  \else
+  \ifcsname SK@@label\endcsname
     \ifx\SK@ref\@empty
     \else
       \def\HyRef@ShowKeysRef{%
-- 
cgit v1.2.3

