Site News

14 September 2005  Yorick is now at ! It is now distributed under a BSD license.
31 July 2005  Site news: You have now the choice of themes. Try them using the skins link in the menu bar. The whole site has been reworked to present a more unified look (e.g. index and quickref). If you have problems, email me. More on this here.
22 March 2005  yorick-1.6.02 is out! What's new?

Yorick Release News

12/Mar/05  Huge changes, major items are:

1. The original plug_in and autoload system (see 5/Sep/04 below)
   has been completely revamped to make a true "package" system.
   Read the final chapter of doc/yorick.pdf for details.  The
   bottom line is that #include on a .i file which declares the
   interface to a plugin (dynamically linked compiled code) now
   makes the compiled functions available in such a way that the
   end user doesn't even need to know it was compiled and not
   interpreted.  The autoload function means that most packages
   need no explicit #include in order to use them; #include now
   is used almost exclusively for code you are actively developing.

2. The Makefile system for compiled yorick add-ons has completely
   changed.  This will require reworking both your Makefiles and
   the .i file(s) which declare the compiled functions to be changed.
   Read the completely new final section in the manual (doc/yorick.pdf).
   Short story:
   a. Add a plug_in command (help,plug_in) to the top of any .i
      file which declares a compiled (builtin) function, and remove
      any MAKE-INSTRUCTIONS comment.
   b. Rename your Makefile to Makefile.sav, then run
        yorick -batch make.i
      This makes a good first cut at the new Makefile.  Merge anything
      the new make.i missed (including any PKG_DEPLIBS) back from
      your original Makefile.sav into the new Makefile.
   Look in the drat, hex, or mpy directories for examples of the
   new style of package Makefile.  You can practice in the extend/
   subdirectory.  Get the yorick-z-1.0 package for an example of
   a compiled package which is not part of this distribution.

3. The string manipulation functions have been dramatically extended.
   New functions include strgrep, strglob, strfind, streplace,
   strcase, a new string-to-char-to-string converter strchar, and
   a powerfully extended strpart.  Do help,string for details.

4. The yorick user manual and quick reference cards have been updated.
   Several new features have been added to the i/ interpreted library,
   such as Poisson deviates in random.i, and IEEE 754 support in ieee.i.
   Also a pdf command has been added as a companion to the eps and hcps
   commands, which may enable Mac and Windows users to more easily
   import yorick graphics into PowerPoint (TM).


5/Sep/04 added autoload function and i-start directory search, changed
  semantics and improved plug_in function
i0/{std.i,stdx.i}, yorick/{yio.[ch],yinput.c,task.c,autold.c}, others
  read documentation for autoload and plug_in functions
  yorick packages should now place autoload files in Y_SITE/i-start
  or Y_HOME/i-start in order to automatically be included at startup

4/Jun/04  ************ added plug_in function for dynamic linking ********
  see yorick/README.2 and play/unix/PLUGIN.txt

yorick/array.c   fixed egregious buffer overrun bug in x(i,..)

emacs/yorick.el  fixed compatibility issue with emacs 21.3 sel-mouse

  desperate attempt to work around severe Apple bugs in MacOS X 10.3
  see MACOSX10.3 here and

hex/{tools.[ch],hex.c,hex5.c,hex24.c,hydram.c}  bug fixes in ray tracker
  main problem is reflecting boundaries, caused SIGFPE and SIGSEGV

play/unix/uevent.c  workaround for MacOS 10.3 poll bug (libc)
play/playgl.h, play/x11/oglx.c, play/win/oglw.c   added p_glresize function

----------------------- 1.5.14 released -------------------------------


i/make.i   switched to Make.cfg-based extensions, Maketmpl deprecated


yorick/binpdb.c   fixed buffer overrun
opengl/           moved to play/
configure, play/x11/   overhauled configure scripts


gist/xbasic.c   fixed serious buffer overrun involving G_N_PENDING
  this caused yorick to go insane after a graphics window was
  destroyed, occasionally manifested by SIGSEGV at quit

yorick/{codger.c,Makefile,} added explicit -i0= flag for codger


i/fermii.i  added incomplete Fermi-Dirac integrals


yorick/codger.c  fixed to cope with DOS files under UNIX


i/fits.i  complete rewrite by Eric Thiebaut, may break some old code
i/pnm.i   fixed bugs where PPM written as PBM


matrix/dgels.c  fixed bugs that caused SVsolve, QRsolve to fail sometimes


i0/std.i    added mergef improved merge API
i/bessel.i  fixed bugs (x<<1 no longer crashes, bessy0 now correct)


i0/std.i  fixed sech, csch, atanh, asinh, acosh
  to give correct answers for arguments and function values near zero
  also added expm1, log1p functions (removed expm1 from hex/hex.[ic])


    added fermi-dirac integrals, incomplete gamma and beta functions
    fixed $(ENVVAR) in pathnames (thanks to Eric Thiebaut)

31/oct/02 ============= released 1.5.12


    fix SIGFPE for MacOS X 10.2
matrix/{dgels.c,dgecon.c}  fixed enum goofs in cblas conversion


play/x11/rgbread.c  fixed yorick rgb_read(), bug in rgb_find_shift()
hex/hydra.i  fixed distributed file problems


opengl/x11/oglx.c   fixed colormap problem when GLX visual != default


yorick/binio.h  turned on PAD_ARRAY for i86's (big speedup)
win/yorick.d??  added gist browser, fixed cblasy in MSVC project files


g/ps[com].ps  fixed LS postscript function (plg with smooth=1)


yorick/task.c  make yorick return non-0 exit code on batch or fatal errors
g/{,}  workaround for adobe illustrator 10 bugs

2/Jul/02 ============= released 1.5.10


gist/engine.c   zoomed pli images with x1=6.4-213 to compile stdio.h with _POSIX_SOURCE
    (workaround by -D_XOPEN_SOURCE)
  some sgi machines deliver SIGTRAP on integer divide by zero

31/jul/01 version 1.5.03

yorick/task.c  -- YError fixed to handle SIGINT properly
yorick/std2.c, i/basfix.i  -- edit_times fixed to allow times, ncycs
  to be added when variable names are changed
gist/xbasic.c  -- ChangeMap fixed to do landscape properly
gist/xbasic.h  -- fix DefaultTop macros to work for other than 100 dpi
gist/xfancy.c  -- fix SEGV on click-to-zoom for overlapping systems
play/unix/handler.c  -- fix so multiple SIGINTs with 1 sec work


version 1.5.02

Mostly for Build-Depends fix to debian package.  Minor fixes to
yorick/Makefile, configure scripts to try to handle alpha Linux SIGFPE


02/may/01 version 1.5.01

First release of yorick-1.5.  The directory structure and
configuration scripts have completely changed; see the top-level
README for more.  The 1.5 version of yorick has the directory
structure, configuration scripts, and portability layer for
yorick-2.0, but still has the 1.4 interpreter.  The MacOS portion of
the portability layer is not yet present, but the Windows portion is
complete or nearly complete.

There are a few new features:

1. RGB colors supported for color= keyword, pli, plf, plfp
   see help,color or help,pli for more information

2. lsdir, mkdir, rmdir functions added so yorick can read and
   manipulate directories by itself

3. i86_primitives and other modern binary formats added
   see help,createb and help,__i86 for more information

4. cheby.i, convol.i, dawson.i, kepler.i added to interpreted

5. added "hex" 3D transport solver (similar to drat 2D solver)

6. improved the emacs/yorick.el package again, mostly by removing
   unwanted "improvements" to emacs; see emacs/README

The yorick homepage and Web-based documentation has also been
completely reworked.  Visit

or the new homepage

You can download all this Web-based documentation (and the yorick and
texi2html scripts used to create it) from the downloads page there.
It is based on the work of Robert Cannon, who deserves most of the
credit but none of the blame for the new look.  Perhaps his best idea
is the HTML-ized source code for the entire interpreted library, which
makes it much easier to study the interpreted source code that comes
with the yorick distribution.  Ferdinand Jamitzky also helped by
making a first cut at converting the Quick Reference Cards to HTML; it
now works pretty much as well as the PDF or printed versions.