Source Insight – version 4.0.0096

Source Insight

Version 4.0.0096 - September 26, 2018


Fix: Snippet Editor - a bug was introduced in build 4.00.0095: while editing a snippet via the Snippet panel, typing a character would insert the character twice inside the snippet editor.

Fix: Perl parsing bugs.

Fix: Tweaked the project index file performance in large projects.

Source Insight – version 4.0.0095

Source Insight

Version 4.0.0095 - August 21, 2018


Fix: Wine: When running under Wine on Linux, there were display problems caused by the toolbars drawing incorrectly. This probably also fixes the same problem when running on Crossover on MacOS. Note: Source Insight is developed for Microsoft Windows, and is not officially supported on emulators such as Wine and Crossover.

Fix: Revised memory management for large project indexes. This should eliminate the "Out of memory" errors when using very large projects.

Fix: C/C++: Parsing bug when an #if, #ifdef, #else, or #endif statement ended with a /* comment that continued onto the next line.

Fix: C/C++/C#: A struct or class declared inside a function scope could cause its members to not be formatted correctly when referenced elsewhere inside the function.

Fix: C/C++/C#/Java: In some cases, a variable or parameter was given the wrong type if token macro substitutions happened on its declaration line.

Fix: C/C++: Display of comment was incorrect if // comment ended in a backslash continuation mark.

Fix: C++: Jump to Definition from a member function prototype inside a class template was not working.

Fix: Display of multi-line comments using /* and */ delimiters were displayed wrong if they started on the same line as a preprocessor statement such as #if or #endif.

Fix: Java: Was incorrectly parsing statically initialized arrays, such as: String [] test = new String []{"abc"};

Fix: Perl: Several parser fixes, including "our" and "my" variable declarations.

Fix: Python: Added support for "async def" coroutine definitions.

Fix: Window Tab Options: The option to sort by name was not being retained.

Fix: Relation Window: Clicking the Name heading to change the sort order, changed the sort, but did not retain the setting from session to session. It is saved in the layout file.

Fix: Creating a project in the non-default location could corrupt the file paths of the project files. The result is that you could not open project files.

Fix: Changing the Projects folder using Options > Preferences > Folders was not working correctly depending on the paths chosen.

Fix: Clicking and dragging quickly a tab in a panel group could cause the window to be positioned oddly while dragging it.

Fix: Project Search Bar: the Match Case option was not working if the "Word Fragments" option was enabled. Also, if you clicked the Advanced button and set options, the options were not reflected in the search bar check boxes.

Fix: Clips and Snippets that end with a blank line would have the blank line removed when pasted into a file.

Fix: Entering character codes in a source file window using ALT+nnn was not working.

Fix: Crash in Search & Replace: when using Perl-compatible regex and replacing the end-of-line ($) with anything on a blank line.

Fix: Page Setup settings were not being preserved and loaded from the configuration files.

Fix: Project Search Bar (and Search > Search Project) using Keyword Expressions - it was not respecting the options "Skip Inactive Code", "Skip Comments", and "Search Only Comments".

Fix: Selecting multiple files in Windows Explorer, then right-clicking and selecting "Open with Source Insight" would only open the first file.

Fix: Loading a file that had lines exceeding the max line length of 4092 would result in no symbol parsing in the file.

Fix: Invoking from the command line with file name arguments did not add the file to the File > Recent Files menu. Same problem happened when selecting a file in the Windows Explorer and selecting "Open with Source Insight".

Change: The Symbol Info command was added to the Context Window toolbar, and right-click menu.

Fix: Macro function RunCmdLine was returning an incorrect value. It now complies with the documentation and returns True if the process was launched successfully, and False if not. If the process sets an exit code, then you can call the new function GetRunCmdLineExitCode to obtain it.

New: Macro Functions:

GetRunCmdLineExitCode() : returns the exit code of the last process launched by calling RunCmdLine. This only works if the fWait parameter to RunCmdLine is set to True when called.

GetProjMasterFileList (hproj) : returns the path of the project's Master File List, or the empty string if a Master File List is not being used in the project.  hproj = the project handle, such as returned by NewProj or GetCurrentProj.

SetProjMasterFileList (hproj, sMasterFile) : Sets the path of the project's Master File List. hproj = the project handle, such as returned by NewProj or GetCurrentProj. sMasterFile = the new Master File List file-path. The file should exist already. Pass an empty string to turn off the use of the Master File List in the project. Note: the file list will not affect the project until it is synchronized, for example by calling SyncProj.

Source Insight – version 4.0.0093

Source Insight

Version 4.0.0093 - March 20, 2018


Fix: C++ regression bug started in version 4.0.0092:  Failed to find the correct return type of a function if the return type used a "smart" pointer template type, such as shared_ptr.



Source Insight – version 4.0.0092

Source Insight

Version 4.0.0092 - March 19, 2018


Fix: Crash when parsing some Perl files with long lines. This could happen during Synchronize Files, or when idle as the project is parsed in the background.

Fix: Auto complete finding wrong structure members in some cases when token macros are used.

Fix: Python: error parsing some import statements could cause the rest of the file to not parse.

Fix: Python: comment-only lines that start with '#' were incorrectly affecting the current indent/nesting level.

Fix: Auto-complete sometimes failed to work when member fields were defined with a token macro expansion.

Fix: Project Folder Browser panel, and in Project > Add and Remove Project Files: was unable to navigate down into a single folder whose name was longer than 64 characters.

Fix: C++: Failed to find the return type of a function if the return type used a "smart" pointer template type, such as shared_ptr.

Fix: C++: Global scope resolution operator :: was not always interpreted correctly.

Fix: C++: Failed to deduce the type of an array element in a template that implemented operator[].

Fix: Editing project-specific-conditions, and project-specific imports was allowed for read-only projects.

Fix: Project-specific configuration parts were not loading when you opened a different project.

Fix: View > Vertical Scroll Bar did not always show the scroll bar, if the vertical scroll bar was disabled in Options > Preferences > Windows, depending on whether the "enhanced" scroll bar was used or not.

Fix: Memory management problem when opening very large projects with over 50 million index entries.

Change: You can now set the Default font for the current file in the Style Properties. When you select the "Default" style, and pick a font, it sets the screen font of the current file, which is part of the File Type Options. It is equivalent to selecting Options > File Type Options and setting the Screen Font.

Change: Options > Preferences > Searching: "Automatically load selection into find pattern" has change its meaning slightly. If the option is disabled, the text at the insertion point or the selected text is never loaded into the search pattern. It used to load it if 1 or more characters were selected.

Source Insight – version 4.0.0089

Source Insight

Version 4.0.0089 - January 16, 2018


Fix: Macro event DocumentChanged was not called when a file was changed outside of Source Insight and then reloaded.

Fix: C++: Uniform initialization using braces was not working. For example: void SomeClass::Function() : member{x}

Fix: C++: support for digit separators. Eg: int x = 234'000;

Fix: C++: lambda functions: misc fixes: capture variables by reference, trailing return types, specifiers and exceptions.

Fix: C++: fix to pointer dereference using std::unique_ptr.

Fix: Search Results: Incorrect codepage might be used to display results for some searches using Lookup References and Search Files.

Source Insight – version 4.0.0088

Source Insight

Version 4.0.0088 - December 7, 2017


Fix: C/C++ include statement was not working correctly for relative paths if you used the Jump to Definition command to open the header file.

Fix: Importing some .NET assemblies encountered multiple errors while importing.

Fix: Importing too many external libraries or assemblies could cause a crash.

Fix: Crash using Search and clicking a file link in Search Results when no project is open.

Fix: Occasional pausing: Under some conditions, the program could stop responding for several seconds periodically if you have no Internet access. Related to this: an occasional error message might appear about "HttpSendRequest". 

Fix: You can drag and drop files onto the Project File List panel to add them to a project. The list was not updating right away after dropping the files.

Fix: Added a horizontal scroll bar to the Symbol window pane.

Fix: Project Symbol Categories panel: The font setting was not working.

New: Added support for Microchip C extensions. To enable, select Options > Preferences > Languages. Click the Special... button. Tick the box that says "Support Microchip C extensions".

Source Insight – version 4.0.0087

Source Insight

Version 4.0.0087 - October 17, 2017


New: Options > Load Configuration now has an option to import version 3.5 Custom Commands.

Fix: C/C++ Source File: added *.hh file association

Fix: Project > Add and Remove Project Files - fixed keyboard short cut in prompt to add top level sub-directories.

Fix: Crash could happen when activating the Source Insight application window.

Fix: Search > Replace: The "preserve case" option was not working.

Fix: Typing Shift+CapsLock or Shift+Pause would insert a bogus character.

Fix: C++: Anonymous namespaces were not parsed correctly.

Fix: C/C++: designated initializers were not being parsed.

Fix: C++: Templated class was not parsed correctly for member functions. For example:

SomeClass<type>::Function() { ... }

Fix: Using -ub command line option in Trial mode to update project in batch mode would cause a crash.

Fix: Context Window option was not being saved: "Show base structure".

Fix: Symbol Pane was sometimes missing classes and/or member functions.

Fix: Auto-complete window on rare occasion would draw with a transparent background.

Fix: Export Project to HTML: body background color was set, but text color was not being set.

Fix: Command line was not recognizing Unicode text. Also, double-clicking a file in Windows Explorer would not open the file if the file name was non-ANSI.

Fix: Crash fixed in Perl parsing.

Fix: Crash could happen when selecting a node in the Relation window graph view.

Fix: Improved memory management for large projects. The Project Symbol panel could run out of memory for very large projects.

Fix: Macro function GetWndSel was returning a bad Selection record for a block selection. The xLeft and xRight fields were missing.

Fix: Code Reformatter: improved handling of function specifiers such as 'const', 'final', and others.

Fix: Window > Pick Window: closing a window was not updating the Window Tab bar right away.

Change: The text in the Project Symbol panel is not deleted when the Source Insight program is deactivated. 

Source Insight – version 4.0.0086

Source Insight

Version 4.0.0086 - April 27, 2017


Fix: Several errors fixed that can happen if your Windows user name contains Japanese or Chinese text, or any non-ANSI characters. This could cause error messages about not being able to create the project list, or open a project.

Fix: Lookup References: was not finding results if the string you entered was not a declared symbol name. For example, a word inside a comment. This was different than in version 3.5.

Fix: C++: In function declarations, using the pure virtual syntax "= 0" after certain keywords caused the function to not get recognized.

Fix: C++: Parsing error for Lambda functions with omitted parameter lists. Eg: [ capture-list ] { body }

Fix: Code Snippets: Sometimes when a snippet was inserted, the indentation was incorrect.

Fix: Bugs fixed in the Intelligent Paste function, which is supposed to paste new lines at the correct indent level.

Change: Now signed with a new Authenticode code-signing certificate.

Source Insight – version 4.0.0085

Source Insight

Version 4.0.0085 - April 5, 2017


Fix: Using the mouse: Ctrl+Left-Click was not performing Jump To Definition correctly. This happened if you imported v 3.5 configuration key bindings.

Fix: Crash could happen while synchronizing a project. The crash happened while parsing code with syntax errors declaring class template parameters.

Fix: Was not remembering the height of the Context Window and other panels that were docked to the side or bottom edge of the application window.

Fix: Custom Commands: Crash could happen depending on the length of the "Run" command line string.

Fix: In macro files, macros were not working if you used comments using /* and */ delimiters.

Fix: Updated style for "Delimiters". Removed the "print together with next line" property, which caused bad page breaks.

Fix: Style Properties: If you add a new user-defined style, its settings were not restored on the next launch of Source Insight.

Fix: Style Properties: If you selected Pick... under Font Name, then canceled, the current font was messed up.

Fix: Directory Compare: When the Comparison Method was set to "compare file contents", it was not doing that if the file time stamps were different. Now if you choose that method, the time stamps are completely ignored.

Fix: Fixed typo in the description of the "Smart Beginning of Line" command.

Fix: Memory leak fixed that happened when configuration files were loaded.

Security Change: All the program files included in the Source Insight installation are now signed using the Authenticode code signing certificate for Source Dynamics. Previously, only the setup program was signed. To see if a program file is signed correctly and not tampered with, right-click on the .exe file in Windows Explorer and select Properties. Click the Digital Signatures tab. You should see the Source Dynamics signature in the list. Select it and click Details to drill down and see the signature and certificate information.

Source Insight – version 4.0.0084

Source Insight

Version 4.0.0084 - Feb 26, 2017


Fix: Some characters, such as certain Japanese letters (せ and そ), entered with the Input Method Editor inserted the wrong characters.

Fix: Remote Settings: selecting "No smooth scrolling" was still smooth scrolling file buffer windows.

Fix: The default text and background color in the Project Symbol List was not set correctly, so it showed up as black. 

Fix: Bug in name fragment indexing caused some fragments to be omitted, and if you typed those fragments into the Project Symbol List panel, the symbols would not show up. Your project will be re-indexed when you open it. Note: re-indexing is faster than a complete project rebuild. You will be asked before indexing a project larger than 1000 files in size.

Fix: In the Search Results buffer, selecting a symbol in the Symbol Window pane selected the wrong text.

Fix: In macros, the GetReg function was returning an empty string.

Fix: View > Mono Font View did not apply to the Context window or File Compare window.

Fix: If your project source directory was on a network drive, but the drive was not connected, the project's source directory was changed to a location on your local drive. Now, the source directory is not changed, so you can reconnect your network drive and continue using the project.

Fix: C++: Some overloaded operator functions were not showing up in the Relation or Context windows, and Jump to Definition failed on it.

New: Symbol Window Options: New option to control whether long functions are shown in bold or not.

New: You can now import old configuration files from version 3.5. Select Options > Load Configuration, and navigate to your old Global.CF3 file. Open that file and you will have the option of loading Styles, Colors, Fonts, and Key bindings. The version 3.x configuration file is usually stored here:

C:\users\user-name\Documents\Source Insight\Settings\Global.CF3

where C: is your system drive and user-name is your account user name.