Marking changed code in tab title

If I load an existing function/procedure/package into a pl/sql-editor and start typing, the title will change to "my_proc *" to indicate the change.
This does not always work in the latest beta (Toad for Oracle Base Edition (64-bit), 25.2.207.5497).
For some it works, for others it doesn't. I have no pattern yet, might depend on the compile being successful or not.

Load an existing procedure, let's say it's called TOMAS.
Editor tab title is now "TOMAS".
Type some garbage. Title changes to "TOMAS *".
Compile, the garbage gives some error but the title changes to "TOMAS". I don't think this is correct.
But worse: no change from now will be noted in the tab title.
Remove the garbage and compile.
From now on, the title will again be "TOMAS *" when editing, until next compile.

So, I think the * is removed after (before?) compile, regardless of errors. I think errors should keep the *, or at least add the * again when fixing the error (or editing something else).

Hmmm... Seems this behaviour is not all that new.
It's the same in 2024 R2.

I still feel that a failed compilation should keep the *, as a sign of unsaved or uncompiled changes. Before closing I like to look at what code tabs need handling (saving/compiling), even though I'll be warned for each when closing.

Compare with the confirmation when closing a tab. After a failed compilation you'll be asked when closing. After a successful compilation you wont be asked.

The * indicates that the editor contents are different from what's in the DB/File.

When you compile, even if you type in garbage which introduces error, your garbage makes it into the database. So at that point the Editor and DB are in sync, which is why the * is removed. As soon as you type something else, Editor and DB will be out of sync, so the * is added again.

I see what you mean about the save prompt though. I'll defer to @mstaszew on that one.

I am not sure why the title isn't reflecting the same logic used for save confirmation. The save is correct, the title appears incorrect after your first compile. I'll log a defect.

EDIT: For clarity, the * removing after your first compile is correct for the reasons John noted. However, the * should return on your subsequent edits, but does not. That is the defect.

Thanks,
Michael

Yes, the problem appears after a faulty compile.

Load, edit, get *, compile OK, no *, edit, get *
but
Load, edit, get *, compile with error, no *, edit, still no *