FYI because you write templates as well iirc.
You have to use the same in template code as well ie using << instead of < because of the dot net ide.
There was a problem I faced where the template code converted it when the c11 ide crashed (I’ve got some interesting bugs to report when I get a chance) so the work around for the templates was to create a template variable called %crlf and then assign the <<0dh,0ah> to %crlf early on in the template chain then the templates don’t interpret it wrong when a template writes a template.
Edit.
Here’s a template group which removes the 0dh,0ah aka 13,10 aka cr,lf from template input text fields using regex.
#Group( %ISTB3valValidateRemoveCarriageReturnLineFeeds, *%pText, Long %pAddSpaceCharacters = 0 ), Auto
#! App File : TB4_22.APP
#Declare( %StringLength, Long )
#Declare( %StringSearch, String )
#Declare( %StringMatchBefore, String )
#Declare( %StringMatchAfter, String )
#Declare( %RegEx, String )
#Declare( %StrPosResult, Long )
#Set( %StringSearch, %pText )
#Set( %RegEx, '{{<0DH,0AH>}' ) #! 13,10 in hex and treat as two characters in all calculations not as one control code.
#Set( %StringLength, Len(%StringSearch) )
#!Error( '%StringSearch = ' & %StringSearch )
#Loop
#Set( %StrPosResult, StrPos(%StringSearch, %RegEx, 1) )
#Case( %StrPosResult )
#OF( 0 )
#!Error( 'OF 0 %StrPosResult = ' & %StrPosResult &' %StringLength = ' & %StringLength )
#Break
#OF( 1 )
#!Error( 'OF 1 %StrPosResult = ' & %StrPosResult &' %StringLength = ' & %StringLength )
#Set( %StringMatchBefore, '' )
#Set( %StringMatchAfter, Sub( %StringSearch, %StrPosResult + 2, %StringLength - ( %StrPosResult + 1 ) ) )
#Set( %StringSearch, %StringMatchAfter )
#OF( %StringLength - 1 ) #! The RegEx is treated as two characters hence the -1 to reduce the String Length
#!Error( 'OF %StringLength %StrPosResult = ' & %StrPosResult &' %StringLength = ' & %StringLength )
#Set( %StringMatchBefore, Sub( %StringSearch, 1, %StrPosResult - 1 ) )
#Set( %StringMatchAfter, '' )
#Set( %StringSearch, %StringMatchBefore )
#Else
#!Error( 'OF Else %StrPosResult = ' & %StrPosResult &' %StringLength = ' & %StringLength )
#Set( %StringMatchBefore, Sub( %StringSearch, 1, %StrPosResult - 1 ) )
#Set( %StringMatchAfter, Sub( %StringSearch, %StrPosResult + 2, %StringLength - (%StrPosResult + 1) ) )
#Set( %StringSearch, %StringMatchBefore )
#Loop, Times( %pAddSpaceCharacters )
#Set( %StringSearch, %StringSearch & ' ' )
#EndLoop
#Set( %StringSearch, %StringSearch & %StringMatchAfter )
#EndCase
#Set( %StringLength, Len( %StringSearch ) )
#!Error( 'Before EndLoop %StringLength = ' & %StringLength )
#EndLoop
#Set( %pText, %StringSearch )
#Return %True