Grace list of changes


5.0.2

New functionality

* [ES] graphs and sets are allocated dynamically; -maxgraph, -maxsets and -graphsets removed * [ES] XY chart is back * [ES] XYZ set type is back ! [ES] new chart set presentations: stacked line and scatter ! [ES] new options for charts (different bar border/fill colors and patterns etc) ! [ES] inter-bar gap for bar charts is adjustable (rep. #198) ! [ES] new set type: BarDY (bar charts with error bars) * [ES] precision can be used for XYZ sets (rep. #519) * [ES] new set auto-coloring is back * [ES] added 16 new patterns * [ES] added a few more line styles (rep. #305) ! [ES] legends can be displayed in reverse order (rep. #205) * [ES] legends are drawn by default * [ES] enhanced backward compatibility with Xmgr * [ES] in free mode, auto-re-scale all the plot objects (imitating Xmgr) (rep. #537) ! [ES] color map stuff (rep. #512) ! [AM] auto-scaling with range restrictions * [LM] added internals for RT (real time) input monitoring ! [LM] grace_np library now uses anonymous instead of named pipes ! [ES] write format is used for all dataset types ! [ES] FP line widths (rep. #483) ! [ES] locale, if available and set, is used for numeric labels * [ES] in case of crash, Grace tries to save the project anyway ! [ES] added an option to fill (or not to) the page background * [ES] Grace honors $GRACE_PRINT_CMD environment variable (rep. #522) * [ES] PS and PDF drivers optimized for speed and file size * [ES] added color/gray-scale and bbox:tight/page options to the EPS driver * [ES] added adjustable printer page offsets to the PS driver * [ES] warning issued on truncated printout (if display and hard-copy device aspect ratio don't coincide, for example)

Interface

! [ES] menu shuffles ! [ES] new graph selectors - with many operations available from the popup menu (right mouse button) ! [ES] new set selectors - with many operations available from the popup menu (right mouse button). Set selectors in the Data/* popups are of the old style yet * [ES] pattern selectors have pattern bitmaps displayed * [ES] line style selectors have dash bitmaps displayed * [ES] graph number for ops is automatically graph that has focus (rep. #104) ! [ES] (approximate) number of tick divisions for auto-ticking is set in "Axis properties" now instead of "Autoscale" ! [ES] a simplistic (by now) fonttool added * [ES] removed all set pick operations ! [ES] "Set appearance/Edit/*" now act on selected sets only * [HS] it's possible to refer to the index of blockdata as column 0 via command line (rep. #464) * [ES] removed -xy, -xydy etc command line flags; use -(set)type instead * [ES] -source stdin removed ! [ES] "-" and "stdin/stdout" can be used anywhere (rep. #486) * [ES] Block data window reworked ! [ES] canvas events redone * [ES] immediate feedback for drawing object reposition/editing is back (rep. #532) ! [ES] Activate/Edit/Create/Reactivate Set menu confusion eliminated (rep. #136) * [ES] print popup fixes ! [ES] in the X11 driver, put dots every 0.1 viewport (visible only if the page bg is not filled) ! [ES] <Ctrl+E> from text inputs fires up font tool * [ES] xwindow title has "Grace: " prefix prepended and, if project is modified, "(modified)" suffix ! [ES] removed "Clear all" and added "New" instead ! [ES] removed "Verify Pick sets operations" option, added "Don't ask questions" (same as -noask) ! [LM] added -dpipe command line switch for monitoring an already open file descriptor * [ES] removed -symcolorbug command line option * [ES] removed -dc/-nodc, -redraw/-noredraw, -GXxor/-GXinvert command line options * [ES] max error count upon reading in reduced from 50 to 5

Documentation/Info

* [ES] old HTML docs removed; a draft version of User's Guide added * [EV] Tutorials prepared. It's a recommended reading not only for newbies, especially taking into account the rudimentary state of the User's Guide * [AM] -version additions

Parser

* [ES] device commands (rep. #490) ! [ES] VXMAX and VYMAX - max viewport values of the current device ! [ES] TRUE/FALSE and ON/OFF are interchangeable ! [ES] NEW - start new project from scratch using default template; NEW FROM "filename" - start new project from scratch using filename template ! [ES] MAP COLOR color_id TO (R, G, B), "colorname" (0 <= R, G, B < 256) ! [ES] S$ - currently processed (in parser) SETNUM ! [ES] S_ - recently assigned SETNUM (e.g., after a data have been read in) ! [ES] SETNUM.ID - id of the set (i.e., S5.ID is 5) ! [ES] G$, G_ and GRAPHNO.ID - same as above, but for graphs

Defaults

* [ES] toolbar X resources ! [ES] use IsoLatin1 encoding if Default.enc is not found * [ES] gracerc magic path ! [ES] gracerc re-read upon SIGHUP * [ES] templates (rep. #520)

Portability

* [LM] grace_np library now compiles and works correctly on OS/2 and Win32 (in addition to all Unices, of course). There is an unresolved problem with VMS, though * [ES] added configuration for use of lcc as compiler * [JH] VMS updates * [AM] OS/2 updates * [ES] grconvert works on Win32 * [ES] Win32 port should compile out of the box

Bug fixes

* [ES] configure issued wrong messages * [ES] drawing objects might not be drawn sometimes * [ES] fixed patterns #7, #14 and #15 * [ES] fixed rounding errors in clipping routines (in particular, rep. #476 and #504) * [EV] a feature extraction bug fixed * [ES] view/world coords in string edit (rep. #469) * [LM] input data line length restriction removed (rep. #260, #357, #443) * [ES] npipe "buffer overflow" fixed * [ES] npipe load bug fixed * [LM] linear regression on a two-point set was performed wrongly * [ES] spreadsheet fixes and clean-ups (rep. #203, #259, #409) * [ES] auto-scale fixes (rep. #510) * [LM] configure fixes * [LM] updated several explanation strings on example files with the new GUI layout * [LM] the correct stack depth was displayed only after cycling * [ES] regions and graph fixed points not drawn in hardcopy output anymore * [ES] if no set has a legend string defined, the empty legend box is not drawn (even when legends are enabled) * [ES] Disk/Pipe selector was broken (rep. #454) * [ES] Set appearance/Data/Load comments didn't update GUI settings for the currently selected set (rep. #474) * [ES] ignore non-printable characters in formulae (rep. #241) * [ES] working dir not initialized (rep. #470) * [ES] `make tests' failed if ran before `make install' (rep. #491) * [ES] incorrect postscript output of bar charts fixed (rep. #341, #410) * [ES] fixed crash if applying axis settings to all graphs (rep. #503) * [ES] warning popup on exit sometimes appeared even after no changes have been made (rep. #274) * [ES] auto-scale didn't work if specified from the command line together with some other arguments (rep. #385, #441) * [ES] File/Write/Sets didn't work for multiple set selection (rep. #394) * [ES] strange font size decrement (rep. #242) * [ES] crashes on SGI when accents are used in the legends (rep. #268) * [ES] Strings & Things : Default size is zero on HP (rep. #288) * [ES] sometimes in plots with multiple graphs, one couldn't get the x axis tick marks or labels to be displayed on any of the graphs except for graph 0 (rep. #339) * [LM] in applications linked against grace_np, a call to system() or like functions would abort execution (rep. #382) * [ES] Core dump in SetSelectedSet if optimized (rep. #366) * [ES] misc other bug fixes

Misc

* [ES] memory consumption reduced (typically, 0.5 MB less than that of 5.0.1 and about same as of Xmgr-4.1.2) * [ES] removed "Coalesce sets" (will be back in 5.0.3) * [ES] no input date/time formats (a smart input data filter is planned for 5.0.3). Please use Julian dates for a time being

5.0.1

New functionality

! [ES] added FORMAT_SCIENTIFIC, FORMAT_ENGINEERING ! [ES] polar plots (a work in progress - far from being completed, but definitely better than nothing :)) ! [ES] added tunable offsets for tick labels (in particular, rep. #467) ! [ES] added option of placing axis ticks at rounded positions (rep. #124) * [HS2] implemented axis label placement op (normal/opposite side) (rep. #463) * [HS2] changed tick and axis label offsets from (x,y) to (parallel/perpendicular) * [HS2] introduced tick label placement auto/spec (similar to axis label) ! [ES] fill rules for sets: winding/even-odd; not honored by raster formats ! [ES] smart colormap management: -install/-noinstall flags force a given behavior; default is to switch to the private colormap automatically as needed ! [ES] -rvideo now acts on all devices; XMgrace.reverseVideo removed from the list of X resources ! [ES] selecting devices by names instead of numbers; "-device" command line argument renamed to "-hdevice"; GR_HDEV not used anymore ! [ES] zero axes are back. Now, both "primary" and alternative axes can be "zero" ones ! [ES] PDF device options added: binary/ASCII output; misc fixes ! [ES] GIF device options added: transparent and interlaced output ! [ES] PS device options added: grayscale/color; Level2 toggle is back (in fact, nobody of developers has a Level 1 printer to really check it) * [ES] fixed bug when text strings might be typed wrong sometimes in the PS output * [ES] all drivers slightly rewritten ! [ES] added PNM (PBM/PGM/PPM) device (both ASCII and "rawbits" outputs) ! [ES] Courier font family added * [ES] added \f, \h, \v, \z, \m, \M and \d string controls. Load typeset.agr in the "examples" dir to get an idea ! [ES] in the batch language, in any statement with FONT NUMBER, the font selection can be done by fontname instead of the number: FONT "fontname" ! [ES] Grace can now use any number of user-defined fonts, both in addition and as a replacement for bundled ones (rep. #26)

Documentation/Info

* [HS] added a text (http://plasma-gate.weizmann.ac.il/Grace/y2k.html) on the Year 2000 problem (rep. #342) * [HS2] new extended FAQ written * [AM] version string includes GUI toolkit (Motif/Lesstif/None) * [AM] help screen updated * [ES] font docs (doc/fonts.html) updated

Portability

* [ES] configure should now be smarter about finding Motif (rep. #416) * [ES] added configuration file for Interix (aka OpenNT) (rep. #437) * [ES] SunOS4 build fixes * [AM] OS/2 updates

Bug fixes

* [AM] "Read/Block data" crash fixed (rep. #445) * [ES] Zooming now zooms exactly to the window specified by mouse (rep. #5) * [ES] "AutoT" doesn't alter graph min/max values (rep. #165) * [ES] killing sets in polar plots with parameters preserved caused crash (rep. #125) * [HS2] ellipses might be sometimes drawn incorrectly in X11 * [ES] a memory leak in "Edit String" fixed * [HS] leap year function corrected * [ES] XYString sets were not saved (rep. #452) * [ES] Disk/Pipe selector was broken (rep. #455) * [AM] fixed broken axis scaling when set min/max was +/- Inf * [EV] stack manipulation fixed (#417) * [AM] "-version" now outputs to stdout instead of stderr * [ES] misc small fixes

5.0.0 (since Xmgr-4.1.2):

New functionality

* [ES] T1 fonts are used for all devices using the T1lib library of Rainer Menzner. There should be no discrepancies anymore between characters displayed and printed (rep. #16) * [ES] routines of drawing layer rewritten from the scratch; Grace is now almost WYSIWYG, except patterns (rep. #184) * [EV] generic I/O filtering implemented (including rep. #240); see docs for details ! [ES] reciprocal axis scale implemented (rep. #33) * [EV] system-wide gracerc ($GRACE_HOME/gracerc) will be read at startup time, if exists ! [ES] overlined strings are possible (\o \O) (rep. #176). Doesn't work with device fonts yet ! [MM] extensions to regions including horizontal-inside, horizontal-outside, vertical-inside and vertical-outside ! [MM] Grace will use the FFTW library for Fourier transform if present on the system; see README.FFTW * [MM] negative indices in "Drop points" allowed (counting from the end of a set) * [EV] added a new feature to be extracted - the integral of each set ! [ES] "unit" and "const" added to the possible proctype's for modules. DEG (below) is an example what "unit" can be used for ! [ES] DEG and RAD are now meaningful. E.g., expressions like sin(90 deg) and sin(pi/2 rad) both are legitimate (and equivalent!) ("rad" can be omitted - it's there just for the sake of completeness) * [ES] metafile driver (not in final state) * [ES] PDF driver using the PDFlib of Thomas Merz; see README.PDF * [ES] GIF/GD driver using the GD library of Thomas Boutell (rep. #14); see README.GIF * [ES] logarithmic scales can have any base (rep. #370) * [ES] patterns and colors can be used simultaneously (rep. #291) * [ES] power tick label format changed to work in scientific format (rep. #361) * [ES] \B in composite strings will reset the font to the string's initial font (rep. #388) * [ES] PS/EPS driver rewritten from the scratch * [ES] X11 driver heavily rewritten

Interface

! [ES] removed "Plot/World scaling" popup ! [ES] re-designed axis props GUI popup (in particular, rep. #63, #313) * [EV] point ops popup fixes ! [ES] graph appearance props GUI popup ! [ES] removed "Viewport", "Frame", "Titles" and "Legends" popups. ! [ES] removed "Error bars" and "Edit legends" popups. ! [ES] re-designed set appearance props GUI popup (rep. #311, #369 should be fixed) * [EV] added expression evaluation to text input fields in all widgets * [EV] error window changed - only 1 window, not 1 window per error ! [EV] regression fits can be applied to specified interval and results are printed out in readable form * [EV] scrolled windows for explicitly requested expressions * [EV] canvas hotkeys added ! [ES] re-designed print setup GUI popup (problems in rep. #372, #412 should be fixed) * [ES] changing page size is possible for any device separately; the units can be "pix"els, "cm" or "in" (rep. #108, #211, #216, #405)

Project files

* [EV] background color saved * [MM] all regions, whether active or not, are saved to the file, so temporarily inactive regions don't get lost * [ES] page size is saved (rep. #312)

Parser

* [ES] cleaned grammar parser; instead of 350 shift/reduce and 231 reduce/reduce conflicts - > 61 & 0 respectively * [ES] MAX() and MIN() renamed to MAXOF() and MINOF() ! [ES] removed DX, DY, IMAGE ! [ES] removed GRAPHNO *BAR SIZE NUMBER ! [ES] removed SETNUM = SETNUM etc ! [ES] removed CMAP, STATUS, STATUSBAR, TOOLBAR, LOCATORBAR, LOCATOR

Defaults

! [ES] default page layout changed from free to fixed * [ES] \+ increases font size sqrt(sqrt(2)) times; \- respectively, decreases. Sub/superscripts are 1/sqrt(2) of the preceeding font size

Portability

* [AM] implemented dynamic modules for OS/2 * [EV] popen() for VMS * [JH/RN] VMS fixes * [AM] OS/2 updates

Misc

! [ES] removed (broke) xwd image loading ! [ES] removed all app-defaults not specific to GUI ! [ES] \x and \b control sequences removed

Bug fixes

* [ES] "-mono" command line flag now works * [EV] "-wd" command line flag fixed * [EV] trying to create a new set preceded with soft kill of all sets caused crash (rep. #367) * [MM] FFT fixes * [MM] when regions were read in from a saved file, they ended up linked to all graphs * [MM] in saved projects, REGNUM TRUE was used instead of REGNUM ON * [EV] several sets can be linked to the same file as in xny data (rep. #269) * [ES] crash on mono X servers fixed (rep. #285) * [ES] canvas refresh (rep. #217, #271 #317, #333, #375) * [ES] axis labels were not displayed if `display tick marks' wasn't selected (rep. #3) * [ES] coordinates of legend frame now corresponds to the left upper corner of the frame (rep. #31) * [ES] ticklabel format was reset by autoscale (rep. #119, #144) * [ES] bounding box of EPS was calculated only approximately (rep. #123, #145) * [ES] legend frame didn't account for sub/superscripts (rep. #189) * [ES] extraneous logarithmic tick marks were drawn in some cases (rep. #193) * [ES] accentuated titles weren't centered correctly (rep. #195) * [ES] switch to log scale with an axis containing zero might cause error messages infinitely looped (rep. #210) * [ES] filling of legend frame didn't work unless one turned the frame on (rep. #215) * [ES] the axes tick marks were behind set curves (rep. #224) * [ES] popup positioning left up to WM for all windows (rep. #273) * [ES] if graph contained too many ticks, autoscale was applied instead of tick position recalculation (rep. #275) * [EV] in "Point ops", 'Delete' ignored set number (rep. #293) * [ES] once activated, legends fill frame couldn't be switched off from within GUI (rep. #326) * [CM] adding legends to plots with number of data sets exceeding the default maximum caused a crash (rep. #344) * [ES] arranging or rearranging graphs by means of the "arrange" dialog reset previously set tick properties to defaults (rep. #356) * [ES] user tick labels w/subscripts did not show up in PS output (rep. #383) * [ES] FFT command didn't work correctly in parser (rep. #398) * [HS] command line parsing was wrong in several places (rep. #400) * [ES] misc. small fixes (including rep. #289, #406, #287) Legend: [EV] - Ed Vigmond <vigmonde@IGB.UMontreal.CA> [RN] - Rolf Niepraschk <niepraschk@ChbRB.berlin.ptb.de> [HS] - Henrik Seidel <seidel@mpimg-berlin-dahlem.mpg.de> [JH] - John Hasstedt <John.Hasstedt@sunysb.edu> [AM] - Alexander Mai <st002279@hrzpub.tu-darmstadt.de> [CM] - Charles Myers <myers@oicinc.com> [MM] - Marcus H. Mendenhall <marcus.h.mendenhall@vanderbilt.edu> [HS2] - Heiko R. Selber <selber@fhi-berlin.mpg.de> [LM] - Luc Maisonobe [ES] - Evgeny Stambulchik <fnevgeny@plasma-gate.weizmann.ac.il> "!" means no documentation provided (yet)