Am 06.07.2019 um 16:25 schrieb Florian Klämpfl:
Am 05.07.2019 um 17:29 schrieb Ryan Joseph:
This may not be related but why does "l: string = lines;” work, shouldn’t that 
be an error or at least get clipped? I’m seeing writeln prints out the entire string 
as if it was an ansistring.

{$mode objfpc}
{$multilinestringlineending crlf}
{$h+}

program test;

const lines = `
   #version 150

   uniform sampler2D textures[8];
   in vec2 vertexTexCoord;
   in vec4 vertexColor;
   in float vertexUVMap;
   out vec4 fragColor;

   void main()
   {
     if (vertexUVMap == 255) {
       fragColor = vertexColor;
     } else {
       fragColor = texture(textures[int(vertexUVMap)], vertexTexCoord.st);
       if (vertexColor.a < fragColor.a) {
         fragColor.a = vertexColor.a;
       }
     }
   }`;
I tried to follow the thread, but one think I miss is: what are the rules for 
indention? Does the lines string contain
spaces at the beginning of every line or not? Are they removed? How many are 
removed? What about tabs? Actually, this is
my main concern with such multiline strings: spaces/tabs at the beginning of a 
line cannot be handled in an intuitive way.
I've also complained about that point here: https://lists.freepascal.org/pipermail/fpc-devel/2019-July/041453.html

Regards,
Sven
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to