فهرست منبع

Merge branch source:main into main

Curtis Hamilton 3 هفته پیش
والد
کامیت
bf34bfd479

+ 2 - 1
packages/fcl-json/src/jsonscanner.pp

@@ -568,6 +568,7 @@ begin
 
     if Sp^ = '\' then
     begin
+      AddPiece(LiteralStart, Sp);
       onepiece := false;
       if Sp[1] = 'u' then
       begin
@@ -596,7 +597,7 @@ begin
         Inc(Sp);
         LiteralStart := Sp + 1;
         if iEsc < length(SimpleEscapes_Meant) then // Escaped character maps to something else?
-          AddCodepoint(ord(SimpleEscapes_Meant[iEsc]))
+          AddCodepoint(ord(SimpleEscapes_meant[iEsc]))
         else
           dec(LiteralStart); // Just start next literal from this very character instead of handling it explicitly somehow.
         continue;

+ 3 - 0
packages/fcl-json/tests/testjsonreader.pas

@@ -325,6 +325,9 @@ begin
   DoTestString('A string');
   DoTestString('');
   DoTestString('\"','"');
+  DoTestString('a\"','a"');
+  DoTestString('a\\','a\');
+  DoTestString('C:\\Windows','C:\Windows');
   DoTestString('\u00f8','ø'); // this is ø
   DoTestString('\u00f8\"','ø"'); // this is ø"
   DoTestString('\ud83c\udf1f',GlowingStar);

+ 3 - 0
rtl/namespaced/common/System.Intrinsics.pp

@@ -0,0 +1,3 @@
+unit System.Intrinsics;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i intrinsics.pp}