Re: [fpc-devel] new rtl- packages

2014-01-08 Thread Thaddy

Hoi, Marco,

native win32 ben je vergeten.
matrix...

Groetjes, Thaddy
On 6-1-2014 13:10, Marco van de Voort wrote:

To whom it may concern, fyi

The RTL was getting quite big, and is compiled 4-5 times per make all, so
with a major branch splitting off in the next half year and the end of the
2.6.x branch, it was considered time to move some of them to packages.

As some of you might have noticed, the first such rearrangements have been
made, three new packages have been created, containing the units listed
below.

rtl-extra  : objects matrix ucomplex
rtl-objpas : convutil(s) dateutil(s) stdconvs variants varutils
rtl-console: crt video keyboard mouse

Another package (rtl-unicode?) with encoding table units will follow in the
coming weeks, and more units will be moved to rtl-extra.

This work is done in pieces because with 30+ rtl/xxx/Makefile.fpc to edit,
it is a bit sensitive. If you get an error compiling the RTL or a package
due to a missing unit on trunk, don't hesitate to report it here.

Thank you.

Marco
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel





smime.p7s
Description: S/MIME Cryptographic Signature
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


[fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread John Lee
In Pascal programmers guide v2.6 Feb 2013 it explains how to use {$I ... }
to include compiler information eg version string, time string etc so one
can include eg in a  writeln, but it does not mention not the optimisation
level at which program was compiled.

Is this an omission or is this info elsewhere? If so where 7 how do I do it
please?

TIA

John



___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread Pierre Free Pascal
  Hi John,

  in the scanner.pas unit 
procedure dir_include,
code starting around line 2324 on current trunk,
you can see that there are only a few special
names allowed.
  If there is no match, the compiler looks for
an environment string with that name.

  This might be the solution for your problem...

Otherwise you can try to submit a patch
adding such an option.

Pierre


 -Message d'origine-
 De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel-
 boun...@lists.freepascal.org] De la part de John Lee
 Envoyé : mercredi 8 janvier 2014 14:21
 À : FPC developers' list
 Objet : [fpc-devel] programmers guide 2.6 issue
 
 In Pascal programmers guide v2.6 Feb 2013 it explains how to use {$I
 ... } to include compiler information eg version string, time string
 etc so one can include eg in a  writeln, but it does not mention not
 the optimisation level at which program was compiled.
 
 Is this an omission or is this info elsewhere? If so where 7 how do I
 do it please?
 
 TIA
 
 John
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Hans-Peter Diettrich

Jonas Maebe schrieb:

http://wiki.freepascal.org/FPC_Unicode_support (only Sections 1 to 3; 4 
and later are older and mostly either incomplete or wishful thinking).


Just a note on RawByteString concatenation:

Delphi concatenates RawByteStrings to the dynamic encoding of the 
*first* string, the appended strings eventually are converted before 
concatenation. Special handling of strings with the same encoding is not 
required.

I.e. the result is *not* always a CP_ACP string, as documented in the wiki.

Please adjust the implementation accordingly, it makes the 
RawByteStrings much more useful. The handling of automatic conversions 
may be unified in general, when concatenated strings are assigned to a 
target of a known encoding; in this case the target encoding can be used 
for the result, instead of the encoding of the first string, the 
remaining concatenation process can be the same.



On OEMString:

CP_OEM (=1) works differently from CP_ACP (=0). Variables of type 
AnsiString(CP_OEM) will always have dynamic encoding CP_OEM, no 
substitution to a specific OEM codepage. CP_ACP strings instead have a 
dynamic encoding of the current DefaultSystemCodepage.


DoDi

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread John Lee
Thanks - I'd thought that I'd seen somewhere (here?) that one could get the
opt info into compiler string somehow  thought it'd be there hence so doc
. Maybe it is somewhere else  not under {I ...}?


On 8 January 2014 13:35, Pierre Free Pascal pie...@freepascal.org wrote:

   Hi John,

   in the scanner.pas unit
 procedure dir_include,
 code starting around line 2324 on current trunk,
 you can see that there are only a few special
 names allowed.
   If there is no match, the compiler looks for
 an environment string with that name.

   This might be the solution for your problem...

 Otherwise you can try to submit a patch
 adding such an option.

 Pierre


  -Message d'origine-
  De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel-
  boun...@lists.freepascal.org] De la part de John Lee
  Envoyé : mercredi 8 janvier 2014 14:21
  À : FPC developers' list
  Objet : [fpc-devel] programmers guide 2.6 issue
 
  In Pascal programmers guide v2.6 Feb 2013 it explains how to use {$I
  ... } to include compiler information eg version string, time string
  etc so one can include eg in a  writeln, but it does not mention not
  the optimisation level at which program was compiled.
 
  Is this an omission or is this info elsewhere? If so where 7 how do I
  do it please?
 
  TIA
 
  John


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Sven Barth
Am 08.01.2014 15:58 schrieb Hans-Peter Diettrich drdiettri...@aol.com:
 Delphi concatenates RawByteStrings to the dynamic encoding of the *first*
string, the appended strings eventually are converted before concatenation.
Special handling of strings with the same encoding is not required.
 I.e. the result is *not* always a CP_ACP string, as documented in the
wiki.

Would you be so kind to provide a simple test case for this? :)

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


Re: [fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread Sven Barth
Am 08.01.2014 14:21 schrieb John Lee johnel...@gmail.com:

 In Pascal programmers guide v2.6 Feb 2013 it explains how to use {$I ...
} to include compiler information eg version string, time string etc so one
can include eg in a  writeln, but it does not mention not the optimisation
level at which program was compiled.

 Is this an omission or is this info elsewhere? If so where 7 how do I do
it please?

The optimizations are local not global, so it wouldn't make much sense to
include such a functionality as they would only show you the currently
active optimizations.

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


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Hans-Peter Diettrich

Sven Barth schrieb:
Am 08.01.2014 15:58 schrieb Hans-Peter Diettrich drdiettri...@aol.com 
mailto:drdiettri...@aol.com:
  Delphi concatenates RawByteStrings to the dynamic encoding of the 
*first* string, the appended strings eventually are converted before 
concatenation. Special handling of strings with the same encoding is not 
required.
  I.e. the result is *not* always a CP_ACP string, as documented in the 
wiki.


Would you be so kind to provide a simple test case for this? :)


function test(a,b: RawByteString): RawByteString;
begin
  Result := a+b;
  WriteLn(StringCodePage(Result));
end;

var
  u: UTF8String;
  a: AnsiString;
begin
  a := 'äöü';
  u := 'üöä';
  test(a,u);  //CP_ACP
  test(u,a);  //UTF-8
end;

It looks to me, however, that no conversion occurs at all!
The strings are only concatenated as they are.
Same for a concatenation of (global) RawByteString variables.

This of course were not a desireable implementation :-(

DoDi

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Sven Barth

On 08.01.2014 19:57, Hans-Peter Diettrich wrote:

Sven Barth schrieb:

Am 08.01.2014 15:58 schrieb Hans-Peter Diettrich
drdiettri...@aol.com mailto:drdiettri...@aol.com:
  Delphi concatenates RawByteStrings to the dynamic encoding of the
*first* string, the appended strings eventually are converted before
concatenation. Special handling of strings with the same encoding is
not required.
  I.e. the result is *not* always a CP_ACP string, as documented in
the wiki.

Would you be so kind to provide a simple test case for this? :)


function test(a,b: RawByteString): RawByteString;
begin
   Result := a+b;
   WriteLn(StringCodePage(Result));
end;

var
   u: UTF8String;
   a: AnsiString;
begin
   a := 'äöü';
   u := 'üöä';
   test(a,u);  //CP_ACP
   test(u,a);  //UTF-8
end;

It looks to me, however, that no conversion occurs at all!
The strings are only concatenated as they are.
Same for a concatenation of (global) RawByteString variables.

This of course were not a desireable implementation :-(


I'm inclined to say of course, because in your test function you are 
concatenating two RawByteStrings which - by definition - don't do any 
conversion.


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


Re: [fpc-devel] DOS GUI

2014-01-08 Thread Travis Siegel


On Dec 26, 2013, at 1:17 PM, Jim Leonard wrote:


On 12/26/2013 11:35 AM, Pierre Free Pascal wrote:

  It would be nice to have it publicly available.


Seconded.

I agree with this assessment as well.


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread John Lee
You are making it sound v complicated - but the settings eg for the main
program eg might be -O3 or -O2 or something are meaningful - most people
don't mess with them anyway. I feel sure that I've seen somewhere how to
get them into compiler string, but can't remember how!

J


On 8 January 2014 18:05, Sven Barth pascaldra...@googlemail.com wrote:

 Am 08.01.2014 14:21 schrieb John Lee johnel...@gmail.com:

 
  In Pascal programmers guide v2.6 Feb 2013 it explains how to use {$I ...
 } to include compiler information eg version string, time string etc so one
 can include eg in a  writeln, but it does not mention not the optimisation
 level at which program was compiled.
 
  Is this an omission or is this info elsewhere? If so where 7 how do I do
 it please?

 The optimizations are local not global, so it wouldn't make much sense to
 include such a functionality as they would only show you the currently
 active optimizations.

 Regards,
 Sven

 ___
 fpc-devel maillist  -  fpc-devel@lists.freepascal.org
 http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] programmers guide 2.6 issue

2014-01-08 Thread Sven Barth
Am 08.01.2014 22:16 schrieb John Lee johnel...@gmail.com:

 You are making it sound v complicated - but the settings eg for the main
program eg might be -O3 or -O2 or something are meaningful - most people
don't mess with them anyway. I feel sure that I've seen somewhere how to
get them into compiler string, but can't remember how!

This would then only work plausably if the function which uses that
optimization to string functionality is defined inside the main program as
each unit can be compiled differently. Also -O2, etc. are not the only
optimization parameters: every specific optimization can be switched on and
off independently of the optimization level and then there's also the
whole program optimization. So you see that this is not trivial.

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


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Hans-Peter Diettrich

Sven Barth schrieb:

On 08.01.2014 19:57, Hans-Peter Diettrich wrote:



It looks to me, however, that no conversion occurs at all!
The strings are only concatenated as they are.
Same for a concatenation of (global) RawByteString variables.

This of course were not a desireable implementation :-(


I'm inclined to say of course, because in your test function you are 
concatenating two RawByteStrings which - by definition - don't do any 
conversion.


I cited what I've been told in the EMBT groups - that a conversion is 
made when required. Everything else doesn't make sense.


DoDi

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


Re: [fpc-devel] Explanation about code page-aware AnsiStrings

2014-01-08 Thread Sven Barth

On 08.01.2014 23:54, Hans-Peter Diettrich wrote:

Sven Barth schrieb:

On 08.01.2014 19:57, Hans-Peter Diettrich wrote:



It looks to me, however, that no conversion occurs at all!
The strings are only concatenated as they are.
Same for a concatenation of (global) RawByteString variables.

This of course were not a desireable implementation :-(


I'm inclined to say of course, because in your test function you
are concatenating two RawByteStrings which - by definition - don't do
any conversion.


I cited what I've been told in the EMBT groups - that a conversion is
made when required. Everything else doesn't make sense.


And your example proves otherwise...

Regards,
Sven

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel