Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/29/2012 03:40 PM, Hans-Peter Diettrich wrote: The XE code is the same for AnsiString(0). Other encodings are either ignored, when functions with RawByteString arguments are present, or are converted automatically what most probably causes wrong results. RawByteString = ANSIString($) Same can't get converted to any predefined coding, as it's coding is not known. The other part of (e.g.) a "+" can't get converted either (as there is no point in converting it to $. No Idea what the result looks like, if it's defined by type $. If it gets some other dynamic encoding tag but $ this could be considered contradicting it's type (which is ANSIString($) ), otherwise ANSIString($) could be considered "truly dynamically typed" which I remember you denied in another discussion. Sorry that I can't test this with XE2 :( . -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Michael Schnell schrieb: Maybe he would be better off using ANSIString(0) or ANSIString($) to be sure that his doing will not be influenced by the locale setting of the system the code is compiled on or runs on. AnsiString(0) should be okay, but other encodings may require overloaded string functions - or the string will be converted automatically. Just _hoping_ that the code generated by XE2 for "ANSIString" will not be a lot slower that that generated by Delphi < 2009 for "String". The XE code is the same for AnsiString(0). Other encodings are either ignored, when functions with RawByteString arguments are present, or are converted automatically what most probably causes wrong results. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/29/2012 11:24 AM, Marco van de Voort wrote: No that is ansistring, with various values filled in for codepage. The default codepage can be set to the system 1-byte encoding (ansi), and then it is the same as the D7 one. "string" is unicodestring, and that is always utf16. Taking a brief look at the XE2 internals you seem to be right and he he was mistaken. Maybe he would be better off using ANSIString(0) or ANSIString($) to be sure that his doing will not be influenced by the locale setting of the system the code is compiled on or runs on. Just _hoping_ that the code generated by XE2 for "ANSIString" will not be a lot slower that that generated by Delphi < 2009 for "String". -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Wed, Feb 29, 2012 at 08:44:20AM +0100, Michael Schnell wrote: > > it incompatible with other encodings, and thus disables all > > conversions. Such an encoding doesn't break Delphi compatibility, but > > allows to use all stringhandling functions with it. > > > The colleague I mentioned told me that with Delphi XE2 (but maybe nit > with Delphi versions < XE2 and >= 2009) "ANSIString" _is_ exactly the > "pre 2009" string type Not exactly. It has a codepage added to the record. > while "String" (and friends" is the new style > dynamically encode string type. No that is ansistring, with various values filled in for codepage. The default codepage can be set to the system 1-byte encoding (ansi), and then it is the same as the D7 one. "string" is unicodestring, and that is always utf16. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Wednesday, 29. February 2012 08.55:55 Michael Schnell wrote: > On 02/28/2012 04:13 PM, Sven Barth wrote: > > And instead of introducing yet another type or another special > > encoding we could just leverage the features FPC has today and use > > TBytes. > > I agree, if all features are in place: > - its available out of the box (in the RTL) > - it has all string functions in fully compatible way: > - can do "+" (via operator overload) > - can do pos(), copy(), delete() and friends via overloaded functions > - conversion from and to Unicode String (via operator overload ? ) > - conversion to pchar (how ? ) > - does reference counting, lazy copy and auto re-alloc on resizing > operations. > - TByteStringList (are there more relevant string handling objects) > is provided out of the box in a fully compatible and equally versatile way > - no performance degradation. > - conversion to AnsiString without move(). - conversion from AnsiString without move(). Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 04:13 PM, Sven Barth wrote: And instead of introducing yet another type or another special encoding we could just leverage the features FPC has today and use TBytes. I agree, if all features are in place: - its available out of the box (in the RTL) - it has all string functions in fully compatible way: - can do "+" (via operator overload) - can do pos(), copy(), delete() and friends via overloaded functions - conversion from and to Unicode String (via operator overload ? ) - conversion to pchar (how ? ) - does reference counting, lazy copy and auto re-alloc on resizing operations. - TByteStringList (are there more relevant string handling objects) is provided out of the box in a fully compatible and equally versatile way - no performance degradation. If this is not possible I vote for simply doing ByteString = ANSIString (and TByteStringList = TANSIStringList) (provided that "ANSIString" _is_ the pre 2009 String type as seemingly done in DXE). -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 03:40 PM, Hans-Peter Diettrich wrote: "ByteString" only requires a dedicated encoding (value), which makes it incompatible with other encodings, and thus disables all conversions. Such an encoding doesn't break Delphi compatibility, but allows to use all stringhandling functions with it. The colleague I mentioned told me that with Delphi XE2 (but maybe nit with Delphi versions < XE2 and >= 2009) "ANSIString" _is_ exactly the "pre 2009" string type, while "String" (and friends" is the new style dynamically encode string type. As I don't have any Delphi >= 2009, I can't verify this, but at least using the assumptions produced a project workable with both our versions. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 02:43 PM, Sven Barth wrote: And with the way I described we can at least provide a type that handles similar to good old AnsiString, but will continue to work even if String should be changed to UnicodeString in the future. I just did a component using Delphi < 2009 (as I don't have a greater version) and gave it to a colleague that uses XE2 who will implement it in his project. I did Type ByteString = ANSIString. {$if UNICODE} TByteStringList = TANSIStringList; {$else} TByteStringList = TStringList; {$endif} So it works for both and I can happily use the type ByteString for storing uncoded 8 bit entities. To me here the Term "ANSI" is extremely ugly, but it can be confined to a few lines on the top :) . I do suppose that this will work in Lazarus as well (at least when adding some more ifdefs). -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 16:09, schrieb Martin Schreiber: Am 28.02.2012 16:52, schrieb Sven Barth: Did you look at the 2.7.1 or 2.6.0 implementation of these procs? If the 2.6.0 one then I suggest you to look at the 2.7.1 ones and reconsider your statement ;) True. :-) Do you think 2.7.1 FPC string handling is an improvement compared with FPC 2.6.0? ;-) Maybe not performance wise (though Sergei did quite some clean up there already and maybe will also do so in the future), but feature/internationalization wise. But I never used the code page awareness yet, so I won't comment on this ;) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 16:52, schrieb Sven Barth: Did you look at the 2.7.1 or 2.6.0 implementation of these procs? If the 2.6.0 one then I suggest you to look at the 2.7.1 ones and reconsider your statement ;) True. :-) Do you think 2.7.1 FPC string handling is an improvement compared with FPC 2.6.0? ;-) Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 15:31, schrieb Martin Schreiber: Am 28.02.2012 16:13, schrieb Sven Barth: Am 28.02.2012 15:40, schrieb Hans-Peter Diettrich: Sven Barth schrieb: Before Delphi 2009 you might have been right, but with that version Embarcadero did a cut and we now need to adapt and live with that. I dare to disagree. A "ByteString" only requires a dedicated encoding (value), which makes it incompatible with other encodings, and thus disables all conversions. Such an encoding doesn't break Delphi compatibility, but allows to use all stringhandling functions with it. And instead of introducing yet another type or another special encoding we could just leverage the features FPC has today and use TBytes. Or even better, use FPC 2.6 AnsiString and UnicodeString and drop the encoding aware FPC 2.7 AnsiString. ;-) BTW, please have a look into the different string concatenation compilerproc, it is probably not so easy to model that with equal or better performance with TBytes and operator overloading. Is it possible with operator overloading to combine different types? Did you look at the 2.7.1 or 2.6.0 implementation of these procs? If the 2.6.0 one then I suggest you to look at the 2.7.1 ones and reconsider your statement ;) Nevertheless I'll try to do a speed measurement with TBytes and AnsiString both in 2.6 and 2.7.1. If we can improve the performance of FillChar (which would also benefit class creation btw) then this might be a rather performant alternative ;) " := + 'stringconstant' + + ; " I quickly adjusted my test program: === source begin === program bytearraytest; {$mode objfpc} type TBytes = array of Byte; operator + (aLeft, aRight: TBytes): TBytes; begin SetLength(Result, Length(aLeft) + Length(aRight)); if Length(aLeft) > 0 then Move(aLeft[0], Result[0], Length(aLeft) * SizeOf(Byte)); if Length(aRight) > 0 then Move(aRight[0], Result[Length(aLeft)], Length(aRight) * SizeOf(Byte)); end; operator + (aLeft: TBytes; aRight: AnsiString): TBytes; begin SetLength(Result, Length(aLeft) + Length(aRight)); if Length(aLeft) > 0 then Move(aLeft[0], Result[0], Length(aLeft) * SizeOf(Byte)); if Length(aRight) > 0 then Move(aRight[1], Result[Length(aLeft)], Length(aRight) * SizeOf(Char)); end; operator + (aLeft: AnsiString; aRight: TBytes): TBytes; begin SetLength(Result, Length(aLeft) + Length(aRight)); if Length(aLeft) > 0 then Move(aLeft[1], Result[0], Length(aLeft) * SizeOf(Char)); if Length(aRight) > 0 then Move(aRight[0], Result[Length(aLeft)], Length(aRight) * SizeOf(Byte)); end; var arr1, arr2, arr3: TBytes; b: Byte; i: LongInt; s: AnsiString; begin SetLength(arr1, 5); for i := 0 to 4 do arr1[i] := i + 1; SetLength(arr2, 5); for i := 0 to 4 do arr2[i] := i + 6; arr3 := arr1 + arr2; for b in arr3 do Write(b, ' '); Writeln; arr3 := Copy(arr2, 2, 2); for b in arr3 do Write(b, ' '); Writeln; s := 'Hello World'; arr3 := arr1 + 'stringconstant' + arr2 + s; for b in arr3 do Write(b, ' '); Writeln; end. === source end === And here is what it prints: === source begin === PS P:\tests\oneshots> .\bytearraytest.exe 1 2 3 4 5 6 7 8 9 10 8 9 1 2 3 4 5 115 116 114 105 110 103 99 111 110 115 116 97 110 116 6 7 8 9 10 72 101 108 108 111 32 87 111 114 108 100 === source end === Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 16:13, schrieb Sven Barth: Am 28.02.2012 15:40, schrieb Hans-Peter Diettrich: Sven Barth schrieb: Before Delphi 2009 you might have been right, but with that version Embarcadero did a cut and we now need to adapt and live with that. I dare to disagree. A "ByteString" only requires a dedicated encoding (value), which makes it incompatible with other encodings, and thus disables all conversions. Such an encoding doesn't break Delphi compatibility, but allows to use all stringhandling functions with it. And instead of introducing yet another type or another special encoding we could just leverage the features FPC has today and use TBytes. Or even better, use FPC 2.6 AnsiString and UnicodeString and drop the encoding aware FPC 2.7 AnsiString. ;-) BTW, please have a look into the different string concatenation compilerproc, it is probably not so easy to model that with equal or better performance with TBytes and operator overloading. Is it possible with operator overloading to combine different types? " := + 'stringconstant' + + ; " Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 15:40, schrieb Hans-Peter Diettrich: Sven Barth schrieb: Before Delphi 2009 you might have been right, but with that version Embarcadero did a cut and we now need to adapt and live with that. I dare to disagree. A "ByteString" only requires a dedicated encoding (value), which makes it incompatible with other encodings, and thus disables all conversions. Such an encoding doesn't break Delphi compatibility, but allows to use all stringhandling functions with it. And instead of introducing yet another type or another special encoding we could just leverage the features FPC has today and use TBytes. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Sven Barth schrieb: Before Delphi 2009 you might have been right, but with that version Embarcadero did a cut and we now need to adapt and live with that. I dare to disagree. A "ByteString" only requires a dedicated encoding (value), which makes it incompatible with other encodings, and thus disables all conversions. Such an encoding doesn't break Delphi compatibility, but allows to use all stringhandling functions with it. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 14:36, schrieb Michael Schnell: On 02/28/2012 02:24 PM, Sven Barth wrote: This might be, but this shows that we do not need to extend the compiler with yet another managed type when all we need is already available. Of course you are quite right, but before the Unicode transition this was available out of the box as "String" and used in multiple projects, but after the Unicode this is not so sure. > ANSIString supposedly still can be used, but to me the name "String" _sounded_ as if no encoding is necessary to be taken into account, and thus simply storing Bytes is not a bad idea, while ANSIString sounds as if the encoding has to be ANSI and this is essential for the internal proceedings. I do know that the contrary is true: "ANSISting" can happily be used for everything while in Delphi XE "String" imposes one of several encoding schemes. To me this naming is extremely ambiguous. Before Delphi 2009 you might have been right, but with that version Embarcadero did a cut and we now need to adapt and live with that. Also String in Delphi 2009+ is a UnicodeString, so it has only one encoding. And with the way I described we can at least provide a type that handles similar to good old AnsiString, but will continue to work even if String should be changed to UnicodeString in the future. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 14:20, schrieb Michael Schnell: > On 02/28/2012 02:13 PM, Sven Barth wrote: >> Did you even look at my code? > > Sorry, I did not want to be rude, but I understand that this is in fact > _your_ code and not supplied by the RTL which is what this part of the > discussion was about. > > Thanks anyway, > -Michael This might be, but this shows that we do not need to extend the compiler with yet another managed type when all we need is already available. In theory I could stuff that code into a unit together with a TBytesList (as the base type should then be TBytes) and then one could propose this unit to be added to fcl-base... Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 02:24 PM, Sven Barth wrote: This might be, but this shows that we do not need to extend the compiler with yet another managed type when all we need is already available. Of course you are quite right, but before the Unicode transition this was available out of the box as "String" and used in multiple projects, but after the Unicode this is not so sure. ANSIString supposedly still can be used, but to me the name "String" _sounded_ as if no encoding is necessary to be taken into account, and thus simply storing Bytes is not a bad idea, while ANSIString sounds as if the encoding has to be ANSI and this is essential for the internal proceedings. I do know that the contrary is true: "ANSISting" can happily be used for everything while in Delphi XE "String" imposes one of several encoding schemes. To me this naming is extremely ambiguous. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 02:13 PM, Sven Barth wrote: Did you even look at my code? Sorry, I did not want to be rude, but I understand that this is in fact _your_ code and not supplied by the RTL which is what this part of the discussion was about. Thanks anyway, -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 14:00, schrieb Michael Schnell: On 02/28/2012 10:24 AM, Sven Barth wrote: Am 28.02.2012 08:22, schrieb Michael Schnell: In my projects I usually do something like "Type ByteString = AnsiString" for a future migration :) . type TByteArray = array of Byte; ??? array of Byte <> AnsiString. Yes, but you wrote this: It would be better to have a type that 1:1 allows for all the well known string operations, replacing "Character" by "Byte": And I simply demonstrated that this is already possible in FPC today (with TByteArray being the replacement for AnsiString). You can't do "+", there is not TByteArrayList, ... Did you even look at my code? All the remarks you wrote in your last mail except "Pos" I had tackled in there. And writing a TByteArrayList shouldn't be that hard either... Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 10:24 AM, Sven Barth wrote: Am 28.02.2012 08:22, schrieb Michael Schnell: In my projects I usually do something like "Type ByteString = AnsiString" for a future migration :) . type TByteArray = array of Byte; ??? array of Byte <> AnsiString. You can't do "+", there is not TByteArrayList, ... -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 08:22, schrieb Michael Schnell: On 02/27/2012 09:51 PM, Martin Schreiber wrote: A side mark: I don't think using the old ansistring as combined binary and character buffer is such a bad thing. + 1/2 It would be better to have a type that 1:1 allows for all the well known string operations, replacing "Character" by "Byte": MyByte := MyByteString[n] MyByteString := MyByteString + MyByte; MyByteString2 := copy(MyByteString, 10, 100); p:= pos(MyByteString2, MyByteString) MyByteString := MyByteString + MyByteString2; ... In my projects I usually do something like "Type ByteString = AnsiString" for a future migration :) . You know that this is already possible in FPC? === source begin === program bytearraytest; {$mode objfpc} type TByteArray = array of Byte; operator + (aLeft, aRight: TByteArray): TByteArray; begin SetLength(Result, Length(aLeft) + Length(aRight)); if Length(aLeft) > 0 then Move(aLeft[0], Result[0], Length(aLeft) * SizeOf(Byte)); if Length(aRight) > 0 then Move(aRight[0], Result[Length(aLeft)], Length(aRight) * SizeOf(Byte)); end; var arr1, arr2, arr3: TByteArray; b: Byte; i: LongInt; begin SetLength(arr1, 5); for i := 0 to 4 do arr1[i] := i + 1; SetLength(arr2, 5); for i := 0 to 4 do arr2[i] := i + 6; arr3 := arr1 + arr2; for b in arr3 do Write(b, ' '); Writeln; arr3 := Copy(arr2, 2, 2); for b in arr3 do Write(b, ' '); Writeln; end. === source end === === output begin === PS P:\tests\oneshots> .\bytearraytest.exe 1 2 3 4 5 6 7 8 9 10 8 9 === output end === I only didn't implement Pos, but as this does not use any compiler magic you can do that yourself ;) Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Am 28.02.2012 08:14, schrieb Michael Schnell: On 02/28/2012 12:00 AM, Hans-Peter Diettrich wrote: a stable D7 compatible version/branch is required, IMHO a compiler switch (Lazarus Project menu option) should be provided ("D7 compatibility" or "non-Unicode" or something like this) There are decent projects for which a user interface is of little or no importance. Here it should be possible to prevent including all the RTL (and LCL) code necessary for Unicode. A switch in the Project options won't help you here, because switching String from AnsiString to UnicodeString (or back) would basically mean to recompile the complete RTL and FCL. The change of the default string is no easy matter and only recently there was a lengthy discussion on core about this topic and its technical and organisational problems. Regards, Sven -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 03:13 AM, Paul Breneman wrote: so I can use strings as binary communication buffers and let the compiler deal with everything and it all just works... :) Yep. There is no logical reason to think other, but the fear that "string" is a moving target regarding the unavoidable upcoming of Unicode. So a dedicated type for this with all features "AnsiString" offers but with no Unicode threat would be appropriate for this. We very often do need flexible easy to use code-ignorant byte buffers. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/27/2012 09:51 PM, Martin Schreiber wrote: A side mark: I don't think using the old ansistring as combined binary and character buffer is such a bad thing. + 1/2 It would be better to have a type that 1:1 allows for all the well known string operations, replacing "Character" by "Byte": MyByte := MyByteString[n] MyByteString := MyByteString + MyByte; MyByteString2 := copy(MyByteString, 10, 100); p:= pos(MyByteString2, MyByteString) MyByteString := MyByteString + MyByteString2; ... In my projects I usually do something like "Type ByteString = AnsiString" for a future migration :) . Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On 02/28/2012 12:00 AM, Hans-Peter Diettrich wrote: a stable D7 compatible version/branch is required, IMHO a compiler switch (Lazarus Project menu option) should be provided ("D7 compatibility" or "non-Unicode" or something like this) There are decent projects for which a user interface is of little or no importance. Here it should be possible to prevent including all the RTL (and LCL) code necessary for Unicode. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Martin Schreiber wrote: ... A side mark: I don't think using the old ansistring as combined binary and character buffer is such a bad thing. I completely agree and was surprised to read opposite opinions here. Since 1985 I've been telling people this is my favorite feature so I can use strings as binary communication buffers and let the compiler deal with everything and it all just works... :) -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Tue, Feb 28, 2012 at 12:00:14AM +0100, Hans-Peter Diettrich wrote: > Martin Schreiber schrieb: > > > Thanks. The problem with some of the recent "Delphi compatibility" changes > > is > > that it breaks Delphi 7 compatibility. > > +1 :-( > > IMO at least a stable D7 compatible version/branch is required, which > may be extended to the last Delphi AnsiString version (D2007?). This > branch doesn't deserve any further features or interface changes of the > newer Unicode versions. Afaik all serious merge requests to the 2.4 branch were honoured:-) > > A side mark: I don't think using the old ansistring as combined binary and > > character buffer is such a bad thing. > > +1 > > Following the many complaints in the Embarcadero groups, much code still > relies on the use of AnsiString even for binary data. Another argument > for a *really* D7 compatible Lazarus version. Like with Delphi, the problem for FPC is the same. Who will foot the bill for such sentiments. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Martin Schreiber schrieb: Thanks. The problem with some of the recent "Delphi compatibility" changes is that it breaks Delphi 7 compatibility. +1 :-( IMO at least a stable D7 compatible version/branch is required, which may be extended to the last Delphi AnsiString version (D2007?). This branch doesn't deserve any further features or interface changes of the newer Unicode versions. A side mark: I don't think using the old ansistring as combined binary and character buffer is such a bad thing. +1 Following the many complaints in the Embarcadero groups, much code still relies on the use of AnsiString even for binary data. Another argument for a *really* D7 compatible Lazarus version. DoDi -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Mon, Feb 27, 2012 at 09:51:41PM +0100, Martin Schreiber wrote: > > If so, please also note > > the other interface related change: > > > > http://wiki.freepascal.org/User_Changes_Trunk > > > Thanks. The problem with some of the recent "Delphi compatibility" changes is > that it breaks Delphi 7 compatibility. Well, if that is a "problem" is a matter of taste. In reality, I think that D7 was wrong here, stuffing binary data into an ansistring. True, if D2009 didn't change to unicodestring, it would probably be the most minor issue, but still, wrong is wrong. > MSEide+MSEgui version 2.6 is compilable and runs with Delphi 7, a good > benchmark for FPC. BTW, does current Delphi return pointer or tbytes in > TDataset.Bookmark? TBytes. Afaik it returned pointer from D2006..2007. > Does it allow pointer arithmetic with the new TDateset > buffer type pbyte? D2009 does not allow this in default mode, but it does allow overindexing like FPC when {$POINTERMATH ON} is added. In my work Delphi code, this is default :-) > Delphi 7 can do pointer arithmetic with pchar and pwidechar only. > A side mark: I don't think using the old ansistring as combined binary and > character buffer is such a bad thing. I do think that is bad. If you start using ansistring in mixed encoding environments (e.g. utf16 aka widestring/unicodestring), there is a danger of mutilation. This is currently not very noticable in FPC because the default type is still ansistring[OS default 1-byte encoding], but we might not want to be stuck with that forever. > TByte could replace such buffers only if Pascal string indexing would be > zero based. No, since tbookmark afaik never represented a true string, character access would be meaningless, and would be a code smell indicating bad code. > Consequently with all these changes Delphi string indexes should be zero > based too, same as dynamic array indexes. IMHO this is not one of the differences that is significant enough to perpetuate workarounds till eternity. So I'm willing to entertain workarounds with a scope of a FPC release or two, but not beyond. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Monday 27 February 2012 20:32:29 Marco van de Voort wrote: > On Mon, Feb 27, 2012 at 12:48:29PM +0100, Martin Schreiber wrote: > > > I'll study if the normal tbookmark can change to tbytes short term. If > > > not, I'll add the bookmarkstr as deprecated property for time being. > > > > Using TBytes as TBookmark everywhere (especially internally in TDataset) > > probably introduces unnecessary overhead. > > Btw, didn't know you use fcl-db as base for MSE. MSEgui uses db.pas so it is possible to use non MSE DB components in MSEgui projects. > If so, please also note > the other interface related change: > > http://wiki.freepascal.org/User_Changes_Trunk > Thanks. The problem with some of the recent "Delphi compatibility" changes is that it breaks Delphi 7 compatibility. MSEide+MSEgui version 2.6 is compilable and runs with Delphi 7, a good benchmark for FPC. BTW, does current Delphi return pointer or tbytes in TDataset.Bookmark? Does it allow pointer arithmetic with the new TDateset buffer type pbyte? Delphi 7 can do pointer arithmetic with pchar and pwidechar only. A side mark: I don't think using the old ansistring as combined binary and character buffer is such a bad thing. TByte could replace such buffers only if Pascal string indexing would be zero based. Consequently with all these changes Delphi string indexes should be zero based too, same as dynamic array indexes. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Mon, Feb 27, 2012 at 12:48:29PM +0100, Martin Schreiber wrote: > > > > I'll study if the normal tbookmark can change to tbytes short term. If not, > > I'll add the bookmarkstr as deprecated property for time being. > > > Using TBytes as TBookmark everywhere (especially internally in TDataset) > probably introduces unnecessary overhead. Btw, didn't know you use fcl-db as base for MSE. If so, please also note the other interface related change: http://wiki.freepascal.org/User_Changes_Trunk -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Mon, Feb 27, 2012 at 12:48:29PM +0100, Martin Schreiber wrote: > > > property BookmarkStr: TBookmarkStr read GetBookmarkStr write > > > SetBookmarkStr; > > > " > > > so in user code we can have a bookmark type with automatic memory > > > management. > > > > I'll study if the normal tbookmark can change to tbytes short term. If not, > > I'll add the bookmarkstr as deprecated property for time being. > > > Using TBytes as TBookmark everywhere (especially internally in TDataset) > probably introduces unnecessary overhead. Internally afaik tbookmark is not used but getbookmarkdata. Only in the getters and setters of the bookmark property the data is copied to the TBytes variable. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Monday 27 February 2012 12:22:58 Marco van de Voort wrote: > > Please add TDataset.BookmarkStr property: > > " > > public > > property BookmarkStr: TBookmarkStr read GetBookmarkStr write > > SetBookmarkStr; > > " > > so in user code we can have a bookmark type with automatic memory > > management. > > I'll study if the normal tbookmark can change to tbytes short term. If not, > I'll add the bookmarkstr as deprecated property for time being. > Using TBytes as TBookmark everywhere (especially internally in TDataset) probably introduces unnecessary overhead. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Mon, Feb 27, 2012 at 06:50:38AM +0100, Martin Schreiber wrote: > > TDataset.freerecord. That Delphi compatible though in current delphi's that > > is probably empty, since tbookmark is tbytes there. > > > There is no TDataset.freerecord() procedure in FPC trunk AFAIK. Sorry, freebookmark. > Please add TDataset.BookmarkStr property: > " > public > property BookmarkStr: TBookmarkStr read GetBookmarkStr write > SetBookmarkStr; > " > so in user code we can have a bookmark type with automatic memory management. I'll study if the normal tbookmark can change to tbytes short term. If not, I'll add the bookmarkstr as deprecated property for time being. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sunday, 26. February 2012 19.38:39 Marco van de Voort wrote: > > > > How does the memory release work? With tbookmarkstr it was done > > automatically by the compiler. > > TDataset.freerecord. That Delphi compatible though in current delphi's that > is probably empty, since tbookmark is tbytes there. > There is no TDataset.freerecord() procedure in FPC trunk AFAIK. Please add TDataset.BookmarkStr property: " public property BookmarkStr: TBookmarkStr read GetBookmarkStr write SetBookmarkStr; " so in user code we can have a bookmark type with automatic memory management. Thanks, Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sun, Feb 26, 2012 at 03:22:32PM +0100, Martin Schreiber wrote: > > No. 2.7.x changed tbookmark from binary-data-encoded-in-an-ansistring to an > > abstract type for compat of D2006+. The idea is to merge this back to 2.6.1 > > too. (so fix with fullversion>20600) > > > How does the memory release work? With tbookmarkstr it was done automatically > by the compiler. TDataset.freerecord. That Delphi compatible though in current delphi's that is probably empty, since tbookmark is tbytes there. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sun, Feb 26, 2012 at 6:14 PM, zeljko wrote: > ** > > Yes, but original post is about 2.4.5 NOT about 2.7.1, > > also somebody opened issue at lazarus mantis about it. > > > zeljko > > > > Sorry about the confusion, my initial plan was testing the fix by zeljko about lazarus behaviar under linux. First I tried this on a machine with fpc 2.4.5. When this was fixed I had no chance to do this on the same machine and tried to install fpc/lazarus on a computer without both so ended up trying installing trunk/trunk that wasn't possible because of this error. Max -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sunday, 26. February 2012 14.41:13 Marco van de Voort wrote: > On Sun, Feb 26, 2012 at 08:15:13AM +0100, zeljko wrote: > > On Saturday 25 of February 2012 20:20:51 Max Vlasov wrote: > > > Tried make it from scratch on a machine without fpc and lazarus. > > > Download both trunk, but 35594 can't compile with > > > > > > dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected > > > "AnsiString" > > > > That have nothing to do with problem you've mentioned. Probably somebody > > commited code which works on 2.6/2.7 but not on 2.4.5. > > No. 2.7.x changed tbookmark from binary-data-encoded-in-an-ansistring to an > abstract type for compat of D2006+. The idea is to merge this back to 2.6.1 > too. (so fix with fullversion>20600) > How does the memory release work? With tbookmarkstr it was done automatically by the compiler. Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sunday 26 of February 2012 14:41:13 Marco van de Voort wrote: > On Sun, Feb 26, 2012 at 08:15:13AM +0100, zeljko wrote: > > On Saturday 25 of February 2012 20:20:51 Max Vlasov wrote: > > > Tried make it from scratch on a machine without fpc and lazarus. > > > Download both trunk, but 35594 can't compile with > > > > > > dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected > > > "AnsiString" > > > > That have nothing to do with problem you've mentioned. Probably somebody > > commited code which works on 2.6/2.7 but not on 2.4.5. > > No. 2.7.x changed tbookmark from binary-data-encoded-in-an-ansistring to an > abstract type for compat of D2006+. The idea is to merge this back to 2.6.1 > too. (so fix with fullversion>20600) > > I only noticed the lazarus breakage later, and wanted to wait what the laz > devels thought of it. If needed I can revert it for a while, so they can > work and test first. > > I found no way to fix it under the hood. Yes, but original post is about 2.4.5 NOT about 2.7.1, also somebody opened issue at lazarus mantis about it. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sun, Feb 26, 2012 at 08:15:13AM +0100, zeljko wrote: > On Saturday 25 of February 2012 20:20:51 Max Vlasov wrote: > > Tried make it from scratch on a machine without fpc and lazarus. Download > > both trunk, but 35594 can't compile with > > > > dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected > > "AnsiString" > > That have nothing to do with problem you've mentioned. Probably somebody > commited code which works on 2.6/2.7 but not on 2.4.5. No. 2.7.x changed tbookmark from binary-data-encoded-in-an-ansistring to an abstract type for compat of D2006+. The idea is to merge this back to 2.6.1 too. (so fix with fullversion>20600) I only noticed the lazarus breakage later, and wanted to wait what the laz devels thought of it. If needed I can revert it for a while, so they can work and test first. I found no way to fix it under the hood. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sun, 26 Feb 2012 13:38:43 +0300 Max Vlasov wrote: >[...] > Just yesterday this line didn't produce any search results in Google, today > it leads at least to two bug reports in the tracker ) > > Don't know whether it would lead to anything, but I exlained by steps : > - Installed stocked binary from Ubuntu (2.4.0) > - Downloaded trunk fpc The mail subject says 2.4.5. Just making sure: You mean fpc trunk 2.7.1, right? > , compiled it (make clean all install > INSTALL_PREFIX=/usr/local) > - Uninstalled stock fpc > - After fpc complaining about ppc386 did a symlink to /usr/local.. ppc386 > - Modified /etc/fpc.cfg, three lines pointing now to /usr/local... > - Tried make clean all in lazarus > - (ERROR) Stopped on the following line about dbgrids. > - Tried to recompile fpc using now the only fpc (trunk) > - Tried to rebuild packages (make clean all .., make install... inside > fpc/packages) > - (ERROR) the same error. Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sun, Feb 26, 2012 at 10:15 AM, zeljko wrote: > ** > > On Saturday 25 of February 2012 20:20:51 Max Vlasov wrote: > > > On Sat, Feb 25, 2012 at 6:48 PM, Max Vlasov > wrote: > > > > On Sat, Feb 25, 2012 at 5:36 PM, zeljko wrote: > > > >> ** > > > >> > > > >> On Saturday 25 of February 2012 14:04:17 Juha Manninen wrote: > > > >> > 2012/2/25 Max Vlasov > > > >> > > > > >> > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > > > >> > > > >> Yep, ifdef was for fpc < 20405 , now it's < 20501 so it should work. > > > > > > > > Thanks, can't check right now, but hope it will work > > > > > > > > Max > > > > > > Tried make it from scratch on a machine without fpc and lazarus. Download > > > both trunk, but 35594 can't compile with > > > > > > dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected > > > "AnsiString" > > > > That have nothing to do with problem you've mentioned. Probably somebody > commited code which works on 2.6/2.7 but not on 2.4.5. > > Anyway, I'm suspicious about that since Juha tested builds with 2.4.4 and > it was ok. > > > Just yesterday this line didn't produce any search results in Google, today it leads at least to two bug reports in the tracker ) Don't know whether it would lead to anything, but I exlained by steps : - Installed stocked binary from Ubuntu (2.4.0) - Downloaded trunk fpc, compiled it (make clean all install INSTALL_PREFIX=/usr/local) - Uninstalled stock fpc - After fpc complaining about ppc386 did a symlink to /usr/local.. ppc386 - Modified /etc/fpc.cfg, three lines pointing now to /usr/local... - Tried make clean all in lazarus - (ERROR) Stopped on the following line about dbgrids. - Tried to recompile fpc using now the only fpc (trunk) - Tried to rebuild packages (make clean all .., make install... inside fpc/packages) - (ERROR) the same error. Max -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Saturday 25 of February 2012 20:20:51 Max Vlasov wrote: > On Sat, Feb 25, 2012 at 6:48 PM, Max Vlasov wrote: > > On Sat, Feb 25, 2012 at 5:36 PM, zeljko wrote: > >> ** > >> > >> On Saturday 25 of February 2012 14:04:17 Juha Manninen wrote: > >> > 2012/2/25 Max Vlasov > >> > > >> > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > >> > >> Yep, ifdef was for fpc < 20405 , now it's < 20501 so it should work. > > > > Thanks, can't check right now, but hope it will work > > > > Max > > Tried make it from scratch on a machine without fpc and lazarus. Download > both trunk, but 35594 can't compile with > > dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected > "AnsiString" That have nothing to do with problem you've mentioned. Probably somebody commited code which works on 2.6/2.7 but not on 2.4.5. Anyway, I'm suspicious about that since Juha tested builds with 2.4.4 and it was ok. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sat, Feb 25, 2012 at 6:48 PM, Max Vlasov wrote: > > On Sat, Feb 25, 2012 at 5:36 PM, zeljko wrote: > >> ** >> >> On Saturday 25 of February 2012 14:04:17 Juha Manninen wrote: >> >> > 2012/2/25 Max Vlasov >> >> > >> >> > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 >> >> Yep, ifdef was for fpc < 20405 , now it's < 20501 so it should work. >> >> >> > Thanks, can't check right now, but hope it will work > > Max > Tried make it from scratch on a machine without fpc and lazarus. Download both trunk, but 35594 can't compile with dbgrids.pas(1991,31) Error: Incompatible types: got "Pointer" expected "AnsiString" The error appears 4 times. Sorry if it's something wrong with my particular configuration Max -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Sat, Feb 25, 2012 at 5:36 PM, zeljko wrote: > ** > > On Saturday 25 of February 2012 14:04:17 Juha Manninen wrote: > > > 2012/2/25 Max Vlasov > > > > > > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > > Yep, ifdef was for fpc < 20405 , now it's < 20501 so it should work. > > > Thanks, can't check right now, but hope it will work Max -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Saturday 25 of February 2012 14:04:17 Juha Manninen wrote: > 2012/2/25 Max Vlasov > > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > > > > gtk2winapi.inc(3403,73) Error: Identifier not found > > > > "pango_font_family_is_monospace" > > > > I also see that in gtk2extrah.inc the inclusion of this symbol is > > optional depending on the fpc version. Is this something wrong with my > > sources paths or 2.4.5 is no longer sufficient? > > Zeljan fixed it so it compiles with FPC 2.4.4. Maybe the IFDEF is wrong. Yep, ifdef was for fpc < 20405 , now it's < 20501 so it should work. zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
On Saturday 25 of February 2012 13:17:53 Max Vlasov wrote: > Hi, > > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > > gtk2winapi.inc(3403,73) Error: Identifier not found > "pango_font_family_is_monospace" > > I also see that in gtk2extrah.inc the inclusion of this symbol is optional > depending on the fpc version. Is this something wrong with my sources paths > or 2.4.5 is no longer sufficient? fixed in r35593 zeljko -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
2012/2/25 Max Vlasov > can't make clean all for trunk version under ubuntu with fpc 2.4.5 > > gtk2winapi.inc(3403,73) Error: Identifier not found > "pango_font_family_is_monospace" > > I also see that in gtk2extrah.inc the inclusion of this symbol is optional > depending on the fpc version. Is this something wrong with my sources paths > or 2.4.5 is no longer sufficient? > Zeljan fixed it so it compiles with FPC 2.4.4. Maybe the IFDEF is wrong. Juha -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Can't compile trunk with fpc 2.4.5 under ubuntu
Hi, can't make clean all for trunk version under ubuntu with fpc 2.4.5 gtk2winapi.inc(3403,73) Error: Identifier not found "pango_font_family_is_monospace" I also see that in gtk2extrah.inc the inclusion of this symbol is optional depending on the fpc version. Is this something wrong with my sources paths or 2.4.5 is no longer sufficient? Thanks, Max -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus