Notepad++ 7.9.1 Released
-
@Petr-Stránský said in Notepad++ 7.9.1 Released:
Automatic TAB indentation in C source file after if ( condition ) is not working for me anymore, had to downgrade to 7.9. Not sure if it is a new setting. Did not test with anything else like cycles, because I downgraded immediately, after realizing it works on my laptop with 7.9.
Do you mean that:
v7.9.1if (condition) // position after ENTER
v7.9
if (condition) // position after ENTER
?
-
I tested the “Automatic TAB indentation” issue and it is as Petr wrote.
If I do if() and press Enter in v 7.9 auto indent works, but in 7.9.1 the indentation is not done.My test code looks like this:
int main(void) { if() return 0; }
-
@donho said in Notepad++ 7.9.1 Released:
Do you mean that:
No, it appears to be the opposite. In fact, my commit for the PowerShell auto-indent seems to have broken it, but I’m puzzled as to why since we only added PowerShell to the full
if()
list and then to the case where Perl and Rust are for their auto-indent after the{
open brace.Using the AppVeyor artifact from just before that commit and selecting C language:
if (test) |
Cursor is placed on the line after the
if
indented and without the need for the{
open brace since C does not required braces for single-lineif
statements.Using the artifact from the commit referenced above and any later version, the following undesired behavior results:
if (test) |
Cursor on the following line is not indented.
Cheers.
-
@Michael-Vincent said in Notepad++ 7.9.1 Released:
but I’m puzzled as to why since we only added PowerShell to the full if() list and then to the case where Perl and Rust are for their auto-indent after the { open brace.
FOUND IT! Issuing a new PR to fix.
-
-
Fix integrated:
https://github.com/notepad-plus-plus/notepad-plus-plus/commit/f91246e312f5b3f69d1bf83e543d03c8f4e545db@Michael-Vincent Could you test it?
-
@donho said in Notepad++ 7.9.1 Released:
@Michael-Vincent Could you test it?
I did just before I issued the PR and I certainly will with the AppVeyor build once it finishes - (still building as I type). It was such a stupid mistake, sorry for the troubles.
Cheers.
-
@donho
@Michael-Vincent said in Notepad++ 7.9.1 Released:I certainly will with the AppVeyor build once it finishes
I just tested both Release versions x86 and x64:
Environment: platform=Win32, archi=x86, platform_input=Win32; Configuration: Unicode Release
Environment: platform=x64, archi=amd64, platform_input=x64; Configuration: Unicode ReleaseBoth perform as expected!
I set language to C and did:
if (test) | if (test) { | } if (test) { | }
All behaved as expected. I also set language to C++, Java and Javascript and ran the same typing tests to make sure they behave the same way - and they do.
Finally, set language to both Perl and PowerShell and did the same above tests and they result in:
if (test) | if (test) { | } if (test) { | }
As expected. NOTE: the first case shows no indent since in both Perl and PowerShell, the
{
brace is required for the control block to activate auto-indent.I tried ALL THE ABOVE in 7.9 as well, and all behavior is consistent between 7.9 and the latest AppVeyor build for all my above test cases (with the exception of PowerShell on 7.9 since adding the original fix in 7.9.1 for PowerShell is what triggered this).
I believe we have fixed this regression. Again, sorry for the troubles and thank you for the quick response!
Cheers.
-
No problem, @Michael-Vincent , it was my fault - I didn’t get my code review job done well.
That said, it’s still a small regression: comparing with the fix of corrupted file by @pnedev, this regression is less important. So I guess I’ll still trigger auto-update for v7.9.1 in about 1 week, if there’s no other critical regression/bug found.
-
This is probably a minor bug, but it would be nice if will be fixed.
For C and C++ code the Show Indent Guide functionality wrongly displays indent line if the selection statements (
if
andelse
) contain only one expression without curly braces.Example:
Indent line for
if
statement goes until return which is wrong.
Indent line for
else
statement goes until return which is wrong.
If braces are used the indent line goes until expected
-
@Zsolt-Kántor-0 said in Notepad++ 7.9.1 Released:
This is probably a minor bug, but it would be nice if will be fixed.
I can confirm. This is also present in 7.9 so no 7.9.1 “fixes” introduced this it would seem.
In fact, I see it as far back as 7.3.3:
Cheers.
-
@Zsolt-Kántor-0 said in Notepad++ 7.9.1 Released:
This is probably a minor bug, but it would be nice if will be fixed.
Seems like a Scintilla thing for indentation. Testing various settings, it seems
SC_IV_LOOKFORWARD
works best for all languages despite what the docs say:Cheers.
-
Then it should be fixed in Notepad++, maybe?
-
@Zsolt-Kántor-0 said in Notepad++ 7.9.1 Released:
Then it should be fixed in Notepad++, maybe?
Perhaps. There is a FAQ in this Forum which explains feature requests.
However, there is a plugin, ExtSettings, which allows you to change such Scintilla settings without using a scripting environment like the NppExec example that @Michael-Vincent showed. You can install that plugin using Plugins Admin, and this specific setting is controlled by Indentation guide style – you have to hit Close after each change in that dialog to get it to take effect.
-
@PeterJones said in Notepad++ 7.9.1 Released:
Perhaps. There is a FAQ in this Forum which explains feature requests.
Thanks for the hints, but this is a bug in my opinion and not a feature request.
-
@Zsolt-Kántor-0 said in Notepad++ 7.9.1 Released:
@PeterJones said in Notepad++ 7.9.1 Released:
Perhaps. There is a FAQ in this Forum which explains feature requests.
Thanks for the hints, but this is a bug in my opinion and not a feature request.
And if you had looked at the “FAQ Desk: Feature Request or Bug Report”, you would have seen that bug reports go in the same place as feature requests.
This discussion topic (“Notepad++ 7.9.1 Released”) is meant for problems introduced in v7.9.1 that weren’t present in v7.9 (known as “regressions”). If you can prove that this is a regression, then feel free to continue here. Otherwise, the general bug reporting and feature requesting is handled as described in the FAQ. (And really, even if it is a “regression”, at this point, the bug reporting is more likely to get implemented than more discussion here.)
-
@PeterJones said in Notepad++ 7.9.1 Released:
If you can prove that this is a regression,
and like my post shows above, this is not a “regression” as this behavior was present as far back as 7.3.3 (and maybe before, that’s just the oldest version I had available to test).
Feel free to file a GitHub Issue and continue the discussion there.
Cheers.
-
@PeterJones said in Notepad++ 7.9.1 Released:
If you can prove that this is a regression
Unfortunately I’m bad on proving things :(
-
@Michael-Vincent said in Notepad++ 7.9.1 Released:
SC_IV_LOOKFORWARD
SC_IV_LOOKFORWARD
is set for Python, Coffee script and Haskell 3 languages actually. If you think some languages should be also set to this mode, please let me know. I will consider to add these languages. -
@donho said in Notepad++ 7.9.1 Released:
If you think some languages should be also set to this mode, please let me know. I will consider to add these languages.
I think the argument above is to add languages that don’t require braces
{}
for control blocks to be added to the list. For example, C/C++ has valid syntax:if (condition) | expression; | | return;
where the pipes
|
above show the guidelines withSC_IV_LOOKBOTH
. WithSC_IV_LOOKFORWARD
, C/C++ would show:if (condition) | expression; return;
which is “probably” more accurate?
I’m not sure how I feel about it - I only noticed since @Zsolt-Kántor-0 brought it up. Maybe I’ll open a GitHub Issue so we can discuss there before making any recommendations for changes?
As discussed above though, this is NOT a 7.9.1 regression - it’s always been this way.
Cheers.