Re: [Lazarus] Switching Lazarus between fpc 3.2.0 and 3.0.4 - how to?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
> 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
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