CRiSP Release v11.0

The following sections summarise the changes in the recent releases of CRiSP v11.0

Version 11.0.32 Apr 2014

Add syntax coloring for ASN1, Rust and Markdown language. Add SystemVerilog coloring too. Update C/C++ keywords.
Add "Syntax" to the menu bar so you can see the over 140 syntax coloring languages available and easily switch them.
Various bug/stability fixes.
(Linux) Fix issues with cascading menus not popping down properly.

Version 11.0.31 Apr 2014

Improve the text mode help formatting (extra spacing, and table calculation/word splitting). Fix missing section headers for the character mode table of contents.
Color dialog now shows gridline/tab-markers for coloring support.
Fix <Ctrl-V><Ctrl-H> and a related characters which generated incorrect keycodes.

Version 11.0.30 Apr 2014

[Windows] Fix install and uninstall - last change to setup would default to installing to "C:\Program Files". This release fixes that and fixes an issue in the uninstaller which failed to remove the last trace of CRiSP.
Add support for "makefile" tagging.

Version 11.0.29 Apr 2014

Add "Auto dir select" option to Open File dialog, to hint that future opens will leverage the current buffers directory, rather than the current directory (of CRiSP).
Fix issue with File/Search which would ignore the specified path and use the current directory.
Use %ProgramFiles% for default install path on Windows.

Version 11.0.28 March 2014

Fix GPF under some circumstances when tagging SQL files.
Fix Haskell syntax coloring.
Fix Windows drawing issues for 0x81 character.
Add "format" support for reformatting JSON files.

Version 11.0.27 March 2014

Fix for FTP on Win7/winsock.
New primitive: json_parse(). Add a JSON colorizer.
Fix issue with Alt-A causing possible GPF.
Fix recent issue with overtype cursor not being displayed. Fix boxed/dotted line for current line not drawing properly in some circumstances.

Version 11.0.26 February 2014

Support for OpenBSD 5.5 added.

Version 11.0.24 January 2014

Fix background color issue in tree control when using double buffering.
Fix Alt-nnn key handling for X11.
Add syntax coloring for *.vala files.
Fix Windows setup.exe dialog fonts to use ClearType. Default install to "C:\Program Files (x86)" for Win7/8 compliance.

Version 11.0.23 January 2014

Fix issue with column copy causing GPF under some circumstances.

Version 11.0.22 January 2014

Bug fix for column cut/copy when beyond end of line and a MSDOS file.
Fix for Linux - accelerators in dialogs sometimes not firing.
Linux - fix accelerator line drawing when using FreeType fonts.
New primitive: fuzzy_match.
open() function now accepts Perl-like pipes to read or write from.
Spreadsheet mode now handles tab delimiters.
Compiler optimisation speedup (+5%) by removing stack checks (which werent present in older compilers).
FIx a C/C++ tag parsing issue for "struct fred *func() ..."
Linux/x32 architecture available internally. If anyone is interested more on this, let me know. This gives about a 5% performance improvement but x32 CPU architecture support is not complete in the X windows stack. (x32 is using x86_64 instructions in a 4GB address space, to improve RAM usage and cache usage).
Fix for 'cr' on Linux when displaying certain control characters in a file.

Version 11.0.21 December 2013

Small fix for Windows setup.exe - propagate a file extraction error so user doesnt think it succeeded.
Add bold-font support for truetype/cleartype fonts so that we restore the visual semantics on tables and tombstones.
Add 'set tag_project=' command so we can disable a project based tag directory when necessary.
Some fixes for when Windows screen font setting is set to 125% (Miscellaneous options dialog had a truncated input field).
Fix cursor corruption when using 125% display mode in Windows - we werent creating a suitably sized bitmap cursor.
Fix a sorting/display issue for table controls.
Add View->Spreadsheet to expose the Data Miner facility. Includes better mechanisms for parsing a CSV file, and includes some amount of pivotting facility.
Tables: implement proper numeric sorting.

Version 11.0.20 September 2013

Fix performance problem (Windows) which would make the focus-rectangle in the buffer use a lot of CPU. Combined with the Hex/Ascii codes on the status bar could make CRiSP seem unresponsive.

Version 11.0.19 August 2013

Word-wrap mode fixes (set wordwrap) can now wrap text at word boundaries. Still needs some work for cursor positioning.

Version 11.0.18 August 2013

(Windows) Options->Windows associations menu works properly for adding and removing file types in the registry.

Version 11.0.18 August 2013

crtags displays a summary rather than every file parsed.
Tagging handles commented directives (C++/C) properly.
crtags now displays some code metrics.
Fix for Linux shlibs not working on some platforms.
<Ctrl-A><Ctrl-O> can be used to edit files in auto mode (mainly for debugging).
Fix issue parsing the BOM for UTF-8 files leading to file corruption.

Version 11.0.17 July 2013

Fix Outline issue so that the popup dialog works even for gridline based buffers.
Add support for gradle/groovy tagging and define defaults for *.groovy and *.gradle file types.
Add "unhex" command to unhexify a hexadecimal dump.
Add INOTIFY class so we can use the inotify facility in Linux to monitor file/directory changes. Fixed issues when using an object in printf style "%s" formats.
Added a new color scheme (Gray Suit)
(Linux) Fix issue when large fonts are used in dialogs - better layout semantics.
(Linux) Fix widget tab traversal issue not highlighting current button.
(Linux) Better focus coloring for dialog buttons and widgets.
OCAML syntax coloring support.
Ignore __kprobes when parsing Linux kernel sources for tagging.
Better ARM assembly syntax coloring.

Version 11.0.16 March 2013

Fix issue with inq_buffer("$HOME/...") where dollar expansions didnt happen and caused session files to be repeatedly not found.
Add "set [no]menubar" command to turn off char mode menubar.
Unix - fix if no freetype fonts causing Help dialogs to crash.
Add operator precedence for Lua.

Version 11.0.14 February 2013

Support for YAML/YML files (gridlines and syntax coloring).
New primitive - tag_get_tokens() to allow streaming of the syntax parser used in tagging, e.g. to allow metrics to be computed for source files (experimental).
Syntax coloring for glsl (OpenGL) files.
Fix issue with state-saving files on Windows due to filename limitations. Fix issue if more than 20 session state files present.
Fix some layout issues in the online help with tables and images.
Contents/Routines section now allows filtering of the results.
Fix use of Space key when char-mode infotips popup. Fixes for typein completion when dealing with partial words.
Updates to Ada syntax coloring to support 2012 standard keywords.
Tagging: use of nested <..> sequences would throw off the parser for Java/Scala.

Version 11.0.13 December 2012

(X11) Default the non-edit area fonts to a freetype / nice looking font.
Add '#pragma region' support to gridlines, which is a facility for marking collapsible regions in C/C++ code. '#region xxx' and '#endregion' also added for C# files.
Fix issue where MDI or window title doesnt reflect current buffer name when switching buffers.
Fix issue with gridlines not displaying properly when a ^M is on a tab boundary.
Add new facility to cache the session state, so on a restart you can recover where you left off. This is available in the new Windows->Session submenu (similar to the way Firefox can allow rollback to prior editing sessions). This complements the existing workspaces mechanism, but is more automatic.
New facility for enabling dynamic syntax checking as you edit. You can enable/disable in the Language Editing modes dialog, and can use the 'set [no]syntax_check' command to turn it on or off at the Command: prompt. It relies on external tools to do the compilation/syntax check and initial support for a variety of languages are provided.
Add "Syntax check" configurable menu item to Project setup.
Add syntax coloring for the Groovy build description language.
Add syntax coloring for the Lua language.
Add syntax coloring and default templates for XSLT files.

Version 11.0.12 October 2012

Rewrite the gridlines mechanism, to reduce CPU usage when updating the screen.
Add "*" command to the vi emulation, since modern Vi equivalents use that for 'search for word under cursor'.
Fix issue with Windows->Tile horizontally/vertically being the wrong way around.
Change default memory thresholds to keep more in memory on Windows (now defaults to 256MB).

Version 11.0.11 August 2012

When scrolling up, we sometimes didnt redraw the line numbers properly (especially with Ctrl-Up).
Fix issue when running 'crisp' in the background and we try to open a pipe.
Fix core dump if pasting into an empty field.

Version 11.0.10 July 2012

Fix node locked licensing issue on Windows if not an admin user.
Fix issue with tagging *.log files which can lead to exhaustive memory use.
Some possible UTF-8 display issue fixes. Still some more things to fix/investigate on UTF-8 which will be fixed in a later release.

Version 11.0.9 June 2012

Fix node locked licensing issues caused by presence of RaspberryPi license. CRiSP now treats Windows/32 and Windows/64 licenses as the same.
save_position() and restore_position() macros correctly handle lose-cursor mode (used when the mouse is used to scroll). Avoids losing position when hover mode is active, and mouse is moved over the buffer.
"show file" shows more buffer state.
"crtags -help" shows the language listings (dont need to do 'crtags -help 1' to see them).

Version 11.0.8 June 2012

Remove Linux debug left in 11.0.7
(X11) Fix issue where clicking on status panel/command prompt can result in continuous autorepeat.
Fix focus selection on edit window when clicking frame or file tabs (not redirecting when notes control on display).
Allow min() and max() macros to have NULL arguments. Fix issue with updating an array inside a list object.

Version 11.0.7 June 2012

Fix issue where flashing cursor may stop flashing due to timeout ambiguity.
(Linux) When invoking a sub-shell (Alt-Z), dont call setsid. Fix for job control not working in subshell.
Fix for C/C++ tags not parsing a prototype function with no argument list.
New macro (tbl.cr) and "draw table" can now be used to create tables in character mode diagrams. Table rows/columns can be moved and autoresized.
Potential drawing problems when using minimap and hexmode buffers on display.
When switching windows (F1) with hexmode buffers on display, ensure we compute the target window more appropriately based on cursor position.

Version 11.0.6 June 2012

(Windows) Optimise BitBlt for minimap. (3x or more faster).
Fix issue with Python shell buffer when playing back keystroke macro, where race condition with python prompts can cause issues on copy/paste.
Add *.vh as Verilog files for syntax coloring/tagging.
Make inq_playback() tell if we are playing back, and add inq_recording() to tell if we are recording. (Previously inq_playback() told you if you were recording, which was unobvious).
Fix possible issue with Ctrl-A popup invoking the wrong menu item.

Version 11.0.5 June 2012

Fix issue with node-locked licenses becoming corrupt. Users upgrading to 11.0.5 may need to use "lmcrisp -init" to workaround the initial detection.
Add support for linux-armv6l (RaspberryPi) architecture. RaspberryPi includes a *free* license - you can just run and use it.
Avoid some dialogs going behind the main CRiSP window when invoked. (Windows)
Relayout Help->About to include more licensing and config dir info.

Version 11.0.4 June 2012

<Del> would not delete the current block, due to problems with the execution engine caused by regression in last release.
Some optimisations to codes timer (char codes displayed on status line), and minimap.
Ensure window frame, MDI frame and window title are in agreement when showing undo marker and filename.
File Open/Save dialog might not appear due to breakage in instance handling on Win32.
Fix possible performance issue in tagging hits an ambiguous tag when lots of buffers loaded.

Version 11.0.3 May 2012

Fix mem leak in minimap for Windows.
Fix inability to save minimap settings on Windows.
Window->New Frame didnt work properly on Windows, due to a message ordering issue.
When resizing window on Windows + Unix, avoid frantic redraw flickering.
Clicking on a file-tab to select a file, focus now set in the edit window.
Fix field focus issue on Line/Col goto dialog.
Tidy up Screen settings->GUI dialog panel.

Version 11.0.2 May 2012

Screen settings->GUI has been tidied up and reorganised by topic.
Fix core dump if window resized with minimap on display. Enhance outline gridlines in minimap to show as a connected line.
Fix issue with P4 and file remapping.
If minimap on display, cursor was being flashed too rampantly.
Moving mouse whilst at command prompt, which was showing previous input (in reverse video) would suddenly disappear as if you had started typing.
Avoid macro error in the hex/ascii codes feature on the status line when using a compile popup window.
Minor fix to macro stack dump to show internal "eval" strings. Fix problem affecting many dialog boxes that use local callbacks (an error would popup).
Fix a Perl regexp parsing issue which could lead to an infinite loop.

Version 11.0.1 May 2012

Document map (minimap) support to show the current buffer in a small scale font, allowing larger viewing. Now supported in Windows, MacOS, and Linux.
[MacOS] Fix keyboard options which would allow dialogs to popup even when turned off.