J504 Library Changes

bmp

The script is now loaded into jbmp.

Verbs viewrgb and viewbmp are moved to the viewmat script.

Config

Added command strings for EPS and PDF readers in the External Programs dialog. These can be used for viewing corresponding output from Plot.

Command parameters are supported. For example the following re-uses an existing viewer window:

   c:\program files\ghostgum\gsview\gsview32.exe -e
To experiment, define readers in Config, then run Studio|Demos|Plot and Options|Save EPS or PDF.

New dialog Session lets you define the directory search exclusion list.

Added support for the DISPLAYLOAD_j_ flag in boot.ijs. Set this to 1 to display scripts as they are loaded, when debugging standalone applications.

Minimal script minijx.ijs now includes a close handler.

dirbrowse

Extended to support Make New Folder.

Directory Match

Directory Match is enhanced to support Project Manager snapshots. This can be accessed from Project Manager menu Tools|Compare Snapshots, or within Directory Match from menu File|Source from Snapshots. See also Project Snapshots.

Directory Match also supports the subversion version control system. This keeps a copy of the last checked out source in subdirectories .svn.

In Directory Match, select menu File|Source from Subversion to match a directory against the subversion source.

You can assign a function key to compare the current window with subversion. To do so, use Edit|Configure|Fkeys to create a noisy function key with code:

   comparesvn_jijs_''
New button Compare All runs a comparison of all source and target files.

Menu selection View|Compare ignores line separators - simplifies comparison of text files created on different platforms.

Directory Tree

Verbs in script dir that read directory trees now ignore hidden directories, and any directories in the directory exclusion list DIRTREEX_j_. These verbs are dirtree, dirpath, dirss and dirssrplc.

The directory exclusion list is defined in Edit|Configure|Session. For example, the CVS version control system stores files in subdirectories cvs. Since these subdirectories are not hidden, then to avoid searching through such subdirectories, enter cvs in the directory exclusion list. You do not need to do this when using subversion or for Project Manager shapshots, since their subdirectories are hidden.

examples\ole\excel

Made several changes provided by Devon McCormick.

Added Devon's script xlextract.ijs to extract all data from an Excel spreadsheet.

To simplify distribution, replaced all Excel spreadsheets with text files containing their macro definitions:

   jdemo.txt
   jmacros.txt
   jsvrdemo.txt
For example, create an excel spreadsheet jdemo.xls and copy jdemo.txt into a module in the Visual Basic editor.

Form Editor

Now supports commands after rem form end, and multiple forms in one script.

gnuplot

gnuplot has been reworked and supports Gnuplot V4.0.

The main definitions are renamed to avoid conflict with Plot.

The data argument is now treated as in Plot.

Under Windows, gnuplot can be configured to display plots automatically.

To access:

   load 'gnuplot'

J files

J files are updated to support 64 bits. For more information, see

64 bit component files.

Labs

New labs:

  viewmat
Script system\extras\labs\labdir.ijs now uses jpath folder names.

Plot, viewmat and graph windows now support Ctrl+J for lab advance.

main \numeric

Added verb roundbanker. Rounds y. to nearest x. with bankers rounding. Also roundup and rounddown.

Improved rounddist. This now spreads adjustments evenly over the values.

main\colib

coclass will not replace an existing definition of COCLASSPATH.

main\dll

Updated for J64. There are new declaration codes of:

   l   long integer (8 byte)
   w   J unicode
   x   J integer (4/8 byte for J32/J64)
For more information, see Calling Procedures in DLLs

main\map

Added Oleg Kobchenko's map script. To access:

  load 'map'

main\misc

Updated boxcols to use ('';1) <;.1 y.

Added verb nounsizes which returns a list of global nouns and their sizes.

Added verb showevents. This writes all windows events to the session.

main\sysenv

Added IF64_z_, which is 1 if a 64-bit J system.

main\winlib

Added verbs wdforms (form information) and wdishandle (checks if argument is a form handle).

packages\math\integer

Added complex integers and complex symmetric integers.

packages\math\primutil

As suggested by Andrew Nikitin, added optional left argument of the maximum number of tries to prevprime and nextprime.

Added smallprimefactors to calculate small prime factors of an integer.

packages\finance

Added xirr to calculate internal rate of return given non-periodic payments.

Plot

Plot has been rewritten for J504, see Changes to Plot in J504.

Project Manager

Project Manager now supports snapshots. These are intended as simple way of allowing comparisons between the current state of the project and an earlier state, or recovering from an earlier version. See Project Snapshots.

Projects can now be linked. In a linked project, the source files are those from the linked project. Other files in a project are not linked. See Project Links.

You can now change the Look In directory to a subdirectory. To do so, click the arrow button to the right of the Look In edit box. This can be useful for projects with many subdirectories. By changing to a subdirectory, the Project File list is repopulated with only those files in the subdirectory.

The old folder configuration button has been moved to menu Tools|Look in Folders...

Regular Expressions

The GNU Regex has been replaced by the Perl-compatible regular expression (PCRE) library with POSIX interface.

Thanks to Oleg Kobchenko for the recommendation and initial implementation.

The system has also been simplified and extended to support J64.

Session Dialogs

Most session dialogs, such as Edit|Configure and Project Manager, have been expanded, so that they should display better with larger fontsizes.

Sockets

Script sockets.ijs has been simplified and enhanced to support 64 bit systems.

Task

Added Oleg Kobchenko's task script. To access:

   load 'task'

viewmat

Viewmat now supports complex arguments to produce a vector field display, as in Oleg Kobchenko's viewfld.

New viewmat windows now cascade.

To close all viewmat windows:

   closeall_jviewmat_ ''
A viewmat lab has been added. J504 Library Changes >>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  User

>>  <<  Ndx  Usr  Pri  Phr  Dic  Rel  Voc  !:  wd  Help  User