Recent

Author Topic: Lazarus 4.99 - New features  (Read 479 times)

backprop

  • Sr. Member
  • ****
  • Posts: 257
Lazarus 4.99 - New features
« on: June 07, 2026, 10:36:32 am »
Yesterday I have compiled new Lazarus from latest sources and finally, someone implemented console I/O, which works for GUI and console APPs during debugging and running from IDE. Big news (though, that was elementary tast from beginning) is also that debugging console APP is fully possible now, not just ambiguous ASM instruction step by step...
What else is new?

- What basically missed in the past is compiling multiple components .lpk. Some new items regarding packages exists, however I have not looked closely.

- Dynamically used components missed from beginning.

- OPM is still limited and it strictly require internet in order to list and install already downloaded component's zip archives by demand.
« Last Edit: June 07, 2026, 10:57:45 am by backprop »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12560
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus 4.99 - New features
« Reply #1 on: June 07, 2026, 10:57:08 am »
Yesterday I have compiled new Lazarus from latest sources and finally, someone implemented console I/O, which works for GUI and console APPs during debugging and running from IDE. Big new is also that debugging console APP is aslo fully possible now, not just ambigious unstruction step by step debugging...

Linux or Windows?

On Linux there always has been an "Console I/O" window build into the IDE => the news is, that it now opens on its own (can be configured not to).

Otherwise (and that is copied from FPC 3.3.1) stdio redirection was added in "Run > Run Parameters"

Quote
What else is new?
https://wiki.freepascal.org/Lazarus_5.0_release_notes


Quote
- What basically missed in the past is compiling multiple components.lpk. Some new items regarding packages exists, however I have not looked closely.
Not sure. Shouldn't they compile automatically if part of the project?
Maybe "project groups" can help?
Install the package. => The group window can contain projects but also packages.

Quote
- Dynamically used components missed from beginning.
You mean run time loaded packages? (i.e. a precompiled RTL that can be shared by all apps) => That is afaik something that is being worked on as part of the compiler... But I don't know the current state.



zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus 4.99 - New features
« Reply #2 on: June 07, 2026, 11:00:43 am »
Yesterday I have compiled new Lazarus from latest sources and finally, someone implemented console I/O, which works for GUI and console APPs during debugging and running from IDE. Big news (though, that was elementary tast from beginning) is also that debugging console APP is fully possible now, not just ambiguous ASM instruction step by step...
What else is new?

- What basically missed in the past is compiling multiple components .lpk. Some new items regarding packages exists, however I have not looked closely.

- Dynamically used components missed from beginning.

- OPM is still limited and it strictly require internet in order to list and install already downloaded component's zip archives by demand.

gtk3 on x11 and wayland

backprop

  • Sr. Member
  • ****
  • Posts: 257
Re: Lazarus 4.99 - New features
« Reply #3 on: June 07, 2026, 11:13:09 am »
For Linux existed some configurational sets to redirect stdio, but that was rather copmlicated and OS dependent. Every single IDE I'm aware allows that automatically.

Yes, I meant runtime packages which requre no rebuilding IDE and no sources.

That is great news Željko, finally fully functional GTK3, finally to get rid of ancient predecessor.
« Last Edit: June 07, 2026, 11:17:52 am by backprop »

wp

  • Hero Member
  • *****
  • Posts: 13630
Re: Lazarus 4.99 - New features
« Reply #4 on: June 07, 2026, 11:54:09 am »
- What basically missed in the past is compiling multiple components .lpk. Some new items regarding packages exists, however I have not looked closely.
The JVCL consists of myriads of packages, and it is a pain to compile them manually. Therefore, I placed them into a common jvcl_all package: When I install jvcl_all the IDE installs all the contained packages.

You can also place packages into a project group from where they all can be compiled with a single click. There is no way to install them, though.


zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus 4.99 - New features
« Reply #5 on: June 07, 2026, 12:24:18 pm »
For Linux existed some configurational sets to redirect stdio, but that was rather copmlicated and OS dependent. Every single IDE I'm aware allows that automatically.

Yes, I meant runtime packages which requre no rebuilding IDE and no sources.

That is great news Željko, finally fully functional GTK3, finally to get rid of ancient predecessor.

Hope you're using it  :)

Thaddy

  • Hero Member
  • *****
  • Posts: 19464
  • Glad to be alive.
Re: Lazarus 4.99 - New features
« Reply #6 on: June 07, 2026, 05:29:31 pm »
For Linux existed some configurational sets to redirect stdio, but that was rather copmlicated and OS dependent. Every single IDE I'm aware allows that automatically.
StreamIO is cross-platform.
Any "programmer" that knows only one programming language is not a programmer

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12560
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus 4.99 - New features
« Reply #7 on: June 07, 2026, 05:46:05 pm »
For Linux existed some configurational sets to redirect stdio, but that was rather copmlicated and OS dependent. Every single IDE I'm aware allows that automatically.
StreamIO is cross-platform.

You should sue AI for hallucinating. You clearly invented it. ;) (SCNR). I have no idea what you talk about, in the context of this conversation.

The IDE has a global option to specify a pty for redirecting the output of a debugged app. 
In some cases it may also have been possible to use > < redirection in "Run Parameters"




@backprop

The Console Window (on Linux, with the option for plain/hex display of the output => I guess that is the one you talk about?) did indeed exist for many years. And several major versions of Lazarus (if not even before 1.0).

But it did not open when the app printed something. You had to go to the menu (view > debug window) and open it (and for confusion there was a 2nd "debug output" which is something else)....

And the console window also allows (and has done for a long time) to enter text, which will be sent to stdin.

If you mean a different window => then I am not sure what you meant.


What it does not (and never did) is terminal emulation => if you send escape sequences for color, or cursor placement, or clear screen, .... All that does not work (for that only the pty trick works)


20 years back, that worked by using a terminal (xterm) as  start app. 20 years back that did just run the app inside the same process, and so the debugger would attach to the xterm, and eventually end up debugging the app...
Nowadays that just starts a terminal-server, and the trick no longer works.

Running inside gdbserver, inside a terminal => that may work. But is rather complex to setup, and needs setup for each and every run....

I have ideas how to better integrate that (had those ideas for some time already). But so far not had the time to implement it. (and it likely still will be a while)




 

TinyPortal © 2005-2018