Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2026-04

Re: Info about the -Mdelphi mode

2 messages · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Martin Frb

CC'ed to => for follow ups

Graeme Geldenhuys wrote 8 lines
On Thursday, 23 April 2026 10:53:02 BST michael via fpc-pascal wrote: > Other than that I have no knowledge of missing delphi things except > inline variables. I just just reading a article from a few years ago, explaining the pros and cons of inline variables. It actually made a really good case for that. There is a open MR for inline variables already - just not review/merged. https://blogs.embarcadero.com/introducing-inline-variables-in-the-delphi-language/

Apart from the general yes/no question....
(and I haven't looked deep into language design..., still...)

If for arguments sake, it was a yes:

1) "begin/end" are compound statements, not scopes (even mentioned on the big forum thread)
2) If a "inline scope" existed, no mention of "inline var" only at the start thereof.
3) same keyword "var" but significant difference: block vs single statement (one var only)

Currently (not tested), but from description

    if foo then begin
       writeln;
       var bar: integer = 1; // mid (implied) scope
       readln;
     end;

So within the "for arguments sake", shouldn't it then be

    if foo then
       // optional introduction of new keyword to start scope
       var // "var" starts scope (and must be followed by "begin"
          bar: integer = 1;
          bar2: integer = 2;
      begin
         writeln;
         readln;
      end;

- Without a "scope keyword" => "var" starts the new scope. That scope covers the next statement  (which must be compound begin/end).
- var block ends at begin (which starts the statement for which the scope will last)

And the "for var i :=
is inconsistent. Its the only one that allows "var" mid-statement. (wel, its the only(?) LHS that can be mid statement...)

Any word on multi-line text blocks? ;-) Coming from Java, I so MISS that in Object Pascal! :-D

Aren't they in 3.3.1 already? And 2 forms? backtick and multi-single-quote?

Reply by email

Martin Frb
to Martin Frb
Martin Frb wrote 7 lines
CC'ed to => for follow ups On 23/04/2026 15:23, Graeme Geldenhuys via fpc-pascal wrote: > > https://blogs.embarcadero.com/introducing-inline-variables-in-the-delphi-language/ Apart from the general yes/no question.... (and I haven't looked deep into language design..., still...)

And I completely missed "ref counted interfaces adhere to the sub-scope"

Only, wasn't it established, that the lifetime of those was not documented, and therefore it was ok that with FPC it was determined by "last use" rather than "end of procedure" (which used to cause some discussions too).

So, if "inline var" was copied, in FPC that life time wouldn't change... While Delphi now has some "not in the doc, but other" mention of this being a "suddenly valid" use case.

Reply by email