Issue with user define function after 8.7.5 update.
-
Hello
I believe I should submit a bug fix request, but I am following the guidelines and posting here first.
I use Notepad++ to code in a language called Igor Pro by Wavemetrics. I’ve been using the same user defined language settings for about five years now with no issue.
Today, I opened Notepadd++ and it appears that all of my code is commented out. In Igor, a line comment starts with // and ends at the EOL.
It appears that the EOL command in the user defined function settings is being ignored. Since I have used this user define language without modification for years I assume this has to do with a recent update. To check,
I tried some basic things like restarting notepadd++, closing and reopening several files, changing the language, and restarting my PC. I reinstalled v8.7.4 and this fixed the issue.
My original debug info is below.
Notepad++ v8.7.5 (64-bit)
Build time : Dec 21 2024 - 05:13:03
Path : C:\Program Files\Notepad++\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
Periodic Backup : ON
Placeholders : OFF
DirectWrite : ON
Multi-instance Mode : monoInst
File Status Auto-Detection : cdEnabledNew (for current file/tab only)
Dark Mode : OFF
OS Name : Windows 11 Pro (64-bit)
OS Version : 23H2
OS Build : 22631.4602
Current ANSI codepage : 1252
Plugins :
mimeTools (3.1)
NppConverter (4.6)
NppExport (0.4) -
It may have to do with this change in v8.7.5 …
Could you click the
</>
button on the toolbar, and paste your “igor pro” UDL definition XML in there, and then do a second</>
click and show some example Igor Pro code that is properly highlighted in 8.7.4, and not in 8.7.5? If someone else can replicate your problem, then it’s definitely worth reporting an actual bug informing the developer that the change also caused a regression – but it will be best to have someone here confirm it first.(OTOH, depending on whether you’ve defined your comment syntax as a “comment” or a “comment line”, because a “comment line” shouldn’t need to use the
((EOL))
marker to close it, because a “comment line” should be automatically closed by EOL even when it doesn’t have that marker. It still would be a regression, but you might be able to work around it until the regression is fixed.) -
I’m working in v8.7.4 and everything works fine, so I’m planning on that being my fix until…maybe it becomes too old to work anymore.
Below is from v 8.7.4 It’s a very short snippet
#pragma TextEncoding = "UTF-8" #pragma rtGlobals=3 // Use modern global access method and strict wave access #pragma DefaultTab={3,20,4} // Set default tab width in Igor Pro 9 and later #include "2018GeneralMacros" Constant Na = 6.022E23 // ************************************************* //
I’ve already gotten rid of the v8.7.5, but I can easily describe it. The equivalent that I saw in 8.7.5 would have everything after line 2 (the first line with a comment) colored by the comment color (which for igor is red),
Here is a screenshot of the settings
-
I cannot get onto NPP right now to confirm, but based on your screenshot, I would surmise:
- you have misunderstood the continue character’s purpose: on the left, you are saying that you want a single line comment to start with
//
, and continue to a second line if and only if it encounters an end-of-line sequence (but since EOL cannot be a continuation, I think it ignores that) - the right is saying that a multi-line comment will also start with
//
, but never end
I believe, but have not tested, that the only reason your logic worked was because of the bug, and when the bug fixed, it shows your bad logic.
I think what you want is to set the single line to start as you show, with no continuation or end sequence, and not have anything on the right. I cannot test right now, but I believe it will work as you intended after that change.
- you have misunderstood the continue character’s purpose: on the left, you are saying that you want a single line comment to start with
-
@PeterJones Right, that makes sense to me.
I can update to v8.7.5 again and try it out. Right now, my v8.7.4 does not recognize a new update, so I’ll give it a few days.
Thanks
-
I got back onto NPP today, so did a check in v8.7.5: with your blanks for the UDL comment definitions, I set the line-comment to green and the block comment to red: it’s obvious that Notepad++ is using your block-comment definition, which has no ending.
Doing it the way I suggested, with only using the comment-line open field with no contiue character and no block-comment definition shows it works as I think you want it:
-
@Zachary-Decker said in Issue with user define function after 8.7.5 update.:
Right now, my v8.7.4 does not recognize a new update
it won’t until the developer triggers v8.7.5 for automatic update, which he hasn’t done yet. See the user manual description for more on the reasons for this: https://npp-user-manual.org/docs/upgrading/#no-new-version-found-safety-delay
You can always do a manual upgrade by downloading the installer from the website and running it yourself.
-
@PeterJones Thanks for all the help. Yes, your suggestion fixes this issue!
Best
Zach