anchor.diff:  if '%1'=='call' goto :call
   
   setlocal EnableExtensions DisableDelayedExpansion &:# Make sure ! characters are preserved
  -set "VERSION=2021-09-15"
  +set "VERSION=2021-12-06"
   set "SCRIPT=%~nx0"		&:# Script name
   set "SNAME=%~n0"		&:# Script name, without its extension
   set "SPATH=%~dp0"		&:# Script path
  
positive.code:   set "SLEN=%TLEN%"
    goto :ReplaceDelims.loop
  )
  endlocal & set "%~4=%RESULT:~1,-1%"
  exit /b
  
  :#----------------------------------------------------------------------------#
  :#                                                                            #
  
negative.code: :#                                                                            #
  :#  Arguments                                                                 #
  :#                                                                            #
  :#  Notes 	    Non ASCII CHAR arguments must be quoted. Ex: ","          #
  :#                                                                            #
  :#		    '*' '=' ':' cannot be replaced by %VAR:c=repl%            #
  :#                                                                            #
  :#                  Routines shared on dostips:                               #
  :#                  https://www.dostips.com/forum/viewtopic.php?p=50132#p50132
  :#                                                                            #
  :#  History                                                                   #
  :#   2016-11-13 JFL Added routine ReplaceChars.                               #
  :#   2021-12-06 JFL Use %FUNCTION%/%RETURN% to return correct results.        #
  :#                  Updated the drawback comments about known limitations.    #
  :#		    Added routine :ReplaceEquals.                             #
  :#                  The RETVAR argument is now optional for all routines.     #
  :#		    Fixed :ReplaceDelimSets support for ^ in input strings.   #
  :#                                                                            #
  :#----------------------------------------------------------------------------#
  
  :# Replace characters
  :# Advantage: Works with CHAR ':' '*' '~'
  :# Advantage: The string can contain LF and '"' characters
  :# Drawback: Does not work with '='.
  :ReplaceChars %1=STRVAR  %2=CHAR  %3=REPLACEMENT  %4=RETVAR (Default: STRVAR)
  %FUNCTION% EnableDelayedExpansion
  set "STRING=!%~1!"
  set "REPL=%~3"
  set "RETVAR=%~4" & if not defined RETVAR set "RETVAR=%~1"
  set "RESULT="
  if defined STRING (
    call :strlen.q STRING SLEN	&:# SLEN = Full string length
  