Re: [Lazarus] Faster than popcnt [[Re: UTF8LengthFast returning incorrect results on AARCH64 (MacOS)]]

2021-12-30 Thread Florian Klämpfl via lazarus

Am 30.12.21 um 08:23 schrieb Alexey Tor. via lazarus:


New unit test, with Martin's integrated. If I play with godbolt, Ryzen 
zen3 (ryzen 5x00X) is nearly twice as fast in cycles as my Ivy Bridge, 
so I would like to see some benchmarks from various processors. Also 
from very old ones (P4 and Clawhammers) to test instruction sets. 

Project utf8lentest raised exception class 'External: SIGSEGV'.

  In file 'utf8lentest.lpr' at line 89:

movdqu xmm0, [rcx]

OS: Linux x64. CPU:


Linux uses different calling conventions, please check with the patch below.



    vendor_id = "GenuineIntel"
   (simple synth)  = Intel Core (unknown type) (Sandy Bridge 
D2/J1/Q0) {Sandy Bridge}, 32nm





15c15
< {define asmdebug}
---
> { $define asmdebug}
46c46
< function asmutf8length(const s : pchar;len:integer):int64;
---
> function asmutf8length(const s : 
pchar;len:int64):int64;assembler;nostackframe;

49d48
< begin
52c51
< mov r8,rdx
---
> mov r8,len
89c88
<   movdqu xmm0, [rcx]
---
>   movdqu xmm0, oword ptr [s]
95c94
<   add rcx,16
---
>   add s,16
128c127
<   movzx r8d, byte [rcx]// unaligned bytes after sse loop
---
>   movzx r8d, byte [s]  // unaligned bytes after sse loop
135c134
<   inc rcx
---
>   inc s
140c139
< end['xmm5','xmm6']; // volatile registers used.
---
>   ret

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


Re: [Lazarus] Faster than popcnt [[Re: UTF8LengthFast returning incorrect results on AARCH64 (MacOS)]]

2021-12-29 Thread Florian Klämpfl via lazarus

Am 29.12.2021 um 13:42 schrieb Marco van de Voort via lazarus:


p.s. is there a workaround for git worktree to work on the same branch? E.g. 
trunk for 32-bit and trunk for 64-bit ? :-)



No. You cannot checkout the same branch in two worktrees. But you can do the following: create a new branch in both 
worktrees and check them out (main_32bit and main_64bit), do in both directories: work, commit, pull, checkout main, 
merge the branch, push:


cd git/fpc/main1
git checkout -b main_32bit
git worktree add ../main2 -b main_64bit





cd main1
git checkout main
git pull
git merge main_32bit
git push

cd ../main2
git checkout main
git pull
git merge main_64bit
git push
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] UTF8LengthFast returning incorrect results on AARCH64 (MacOS)

2021-12-28 Thread Florian Klämpfl via lazarus

Am 28.12.2021 um 15:50 schrieb Bart via lazarus:

On Tue, Dec 28, 2021 at 3:39 PM Marco van de Voort via lazarus
 wrote:


On what machine did you test? The settings if for the generated code,
but the actual processor determines the effective speed.


I have a Intel i5 7th generation on my Win10-64 laptop from approx.
2017 (so, it's really old for more modern folks than me).

Compiled for 32-bit:
With -CpCOREI
Unsigned version with multiplication: 1359
Unsigned version with PopCnt: 1282

Compiled for 32-bit:
With -CpCOREAVX2
Unsigned version with multiplication: 1312
Unsigned version with PopCnt: 1297

Compiled for 32-bit
No -Cp switch
Unsigned version with multiplication: 1329
Unsigned version with PopCnt: 3546

B.t.w. what happens if I compile for e.g. CoreAVX2 but my processor
does not support that instructionset.
Will the compilation/build fail, or will the executable just error out?



Crash at run time with sigill. Popcnt was introduced with Nehalem, so >10 years 
ago.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] UTF8LengthFast returning incorrect results on AARCH64 (MacOS)

2021-12-28 Thread Florian Klämpfl via lazarus

Am 28.12.2021 um 15:01 schrieb Bart via lazarus:

On Tue, Dec 28, 2021 at 2:46 PM Marco van de Voort via lazarus
 wrote:



You need an appropriate minimal CPU with -Cp


Try e.g. -Cpcoreavx  for core 3000 series and higher


Thanks for that.

Up to PENTIUMM: PopCnt slower
COREI : approximately equally fast
COREAVX PopCnt slightly faster
COREAVX2 PopCnt slightly faster

Most likely not worth bothering.
In code can we check (at compile time) for which instructionset the
code was compiled?



For X86, check for the define CPUX86_HAS_POPCNT (compile time!).
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] UTF8LengthFast returning incorrect results on AARCH64 (MacOS)

2021-12-27 Thread Florian Klämpfl via lazarus

Am 27.12.2021 um 13:28 schrieb Bart via lazarus:

On Mon, Dec 27, 2021 at 12:44 AM Noel Duffy via lazarus
 wrote:


I need some help getting to the root of a problem with incorrect results
on Apple hardware (M1, aarch64) for the function UTF8LengthFast in lazutf8.


Your M1 architecture is BigEndian perhaps?
(I really have no idea)



No. It is little endian.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] TortoiseGit (was TMask revisited)

2021-10-17 Thread Florian Klämpfl via lazarus

Am 17.10.21 um 10:05 schrieb Juha Manninen via lazarus:
I still feel uncomfortable with external branch management and 
synchronization. I believe a GUI tool could help with that.

My main development platform is Linux where TortoiseGit is not available.
I may look at some other GUI tools later.


Try SmartGit while it is a Java program with all its disadvantages, it 
is imo the closest to TortoiseGit on linux. It is free for working on 
OSS software. Only on MacOS, I use Fork because when I ran SmartGit, 
several 100 GB per day were written to the SSD !?

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


Re: [Lazarus] Mantis vs GitLab issue tracker

2021-08-14 Thread Florian Klämpfl via lazarus


> Am 13.08.2021 um 21:53 schrieb Bart via lazarus 
> :
> 
> On Fri, Aug 13, 2021 at 9:02 PM Vojtěch Čihák via lazarus
>  wrote:
> 
>> is it just my impression that Mantis was more feature rich an had better 
>> layout?
> 
> Agreed.
> 
> However, maintaining Mantis (and our svn server) had become a nightmare.
> Unfortunately the issue tracker of GitLab doesn't offer the
> functionality we were used to.

This is my experience with all „modern“ software, often it’s functionality is 
reduced. But as Bart said, keeping Mantis up-to-date was a nightmare task as we 
used customized source code, I think because of strange notification behaviour.

-- 
___
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] Tab/Shift tab and block indentation

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

Am 19.04.20 um 23:40 schrieb Martin Frb via lazarus:

On 19/04/2020 23:22, Florian Klämpfl via lazarus wrote:
When completing code, lazarus takes the Block indent value from the 
editor options for indentions, so for proper indention one sets this 
value to two spaces normally. However, this has the effect that 
tab/shift+tab also un/indents by two spaces. This is often not useful 
when reorganizing code. Is there any way to decouple these two 
behaviors: so that code completion idents by 2, tab/shift+tab by 1? Or 
do I need to adapt lazarus sources?

I don't think there is a 2nd setting for codetools.


Would be great to have :)



But instead of using tab to (un-)indent selected lines, you can use the 
multi-caret feature.
Go to the left most column, on the first line. Then shift-alt-down until 
you have a caret in front of each line you wish to change. Now either 
delete spaces, or insert spaces.


Problem is, that backspace behaves really uncontrollable in this case: 
lines get one char removes others more, I think it does some unindent 
operation as well instead of just removing chars.


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


[Lazarus] Tab/Shift tab and block indentation

2020-04-19 Thread Florian Klämpfl via lazarus
When completing code, lazarus takes the Block indent value from the 
editor options for indentions, so for proper indention one sets this 
value to two spaces normally. However, this has the effect that 
tab/shift+tab also un/indents by two spaces. This is often not useful 
when reorganizing code. Is there any way to decouple these two 
behaviors: so that code completion idents by 2, tab/shift+tab by 1? Or 
do I need to adapt lazarus sources?

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


Re: [Lazarus] EAccessViolation exception on exit qt5 project in Kubuntu 19.10

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

Am 15.04.20 um 17:36 schrieb Florian Klämpfl via lazarus:
So it is very likely an unaligned data sig fault (rsp not divisable by 
8).


Sorry, must by ... by 16.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] EAccessViolation exception on exit qt5 project in Kubuntu 19.10

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

Am 15.04.20 um 09:24 schrieb zeljko:

On 4/14/20 8:24 PM, Florian Klämpfl via lazarus wrote:

Sorry, I were not precise enough. Can you also post a disassembly of 
the swap procedure at 0x7666c7f1?



0x7666c7f1 is at line 382 inside assembler.txt. That's all I can 
get.


The offending line is
=> 0x7666c7f1 <+385>:   movaps %xmm0,0x50(%rsp)

So it is very likely an unaligned data sig fault (rsp not divisable by 
8). This is fixed by r38400. Note that in some configurations it might 
work, in others not.

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


Re: [Lazarus] EAccessViolation exception on exit qt5 project in Kubuntu 19.10

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

Am 14.04.20 um 18:47 schrieb zeljko:

On 4/14/20 6:28 PM, Florian Klämpfl via lazarus wrote:

Am 14.04.20 um 12:55 schrieb zeljko via lazarus:

On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote:

Now I tried installing the packaged libqt5pas and still see no 
segfault.
Note that this isn't a fresh install, I dist-upgraded it (or better 
do-release-upgraded it) many times, but I don't think that should 
matter.


IMO, fpc version is important. fpc-3.0.4 from distro crashes, 


Does anybody have a stack dump of the crash? Maybe it's related to the 
stack alignment issues which are fixed in 3.2+?


This is crash dump - Fedora 30 64bit , fpc-3.0.4, Qt5 lcl.

Thread 1 "lazarus" received signal SIGSEGV, Segmentation fault.


Sorry, I were not precise enough. Can you also post a disassembly of the 
swap procedure at 0x7666c7f1?


0x7666c7f1 in std::swap (__b=..., __a=...) at 
/usr/include/c++/9/bits/move.h:182

warning: Source file is more recent than executable.
182 swap(_Tp& __a, _Tp& __b)
(gdb) bt
#0  0x7666c7f1 in std::swap (__b=..., __a=...) at 
/usr/include/c++/9/bits/move.h:182
#1  qSwap (value2=..., value1=...) at 
../../include/QtCore/../../src/corelib/global/qglobal.h:915
#2  QCoreApplication::removePostedEvents (receiver=0x3e702c0, 
eventType=0) at kernel/qcoreapplication.cpp:1883
#3  0x7669489e in QObjectPrivate::~QObjectPrivate 
(this=0x3c8e4e0, __in_chrg=) at kernel/qobject.cpp:258
#4  0x7fffe65993a0 in 
QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate 
(this=0x3c8e4e0, __in_chrg=)

     at /usr/include/c++/9/bits/atomic_base.h:326
#5  QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate 
(this=0x3c8e4e0, __in_chrg=) at 
qdbusabstractinterface_p.h:88
#6  0x7669bcd7 in QScopedPointerDeleter::cleanup 
(pointer=) at 
../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:52
#7  QScopedPointer 
 >::~QScopedPointer (this=0x3e702c8, __in_chrg=)

     at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:107
#8  QObject::~QObject (this=, __in_chrg=) 
at kernel/qobject.cpp:891
#9  0x7fffe569752d in 
OrgKdeKDirNotifyInterface::~OrgKdeKDirNotifyInterface (this=0x3e702c0, 
__in_chrg=)
     at 
/usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kdirnotify.cpp:34
#10 0x7669ad3c in QObjectPrivate::deleteChildren 
(this=this@entry=0x3ecf5f0) at kernel/qobject.cpp:2016
#11 0x7669bc8f in QObject::~QObject (this=, 
__in_chrg=) at kernel/qobject.cpp:1032
#12 0x7fffe56b8ffe in KCoreDirListerCache::~KCoreDirListerCache 
(this=0x7fffe5728500 <(anonymous 
namespace)::Q_QGS_kDirListerCache::innerFunction()::holder>,
     __in_chrg=) at 
/usr/include/c++/9/bits/atomic_base.h:326
#13 0x7fffe56b947d in (anonymous 
namespace)::Q_QGS_kDirListerCache::Holder::~Holder (this=out>, __in_chrg=)
     at 
/usr/src/debug/kf5-kio-5.68.0-1.fc30.x86_64/src/core/kcoredirlister.cpp:54

#14 0x77778680 in __run_exit_handlers () from /lib64/libc.so.6
#15 0x777787c0 in exit () from /lib64/libc.so.6
#16 0x77761f4a in __libc_start_main () from /lib64/libc.so.6
#17 0x7fffdcf0 in ?? ()
#18 0x in ?? ()



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


Re: [Lazarus] EAccessViolation exception on exit qt5 project in Kubuntu 19.10

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

Am 14.04.20 um 12:55 schrieb zeljko via lazarus:

On 4/13/20 7:43 PM, Luca Olivetti via lazarus wrote:


Now I tried installing the packaged libqt5pas and still see no segfault.
Note that this isn't a fresh install, I dist-upgraded it (or better 
do-release-upgraded it) many times, but I don't think that should matter.


IMO, fpc version is important. fpc-3.0.4 from distro crashes, 


Does anybody have a stack dump of the crash? Maybe it's related to the 
stack alignment issues which are fixed in 3.2+?

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


Re: [Lazarus] Find in files crashes Cinnamon

2020-01-18 Thread Florian Klämpfl via lazarus

Am 13.11.19 um 22:00 schrieb Florian Klämpfl via lazarus:
Recently, I tried again to work with Linux Mint when developing FPC. For 
FPC development I use normally lazarus from trunk, typical updated very 
few weeks. For navigation in the code I use "Find in files" from time to 
time, e.g. when looking where a certain internal error is thrown. I call 
the Find in files dialog by Ctrl-Shift-F. Sometimes, this action crashes 
Cinnamon completely: mouse still works but nothing is clickable anymore 
(Ctrl-Alt-Fx still works so the kernel is apparently still fine). Often, 
Ctrl-Alt-Esc can be used to restart Cinnamon after some time, sometimes 
Cinnamon de-freezes after some second and shows a dialog box that it 
crashed, restarted and is now in safe mode (or how it is called). The 
most annoying part of these crashes is that all windows are moved to the 
first virtual desktop besides that the fact that sometimes only a reboot 
helps to recover.




For the record: an update in the last weeks seems to have resolved the 
issue. I have no idea if the update was related to lazarus though or to 
cinnamon.

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


Re: [Lazarus] The future of the Lazarus IDE

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 12:45 schrieb Marco van de Voort via lazarus:
I really like a package I can just install and works, rather than 
constantly messing with plugins that are never really it.


I think you vastly overestimate getting good quality VSCode plugins that 
make it match Lazarus for basic functionality.




Yes. While Lazarus has no git plugin (one of the things I miss), it does 
not matter that VS Code has one which, when opening the compiler dir, 
tells me that the project is too big and it won't really work. So no 
difference with lazarus.

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


Re: [Lazarus] The future of the Lazarus IDE

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 12:23 schrieb Michael Van Canneyt via lazarus:


So that means it's a trade-off. Do you wish to spend your time fixing 
broken

external dependencies, or do you wish to spend it implementing new things
yourself ?

Asking the question is answering it ;-)


History taught: the less dependencies, the better. Just look at FPC and GPC.
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] The future of the Lazarus IDE

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 11:54 schrieb Michael Van Canneyt via lazarus:
The point is that Lazarus does not and cannot cover all aspects of a 
typical
larger project. 


No, but if I really need it, I can develop it easily myself because I 
know Object Pascal. Even simple things like adding support for 
Ctrl-Alt-Shift-I to add an internalerror number for the compiler (which 
took me maybe 15 min with lazarus) would be an endeavor of several days 
with VS Code for me. I wouldn't even know where to start.



Editors like VS Code and Atom can, given the huge wealth of
plugins that exist out there.


After the Firefox/Thunderbird plugin disaster, I try to ignore and never 
depend on any functionality provided by plugins. It could be gone with 
the next update/upgrade.


If we had to set up a project today to copy functionality of all Atom or 
VS Code plugins, I probably wouldn't live long enough to see that 
project completed.


It doesn't help if VS Code even cannot do simple things right like 
zooming of the source code window or keyboard navigation in the menu.


Lastly - but I don't know how much of an argument that is - young people 
are
used to sleek UIs as offered in VS Code or Atom.  The Lazarus IDE is 
confusing to them: 


Yes, this fits in the overall picture: app developers are proud about 
features ("hey, my app can now copy") real programs got in the 80ths.

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


Re: [Lazarus] Cross-compile for Linux strange behaviour with floating point constants

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 12:04 schrieb Giuliano Colla via lazarus:

Il 24/11/2019 11:48, Florian Klämpfl via lazarus ha scritto:

What to do with extended constants and their handling in the compiler 
if the target platform has it but the target platform does not support 
it? 


Maybe an AND condition? Use extended type only if both platforms support 
it?


This is a no-go. The resulting code/executable must be agnostic 
regarding the host where it is generated.

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


Re: [Lazarus] Cross-compile for Linux strange behaviour with floating point constants

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 11:45 schrieb Giuliano Colla via lazarus:

Il 24/11/2019 01:17, Sven Barth via lazarus ha scritto:

There is the plan to add software floating point support for Extended 
to the compiler for platforms like Win64, but it's not a trivial 
endeavour.


Maybe a silly question, but wouldn't it much simpler to have the 
compiler not use the Extended type on platforms which do not support it?


Yes. This is what we do. However, it bites us when cross compiling. What 
to do with extended constants and their handling in the compiler if the 
target platform has it but the target platform does not support it?


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


Re: [Lazarus] The future of the Lazarus IDE

2019-11-24 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 10:30 schrieb Bo Berglund via lazarus:

On Sat, 23 Nov 2019 18:50:07 -0500, Daithi Haxton via lazarus
 wrote:


For my 2 cents, keep Lazarus as an independent, native code IDE. We do 
instrumentation packages for manufacturing robots, and “the Web” is simply not 
an option. Laz makes us at least 10x more productive than any other option (and 
we’ve tried other options - we still maintain code in C++ and C# using VS and 
it’s a nightmare compared to the Lazarus environment).

What really scares us is that all the mainstream OSes are becoming so Web and 
mobile centric - the way M$ is rumbling I seriously wonder if and how they’ll 
support any native development in the not too distant future. Lazarus, with 
it’s native abilities for Linux, gives us a clear path out should M$ abandon 
manufacturing and the desktop in general - and we are most appreciative!



We are also using Lazarus for hardware related stuff with no help at
all from the web!


I think this is *the* main advantage of FPC/Lazarus: you can use it for 
almost every type of application on any platform (sorry C64 users, we do 
not have a solution ... yet ;)).




I for one spend 3-4 months every year in my cottage where we only have
mobile Internet and at speeds that vary depending on how many
neighbors are visiting the island all at the same time. In popular
summer weeks speeds go down into low single digit Mbit/s.


May I quote you in discussions :)))? Here in Germany, Sweden is always 
taken as an example where even the smallest cottage has internet by fiber.

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


Re: [Lazarus] The future of the Lazarus IDE

2019-11-23 Thread Florian Klämpfl via lazarus

Am 24.11.19 um 00:02 schrieb Ryan Joseph via lazarus:




On Nov 23, 2019, at 5:43 PM, Ralf Quint via lazarus 
 wrote:

I personally loath VSCode just as much as VS itself (or XCode, for that matter) or 
Eclipse. The appeal of Lazarus for me is that it even "feels" Pascal, not just 
a tool that happens to support ObjectPascal, but just as a sideshow...
it looks more modern/tighter. 


Really? On my linux it has a bright menu, everything else is dark style. 
Is this considered modern? Even very basic things like Ctrl+Mouse wheel 
for changing the font size does not work. Maybe this is more modern 
(like e.g. all those apps which are proud when getting features in 2019 
real programs got in the 80th) but I do not want it :)

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


Re: [Lazarus] Find in files crashes Cinnamon

2019-11-15 Thread Florian Klämpfl via lazarus

Am 15.11.19 um 19:43 schrieb Graeme Geldenhuys via lazarus:

On 15/11/2019 10:42 am, Michael Van Canneyt via lazarus wrote:

The crash and switch to 'fallback mode' ("restart fallback mode" would be 
better named)
happens easily once a day.

I'd try using linux mint "mate", but I'm not particularly looking forward to
reconfiguring my machine. It takes days to get everything in working order
again...


I remember experiencing that too, and that drove me away from using
Cinnamon. 


I'll see if the xsession_error log brings something up.


In the end I went for something that is as minimal as
possible, so it doesn't interfere with any debugging or software
shortcuts etc. I decided to moving back to good old X11 window managers,
not desktop environments. I settled on JWM (Joe's Window Manager) and
have stuck with it for near 5 years now. It stays out of my way, it only
occupies 2 or 3 keyboard shortcuts (which I configured) and only uses
8-15MB of RAM.


Feels like a discussion from 1998 :)

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


[Lazarus] Find in files crashes Cinnamon

2019-11-13 Thread Florian Klämpfl via lazarus
Recently, I tried again to work with Linux Mint when developing FPC. For 
FPC development I use normally lazarus from trunk, typical updated very 
few weeks. For navigation in the code I use "Find in files" from time to 
time, e.g. when looking where a certain internal error is thrown. I call 
the Find in files dialog by Ctrl-Shift-F. Sometimes, this action crashes 
Cinnamon completely: mouse still works but nothing is clickable anymore 
(Ctrl-Alt-Fx still works so the kernel is apparently still fine). Often, 
Ctrl-Alt-Esc can be used to restart Cinnamon after some time, sometimes 
Cinnamon de-freezes after some second and shows a dialog box that it 
crashed, restarted and is now in safe mode (or how it is called). The 
most annoying part of these crashes is that all windows are moved to the 
first virtual desktop besides that the fact that sometimes only a reboot 
helps to recover.


Does anybody have an idea where this could come from or how I could 
track this down (and no, the normal answer one gets when asking such 
things about linux that I should try KDE or Gnome or any other of the 
umpteen desktops, is not a solution).

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


Re: [Lazarus] LCL Controls.pp needs 'inline'

2019-10-06 Thread Florian Klämpfl via lazarus

Am 06.10.19 um 10:45 schrieb Juha Manninen via lazarus:

I inlined the non-deprecated one liners in r62000.
BTW, ChangeBiDiModeAlignment is not a one liner. You must be careful
with "inline". The effect may become negative if the function has more
code.


For the record: FPC has also -Ooautoinline. IMO it is much better to use 
(and tune) this one instead of adding manually "inline".

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


Re: [Lazarus] Mantis application error

2019-04-22 Thread Florian Klämpfl via lazarus
Am 22. April 2019 11:35:29 schrieb Michael Van Canneyt via lazarus 
:

> On Mon, 22 Apr 2019, Juha Manninen via lazarus wrote:
>
>> Strange. Now I looked at the issue again and the note is there.
>> It got stored when I resolved the issue despite the error message.
>
> Let me know if it happens again, I'll look at it then.
>
> Michael.
> --
> ___
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus

There is a setting for spam protection which can be increased.


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


Re: [Lazarus] SourceForge Project of the Month

2019-03-03 Thread Florian Klämpfl via lazarus

Am 01.03.19 um 09:33 schrieb Mattias Gaertner via lazarus:

Hi,

https://sourceforge.net/blog/march-2019-community-choice-project-month-lazarus/


Congratulations :)

Do not forget another important date:

 Lazarus.pp
 ---
   This is the lazarus editor program.

   Initial Revision  : Sun Mar 28 23:15:32 CST 1999


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


Re: [Lazarus] Auto session store etc.

2019-01-04 Thread Florian Klämpfl via lazarus

Am 04.01.19 um 14:26 schrieb Sven Barth via lazarus:
Am Fr., 4. Jan. 2019, 13:01 hat Florian Klämpfl via lazarus 
mailto:lazarus@lists.lazarus-ide.org>> 
geschrieben:


 >
 >
 >> Background is that I am starting another trial to use linux as
 >> desktop system but within in a few days I have already lost changes
 >> because lazarus was just killed on shutdown (well, actually I would
 >> prefer to have linux just hibernating instead of shutdown, but this
 >> is another story).
 >>
 >> Furthermore, is there any option to store the green bars which
 >> indicate changed sources between different runs of lazarus?
 >
 > Wouldn't that accumulate over time so that everything becomes green?
 > You need some "reset".

By just closing the source code tab?


Somehow I have the feeling what you really need is "show changed lines 
in regard to version control system" :P (at least that's what I would 
need...)


Well, yes. But till next christmas it's a long time ;)

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


Re: [Lazarus] Auto session store etc.

2019-01-04 Thread Florian Klämpfl via lazarus

Am 04.01.19 um 14:01 schrieb Giuliano Colla via lazarus:
But you must pick up a good distro, within the distro select a 
stable and tested version (the latest version is always a lottery), and 
select a good Desktop.


If there had been one (seems Ubuntu and derivatives removed hibernation 
(!!, remember, we are in 2018, not 1998) in 18.04, I didn't ask about 
this feature.




As far as Lazarus is concerned, everything relevant is saved each time 
you compile (or attempt to compile) your application. Just hit F9 and 
you're done.


Well, when working on the compiler, I often do not compile for hours, 
but meanwhile I found the AutoSave package for Lazarus which prevents at 
least the worst case scenarios.


You may easily check and tune your behaviour: 


It is also about X crashes and so on (and I do not like to adapt my 
behavior :)).

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


Re: [Lazarus] Auto session store etc.

2019-01-04 Thread Florian Klämpfl via lazarus

Am 04.01.19 um 12:32 schrieb Mattias Gaertner via lazarus:

On Fri, 4 Jan 2019 12:08:56 +0100
Florian Klämpfl via lazarus  wrote:


Is there any possibility that lazarus auto stores the current session
(project file, source files, session information etc.) every  s?


No.

A simple save is easy to implement. But there are some cases which
makes it difficult in general:

- If it would trigger a normal "save all" and you have just created
   some new files or are in the middle of a refactoring you will get
   suddenly save and message dialogs. I personally would hate that
   interruption.
- I often open a file, change something and save it as another
   name. An autosave would play havoc here.
- It would be better if the autosave would save the changed files in a
   separate location (e.g. .lazarus/autosave), which can then be
   restored on next start. But that requires some more work.


Well, yes. But one cannot have everything ;) I would be happy with a 
primitive solution which prevents losing work.




  

Background is that I am starting another trial to use linux as
desktop system but within in a few days I have already lost changes
because lazarus was just killed on shutdown (well, actually I would
prefer to have linux just hibernating instead of shutdown, but this
is another story).

Furthermore, is there any option to store the green bars which
indicate changed sources between different runs of lazarus?


Wouldn't that accumulate over time so that everything becomes green?
You need some "reset".


By just closing the source code tab?
--
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Auto session store etc.

2019-01-04 Thread Florian Klämpfl via lazarus

Am 04.01.19 um 12:43 schrieb Henry Vermaak via lazarus:

On Fri, Jan 04, 2019 at 12:08:56PM +0100, Florian Klämpfl via lazarus wrote:

Is there any possibility that lazarus auto stores the current session
(project file, source files, session information etc.) every  s?


At the very least do an emergency save on SIGTERM and provide the option
to restore the session.


This would be also an option. I don't know how linux desktop programs 
have to behave on shutdown (regular, by the shutdown button in the 
menu), but at least it may not result in a lose of unsaved work.

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


[Lazarus] Auto session store etc.

2019-01-04 Thread Florian Klämpfl via lazarus
Is there any possibility that lazarus auto stores the current session 
(project file, source files, session information etc.) every  s?


Background is that I am starting another trial to use linux as desktop 
system but within in a few days I have already lost changes because 
lazarus was just killed on shutdown (well, actually I would prefer to 
have linux just hibernating instead of shutdown, but this is another story).


Furthermore, is there any option to store the green bars which indicate 
changed sources between different runs of lazarus?

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


Re: [Lazarus] Crowdfunding to speed up the development of pas2js in Lazarus Widgetset and fpDebug to FPC

2018-12-22 Thread Florian Klämpfl via lazarus
Am 22.12.2018 um 16:28 schrieb Maciej Izak via lazarus:

As this is a pure FPC topic and has nothing to do with Lazarus anymore, I will 
not continue to discuss here. Feel free
to raise it again in fpc-other.
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Crowdfunding to speed up the development of pas2js in Lazarus Widgetset and fpDebug to FPC

2018-12-22 Thread Florian Klämpfl via lazarus
Am 21.12.2018 um 20:48 schrieb Maciej Izak via lazarus:
> 
> All is fine when someone has the same opinion like Michael Van Canneyt. The 
> style of communication with Michael is
> visible in this thread, when he know he is not right he is just ignoring 
> messages, but he is first to throw the rock. He
> is using power - not arguments. No one can do anything because he has full 
> control on all infrastructure.

It is pretty simple: if the majority (or even a minority) thought, Michael 
would do a bad job, they could just fork
FPC/Lazarus and prove they could do better. Obviously, the Lazarus/FPC mailing 
lists are not a place to
discuss/advertise such a fork.

> 
> Admin, lead of project, programmer and foundation ruler in one person? 

While it might be true or not if Michael takes all these "positions", he does 
an incredible job for >20 years for
Lazarus and FPC.
-- 
___
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] IDE Spotter

2018-09-23 Thread Florian Klämpfl via Lazarus
Am 23.09.2018 um 18:27 schrieb Mattias Gaertner via Lazarus:
> On Sun, 23 Sep 2018 17:23:46 +0200
> Florian Klämpfl via Lazarus  wrote:
> 
>> Am 23.09.2018 um 15:27 schrieb Michael Van Canneyt:
>>>
>>>
>>> On Sun, 23 Sep 2018, Florian Klämpfl via Lazarus wrote:
>>>   
>>>> Am 23.09.2018 um 13:16 schrieb Michael Van Canneyt via Lazarus:  
>>>>>
>>>>> Please testdrive it. Ideas for improvements/comments/bugreports welcome 
>>>>> (well, the latter not so much ;)).  
>>>>
>>>> Unit IDESpotterOptions missing in svn?  
>>>
>>> Ahaha The infamous 'forgot to add units' problem in SVN :)
>>>
>>> I added them, thanks !  
>>
>> Seems not work on windows though, even after I assigned another shortcut.
> 
> If you are using a docked IDE, I just fixed positioning the spotter
> for that case.

Indeed, this fixed it, thanks.

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


Re: [Lazarus] IDE Spotter

2018-09-23 Thread Florian Klämpfl via Lazarus
Am 23.09.2018 um 15:27 schrieb Michael Van Canneyt:
> 
> 
> On Sun, 23 Sep 2018, Florian Klämpfl via Lazarus wrote:
> 
>> Am 23.09.2018 um 13:16 schrieb Michael Van Canneyt via Lazarus:
>>>
>>> Please testdrive it. Ideas for improvements/comments/bugreports welcome 
>>> (well, the latter not so much ;)).
>>
>> Unit IDESpotterOptions missing in svn?
> 
> Ahaha The infamous 'forgot to add units' problem in SVN :)
> 
> I added them, thanks !

Seems not work on windows though, even after I assigned another shortcut.

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


Re: [Lazarus] IDE Spotter

2018-09-23 Thread Florian Klämpfl via Lazarus
Am 23.09.2018 um 13:16 schrieb Michael Van Canneyt via Lazarus:
> 
> Please testdrive it. Ideas for improvements/comments/bugreports welcome 
> (well, the latter not so much ;)).

Unit IDESpotterOptions missing in svn?
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Problem compiling trunk LazUtils Error: (11006) Illegal parameter: -vm6058

2018-06-24 Thread Florian Klämpfl via Lazarus

Am 24.06.2018 um 20:12 schrieb Bart via Lazarus:

On Sun, Jun 24, 2018 at 7:59 PM, Michael Ring via Lazarus
 wrote:


Are you 100% sure that this message is 3.1.1+ only?


He probably means that a message with id 6058 only exists in 3.1.1, so
you cannot suppress it using -vm6058 in earlier versions?


Yes.

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


Re: [Lazarus] Problem compiling trunk LazUtils Error: (11006) Illegal parameter: -vm6058

2018-06-24 Thread Florian Klämpfl via Lazarus

Am 24.06.2018 um 12:07 schrieb Michael Ring via Lazarus:

I cannot build current lazarus trunk on MacOSX, 64bits, not sure if the problem 
is because of my build environment or not.

I have successfully build lazarus for a very long time with the steps I do.


When I rebuild lazarus I get this error message:

Error: (11006) Illegal parameter: -vm6058

when compiling LazUtils.


I can workarround the problem by removing the following lines from lazutils.lpk:

     
   
     


I do not see an obvious problem in my buildsystem:

lrwxr-xr-x  1 root  staff   23  4 Dez  2017 /usr/local/bin/ppc386 -> 
../lib/fpc/3.0.4/ppc386
lrwxr-xr-x  1 root  staff   23  4 Dez  2017 /usr/local/bin/ppcx64 -> 
../lib/fpc/3.0.4/ppcx64

lrwxr-xr-x  1 ring  staff  25 24 Jun 11:49 /usr/local/bin/lazbuild -> 
../share/lazarus/lazbuild

ppcx64 points to fpc 3.0.4 which is last official version so I guess all is 
fine.

Any ideas?


This error message is 3.1.1+ only.

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


Re: [Lazarus] TP-like nested comment handling

2018-04-03 Thread Florian Klämpfl via Lazarus
Am 03.04.2018 um 15:02 schrieb Mattias Gaertner via Lazarus:
> On Sun, 1 Apr 2018 19:37:13 +0200
> Florian Klaempfl via Lazarus  wrote:
> 
>> I am playing with some old code which assumes TP-like handling of nested
>> comments: i.e. there is only one level of nested comments, the first
>> comment limiter closes a comment. However, Lazarus handles comments like
>> FPC: it counts the nesting level and does syntax highlighting
>> accordingly. Is there any option I am missing so I get correct syntax
>> highlighting for TP-like nested comment handling?
> 
> Here this is highlighted and parsed correctly:
> 
> {$mode tp}> { { }
> begin
> end.
> 
> How do you tell Lazarus that the unit is tp mode?

Well, only in the Project options because I didn't want to modify the source, 
this is why I asked
how to switch the behavior (I found out I can do this by changing the 
highlighter to delphi).

BTW: {$mode iso/extpas} do not change the behavior either, only $mode tp does.
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


[Lazarus] TP-like nested comment handling

2018-04-03 Thread Florian Klämpfl via Lazarus
I am playing with some old code which assumes TP-like handling of nested
comments: i.e. there is only one level of nested comments, the first
comment limiter closes a comment. However, Lazarus handles comments like
FPC: it counts the nesting level and does syntax highlighting
accordingly. Is there any option I am missing so I get correct syntax
highlighting for TP-like nested comment handling?
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Form events firing order and count

2018-02-18 Thread Florian Klämpfl via Lazarus
Am 18.02.2018 um 19:48 schrieb Graeme Geldenhuys via Lazarus:
> On 2018-02-18 18:34, Michael Van Canneyt via Lazarus wrote:
>> That said, a small look at the language guide will of course convince even
>> the most malicious person that we also aim to be compatible - at the 
>> language level - with recent
>> Delphis...
> 
> 
> I understood that, I just wasn't sure if that was a "FPC goal" like the 
> statement mentioned the D7

The FPC goal is an open source pascal compiler, the supported language flavors 
depend on contributors.

> goal. I assumed any features post D7 was just a bonus - thanks to development 
> contributions.

This applies to every feature, even D7 features.
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Form events firing order and count

2018-02-18 Thread Florian Klämpfl via Lazarus
Am 18.02.2018 um 19:18 schrieb Graeme Geldenhuys via Lazarus:
> On 2018-02-18 18:14, Graeme Geldenhuys via Lazarus wrote:
>> On 2018-02-18 18:10, Florian Klämpfl via Lazarus wrote:
>>> What makes you think so?
>>
>> Michael van Canneyt.
> 
> 
> And quoting the official FPC documentation from the Free Pascal website:
> 
> "Free Pascal is designed to be, as much as possible, source compatible with 
> Turbo Pascal 7.0 and
> Delphi 7 (although this goal is not yet attained), ..."

Does it exclude other versions? No. This list also does not mention ISO or 
ObjFPC, so it is clear,
the two mentioned versions are only examples. Besides this, if you followed fpc 
development, you
should quickly realize that this page is simply outdated: no word on aarch64 
which is supported for
years as well as jvm and m68k, iOS is not mentioned. You should know also that 
FPC contains a lot of
stuff of newer delphis starting with advanced records, type helpers etc. which 
is for sure not D7.

> 
> 
> https://www.freepascal.org/docs-html/current/user/userse2.html

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


Re: [Lazarus] Form events firing order and count

2018-02-18 Thread Florian Klämpfl via Lazarus
Am 18.02.2018 um 19:06 schrieb Graeme Geldenhuys via Lazarus:
> 
> 2) FPC seems to target Delphi 7 compatibility - 

What makes you think so?
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] Who is using Object Pascal in production?

2017-10-27 Thread Florian Klämpfl via Lazarus
Am 27.10.2017 um 15:54 schrieb Michalis Kamburelis via Lazarus:
> and we plan to release a Steam
> game next year. 

Hope you tell us when it is available :)
-- 
___
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus


Re: [Lazarus] FPC on Rpi3 executable module sizes

2016-11-01 Thread Florian Klämpfl via Lazarus
Am 30.10.2016 um 18:32 schrieb Ken Kashmarek via Lazarus:
> 
> This is clearly an error where each addition adds 200k (or more) the the
> executable file.  

Those units contain initialization sections which drag in a lot of code. You 
might want to try to
strip explicitly unused symbols by compiling with -Xs.

> I do note however, that all 3 uses entries on Windows 7,
> brings the executable up to more than 240K (significantly smaller than the
> RPi3 install of FCP produces).  
> 

I guess the reason is that you are using the variants unit. On windows, most of 
the variants stuff
can be handled by the OS. On unix style systems, everything is handled by FPC 
libraries which
emulate how windows handles variants.

> uses  sysutils; // , variants, classes;
> type  ptr2Byte = ^Byte;
>   comp = int64;
> var   i,j:integer;
> 
> begin
>   writeln;
>   i := 4096;
>   writeln('Value of i = ',i:8);
>   writeln('--> Execution of (nearly) null program ended.');
>   writeln;
> end.

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