Recent Posts

Pages: [1] 2 3 ... 10
SlickEdit® / Re: Slickedit 28 UI freezes (due to tagging?)
« Last post by adadad on Today at 12:48:22 PM »
Hi Clark,

The files are all local. A linux source tree has a couple flex / bison source files, lots of text files (Documentation/ folder), lots of Makefiles but mainly c and h, really.

I've removed the ~/.slickedit/28.0.0 folder, which caused SE28 to recreate it from the ~/.slickedit/25.0.2 one (same as originally), and the UI hasn't frozen once in the last hour.
SlickEdit® / Q: How to use color coding with Extended Palette?
« Last post by Bamsen on Today at 08:15:41 AM »

I am trying to set color coding of a specific word to "Extended Palette 00" but this does not show in the drop down.
How can I use the Extended Palette colors?

Morten A. Steien
SlickEdit® / Re: Slickedit 28 UI freezes (due to tagging?)
« Last post by Clark on November 29, 2023, 04:21:25 PM »
It's good that you tried removing Makefiles since that can cause a lot of over head. What are all the other file types in your workspace tag file? Are your files local or remote/networked?
SlickEdit® / Re: tutorial for adding new language support
« Last post by Rodney on November 29, 2023, 01:48:22 PM »
Copy attached to this reply.

SlickEdit® / Slickedit 28 UI freezes (due to tagging?)
« Last post by adadad on November 29, 2023, 10:21:25 AM »

I upgraded from 25 to 28 (Linux Pro version in all cases), but something causes the UI to freeze for multiple seconds (10 to 30) every few seconds. This appears to be happening whenever SE kicks-off the background tagging to determine if anything has changed (at least that's the last message in the status line), or when I save a file or when I switch tabs. It happens even if I don't do anything with the sources, e.g. while navigating Tools->Options. While frozen, CPU usage spikes up to somewhere between 100% to 200%.

I can not do anything during that time and I had to switch back to 25 due to that. With 25, while it also starts the tagging regularly, at least any UI interaction stops it more or less immediately.

My workspace usually contains a couple versions of the full Linux kernel source tree (all files) as different projects with project specific tag files, but I've reduced this to just one tree in SE28 for testing to no avail. It wasn't added via wildcard, but explicit files. All worked fine with 25 and all other previous SE versions I had used. SE also copied all the settings from 25 to 28, so they should all be the same (tagging options in particular). The project specific tag files for a Linux tree contain ~85000 files and are ~1500MB each. My workstation has 128 cores and 512GiB RAM. It doesn't use SSD/nvme, but RAM should be sufficient to keep everything cached (it was with SE25). Nothing else is competing for resources with SE on that machine. I've also recreated the project (and tag file) in 28 just to be sure no incompatible or broken tag file causes this.

In Tools->Options->Editing->Background Tagging, I have everything set to 'ON', except for 'Background tagging of other files', 'Update language-specific tag files' and 'Update all tag files'. Other options there are:
start after seconds idle: 30 (up from 3 in SE25)
start after minutes idle: 1
minutes before restarting: 5
delay between checking files (ms): 5 (default value, doesn't exist in SE25)
threads: 8
process background tagging jobs after (ms) idle: 500
background tagging timeout (ms): 100 (down from 250 in SE25)
maximum number of active tagging jobs: 500
maximum amount of background tagging memory usage (MB): 980 (up from 31 in SE25), can't go any higher in SE28
maximum files for cache updating: 200000
minimum wildcard cache update time (ms): 8000

In Tools->Options->Editing->Context Tagging:
Use memory mapped files: ON
Tag file cache size (MB): 64
Tag file cache maximum size: 4096 (up from 3072 in SE25)

In Tools->Options->Application Options->Virtual Memory:
Buffer cache size (MB): 96
Tag file cache size (MB): 64
Tag file cache maximum (MB): 4096 (up from 3072 in SE25)
Maximum number of memory allocators: 12 (up from 10 in SE25)

I've set def_tagging_logging=1 temporarily, and the only thing obvious to me from the log is that there are 1000s of Makefiles, which apparently SE can't tag in background and reverts to foreground tagging? But the same is true in SE25 where the UI is still responsive. Removing all Makefiles from the project for testing purposes hasn't made it any better, though. Therefore, I'm not sure so if that is related.

I've also set def_show_makefile_target_menu=2 for testing to no avail.

I've tried on both the QT5 and QT4 versions, with no difference in behaviour.

Finally, I've noticed that tagging as such appears to be way faster on 25 than on 28, with CPU usage higher on 25 due to using more threads judgding by monitoring with top. On 28 it seems to be maxing out at 200%, with 25, it goes to 400% and occasionally close to 450% (despite having configured 8 background threads). But that might be a different issue.

Please help in resolving this.
SlickEdit® / tutorial for adding new language support
« Last post by adadad on November 29, 2023, 09:29:43 AM »

It seems the tutorial in (or even is gone. This is unfortunate, as my bookmark and Google now don't know where to find it... Can you please share the new location?

Slick-C® Macro Programming / Re: Highlight matching parens macro
« Last post by dunkers on November 28, 2023, 12:27:12 PM »
Has there been a  breaking change to Slick-C, Specifically, with default arguments?

I had a look at what's stopping HighlightParens from working. On loading I get a popup (attached) saying it contains a call to _StreamMarkerRemoveAllType with not enough parameters. Nevertheless I trigger it and sure enough get a Slick-C stack dump, so it's not fibbing.

Looking at the code I see:

Code: [Select]
 * Removes all stream markers that have the specified type.
 * @param type Type of stream marker.
 * @appliesTo Edit_Window, Editor_Control
 * @categories Marker_Functions
extern void _StreamMarkerRemoveAllType(int type,int buf_id=-1);

My understanding, which may not be correct, is the the -1 assigned to buf_id is the default if that parameter isn't actually specified. And, indeed, the SlickEdit help says:
The assignment operator has special meaning in an argument declaration. It defines a default value for an argument. The default value is used if the caller does not specify the parameter.

So I changed HighlightParens.e, line 101, to read:

Code: [Select]
_StreamMarkerRemoveAllType( s_markerType, -1 );
And now there is no warning on load, no crash and the macro works as it used to. It looks to me like the default parameter isn't being recognised as such.
SlickEdit® / Re: Selective outline
« Last post by dunkers on November 28, 2023, 12:11:10 AM »
This is a limitation of outline mode.

OK, thanks Clark.
SlickEdit® / Re: Selective outline
« Last post by Clark on November 27, 2023, 11:19:51 PM »
Outline mode is turned off when selective display is changed (View>Selective Display etc.). This is a limitation of outline mode. Double clicking on + or - in the margin is supported when in outline mode. This allows outline mode to be more valuable than just showing indent levels.
SlickEdit® / Selective outline
« Last post by dunkers on November 27, 2023, 10:57:39 PM »
In V28: If outline.. braces and brackets (or, indeed, anything other than 'off') is enabled then there are dotted lines and margin markers to show code structure. If selective display is then enabled (perhaps by using 'hide code block') then if the block is unhidden the outline has been set to off.

This doesn't happen if the margin marker is double-clicked to hide that small code section, so it seems to be something that is triggered by the use of the menu or toolbar.

I would expect it to be consistent regardless of how the code is hidden or shown, and preferably the outline feature would only be turned off if I manually turn it off.
Pages: [1] 2 3 ... 10