Please send all bug reports and suggestions for features to
New Planet Software.
5.2.0
Major changes
Added support for graphical Subversion diff.
Project
Fixed bug in Java inheritance tree parser to ignore comments embedded in package, import, and class declaration statements.
Fixed bug so new projects automatically build the symbol database from the files in the project's directory.
Text Editor
Fixed Functions menu so it ignores the namespace option for languages that don't have it.
Fixed PHP keyword completion to include JavaScript keywords and functions.
Fixed PHP syntax highlighting to recognize JavaScript regular expressions.
Miscellaneous
Added Close button in tab for each docked window and augmented the context menu for the tabs.
Fixed bug in CVS diff so it now uses CVS/Repository instead of CVSROOT.
Added option for $p in "Show file in file manager" command.
Fixed class trees, symbol browser, etc. to offer to create a file if it doesn't exist.
5.1.1
Project
Improved extraction of function names from JavaScript files. (requires ctags 5.6-3)
Text Editor
Read only files are now indicated by a red border around the file icon (and drag source!) in the status bar of each window.
Updated Perl syntax highlighting to recognize file globs.
Fixed bug so scripts work again.
Changed default focus behavior to work better with most window managers. Windows stacking should no longer get rearranged when switching virtual desktops.
"Compare with.." commands now save the file, if necessary.
5.1.0
Project
Symbol browser now includes JavaScript functions defined in PHP files. (requires ctags 5.6-2)
Text Editor
Added Targets menu to Ant build files (build.xml).
Functions menu in PHP files now includes JavaScript functions. (requires ctags 5.6-2)
Fixed bug in Functions menu so it updates correctly while editing a read-only file.
Updated JavaScript syntax highlighting to recognize regular expressions.
Updated Perl syntax highlighting to recognize simple here-documents.
Miscellaneous
Fixed bug so text files containing CVS conflicts do not produce warning about invalid project.
Smoother scrolling on Mac OS X.
5.0.3
Project
Only displays "checked out" status if the project is using CVS and CVSREAD is set.
When a project is opened, it now warns if the file contains CVS conflicts.
Fixed crash when dropping files already in a project from a file manager to the top of a group.
Text Editor
Fixed bug so Multifile Replace All does not hang after the process is finished.
Miscellaneous
During Drag-and-Drop, if the mouse is moved over a group of tabs, the tab under the mouse is automatically selected.
Fixed bug so window docks cannot be shrunk below a safe, minimum size. Some windows may still pop out of the dock because they no longer fit, but the program will not crash.
Fixed bug so commands run with the special @ path work when not all the selected files are in the same directory.
5.0.2
Project
Fixed bug that caused crash when using Choose File Dialog to change the path of an item in the project.
5.0.1
Project
Fixed bug that caused projects to not open if the "Warn before open old project" option was turned on.
5.0.0
Major changes
Added support for C#, Erlang, SML, and JavaScript. (requires ctags 5.5.4)
Added syntax highlighting for JavaScript inside PHP files, Eiffel, and Python.
Added support for CMake as an alternative to makemake.
Regular expression search and replace now uses Perl syntax, thanks to the PCRE package. The most important features that this provides are backreferences and named subexpressions.
Fixed lots of issues related to working with version control, e.g., CVS tab in "Compare files" dialog, check-out status in Project window, "This task invokes version control" flag for tasks, CVS-merge-friendly .jcc file, and preferences moved from .jcc to .jup file.
Project
Pressing Ctrl-Return after editing a file name renames the existing file.
Symbol browser now includes PHP defined constants, ASP variables, and Vim autocommand groups. (requires ctags 5.5.4)
Updated Compiler Output window to recognize and merge multi-line messages from gcc. This makes double-spaced output easier to read.
Updated Compiler Output window to understand javac messages.
Updated Compiler Output window to understand Unicode characters printed by gcc 4.x.
Fixed "Add directory tree..." so it ignores CVS and SCCS directories.
Fixed bug so symbol table is now updated when a file's path is changed.
Symbol browser now reports if it cannot find a file.
Java Class Tree
Fixed bug in parser so package is extracted from package statement, not the file path.
Fixed parser so it searches imported classes for the superclasses, if they are not fully qualified.
Text Editor
Replaced "Read only" checkbox with Settings menu to allow options for each individual window to be changed.
Added option in Settings menu to make whitespace visible. For maximum readability, spaces between words are not drawn.
Created scripts for context menu to tabify/untabify, upper/lower case, comment/uncomment, etc. These scripts are in the scripts subdirectory in the Code Crusader package.
Added "Open directory" option to right-click Scripts menu.
Scripts menu no longer shows CVS and SCCS directories.
Added "Force shift left" item to Edit menu. This shifts the selected lines left even if some lines do not start with enough whitespace.
Added "Compare with CVS" and other useful shortcuts to File menu.
Finally fixed editor so undoing to latest save point clears "needs save" flag.
Fixed file name input at bottom of window so typing only a file name opens Save File dialog instead of saving file in unexpected places (actually, the current working directory).
Fixed file name input at bottom of window so it creates the path if it does not already exist.
Fixed bug so file differences are shown correctly when file contains very, very long lines.
F12 searches for definition of selected symbol. Shift-F12 searches for declaration of selected symbol.
Added "Manage project" sub-menu to Tasks menu for easier access to project windows.
Fixed bug so "Add to project" shortcuts work immediately after saving a new file.
Fixed Ctrl-double-click behavior so it stops at (,[,{. This makes it easier to open files from a Java stack trace dump.
Finally fixed bug so ^ in regex will not match at the caret location unless the caret it at the start of a line.
Updated PHP syntax highlighting to PHP 5.
Updated Java syntax highlighting to recognize newest doc tags.
Added Javadoc tags to Java keyword completion.
Fixed case-matching bug in keyword completion for case-insensitive languages.
When jumping to a line, the line is selected if the text is read-only.
Miscellaneous
Renamed Commands menu to Tasks menu.
Added support for performing a task in the file's directory via the special "@" path. This is especially useful for version control tasks.
If menus do not fit on the menu bar, they are available in an overflow menu.
A menu will never again cover the menu bar when it is opened. This prevents menu items from being accidentally selected with a click on the menu bar.
Added "Tip of the Day" to the Help menu.
Added "Kill" button in Compile and Run Output windows. The "Stop" now sends SIGTERM instead of SIGKILL. SIGTERM allows compilers to clean up temporary files before exiting.
Added --dock and --no-dock command line options.
Added option to Miscellaneous Preferences to warn when opening an old version of a project file, since after being opened, the file will no longer be readable by older versions of Code Crusader.
Fixed Search Text dialog so dropping a directory on the "Search directory" input area turns on the "Search directory" checkbox.
Fixed Windows menu to honor Macintosh/Windows shortcut style, i.e., in Windows mode, holding down the Control key now sets the active project.
Added hack so windows dock correctly when using the Gnome window manager.
Fixed bug so elasticity of docking panes is saved in preferences.
No longer complains "Unable to find xyz" if you cancel the "Searching for xyz" process.
No longer saves backup for files edited via --cvs-commit.
Fixed "Find file" dialog to search active project's directories first.
Fixed "Compare files" dialog to accept project-relative paths.
4.0.4
Project
Fixed Run Command dialog to allow running make commands even if no project is open.
Fixed bug that caused crashes when cancelling a command that contained calls to other commands.
4.0.3
Project
Fixed bug that caused crashes when executing commands that contained calls to other commands.
C++ Class Tree
Fixed bug that caused occasional crashes when displaying menu of functions or closing Function List window.
4.0.2
Text Editor
Fixed "Open selection as file name" to recognize single quotes, too.
If the caret is just outside a grouping symbol, "Balance closest grouping symbols" now balances it rather than the enclosing group.
"Balance closest grouping symbols" now recognizes < and > when editing HTML.
Updated PHP function name completion to PHP 5.
Updated PHP syntax highlighting to recognize <script type="text/...">.
Fixed bug in PHP syntax highlighting so <? and other such shortcuts do not need to be followed by whitespace.
Fixed bug in PHP syntax highlighting so $$a is recognized as a valid variable reference.
Fixed bug in PHP syntax highlighting so "as" is recognized as a keyword.
Fixed bug in PHP syntax highlighting to eliminate occasional crashes and styling errors.
Updated Perl syntax highlighting to handle [] construct in subroutine prototypes.
Fixed bug in Windows-style menu shortcuts so Ctrl-left-arrow moves caret by one word instead of indenting selected text.
Fixed scrolltab shortcuts to be Meta-1..9 when Windows-style menu shortcuts are used.
Fixed bug in Drag-and-Drop that caused crash in a very rare situation: drop text ending in a newline at the end of a file that did not end with a newline.
Miscellaneous
Now installs correctly into the Start Menu in Gnome 2.
Fixed bug that occasionally caused a window to remain blank after switching to its desktop in Gnome 2.
Fixed UNIX man page viewer to handle embedded Unicode characters. (Unrecognized characters are printed to the console. Please report them!)
Changed default image viewer from xv to Eye of Gnome.
4.0.1
Miscellaneous
Fixed bug in sub-project build system so it now works even if ./ is not on your execution path.
Fixed bug to avoid crash when clicking on file icon at bottom of Text Editor window with empty file name input.
Fixed bug to avoid crash when Compiler Output window is shrunk to its minimum size.
Fixed bug in Choose File and Save File dialogs so they remember the "Show hidden files" setting.
Fixed bug so menu shortcuts which require the Shift key work even if Caps Lock is on.
4.0.0
Major changes
Added Commands menu to all windows. This replaces the Project menu in the Editor window and makes the Make and Run dialogs obsolete.
You are no longer restricted to only one make related task at a time. For example, you can select any number of files or groups in the Project or inheritance tree windows and compile them all. You can also request a second compile job while the first one is still running. Another neat feature is that you can compile from either source or header file, provided they both have the same root name.
Added support for Bison, lex, Pascal, REXX, and Ruby. Added syntax higlighting for Bison, Bourne shell, C shell, Java, Perl, and TCL. Dramatically improved syntax highlighting for PHP and added support for XML namespaces. Added keyword completion for TCL.
Function arguments are now displayed in the symbol browser for C, C++, and Java functions.
Requires Exuberant ctags version 5.4.
Added support for qmake as an alternative to makemake.
All windows are dockable. Right-click in the docktab at the left of the menu bar to create a dock. Then drag the docktab and drop it in a docking area. (If the window can't shrink far enough to fit, the docking area will not accept the drop.)
Project
Redesigned sub-project build system. When makemake is used to build the Makefile, the project dependencies are encoded in the Makefile so everything can be built without running Code Crusader. This is useful when writing scripts for nightly builds.
Added right-click context menu in Project window.
Added "Add directory tree..." item to Source menu.
Added "Compare selected files with backup" item to Source menu.
Added new preferences to raise output window when building, compiling, and running.
Added "Show selected files in file manager" item to the List menu in the File List window and to the Source menu in the Project window.
When you create a project template, it saves the Makefile if there are no makemake or qmake files.
Simplified interface for creating new project from template by using single Save File dialog with menu of all available templates. This menu includes all personal (~/.jxcb/project_templates/) and system wide (/usr/lib/jxcb/project_templates/) templates, so you are no longer restricted to using only your personal templates.
When you open a group by clicking on the arrow to the left of the name, the display scrolls to show the contents of the group.
When you select a group name and then add files to the project, the files are prepended to the group if the group is open. Otherwise, they are appended to the group.
Symbolic links can now be added to the project.
Ignores backup, safety save, and compiler output files if you try to add them to a project. This allows you to select all files in a directory and let Code Crusader sort them out instead of having to filter them manually.
Understands the .dylib suffix used by Mac OSX.
Removed "raise window" and "beep" options from Project Preferences dialog because these options are now provided in the "Edit commands..." dialog.
Eliminated need for "Recalculate dependencies before make" option. Makefile is now rebuilt once a day, even if the project has not changed, in order to keep the dependencies up to date. (You can do it more often, if you wish, by using the "Update Makefile" item on the Project menu in the Project window. If you use CVS and do not wish to have the Makefile built automatically, you can turn off this option in the Project Preferences dialog.)
Added --make-name option to makemake.
When the contents of a command output window are saved, the command window will not be re-used again, i.e., it becomes like a regular Text Editor window.
Fixed bug so project only reparses files once after a file name is changed.
Fixed bug so Make.files is updated when files or groups in the project have been rearranged.
Text Editor
Added right-click context menu.
File name at bottom of window is editable. Change it and press Return to get the equivalent of "Save as..." Ctrl-Return renames the file, deleting the version with the old name.
Added Drag-and-Drop source to the left of the file name at the bottom of the window. This turns into a Direct Save (XDS) source when you are editing the file name. Double clicking on the icon displays the file in the file manager of your choice.
Added more convenient interface for running external scripts.
Moved "Compare files..." item to File menu. Also added smart item to compare the current file with whatever is most appropriate. This smart item works just like the --diff command line option.
Added "Place bookmark" item to Search menu. This places a scrolltab at the current scrollbar thumb location.
Added option to include namespace for each function in Functions menu. This setting is toggled via the Shift key.
Added option to draw right margin indicator.
If no text is selected, "Find selection" menu items search for the word that contains the caret. This avoids the need to double click before performing "Find selection" when you want to search for a single word.
Cursor changes to arrow when cursor is over the selection and dragging will initiate Drag-and-Drop.
Dollar ($) character is now recognized as part of a word in the scripting languages that use this as a prefix character. Hash (%) and Array (@) are also included for Perl.
Fixed bug so macro won't be triggered by the end of a word, e.g., "Waldo".
Fixed bug in C syntax highlighting so only the first part of "#if 0 ... #else ... #endif" will be considered a comment. Also fixed bugs so comments after "#if 0" and spaces within "#if" don't affect the result.
Fixed bug in Sections menu (when editing HTML) so quoted section names are not listed twice.
Changed Edit Styles dialogs to simplify changing styles and avoid Meta-click conflict with window managers.
Optimized code so opening files with syntax highlighting is at least twice as fast.
Fixed bug so undo shift left/right works correctly when selection includes a partial line.
Fixed bug in C/C++ styler so "0" is treated as decimal rather than octal.
C++ Class Tree
Fixed parser to handle classes declared inside a namespace.
Miscellaneous
Added option to "Miscellaneous Preferences" dialog to choose between Macintosh and Windows style menu shortcuts. (This assumes that you have not changed Meta to Ctrl in the menu_strings file.) This affects all menu shortcuts and the Meta-Tab shortcut for opening header files.
Added command line option --cvs-commit to allow Code Crusader to be used as the CVS Commit editor. Simply tell CVS to invoke "jcc --cvs-commit file_name". When you are done editing the change log, use Quit on the File menu and CVS will process it automatically.
Added "Ignore changes in amount of whitespace" and "Ignore blank lines" options to the Compare Files dialog. The latter option only works if you have GNU's version of diff installed.
Tab completion works in all path and file name input fields.
Renamed Files menu to Windows menu, alphabetized it to make it more useful, and moved it after Commands menu so that File menu is in the standard location.
You can change the menu font by creating ~/.jx/menu_font. The first line in the file must be the font name. The second line in the file must be the font size.
Removed "Close" button from menu bars since all reasonable window managers provide their own Close button in the title bar.
Fixed bug in UNIX man page display so error output is no longer mixed in with text.