Source Insight – version 4.0.0104

Source Insight

Version 4.0.0104 - December 9, 2019

Fix: C/C++: Some casts were not understood. For example: ((foo *)ptr)->member... Also added better understanding of static_cast<>, dynamic_cast(), etc.

Fix: C/C++: multiple declarations within a for-statement were not recognized. For example: for (int i = 0, j = 0; ... ; ...) { ... }

Fix: ANSI C: in a nested struct, the inner struct name is also defined and in scope outside the outer struct, whereas in C++ it's defined only within the scope/namespace of the outer struct. The "ANSI C" language type in Source Insight now supports this correctly. If you use pure C code, consider changing the File Type Options to associate *.c and *.h with the "C Source File" type, and not the "C/C++ Source File" type. (see File Type Options)

For example:

struct Outer { struct Inner { ... }; };
struct Inner foo; // you can refer to Inner outside of Outer in C

Fix: C/C++: Parsing bug when using a token macro that expands to a try or catch block.

Fix: Sometimes the Relation window and Search Results didn't show a proper function name, but would instead show something like "if (condition...)..." which is actually a snippet of an if or while statement contained within the function in question.

Fix: C#: some generic classes were not parsed correctly.

Fix: Auto-completion was not proposing struct members for some nested structs.

Fix: Perl: many fixes to parsing and syntax formatting.

Fix: If a block of code was collapsed, searching or jumping to a definition would not expand the blocks to reveal the target line.

Fix: Scrolling down using Page-Down, and then Page-Up did not return to the same line number at the top of the window.

Fix: In some conditions, you might be prompted to reload a file that has changed, when in fact the file had not changed.

Fix: Context window was tracking identifiers inside string literals. The default setting was supposed to turn this off.

Fix: Formatting: references to member functions were not always styled with the correct "Ref To Method" style.

Fix: File Compare window: some keyboard commands were not working.

Fix: Stability fixes.

Performance: Initial startup and Load Configuration was sped up.

Performance: Small speed up in Lookup References and Relation Window.

Performance: Improved display update speed while typing when the Overview control is visible.

New: You can disabled text scaling with CTRL+Mouse Wheel. Normally mouse-wheel plus the CTRL key scales text. Select Options > Preferences > General and use the option that reads "Allow Ctrl+Mouse Wheel to scale text".

New: License Installation command line options were added to help make automated installations easier. You can read about them in the Automated Installation topic in Frequently Asked Questions