anchor.diff:  set "^!2=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!"
   set "'^!2=^^^^^^^!"
   set "&2=^^^^^^^^^^^^^^^&"
  +:# Define a ! protected by an exponential number of hats
  +set "^^1^!=^^^!"					&:# %^1!% expands to (2^1)-1 hats before the !
  +set "^^2^!=^^^^^^^!"					&:# %^2!% expands to (2^2)-1 hats before the !
  +set "^^3^!=^^^^^^^^^^^^^^^!"				&:# %^3!% expands to (2^3)-1 hats before the !
  +set "^^4^!=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!"		&:# %^4!% expands to (2^4)-1 hats before the !
  +set "^^5^!=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!" &:# Etc...
  +set "^^6^!=^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^!"
   
   set "MACRO=for %%$ in (1 2) do if %%$==2"				&:# Prolog code of a macro
   set "/MACRO=else setlocal enableDelayedExpansion %&% set MACRO.ARGS="	&:# Epilog code of a macro
  
positive.code: :strupr
  %FUNCTION%
  if not defined %~1 %RETURN%
  for %%a in ("a=A" "b=B" "c=C" "d=D" "e=E" "f=F" "g=G" "h=H" "i=I"
              "j=J" "k=K" "l=L" "m=M" "n=N" "o=O" "p=P" "q=Q" "r=R"
              "s=S" "t=T" "u=U" "v=V" "w=W" "x=X" "y=Y" "z=Z" "="
  
negative.code: %FUNCTION% EnableDelayedExpansion
  :# set "STRING=@(())^^^^,,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!"
  :# set STRING=!STRING!"@||&&(())<<>>^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
  set "_STRING0=@||&&(())<<>>^^^^,,;;  %%%%^!^!**??[[]]==~~''%%CD%%_^!CD^!"
  set "_STRING1=@(()),,;;  %%%%^!^!**??[[]]==~~''""%%CD%%_^!CD^!" &:# Remove ||&&^^<<>> that cause problems when not quoted
  set STRING=!_STRING1! "!_STRING0!"
  echo :# The initial string
  set STRING
  setlocal DisableDelayedExpansion
  echo :# Prepared with expansion off
  call :Prep2ExpandVars STRING
  set STRING
  endlocal
  echo :# The initial string
  set STRING
  echo :# Prepared with expansion on
  call :Prep2ExpandVars STRING
  set STRING
  %RETURN%
  
  :#----------------------------------------------------------------------------#
  