anchor.diff:  set "%RETVAR%=!P!"
   %RETURN%
   
  -:condquote2
  -%FUNCTION%
  -setlocal enableextensions enabledelayedexpansion
  -set RETVAR=%~2
  -if "%RETVAR%"=="" set RETVAR=%~1
  -set "P=!%~1!"
  +:# Simpler version not using the %FUNCTION%/%RETURN% macros
  +:condquote2	 %1=Input variable. %2=Opt. output variable.
  +setlocal EnableExtensions Disabledelayedexpansion
  +set "RETVAR=%~2"
  +if not defined RETVAR set "RETVAR=%~1" &:# By default, change the input variable itself
  +call set "P=%%%~1%%"
   :# If the value is empty, don't go any further.
   if not defined P set "P=""" & goto :condquote_ret
   :# Remove double quotes inside P. (Fails if P is empty)
  
positive.code: :# If the value is empty, don't go any further.
  if not defined P set "P=""" & goto :condquote_ret
  :# Look for any special character that needs quoting
  echo."%P%"|findstr /C:" " /C:"&" /C:"(" /C:")" /C:"@" /C:"," /C:";" /C:"[" /C:"]" /C:"{" /C:"}" /C:"=" /C:"'" /C:"+" /C:"`" /C:"~" >NUL
  if not errorlevel 1 set P="%P%"
  :condquote_ret
  :# Contrary to the general rule, do NOT enclose the set commands below in "quotes",
  
negative.code: :#		    Added support for empty pathnames.                        #
  :#   2016-11-09 JFL Fixed this routine, which was severely broken :-(	      #
  :#   2016-11-21 JFL Fixed the "!" quoting, and added "|&<>" quoting.	      #
  :#   2018-11-19 JFL Improved routine condquote2.                              #
  :#                                                                            #
  :#----------------------------------------------------------------------------#
  
  :# Quote file pathnames that require it.
  :condquote	 %1=Input variable. %2=Opt. output variable.
  %FUNCTION% EnableExtensions EnableDelayedExpansion
  set "RETVAR=%~2"
  if not defined RETVAR set "RETVAR=%~1" &:# By default, change the input variable itself
  