Re: [Lazarus] Switching Lazarus between fpc 3.2.0 and 3.0.4 - how to?

2020-07-04 Thread Bo Berglund via lazarus
On Mon, 22 Jun 2020 17:44:20 +0100, Graeme Geldenhuys via lazarus
 wrote:

>On 21/06/2020 6:18 am, Bo Berglund via lazarus wrote:
>> Is it possible to switch Lazarus between using fpc 3.0.4 and 3.2.0 so
>> as to compare the two easily?
>
>Yes. There is no need for duplicate Lazarus installs. Simply have 2 or
>more FPC versions installed. I believe the build modes would help switch
>between the two.

Still I seem not to understand this...
I do have two fpc versions installed (3.0.4 and 3.2.0).

But I cannot find any setting for compiler in
Project/Project_Options/Compiler_Options/Build_Modes
I only see these items there:
- Other unit files
- Include files
- Libraries
- Unit output directory
- Target file name
- Apply conventions (a checkbox)
- Other sorces
- Debugger path addition


And now I have installed Lazarus 2.0.10 and it *requires* fpc 3.2.0 in
order to be able to install packages etc (rebuilding itself).
So I have set Lazarus 2.0.10 to use the newly installed fpc 3.2.0.

Does this mean that I also have to build all my projects using fpc
3.2.0?

Or do I have to create a new Lazarus instance shortcut using a
different pcp directory where I have set the compiler to be 3.0.4?
That would make it impossible to install the packages I need since
such a settings stops Lazarus from rebuilding itself (it needs fpc
3.2.0 for that)

I cannot find any *project level* settings in Lazarus that allows me
to set the compiler to use for the individual project...
(See above about the suggested Build Modes)

So how can I cope with this?
Is it not possible to *easily* switch between two different fpc
versions when building ones project?

How can Lazarus be used for cross-compiling in such a case?
(I never got cross compile to work when I tried it years back, so I
always work on the target platform for that reason)


>Alternatively, MSEide makes this extremely easy, as can be seen in the
>attached screenshot. You can assign shortcuts too, so you don't even
>have to go into the Project Options.

Is MSEide a replacement for Lazarus?
I really do not want to go down the path of learning a new dev tool...


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Graeme Geldenhuys via lazarus
On 04/07/2020 9:48 pm, Sven Barth via lazarus wrote:
> I've just tested: Delphi does not support Emojis. 

I've just tested with Java. They allow Unicode, but only what is
considered "spoken language" characters. So things like Emojis, Math
Symbols, Arrows etc are not allowed as part of the text making up
the identifier's name.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Sven Barth via lazarus

Am 04.07.2020 um 22:56 schrieb Marco van de Voort via lazarus:


Op 2020-07-04 om 22:48 schreef Sven Barth via lazarus:

Am 04.07.2020 um 20:13 schrieb Graeme Geldenhuys via lazarus:

On 04/07/2020 7:11 pm, Graeme Geldenhuys via lazarus wrote:

var
    : Integer;
begin
    for  := 0 to 10 do
  writeln();
end.


And exception variables could be 濫  (nauseated face).


I've just tested: Delphi does not support Emojis. According to their 
documentation ( 
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Identifiers ) they 
adhere to ISO/IEC TR 10176:2003 ( 
https://www.iso.org/standard/37765.html ). Sadly this standard isn't 
freely available to check what is allowed and what not :/


Seems C++ (23) committee has that problem too 
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1949r0.html 
they refer to the relevant annex that seems to be available 
https://unicode.org/reports/tr31/


The Unicode Standard I had linked yesterday evening already, cause I 
knew that one existed, but I didn't know about the ISO/IEC one...


Regards,
Sven
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Marco van de Voort via lazarus


Op 2020-07-04 om 22:48 schreef Sven Barth via lazarus:

Am 04.07.2020 um 20:13 schrieb Graeme Geldenhuys via lazarus:

On 04/07/2020 7:11 pm, Graeme Geldenhuys via lazarus wrote:

var
    : Integer;
begin
    for  := 0 to 10 do
  writeln();
end.


And exception variables could be 濫  (nauseated face).


I've just tested: Delphi does not support Emojis. According to their 
documentation ( 
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Identifiers ) they 
adhere to ISO/IEC TR 10176:2003 ( 
https://www.iso.org/standard/37765.html ). Sadly this standard isn't 
freely available to check what is allowed and what not :/


Seems C++ (23) committee has that problem too 
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1949r0.html 
they refer to the relevant annex that seems to be available 
https://unicode.org/reports/tr31/



--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Sven Barth via lazarus

Am 04.07.2020 um 20:13 schrieb Graeme Geldenhuys via lazarus:

On 04/07/2020 7:11 pm, Graeme Geldenhuys via lazarus wrote:

var
: Integer;
begin
for  := 0 to 10 do
  writeln();
end.


And exception variables could be 濫  (nauseated face).


I've just tested: Delphi does not support Emojis. According to their 
documentation ( 
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Identifiers ) they 
adhere to ISO/IEC TR 10176:2003 ( 
https://www.iso.org/standard/37765.html ). Sadly this standard isn't 
freely available to check what is allowed and what not :/


Regards,
Sven
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Bo Berglund via lazarus
On Sat, 4 Jul 2020 19:23:30 +0200, Martin Frb via lazarus
 wrote:

>But you can start
>lazarus --setup
>and that will show the initial setup.

Thanks,
I decided to delete/rename the file environmentoptions.xml in the pcp
directory for Lazarus 2.0.10 and then started Lazarus again.
It brought up the dialog so I could set the compiler as:
/home/pi/lib/fpc/3.2.0/ppcarm
and the fpc sources as:
/home/pi/dev/fpc/3.2.0/

Then all worked normally. Of course I still do not know if the
compiler 3.0.4 or 3.2.0 will be used when I compile the projects, but
I guess I will be able to find out later.
The files in user path are as follows:

pi@rpi4-gui:~ $ which ppcarm
/home/pi/bin/ppcarm
pi@rpi4-gui:~ $ which fpc
/home/pi/bin/fpc

Both of which are 3.0.4

Right now I am OK with having the latest Lazarus with the packages I
normally always add installed without errors.


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Graeme Geldenhuys via lazarus
On 04/07/2020 7:11 pm, Graeme Geldenhuys via lazarus wrote:
> var
>: Integer;
> begin
>for  := 0 to 10 do
>  writeln();
> end.


And exception variables could be 濫  (nauseated face).


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Graeme Geldenhuys via lazarus
On 03/07/2020 3:37 pm, Michael Van Canneyt via lazarus wrote:
> I did a quick test in Delphi:

If Unicode is indeed supported in the language itself, it would
be hilarious to start seeing coding using emojis as identifiers!
:-D

https://unicode.org/emoji/charts/full-emoji-list.html


var
   : Integer;
begin
   for  := 0 to 10 do
 writeln();
end.


Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Martin Frb via lazarus

On 04/07/2020 19:10, Bo Berglund via lazarus wrote:

Question:
Is there a menu command inside Lazarus to bring up the initial dialog
where the location of the compiler, sources etc is defined?
Because I did not realize that when I started Lazarus 2.0.10 for the
first time I should have made sure fpc was set to use 3.2.0...


There is no menu. The compiler/etc can be set in the options dialog.

But you can start
lazarus --setup
and that will show the initial setup.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Bo Berglund via lazarus
On Sat, 4 Jul 2020 18:12:57 +0200, Martin Frb via lazarus
 wrote:

>On 04/07/2020 17:21, Bo Berglund via lazarus wrote:
>> On Mon, 22 Jun 2020 16:14:40 +0200, Martin Frb via lazarus
>>  wrote:
>>
>>> The Lazarus team has scheduled
>>>
>>>        Lazarus 2.0.10
>>>        for July 2020 (estimated 4th to 11th)
>>>
>>>This release will be built with_*FPC 3.2.0*_.
>>>
>> This concerns Lazarus / FPC on Raspberry Pi4
>>
>> I have just retrieved the 2.0.10 sources via SVN and built Lazarus
>> using the FPC 3.2.0 installation I had already done.
>>
>> It worked fine but when I started Lazarus it showed the dialog where
>> the location of things like fpc sources and compiler etc are
>> displayed.
>> It turns out that for these items it selected fpc 3.0.4 still.
>>
>> So my Lazarus is built using fpc 3.2.0 but when I install new packages
>> they will probably be built using fpc 3.0.4.
>> Does this cause some confusion?
>>
>> Should Lazarus 2.0.10 be repointed towards fpc 3.2.0 before installing
>> new packages (via OPM)?
>>
>>
>You need to differ between upgrade and new install.
>
>Upgrades do not touch (during install) the existing config.
>
>If the old fpc install is kept, then the config still points to it. => 
>And installing packages will rebuild the entire IDE with this compiler.
>(As will your projects be build with the old compiler)
>
>If you updated fpc too, the old fpc would no longer be there, forcing 
>the IDE to update the config on startup.
>(This is an issue on windows, because the installer does not delete the 
>old fpc afaik)

1) I do not "upgrade" an installation, I always retrieve sources from
SVN and build them using the make commands. Thus I have multiple
installations of Lazarus available on my system and all are now
pointing to fpc 3.0.4.

2) As stated in the release message Lazarus 2.0.10 is built using fpc
3.2.0, thus I ponted the make script to that version so Lazarus built
just fine from the sources. Every Lazarus version uses its own pcp
directory.

3) I am not talking about Windows here, I stated that it concerns
Raspberry Pi4, i.e. we are talking Raspbian Buster Linux as the
operating system.

Question:
Is there a menu command inside Lazarus to bring up the initial dialog
where the location of the compiler, sources etc is defined?
Because I did not realize that when I started Lazarus 2.0.10 for the
first time I should have made sure fpc was set to use 3.2.0...


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Martin Frb via lazarus

On 04/07/2020 17:21, Bo Berglund via lazarus wrote:

On Mon, 22 Jun 2020 16:14:40 +0200, Martin Frb via lazarus
 wrote:


The Lazarus team has scheduled

       Lazarus 2.0.10
       for July 2020 (estimated 4th to 11th)

   This release will be built with_*FPC 3.2.0*_.


This concerns Lazarus / FPC on Raspberry Pi4

I have just retrieved the 2.0.10 sources via SVN and built Lazarus
using the FPC 3.2.0 installation I had already done.

It worked fine but when I started Lazarus it showed the dialog where
the location of things like fpc sources and compiler etc are
displayed.
It turns out that for these items it selected fpc 3.0.4 still.

So my Lazarus is built using fpc 3.2.0 but when I install new packages
they will probably be built using fpc 3.0.4.
Does this cause some confusion?

Should Lazarus 2.0.10 be repointed towards fpc 3.2.0 before installing
new packages (via OPM)?



You need to differ between upgrade and new install.

Upgrades do not touch (during install) the existing config.

If the old fpc install is kept, then the config still points to it. => 
And installing packages will rebuild the entire IDE with this compiler.

(As will your projects be build with the old compiler)

If you updated fpc too, the old fpc would no longer be there, forcing 
the IDE to update the config on startup.
(This is an issue on windows, because the installer does not delete the 
old fpc afaik)

--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Bo Berglund via lazarus
On Sat, 04 Jul 2020 17:21:25 +0200, Bo Berglund via lazarus
 wrote:

>On Mon, 22 Jun 2020 16:14:40 +0200, Martin Frb via lazarus
> wrote:
>
>>The Lazarus team has scheduled
>>
>>       Lazarus 2.0.10
>>       for July 2020 (estimated 4th to 11th)
>>
>>   This release will be built with_*FPC 3.2.0*_.
>>
>
>This concerns Lazarus / FPC on Raspberry Pi4
>
>I have just retrieved the 2.0.10 sources via SVN and built Lazarus
>using the FPC 3.2.0 installation I had already done.
>
>It worked fine but when I started Lazarus it showed the dialog where
>the location of things like fpc sources and compiler etc are
>displayed.
>It turns out that for these items it selected fpc 3.0.4 still.
>
>So my Lazarus is built using fpc 3.2.0 but when I install new packages
>they will probably be built using fpc 3.0.4.
>Does this cause some confusion?
>
>Should Lazarus 2.0.10 be repointed towards fpc 3.2.0 before installing
>new packages (via OPM)?

Forgot to add that when I try to install packages I get an error:
"Cannot install package: " (for every package I try)

So it actually seems like Lazarus must be set to use fpc 3.2.0 in
order to install packages.

How is that done (apart from doing it at the first time  Lazarus runs
and the dialog is shown)?
I think I have once (years ago) been told how to show the initial
dialog again, but now I cannot find it...

So I have the following problem:
- I need to use fpc 3.2.0 for all Lazarus related building (build
itself with new packages).
- But I also want to be able to use Lazarus to build a project using
the old stable fpc 3.0.4
- So Lazarus must be told to use 3.2.0 to rebuild itself and build
packages, but 3.0.4 to build projects.

Right now I think Lazarus can build my projects using fpc 3.0.4 but
not itself using fpc 3.2.0. And it must be able to build itself in
order to install packages...
And I cannot build my projects without these packages installed...


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] We are planning the next release: Lazarus 2.0.10

2020-07-04 Thread Bo Berglund via lazarus
On Mon, 22 Jun 2020 16:14:40 +0200, Martin Frb via lazarus
 wrote:

>The Lazarus team has scheduled
>
>       Lazarus 2.0.10
>       for July 2020 (estimated 4th to 11th)
>
>   This release will be built with_*FPC 3.2.0*_.
>

This concerns Lazarus / FPC on Raspberry Pi4

I have just retrieved the 2.0.10 sources via SVN and built Lazarus
using the FPC 3.2.0 installation I had already done.

It worked fine but when I started Lazarus it showed the dialog where
the location of things like fpc sources and compiler etc are
displayed.
It turns out that for these items it selected fpc 3.0.4 still.

So my Lazarus is built using fpc 3.2.0 but when I install new packages
they will probably be built using fpc 3.0.4.
Does this cause some confusion?

Should Lazarus 2.0.10 be repointed towards fpc 3.2.0 before installing
new packages (via OPM)?


-- 
Bo Berglund
Developer in Sweden

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Vincenzo Campanella via lazarus


Il 03.07.2020 18:44, Dmitry Boyarintsev via lazarus ha scritto:
On Fri, Jul 3, 2020 at 10:08 AM Special via lazarus 
mailto:lazarus@lists.lazarus-ide.org>> 
wrote:


on a Elementary  School near Heidelberg the nine-years-old pupils
learn
programming with Delphi 10.3 Community Edition. In one of the
programs
they use 'Type ZimmerType = (Küche, Wohnzimmer, Schlafzimmer);",


Having educational purposes in mind, can variable masking be 
achieved through IDE itself, rather than the compiler.


If a character outside of ANSI range is met within an identifier, IDE 
would replace it with something else.
So, instead of having "Küche" the source code would look like 
"K_Ache". (the next character would be replaced with _B, _C ..and so on)


It doesn't have to be done on the fly, it could be done before 
starting the compilation.

There are two benefits with this approach:
* no changes are needed for the compiler. (works with any version)
* the language rules of capitalization can be followed

Living in Switzerland, where German is one of the national languages, we 
oft face problems like this.


In this case, we simply substitute "ä" with "ae", "ö" with "oe" and "ü" 
with "ue". So: Küche -> Kueche. And: "ß" -> "ss".


Freundliche Grüße aus der Schweiz :)


-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Florian Klämpfl via lazarus


> Am 03.07.2020 um 14:09 schrieb Special via lazarus 
> :
> 
> Hi,
> 
> we have many Delphi programs with identifiers containing parts like 'Köln' 
> and 'Liège'. These programs we want to convert to Lazarus. Unfortunately, 
> Lazarus (or FP) seems not to be able to use identifiers with umlaute and 
> accents. Maybe the reason for this could be pure historical and stem from the 
> pre Unicode epoche.
> 
> Manually chanching all those identifiers and modifying the references to them 
> is not very elegant. By the way: Using the international names of cities 
> instead of their orginal names introduces new difficulties. The international 
> name of 'München', for instance, is 'Monaco', the same name as that for the 
> Grimaldi Imperium.
> 
> Circumscribing is also no option. The name of Müllerstadt is 'Müllerstadt' 
> and not 'Muellerstadt'.

Nevertheless German is a bad reason in this case. I think almost every German 
knows that e.g. the umlauts are often replaced by ae, oe, ue. All my email 
addresses are still using Klaempfl instead of Klämpfl. And actually everybody 
does this right.

> 
> Could Lazarus (and/or maybe Free Pascal) be improved to tolerate those 
> identfiers?
> 
> Regards  --  Joe
> -- 
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus

-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Proposal: Allow Umlaute and Accented Characters in Identifiers

2020-07-04 Thread Michael Van Canneyt via lazarus



On Sat, 4 Jul 2020, Special via lazarus wrote:


Am 03.07.2020 um 16:13 schrieb Martin Frb via lazarus:

On 03/07/2020 14:55, Péter Gábor via lazarus wrote:

Hi!

Then you must allow Cyrillic,d Arabic and so Chinese and other national
and special characters to be used in identifiers.
Worse, the same source may then compile or fail to compile depending on the 
locale.


Pascal is case insensitive.
var I: integer; // upper i
...
for i := 0 to x do ...;

compiles today.

But when compiling, using Turkish locale, this would fail.
In Turkish there is a dotted and a dotless i, both upper and lower.
So I and i are different letters.
https://en.wikipedia.org/wiki/Dotted_and_dotless_I


Hi,

if Lazarus had an option "Allow accented Latin characters and Umlauts in 
identifiers", then Cyrillic, Arabic and Chinese and other special national 
charcters and dotted characters like the Turkish "I." were not included 
('Dotted' is not 'Accented').  So we could enjoy the benefits of this 
proposal without the drawbacks.


Sorry, I don't think this is right.

Why should Russian, Chinese or Arabic or any non-latin alphabet students 
be disadvantaged compared to western students ?


Either you allow them all (with all that implies) or none (as it is now).

Michael.-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus