| OpenRasMol | Copying and Distribution | Contents | Installation Instructions |
| Changes | Things To Do | Introduction | Source Code and Binaries |
| RasMol Manual | Spanish Translation of RasMol Manual | Italian Translation of RasMol Help File |
| Donate to Support RasMol | Release README | Register your RasMol |

# ChangeLog
RasMol 2.7.4.2

RasMol Latest Windows Installer RasMol Latest Source Tarball RasMol Latest Manual Donate to Support RasMol Register your RasMol |  |  |  | RasMol 2.7.4.2 Windows Installer RasMol 2.7.4.2 Source Tarball RasMol 2.7.4.2 Manual Donate to Support RasMol Register your RasMol

### Molecular Graphics Visualisation Tool
19 November 2007 (rev. 17 March 2008)

Based on RasMol 2.6 by Roger Sayle
Biomolecular Structures Group, Glaxo Wellcome Research & Development, Stevenage, Hertfordshire, UK
Version 2.6, August 1995, Version 2.6.4, December 1998
Copyright © Roger Sayle 1992-1999

and Based on Mods by

Author | Version, Date | Copyright
--- | --- | ---
Arne Mueller | RasMol 2.6x1 May 1998 | © Arne Mueller 1998
Gary Grossman and Marco Molinaro | RasMol 2.5-ucb November 1995 RasMol 2.6-ucb November 1996 | © UC Regents/ModularCHEM Consortium 1995, 1996
Philippe Valadon | RasTop 1.3 August 2000 | © Philippe Valadon 2000
Herbert J. Bernstein | RasMol 2.7.0 March 1999 RasMol 2.7.1 June 1999 RasMol 2.7.1.1 January 2001 RasMol 2.7.2 August 2000 RasMol 2.7.2.1 April 2001 RasMol 2.7.2.1.1 January 2004 RasMol 2.7.3 February 2005 RasMol 2.7.3.1 Apr 06 RasMol 2.7.4 Nov 07 RasMol 2.7.4.1 Jan 08 RasMol 2.7.4.2 Mar 08 | © Herbert J. Bernstein 1998-2008

This Release by
Herbert J. Bernstein, Bernstein + Sons, 5 Brewster Lane, Bellport, NY, USA
Copyright © Herbert J. Bernstein 1998-2008

#### THIS IS A PRELIMINARY RELEASE INVOLVING EXTENSIVE MODIFICATIONS
***** USE WITH CAUTION ******

## IMPORTANT

This version is based directly on RasMol 2.7.3.1, RasMol 2.7.3, RasMol 2.7.2.1.1 and on RasMol 2.7.2, on RasMol 2.7.1.1, on RasTop 1.3, on RasMol version 2.6_CIF.2, on RasMol version 2.6x1, on RasMol version 2.6.4, and RasMol 2.5-ucb and 2.6-ucb. Please read the file NOTICE for important notices which apply to this package and for license terms (GPL or RASLIC).

This version of RasMol is not in the public domain, but it is given freely to the community in the hopes of advancing science. If you make changes, please make them in a responsible manner, and please offer us the opportunity to include those changes in future versions of RasMol.

### Changes from RasMol 2.7.4.1 to RasMol 2.7.4.2 include:

- Alignment of command line sizing and positioning options for Windows and X-Windows version. The command line options -height nnnn, -width nnnn, -xpos nnnn and -ypos nnnn may be used to set the size and position of the initial window.
- Change of the encoding for Japanese messages and menus from SJIS to EUC-JP, and corrections to the fontset handling for Chinese and Japanese. Thanks to Mamoru Yamanishi for contributing the improved fontset logic.
- Updates to the rasmol_install.sh and rasmol_run.sh scripts to support Chinese and Japanese using cxterm.
- Optional use of GTK. Thanks to Teemu Ikonen for the new GTK code.

### Changes to RasMol 2.7.4 to create RasMol 2.7.4.1:

    [18/03/2008]    HJB graphics.h mswin31.c rasmol.c rastxt.c
    		raswin.c x11win.c
    		Add global InitWidth, InitHeight, InitXPos, InitYPos
    		to support common implementation of command line
    		options -height nnnn -width nnnn -xpos nnnn -ypos nnnn
    		to control initial window size and position

    [18/03/2008]    HJB x11win.c
    		Redo Japanese and Chinese fontset logic as per suggestion
    		by Mamoru Yamanishi

    [18/03/2008]    HJB Imakefile
    		Allow use of old X locale.

    [18/03/2008]    HJB langsel_unix.c
    		Switch Japanese for unix from SJIS to EUC-JP, introducing
    		langsel_unix.c

    [21/02/2008]    TPI actionmenu.gtk egg-macros.h eggfileformatchooser.c
    		eggfileformatchosser.h graphics.h gtkwin.c Imakefile
    		multiple.c printing-resolution.glade rasmol.c sizechooser.glade
    		transfor.c wbrotate.c
    		Addition of GTK interface by T. Ikonen, including new routines
    		actionmenu.gtk egg-macros.h eggfileformatchooser.c
    		eggfileformatchosser.h gtkwin.c printing-resolution.glade
    		sizechooser.glade

### Changes from RasMol 2.7.3 to RasMol 2.7.4.1 include:

- Support for maps.
- Message and menu translations for Russian, Bulgarian, Japanese and Chinese. Our thanks to G. Pozhvanov, G. Todorov, Nan Jia, Mamoru Yamanishi and Katajima Hajime.
- Fix torsion angle calculation as per bug report and patch by Swati Jain.
- Corrections by Ladislav Michnovic to port to more platforms.
- Code to read remediated PDB entries as suggested by Huanwang Yang
- Updated icons.
- Extended export menus.

### Changes to RasMol 2.7.4 to create RasMol 2.7.4.1:

    [19/01/2008]    HJB
    		Release 2.7.4.1 created

    [18/01/2008]	HJB command.c, maps.c, maps.h, molecule.c
    		mswin31.c outfile.c outfile.h pixutils.c pixutils.h
    		rasmac.c, repres.c
    		Add LoadCCP4MapFile. Extend range of stereo angle to
    		60 degrees.  Add GM notoggle command.  Add code to
    		avoid trying to reuse a zapped map.  Increase default
    		map resolution to 1 Angstrom.  Change mapdata to
    		void * and use memmove to allow multiple data types,
    		add fields for number of grid divisions, map type,
    		element size and element type.  Add code to load
    		and save maps in CBFlib format.  Fix stereo.

    [16/01/2008]	HJB vector.c wbrotate.c
    		Fix multiple definitions of PI.

    [14/01/2008]	LM infile.c
    		Add include of string.h as per Ladislav Michnovic.

    [14/12/2008]	HJB graphics.h
    		Add buffers for slab and depth pixel-by-pixel
    		cutoff values.

    [10/12/2007]	GM langsel.c langsel.h languages/README.txt
    		languages/genlanselall languages/langsel*.utf.c,
    		tokens.c tokens.c
    		Corrected japanese langsel encoding.  It is now
    		Shift_JIS.Added messages for NoToggle and ColourMode
    		commands. Updated langsel README.txt.  Add NoToggle
    		and ColourMode commands

    [06/12/2008]	GM command.h
    		Add NoToggle and ColourMode variables.

    [25/11/2007]	HJB cif_fract.c
    		Rewrite calculation of matrix inverse.

### Changes to RasMol 2.7.3.1 to create RasMol 2.7.4:

    [19/11/2007]	HJB
    		Release 2.7.4 created

    [19/11/2007]    HJB abstree.c abstree.h
    		Break out element identification from GetElemNumber
    		into GetElemDescrNumber.  Fix torsion angle calculation
    		as per bug report and patch by Swati Jain.

    [19/11/2007]    HJB applemac.c
    		Add code to make languages sticky.  Add register and
    		donate menu items, make languages sticky and launch
    		browsers.

    [19/11/2007]    HJB cif_fract.c
    		Correct calculation of matrix transforming orthogonal
    		to fractional coordinates and rewrite matrix
    		transforming fractional to orthogonal.

    [19/11/2007]    HJB command.c command.h
    		Add code for map commands. Make CommandError accessible
    		from other routines.  Add Raster3D write/save option.
    		Allow proberadius of 6 Angstroms.  Add Bulgarian,
    		Chinese, Japanese and Russian commands.  Allow
    		spacefill up to 12 Angstroms.  Allow mirror and
    		rotate suboptions on write/save.

    [19/11/2007]    HJB font.h, graphics.h
    		Allow access to font parameters and support info

    [19/11/2007]    HJB Imakefile
    		Add use of CBFlib

    [19/11/2007]    HJB infile.c
    		Make sensitive to PDB version to allow for handling of
    		remediated files, based on changes suggested by
    		Huanwang Yang of the RCSB PDB in April 2007.

    [19/11/2007]    GT langsel.c languages/
    		langsel.c restructured to be generated from separate
    		language files in the directory languages/

    [19/11/2007]    HJB molecule.c molecule.h
    		 Add atom type processing and DA, DC, DG, DT, DI for
    		 remediated PDB DNAs, based on changes suggested by
    		 Huanwang Yang of the RCSB PDB in April 2007.

    [19/11/2007]    HJB multiple.c multiple.h
    		 Manage map data for multiple molecules.  Increase the number
    		 of molecules from 5 to 15. Increase the number of characters
    		 in the name to 33 characters.

    [03/12/2006]    HJB outfile.c
    		Clean up compilation warnings in outfile.c

    [19/11/2007]    HJB outfile.c outfile.h
    		Add Raster3D support based on code by V. Stanev.  Partial
    		Vector PS map support.

    [19/11/2007]    HJB pixutils.h
    		Fix stereo of ribbons and map surfaces.  Protect against
    		duplicate definition of Knot struct.  Make ClipPolygon
    		accessible.

    [19/11/2007]    HJB rasmac.c rasmac.h
    		Increase terminal window to 132 characters.  Add About dialog.
    		Clean up maps on exit.  Add support for Russian, Bulgarian,
    		Chinese and Japonese.  Add register and donate browser calls.
    		Add G4 CPU type.  Extend export file types.

    [19/11/2007]    HJB RasMac.r
    		Update icons to new style.  Extend Export menu to BMP...,
    		GIF..., IRIS RGB..., PPM..., Sun Raster, PostScript, PICT...,
    		Vector PS ..., Molscript ..., Kinemage ..., POVRay 3 ...,
    		VRML ..., Ramachandran ..., Raster3D ..., RasMol Script ....
    		Extend Apple menu to About RasMol..., RasMol Help ...,
    		Register ..., Donate ....

    [19/11/2007]    HJB rasmol.c
    		Update to release 2.7.4 with map support.

    [19/11/2007]    HJB script.c script.h
    		Add code to write out scripts for maps.

    [19/11/2007]    HJB string_case.c string_case.h
    		Fix case sensistive of last character comparison of strcasecmp and
    		strncasecmp.  Add str255casecmp, strcasestr.

    [19/11/2007]    HJB tokens.c tokens.h
    		Add tokens for Average (MeanTok), Bulgarian (BulgarianTok),
    		Chinese (ChineseTok), Contour (ContourTok = LevelTok),
    		Generate (GenerateTok), Japanese (JapaneseTok), Level (LevelTok
    		= ContourTok), Map (MapTok), Mask (MaskTok), Mesh (WireframeTok),
    		Mirror (MirrorTok), New (NewTok), Next (NextTok), R3D or
    		Raster3D (Raster3DTok), Resolution (ResolutionTok), Spacing
    		(SpacingTok), Spread (SpreadTok), Width (SpreadTok),

    [19/11/2007]    HJB transfor.c transfor.h
    		Add map point colouring routines, ColourPointAttrib and
    		ColourPointPotential.

    [19/11/2007]    HJB x11win.c
    		Extend Export menu to BMP ..., GIF ..., IRIS RGB ..., PPM ...,
    		Sun Raster, PostScript, PICT ..., Vector PS ..., Molscript ...,
    		Kinemage ..., POVRay 3 ..., VRML ..., Ramachandran ...,
    		Raster3D ..., RasMol Script ....  Enable and extend Help
    		menu to About RasMol..., User Manual..., Register...,
    		Donate....   Set locale for each langauge and use fontsets.
    		Use table of languages versus fonts in langsel.  Add
    		About splash screen and revise popup logic to handle it.
    		Change text metrics to allow for Chineses and Japanese.
    		Try to make lack of access to shared memory non-fatal.

    [03/10/2007]    PK molecule.c
    		 "RasMol - " string added to the title of the window.

    [03/10/2007]    PK multiple.c
    		 Window title is updated when different molecule is selected.

    [02/02/2007]    HJB rasmol.c
    		Remove // comments for AIX build.  Fix signed length conflict

    [01/03/2007]    GT  rasmol.c
    		Chinese version.

    [23/12/2006]    HJB x11win.c
    		Detect remote X server that does not share memory

    [29/12/2006]    HJB rasmol.c x11win.c
    		Update x11win.c and rasmol.c to add links to list of browsers
    		and to kill About dialog when the menu bar is selected

    [29/12/2006]    HJB rasmol_install.sh
    		Update rasmol_install.sh to allow recompilation of fonts
    		on install to handle openwin and other old systems that
    		can't handle byte-swapped bdf files, and add enviroment
    		variable RASMOL_NOSPAWN to suppress spawn in intermediate
    		xterm from rasmol_run.sh. -- HJB

    [23/12/2006]    HJB rasmol_install.sh, rasmol_run.sh scripts
    		Add new rasmol_install.sh and rasmol_run.sh scripts

    [29/11/2006]    HJB raswin.idm
    		Fix missing raswin.idm in src.

    [29/11/2006]    HJB rasmol.c
    		Add missing include of sys/stat.h in rasmol.c

    [10/12/2006]    HJB x11win.c
    		Additional updates for linux build with Russian, cleaning
    		up X11 font selection for CP1251 and recovering when fonts
    		are missing. -- HJB

    [03/12/2006]    HJB x11win.c
    		Mods for about screen under Linux -- HJB

    [28/11/2006]    HJB x11win.c
    		Changes for Russian and About dialog in unix

    [20/10/2006]    HJB wbrotate.c
    		Localize " not found!" message in RemoveBond and CreateBondAxis

    [16/09/2006]    HJB x11win.c rasmol.c
    		Start of RasMol Russian Translation Project based on translations
    		by Gregory A. Pozhvanov of Saint Petersburg State University.

    [11/02/2006]    HJB script.c script.h
    		Add mirror and rotate options for VRML.

### Changes from RasMol 2.7.2.1.1 (the final reference release of RasMol 2.7.2) to RasMol 2.7.3.1 include:

- Adjustment to the mouse handling for a better, more natural feel. Our thanks to C. Chigbo for the suggestion.
- Correction to cif.c for blanks after an initial quote mark.
- Correction to mswin31.c to restore lost initializations of ZRange and DialValue[8..9].
- Modifications by Mamoru Yamanishi to Imakefile and rasmol.c to use xforms for GUI file open. This patch needs the opens source xforms 1.0.90 library by Steve Lamont.
- Correction to molecule.c to correct input of xyz files. Thanks to Stuart Prescott.
- Revision to CPK colors by C. Chigbo. The new colors are called CPKNEW. The current CPK colors remain available as CPK.
- Correction to negative torsion angle monitors and to imprecise distance and angle monitors by C. Chigbo. This patch corrects the display of negative torsion angles caused by use of the unsigned short type, and correctys imprecise distance and angle displays. This extends the original patch which was just for torsion angles (torsion.patch). A side effect of this change is to limit the available range for distance monitors to approximately 327 Ångstroms.
- Initial code for display of solid Lee-Richards molecular surfaces. This patch adds the basic code for display of Lee-Richards surfaces with a new `Molecular Surface` menu item, and `surface molecule <probe radius>` and `surface solvent <probe radius>` commands.
- Corrections of ribbons 0, etc. commands by R. Chachra. With this patch, the `wireframe 0`, `ribbon 0`, `cartoon 0`, `backbone 0`, `strands 0` and `trace 0` commands work the same as these command with `off` instead of `0`.

### Changes to RasMol 2.7.3 to create RasMol 2.7.3.1:

    [21/04/2006]    HJB rasmol.h RasMac.r raswin.rc
    		Update version to 2.7.3.1

    [21/04/2006]	CC abstree.c render.c repres.c repres.h
    		Fix by Clarice Chigbo to improve accuracy of
    		distance calculations by changing from Long to
    		double.  Report model number.  Use Long instead
    		of short for monitors.

    [15/12/2005]	HJB x11win.c
    		Fix mouse runaway by removing conflict of HeldStep
    		and HeldButton variable name use.

    [16/07/2005]    HJB abstree.c infile.c render.c
    		Correct sign errors in use of ztrl

### Changes to RasMol 2.7.2.1.1 to create RasMol 2.7.3:

    [06/02/2005]	HJB
    		Release 2.7.3 created

    [21/01/2005]	HJB molecule.c
    		Correct XYZ input by capping atom types.  Thanks to
    		Stuart Prescott.

    [16/01/2005]	HJB applemac.c, cmndline.c, command.c, command.h,
    		infile.c, langsel.c, langsel.h, langsel_mac.c,
    		molecule.c, molecule.h, mswin31.c, multiple.c,
    		pixutils.c, pixutils.h, rasmac.c, rasmol.c,
    		rastxt.c, raswin.c, render.c, render.h, repres.c,
    		repres.h, tokens.c, tokens.h, transfor.h, x11win.c
    		Base level of changes for Lee-Richards molecular
    		surfaces.

    [12/01/2005]	Clarice Chigbo repres.c, render.c, repres.h
    		Correction to negative torsion angle monitors and to imprecise
    		distance and angle monitors; limits the available range for
    		distance monitors to approximately 327 Angstroms.

    [17/01/2005]	Clarice Chigbo script.c
    		Output CPKNEW in scripts

    [04/01/2005]	Ricky Chachra command.c
    		Fix to wireframe 0, ribbon 0, cartoon 0, backbone 0,
    		strands 0 and trace 0 commands to work the same as these
    		command with off instead of 0

    [30/10/2004]	Mamoru Yamanishi Imakefile, rasmol.c
    		Used xforms to provide GUI for file open under X-windows

    [21/10/2004]	Clarice Chigbo tokens.c, tokens.h
    		Define CPKNEW token

    [20/10/2004]	Clarice Chigbo transfor.c, transfor.h
    		New CPK color table

    [26/04/2004]	HJB cif.c
    		correction to handling of blank immediately following
    		initial quote mark.

    [26/04/2004]	HJB vector.c
    		correction to SubtractAtoms for bond rotation.

### Changes from RasMol 2.7.1 (the final reference release of RasMol 2.7.2) to RasMol 2.7.2.1.1 include:

- Post release patches to command.c were included to fix the handling of load inline in the UCB multiple molecule environment. In addition conditional code controlled by STRICT was disabled to restore operation of load inline under windows. Thanks to Jan Reichert <jr@imb-jena.de> for pointing out these problems. Thanks to E. Martz <emartz@microbio.umass.edu> for pointing out an error in the Spanish translation credits which has been corrected. Thanks to a report by Julien Hering, the omission of a prior fix to the MS Windows version was found and corrected on 7 May 2004.
- Adaption of the multilingual mods from RasMol 2.7.1.1 into Rasmol 2.7.2.1.
- Rewrite of the mouse handling and rotation logic to correct the problems in 2.7.2 and make the feel of 2.7.2.1 closer to that of RasMol 2.7.1.
- Addition of French menus and messages
- Addition of Italian menus and messages
- Adoption of picking for selection of atoms, groups or chains from RasTop 1.3.
- Adoption of backclipping from RasTop 1.3
- Adoption of shadepower command for glassy surfaces from RasTop 1.3
- Change of the menu stereo option to rotate cross-wall-none
- Allow longer atom names (12 characters) in CIFs.
- Incorporation of some of the code from the UCB RasMol variants. Out thanks to Eileen Lewis and Marco Molinaro for their cooperation in contributing the UCB Enhanced RasMol code for incorporation into the RasMol 2.7 series.
- Code to represent bonds in and to alternate conformers with a narrowed portion in the middle of each bond.
- An attempt to fix some of the chirality reversals in some of the output modes.
- Fixes for some of the problems reported since the last release.

### Post-release changes to RasMol 2.7.2.1.1:

    [07/05/04]	HJB mswin31.c
    		restored lost fix for intialization of ZRange and
    		DialValue[8..9] and rebuilt raswin.exe.  Thanks to
    		Julien Hering.

    [14/02/04]	HJB pixutils.c
    		remove static from declaration of ClipVector.

    [14/02/14]	HJB cif_stx.c
    		remove trailing characters from #endif.

    [03/02/04]	HJB Makefile.in
    		Change transfer to transfor in 2 dependencies.  Thanks
    		        to R. Harlow.

### Changes to RasMol 2.7.2.1 to create RasMol 2.7.2.1.1:

    [26/01/04]	HJB abstree.c
    		Fix warning on sprintf calls with unused args, match long
    		variables with %ld format descriptors.

    [26/01/04]	HJB cif.c
    		Add brackets to avoid compiler warnings on dangling elses.
    		Fix cif_lex to parse 'O''' correctly.  Change from
    		WORD to CIFWORD to avoid conflict with windows.h.

    [26/01/04]	HJB cif.h
    		Change from WORD to CIFWORD to avoid conflict with windows.h.
    		Add prototype for cif_free_handle.

    [26/01/04]	HJB cif.stx.tab.c
    		Change from WORD to CIFWORD to avoid conflict with windows.h.

    [26/01/04]	HJB cif_ctonum.c
    		Remove unused variable dndec

    [26/01/04]	HJB cif_fract.c
    		Remove unused variable kk

    [26/01/04]	HJB cif_stx.c
    		Change from WORD to CIFWORD to avoid conflict with windows.h.
    		Add include of rasmol.h.

    [26/01/04]	HJB command.c
    		Initialize variables to avoid compiler warnings.  Use %ld
    		format for long variables.  Fix RotMode == RotBond which
    		should have been an assignment.  Add parens on logical
    		expressions.

    [26/01/04]	HJB command.h
    		Add prototypes for ResumePauseCommand, InterruptPauseCommand.

    [26/01/04]	HJB graphics.h
    		Add include of windows.h

    [26/01/04]	HJB infile.c
    		Removed unused ReadValue2.  Add brackets to avoid compiler
    		warnings on dangling elses.  Initialize variables to avoid
    		compiler warnings.

    [26/01/04]	HJB langsel.c langsel_mac.c
    		Add include of string.h

    [26/01/04]	HJB molecule.c
    		Add include of graphics.h.  Change to %ld format for longs.
    		Remove unused variables.  Add brackets to avoid compiler warnings
    		on dangling elses.

    [26/01/04]	HJB molecule.h
    		Add prototype of TestDisulphideBridge.

    [26/01/04]	HJB multiple.c
    		Fix reversed comment terminator.  Add include of string.h.  Add
    		brackets to initializer to match structure.

    [26/01/04]	HJB multiple.h
    		Add prototype of ReRadius.

    [26/01/04]	HJB outfile.c
    		Initialize variables to avoid compiler warnings.  Change to %ld
    		for long.

    [26/01/04]	HJB pixutils.c
    		Initialize variables to avoid compiler warnings.  Removed unused
    		variables.

    [26/01/04]	HJB pixutils.h
    		Add prototypes of DrawTwinLine, ClipLine, ClipTwinLine,
    		ClipDashLine, DrawTwinVector, ClipVector, ClipTwinVector,
    		ClipDashVector.

    [26/01/04]	HJB rasmol.c
    		Add parens to avoid compiler warning.

    [26/01/04]	HJB rasmol.h
    		Set version and date.  Add include of stdlib.h for malloc.

    [26/01/04]	HJB render.c
    		Change the handling of very long longs to avoid a compiler
    		warning.  Use %ld format for longs.

    [26/01/04]	HJB repres.c
    		Remove unused variables.  Use %ld format for longs.  Initialize
    		variables to avoid compiler warnings.

    [26/01/04]	HJB repres.h
    		Add prototype of LoadDotsFile.

    [26/01/04]	HJB script.c
    		Add include of string.h.  Use %ld format for longs.  Initialize
    		variables to avoid compiler warnings.  Remove unused variables.
    		Fix sign of trailing bits on VRML z coordinates.

    [26/01/04]	HJB script.h
    		Add prototype of WritePOVRay3File.

    [26/01/04]	HJB tokens.h
    		Add parens in definition of IsImageToken.

    [26/01/04]	HJB transfor.c
    		Add parens for logical expression.  Remove unused variables.
    		Initialize variables to avoid compiler warnings.

    [26/01/04]	HJB transfor.h
    		Add prototype of DefineShade, RMat2RV, RV2RMat.

    [26/01/04]	HJB wbrotate.c
    		Add include of cmndline.h.  Remove unused variables.  Initialize
    		variables to avoid compiler warnings.  Use %ld format for longs.
    		Add value for a returns that need them.

    [26/01/04]	HJB x11win.c
    		Initialize variables to avoid compiler warnings.  Add brackets to
    		avoid compiler warnings on dangling elses.

    [14/04/02]	HJB Imakefile
    		Update to allow scripts to make multiple pixel depths by
    		setting PIXELDEPTH to 8, 16 or 32 externally.  Add default
    		flags for various HP architectures.

    [13/04/02]	HJB cif.c
    		Reduce warnings by casting uses of size_t.

    [13/04/02]	HJB cif_ctonum.c
    		Reduce warnings by casting to int for pointers indptr-test.

    [13/04/02]	HJB command.c
    		Reduce warnings by explicit use of long (rather than Long)
    		for fpos, and casting to size_t for comparisons, etc.

    [13/04/02]	HJB infile.c
    		In ProcessPDBBond, match types of srcatm and dstatom by
    		changing from int to Long, casting to size_t for
    		comparisons, etc.

    [13/04/02]	HJB molecule.c
    		Change MemSize from int to size_t.

    [13/04/02]	HJB rasmol.c
    		Change AdviseLen from int to size_t, change socket to xsocket,
    		change __hpux to HPUX_LEGACY

    [13/04/02]	HJB rasmol.h
    		Add HPUX_LEGACY for old style hpux select.

    [13/04/02]	HJB render.c
    		Make test of sizeof(Long) > 4 conditional on not defining
    		_LONGLONG.  Make some changes from Long to long, etc.

    [13/04/02]	HJB x11win.c
    		Cast some pointer diffs to int, change some Long to long,
    		etc.

    [29/06/01]	HJB command.c
    		Correct logic for inline load of a new molecule from
    		data file treated as a script.

    [21/04/01]	HJB all
    		Fix credit for initial Spanish translation.  Thanks to
    		E. Martz.

    [19/04/01]	HJB command.c
    		Post release fix to handling of load inline in
    		windows version due to problem with STRICT logic.
    		Thanks to Jan Reichert  for pointing
    		out the problem.

    [18/04/01]	HJB command.c
    		Post release fix to handling of load inline in UCB
    		multiple molecule environment.  Thanks to Jan
    		Reichert  for pointing out the
    		problem.

### Changes from RasMol 2.7.1.1 and 2.7.2 to create RasMol 2.7.2.1:

    [14/04/01]	HJB script.c
    		Correct error in writing scripts with partial use of spacefill.
    		Thanks to Steven Vik  for reporting the
    		problem.

    [14/04/01]	HJB rasmol.doc, itasmol2721.hlp, esrasmol.html
    		Updated manuals for 2.7.2.1.

    [02/04/01]	HJB	abstree.c, abstree.h
    		Increase space for atom names from 4 to 12 characters.

    [02/04/01]	HJB	applemac.c
    		Add symbolic ZRange, add 2 dials. See [12/01/01] changes for langsel.

    [02/04/01]	HJB	cmndline.c, cmndline.h
    		Reworked all exits on mouse motion processing to leave values
    		in DialValues or WRot..., etc depending on RotMode.  Made HeldButton
    		a global for future reference.

    [02/04/01]	HJB	command.c, rasmol.c, rasmac.c, raswin.c
    		Change stereo command to cycle cross-wall-none.

    [02/04/01]	HJB	command.c, script.c, transfor.c
    		Rework output of rotation information.

    [02/04/01]	HJB	infile.c
    		Increase limit on atom names for CIF from 4 to 12 characters.

    [02/04/01]	HJB	langsel.c langsel_mac.c
    		Add French (thanks to Jean-Pierre Demailly
    		) and Italian (Giuseppe Martini
    		 and Giovanni Paolella
    		with contributions by: A. Davassi, M. Masullo, C. Liotto, G. Paolella,
    		G. Martini.  Adapt to 2.7.2 menu structure.

    [02/04/01]	HJB	mswin31.c
    		Removed "Printing Completed" message.

    [02/04/01]	HJB	multiple.c
    		Save DotPtr to fix misplaced dots in multiple molecules.  Save
    		LastTX, LastTY, LastTZ, LocalRadius, ShiftS, XlateCen.  Make
    		"Insufficient memory" message be language dependent
    		MsgStrs[StrMalloc]

    [02/04/01]	HJB	outfile.c, pixutils.c, repres.c
    		Rework backclipping separating ZOffset from new DepthValue,
    		define BitBack

    [02/04/01]	HJB	tokens.c
    		Added the following tokens relative to 2.7.2, includes tokens
    		added for 2.7.1.1:

    		ASSE                 AxesTok
    		ASSI                 AxesTok
    		CADENA               ChainTok
    		CADENAS              ChainTok
    		CATENA               ChainTok
    		CATENE               ChainTok
    		COPY                 CopyTok
    		DEPTH                DepthTok
    		DIBUJO               CartoonTok
    		DIBUJOS              CartoonTok
    		E                    AndTok
    		EJE                  AxesTok
    		EJES                 AxesTok
    		ELANCE               BondTok
    		ELANCES              BondTok
    		ELICHE               HelixTok
    		ENGLISH              EnglishTok
    		ELICHE               HelixTok
    		ESQUELETO            BackboneTok
    		ETIQUETA             LabelTok
    		ETIQUETAS            LabelTok
    		ETICHETTA            LabelTok
    		ETICHETTE            LabelTok
    		FILODIFERRO          WireframeTok
    		FILDIFERRO           WireframeTok
    		FILI                 StrandsTok
    		FRENCH               FrenchTok
    		GIRO                 TurnTok
    		GIROS                TurnTok
    		GRUPO                GroupTok
    		GRUPPO               GroupTok
    		HEBRAS               StrandsTok
    		IMAGE				 ImageTok
    		ITALIAN              ItalianTok
    		MOSTRAR              DisplayTok
    		NASTRO               RibbonTok
    		NASTRI               RibbonTok
    		PASTE				 PasteTok
    		POSITION			 PositionTok
    		RIEMPIMENTO          SpacefillTok
    		SALIR                ExitTok
    		SCHELETRO            BackboneTok
    		SELECTION            SelectionTok
    		SHADEPOWER           ShadePowerTok
    		SPANISH              SpanishTok
    		TODO                 AllTok
    		TUTTO                AllTok
    		VIEW                 ViewTok
    		VIGNETTA             CartoonTok
    		VISUALIZZA           DisplayTok

    [02/04/01]	HJB	transfor.c
    		Rework interaction of mouse, local rotation and world rotation
    		to make horizontal mouse motion of individual molecule rotate
    		horizontally even when outer world rotation creates a tilt.
    		Restores incremental mouse motion effects similar to what
    		was in effect for 2.7.1, but with world rotations.  Reworked
    		RasTop centering to restore 2.7.2 behavior -- defaults to
    		center the new rotation on the screen.

    [02/04/01]	HJB	several
    		Make dial indices symbolic.

    [02/04/01]	HJB	wbrotate.c, wbrotate.h
    		Rework interaction of mouse and world rotation to make
    		horizontal mouse motion of individual molecule rotate horizontally
    		even when outer world rotation creates a tilt.

### Changes adopted from RasTop 1.3 in creating RasMol 2.7.2.1:

Note: These mods do not reflect the complete source of RasTop 1.3.

    [31/01/00]	PV	command.c
    		Added code for selecting atom areas with mouse:  changed
    		PickAtom() function name in PickAtoms();  changed PicAtome
    		identifier in PickAtom; added function SelectArea()
    		and DisplayArea(); added code for command "select view"

    [30/01/00]	PV command.c

    		Added command "select view" and corresponding code,
    		which allows to select a part of a molecule based on screen display.

    [16/01/00]	PV cmndline.c
    		In PerformMouseFunc() corrected MM_CLIP to access clipping with
    		the mouse, added MM_DEPT to access backclipping (depth) with the mouse.

    [16/01/00]	PV	transfor.h, transfor.c, token.h, token.c, script.c
    		Added ShadePower in DefineColourMap(), which brings some interesting
    		shade variations. Added ShadePowerTok and command "set shade x"
    		with x between -20 to 20.

    [03/01/00]	PV	transfor.c
    		Fixed bug (and modified) function Power() to handle Specpower

    [12/14/99]	PV
    		Added variables ShiftS and UseAutoDepthCue that adjust DepthCue
    		with slabbing.

    [14/12/99]	PV	transform.c
    		Added function CentreTransform() to either move the origin in the
    		molecule or move the molecule to the origin (origin = True ).
    		Added variables Cenx,y,z, which mesure distance centre-origin.

    [29/09/99]	PV	molecule.c
    		Fixed bug in FindCisBonds() (no zeroing of last group cisbondflag);
    		Added ability to convert triple bond to single (CreateBondOrder())

    [24/09/99]	PV	cmndline.c
    		Correlated mouse binding to global variable MouseMode.
    		Removed EnableMenus(state==1) in ResetCommandLine().
    		Fixed mouse binding with INVERT on y values.
    		Fixed bug on capture status on mouse-up.  Added MM_PREV
    		to mouse binding for deselection.  Fixed INVERT on y
    		value for mouseup.

    [21/09/99]	PV	command.c, render.h, render.c, transfor.h, transfor.c
    		Added four new picking modes: select an atom: PickAtom; select
    		a group: PickGroup; select a chain: PickChain; modify bonding/add
    		multiple bonds: PickBond.   Allowed picking parameter shift = -1
    		when Ctrl key is down to deselect an atom (a group, a chain)
    		from the current selection. [Note by HJB 02/04/01 -- The UCB
    		and 2.7.2 bond picking was used in 2.7.2.1 instead of the
    		RasTop version]

    [22/09/99]	PV abstree.h, abstree.c
    		First step for saving atomsets & identifiers in RasMol scripts
    		(SetSize to 100 and SymEntry and SymbolTable in header).

    [21/09/99]	PV	cif.h
    		Fixed missing declaration of cif_parse in cif.h

    [21/09/99]	PV	cmndline.c
    		In ProcessCharacter()) added ESC (0x1b) character to interrupt
    		script pausing.

    [21/09/99]	PV	command.c
    		Changed output for one-letter-code sequence in series of 50
    		characters with a space each subgroup of 10.

    [21/09/99]	PV	infile.c
    		Compiling problems with RasMol 2.7.1 files (VisualC++ 5.0)
    		- explicited all conversions long to short in infile.c	/*casting*/

    [21/09/99]	PV	pixutils.c
    		Compiling problems with RasMol 2.7.1 files (VisualC++ 5.0)
    		- fixed casting in drawstar() and clipstar() in pixutils.c
    		Set ARCSIZE  to 32768 under MSWIN, allowing drawing cylinders with
    		radii up to 250 RasMol Units.  Current implementation gives a maximum
    		of 75 RU at maximum zooming.  Mac implementation should be verified.

    [14/07/99]	PV	abstree.c transfor.c
    		(Adapted from RasTop 1.3) Added shortcuts for direct evaluations
    		of atomsets (BuildAtomSet(), SelectZoneExpr()).

    [14/07/99]	PV	abstree.c, transfor.c
    		Added shortcuts for direct evaluations of atomsets (BuildAtomSet(),
    		SelectZoneExpr()); gain up to 15 seconds of computer time on very
    		large molecules.

    [10/07/99]	PV	cif.c
    		Fixed memory allocation bug in cif_make_handle

### Changes from RasMol 2.7.1 to create RasMol 2.7.2:

    [28/08/00]	HJB	all
    		Updates to comments, resources, etc for preliminary testing
    		release.

    [21/08/00]	HJB	abstree.c, abstree.h
    		Change type Atom to RAtom to avoid conflicts with X.
    		Offset all uses of xorg, yorg, zorg databse entried with
    		fxorg, fyorg, fzorg database entries for UCB bond
    		rotation.  Change char* strings to unsigned char* strings
    		to allow for extra UCB Angstrom and degree symbols.

    [21/08/00]	HJB	applemac.c
    		Change from use of toolbar settings to use of RotMode.
    		Add new "Settings" menu.

    [21/08/00]	HJB	cmndline.c
    		Adapt GSG code from UCB mods for mouse moves, to make
    		the moves control bond rotation, molecule rotation, or
    		world rotation, but change from use of toolbar settings
    		to use of RotMode

    [21/08/00]	HJB	command.c
    		Add new error message (ErrNoBond) for "Bond for rotation
    		not picked".  Add new parameter for alternate conformer
    		bond waist radius.  Adapt to fxorg, etc. offsets.  Adapt
    		GSG UCB pick bond tool bar button to a command line
    		command.  Add show centre, show rotation, show translation
    		and show zoom commands.  Add bond, unbond commands.
    		Add rotate bond, rotate molecule, rotate all command.

    [21/08/00]	HJB	command.h
    		Add space after "__huge"

    [21/08/00]	HJB	font.h
    		Adapt GSG UCB mods characters for Angstrom and degree to be
    		additional symbols, not repalcements.

    [21/08/00]	HJB	graphics.h
    		Add new redraw flag, "RFRotBond" to signal that a bond
    		rotation is involved, and add it to RFRotate, RFApply and
    		RFInitial.  Add ZRange.  Move main X window definitions
    		into this header to facilitate toolbar development.

    [21/08/00]	HJB	infile.c, infile.h
    		Change all Atom types to RAtom.  Add xorg, etc. offsets
    		on all coordinate calauclations.  Move GroupPool definition
    		to header.

    [21/08/00]	HJB	molecule.h and all referring files
    		Change type Atom to RAtom to avoid conflicts with X.
    		Add fxorg, fyorg, fzorg database entries for UCB bond
    		rotation offsets.

    [21/08/00]	HJB	multiple.c
    		Remove all use of the toolbar, converting to menu.
    		Detect last element of file name string.  Update VarList
    		for current variables.  Change to ANSI C prototypes.
    		Move revised DrawMoleculeList from GSG's UCB toolbar.c
    		into multiple.c, but drop list only into MolName[].

    [21/08/00]	HJB	wbrotate.c, wbrotate.h
    		Remove all use of the toolbar, converting to menu.
    		Change to ANSI C prototypes.  Revise bond and world
    		rotation logic to use full rotation, nor increment,
    		for improved accuracy.  Change Bond rotation logic to
    		preserve nesting of bonds without changing the original
    		coordinates.  Add database of selected bonds and logic
    		to add bonds on the fly and remove them.

    [21/08/00]	HJB	vector.c, vector.h
    		Change to ANSI C prototypes.  Replace Vector and Matrix
    		with their array definitions for clarity.

    [27/02/00]	HJB	transfor.c, transfor.h
    		Add alternate conformer bond radius to EnableWireFrame

    [23/02/00]	HJB	infile.c
    		Fix *- for - typo in XYZ and MOL2 input of coordinates

    [23/02/00]	HJB	molecule.c
    		Fix D2O to DOD mapping.  Thanks to Brian W. Beck.

    [23/02/00]	HJB	pixutils.c
    		New code for alternate conformer bonds.

    [23/02/00]	HJN	raswin.c
    		Update WinMail entry to WINAPI

    [29/01/00]	HJB	molecule.c
    		Comment out chain by chain reset of bonding to allow for
    		het groups after TER at expense of slower bonding.

    [29/01/00]	HJB	mswin31.c
    		Update printer logic for modern windows specs.

    [29/01/00]	HJB	rasmac.c
    		Fix reference of monaco font.

    [15/07/99]	HJB (for AR)	raswin.c
    		Add check for \r.  Thanks for Andrew Raine.

    [15/07/99]	RS	raswin.c
    		Add .ML2 and .SY2 extensions for Sybyl and MOL2.

### Changes adapted from UCB rasmol in creating RasMol 2.7.2:

Note: These mods do not reflect the complete source of UCB RasMol. In particular toolbar.h and toolbar.c have not been used in this pass, and the full source of UCB RasMol has not yet been recovered.

    [30/11/95]	GSG rasmac.c
    		Hide command window.  Add help screen menu logic.  Add hooks to
    		load multiple molecules.  Add toolbar menu to Windows menu.  Make
    		mouse moves control bond rotation, molecule rotation or world
    		rotation depending on tool bar button choices.  Same for scroll
    		bars.

    [29/11/95]	GSG	applemac.c
    		Change default background for printing to white.
    		Hook scroll bar H values to bond angle (BRotValue),
    		molecule rotation angle (DialValue[1]) or
    		world rotation angle (WRotValue[1]) depending on
    		toolbar settings.  Hook scroll bar V values to
    		molecule rotation angle (DialValue[0]) or
    		world rotation angle (WRotValue[0]) depending on
    		tool bar settings.  Allow file open when less than
    		MAX_MOLECULES molecules.

    [21/08/00]	GSG	font.h
    		Add characters for Angstrom and degree as replacements
    		for vertical bar and tilde.

    [16/11/95]	GSG render.c, render.h
    		Add PickBond.  Add hooks to draw multiple molecules.  Automatically
    		switch to the molecule of any picked atom.  Add monitor for picked
    		distance, angle or torsion angle.

    [14/11/95]	GSG transfor.c
    		Add hooks for bond rotation and global rotation.

    [14/11/95]	GSG vector.c, vector.h, wbrotate.c, wbrotate.h
    		New routines introduced with UCB mods to allow for
    		bond rotations and global rotation.

    [14/11/95]	GSG infile.c
    		Add fxorg, fyorg, fxorg for MDL molecule input only.

    [14/11/95]	GSG molecule.c, molecule.h
    		Add fxorg, fyorg, fxorg and list of bonds to atom database
    		for world and bond rotation.

    [11/11/95]	GSG multiple.c, multiple.h
    		New routine introduced with UCB mods to allow for
    		multiple molecules.

    [10/11/95]	GSG tokens.c,tokens.h
    		Add MoleculeTok.

    [10/11/95]	GSG repres.h
    		Add flag for units to Monitors.

    [09/11/95]	GSG	command.c, command.h
    		Add hooks for multiple molecules.  Log background
    		status to allow default white print background.
    		Add molecule command.

    [09/11/95]	GSG rasmol.c
    		Add initialisation for multiple molecules.

### Changes from RasMol 2.7.1 to create RasMol 2.7.1.1:

    [21/01/01]	FGR, HJB	langsel.c, langsel_mac.c, mswin.c,  applemac.c
    		Installed translations for Edit menu on mac and PC
    		provided by Fernando Gabriel Ranea.

    [17/01/01]	FGR, HJB	langsel.c, langsel_mac.c
    		Corrections to translations by Fernando Gabriel Ranea, installed
    		by HJB with revisions to menu bar accelerators.

    [12/01/01]	HJB	applemac.c
    		Added include of langsel.h.  Added routine ReWriteStr255 to rewrite
    		menu bar items in place and tostr255 to convert other menu items
    		strings to Pascal form for use in SetmenuItemText.  Set up
    		ReDrawWindow to refresh all menu strings and then redraw the menu
    		bar.  Note that the rewrite of the main menu bar is _very_ risky
    		and may not survive system changes.

    [12/01/01]	HJB	command.c
    		Added include of langsel.h.  Remove redundant ErrorMsg array and Err...
    		definitions.  Change messages to reference MsgStrs.  Add English and
    		Spanish as commands calling SwitchLang.

    [12/01/01]	HJB	infile.c
    		Fix coordinate typo in load of XYZ and Mol2 molecules.

    [12/01/01]	HJB	langsel.c, langsel_mac.c, langsel.h
    		New routines to carry multi-lingual translations.  Many thanks to
    		Fernando Gabriel Ranea for the bulk of the Spanish translations,
    		and for creating the initial Spanish version of RasMol 2.7.1.  Note
    		that langsel.c uses the ANSI character set, while lansel_mac.c uses the
    		Macintosh character set.

    [12/01/01]	HJB	molecule.c
    		Added include of langsel.h.  Changed messages to reference MsgStrs.
    		Refixed D2O misparse, which had been previously fixed.  Mod had been
    		lost.

    [12/01/01]	HJB	mswin31.c
    		Added include of raswin.idm and langsel.h.  Included partial update
    		to printer logic.  Added ReDrawWindow as rewrite of menus with
    		ModifyMenu and RemoveMenu/AppendMenu calls.

    [12/01/01]	HJB	rasmac.c
    		Added include of langsel.h.  Added SwitchLang(English) calls
    		for initialization to main routine.

    [12/01/01]	HJB	rasmol.c
    		Add fix for broken math routines by referencing atan2.

    [12/01/01]	HJB	rasmol.h
    		Added include of langsel.h.  Added SwitchLang(English) calls
    		for initialization to main routine.

    [12/01/01]	HJB	raswin.c
    		Added include of langsel.h.  Changed font of command window to ANSI
    		character set.  Changed most messages to reference MsgStrs.  Add
    		SwitchLang(English) calls for initialization to WinMain.

    [12/01/01]	HJB	x11win.c
    		Restructured MenuItem and BarItem to make .text, .pos and .len
    		indirect, so that they can be fetched from MsgStrs, MsgAuxl and
    		MsgLens.  The .pos field is used to specify the character offset
    		of the acceleration key.  The main menu bar may now have non-zero
    		offsets.  All the menu items have been changed to MsgStrs[StrM...]
    		referecences, and added include of langsel.h.  Added ReDrawWindow
    		simply as a call to ReSizeWindow.  This is overkill, but appropriate
    		for these infrequent calls.

    [12/01/01]	HJB	tokens.h
    		Added tokens EnglishTok and SpanishTok.

    [12/01/01]	HJB	graphics.h
    		Added prototype of ReDrawWindow, a system-dependent call to be used
    		after updating menus on language changes.

    [12/01/01]	HJB	cmndline.c
    		Added include of langsel.h, changed prompts as follows:

    		"PDB file name:"		MsgStrs[StrPrmtPDB]
    		"Image file name:"		MsgStrs[StrPrmtImg]
    		"Molecule file name:"	MsgStrs[StrPrmtMol]

    [12/01/01]	HJB	tokens.c
    		Added the following tokens:

    		CADENA               ChainTok
    		CADENAS              ChainTok
    		DIBUJO               CartoonTok
    		DIBUJOS              CartoonTok
    		E                    AndTok
    		EJE                  AxesTok
    		EJES                 AxesTok
    		ELANCE               BondTok
    		ELANCES              BondTok
    		ENGLISH              EnglishTok
    		ESQUELETO            BackboneTok
    		ETIQUETA             LabelTok
    		ETIQUETAS            LabelTok
    		GIRO                 TurnTok
    		GIROS                TurnTok
    		GRUPO                GroupTok
    		HEBRAS               StrandsTok
    		MOSTRAR              DisplayTok
    		SALIR                ExitTok
    		SPANISH              SpanishTok
    		TODO                 AllTok

    [26/12/99]	HJB	mswin31.c
    		Do not reset Voxel Data for each chain.

    [02/10/99]	HJB	molecule.c
    		Update printer logic.

### Changes from RasMol 2.7.0 to RasMol 2.7.1.1 include:

- Introduction of a multilingual structure for RasMol.
- Population of messages and menu lists for English and Spanish.
- Upgrade of some of the Windows printer logic
- Correction of coordinate handling for Mol2 and XYZ coordinates
- Fix to the parsing of D2O.
- The ability to automatically mark non bonded atoms in wireframe and stick displays. Our thanks to R. Curtis Haltiwanger for suggesting this change.
- The ability to use a proportionally spaced font and to draw labels with heavier strokes. Our thanks to Eric Martz for suggesting this change.
- The ability to auto-recognize PDB vs. CIF and mmCIF datasets.
- Extensive updating to the manual. Our thanks to William McClure, Margaret Wong, Eric Martz and Frances Bernstein.
- Updating the canvas title with the PDB ID code and EXPDTA information, so models will be clearly distinguished from experimental data. Our thanks to Helen Berman for suggesting this change.
- The ability to report coordinates.
- Additions to the list of pre-defined colours.
- Improved accuracy of coordinates in pseudo-PDB output.
- Fixes to the centering logic.

### Changes from RasMol 2.7.0.1 to create RasMol 2.7.1:

    [15/07/99]	HJB	documentation
    		Add Dunix binaries.  Thanks to David Atkinson

    [06/07/99]	HJB	all
    		Release 2.7.1

    [05/07/99]	HJB	documentation
    		Cut-off date for Release 2.7.1 documentation changes.

    [22/06/99]	HJB	all source
    		Cut-off date for Release 2.7.1 code changes.

    [22/06/99]	HJB	command.c
    		Save fact that a data file was loaded inline.  Add
    		processing for star command, all new options for
    		bondmode [all | none | not bonded ]

    [22/06/99]	HJB	infile.c
    		Update DataFileFormat after autorecognition.

    [22/06/99]	HJB	molecule.h
    		Add MarkAtoms to hold new bondmode flags.

    [22/06/99]	HJB	pixutils.c, render.c
    		Add code for new star command.

    [22/06/99]	HJB	script.c
    		Add logic to write star command output.  Report data
    		loaded as CIF or as inline correctly.  Warn users
    		that inline data is not being written out.  Check
    		inversion of Y-axis on POVRAY3.  Thanks to Curt
    		Haltiwanger for suggesting marking non-bonded atoms
    		on wireframe displays.

    [22/06/99]	HJB	transfor.c
    		Add code for new star command, new bondmode options.

    [18/06/99]	HJB	pixutils.h, pixutils.c
    		Change name of DisplayString to DisplayRasString to
    		avoid a conflict with X libraries.  Add FontWid array
    		to hold character widths (FontSize for FS, FontSize/4
    		+1 + maximum x position for PS).  Add FontStroke logic to
    		write cylinders instead of lines when FontStroke is not
    		zero.

    [18/06/99]	HJB	render.c
    		Change name of DisplayString to DisplayRasString to
    		avoid a conflict with X libraries.

    [18/06/99]	HJB	repres.c
    		When FonstStroke is non-zero, don't offset character
    		color by (ColourMask>>1), to allow room for color
    		adjustments in cylinder drawing.

    [18/06/99]	HJB	script.c
    		Add logic to write PS flag for proportional spacing
    		on set fontsize, and logic to write set fontstroke n.

    [18/06/99]	HJB	tokens.c, tokens.h
    		Add tokens for BlueTint (BlueTintTok), Brown (BrownTok),
    		FontStroke (FontStrokeTok), FS (FSTok), Gold (GoldTok),
    		Gray or Grey (GrayTok), GreenTint (GreenTintTok), HotPink
    		(HotPinkTok), Pick as an alternative for Picking
    		(PickingTok), Pink (PinkTok), PinkTint (PinktintTok),
    		SeaGreen (SeaGreenTok), SkyBlue (SlyBlueTok),
    		YellowTint (YellowTintTok)

    [13/06/99]	HJB	command.c
    		Change processing of load inline command to work from
    		the currently opened script, saving the file position.
    		Accept HEADER and DATA_... as commands in a script,
    		processing that line and all subsequent lines as a
    		data file, unless a prior load inline command was already
    		done

    [12/06/99]	HJB	infile.c
    		When processing a PDB file, test for DATA_... until
    		a non-comment, non-blank line is found.  Revert
    		to CIF processing if DATA_... is found.

    [11/06/99]	HJB	infile.c
    		In PDB format input extract EXPDTA for Info.technique.
    		In CIF format input accept _audit_block_code for the
    		entry ID, _exptl.method, _diffrn_radiation.probe or
    		_diffrn_radiation_probe for Info.technique.  Preserve
    		low order bits of coordinates in xtrl, yrtl, ztrl.  On
    		PDB output, report Info.technique in EXPDTA and reinsert
    		low-order bits for coordinates.

    [10/06/99]	HJB	abstree.c
    		Add code to report coordinates for show selected cordinates

    [10/06/99]	HJB	command.c
    		Recognize new commands, picking coordinates,
    		show selected cordinates.  Update default title produced
    		by title command.

    [10/06/99]	HJB	molecule.h
    		Add new Info fields for date and technique.  Extend
    		identcode to 80 columns.  Add CRD to Selection enum type.
    		Add prototype for ReviseTitle.

    [10/06/99]	HJB	render.h, render.c
    		Add code to report coordinates for picking coordinates,
    		define PickCoord symbol.

    [10/06/99]	HJB	tokens.h, tokens.c
    		Add code recognize COORD, COORDS, COORDINATE, COORDINATES for
    		new CoordTok, DATA_... for CIFDataTok, HEADER for HeaderTok

    [09/06/99]	HJB	molecule.c
    		Put PDB entry ID and EXPDTA info into canvas title, report
    		EXPDTA data from Info.technique on reading file.

    [06/06/99]	HJB	infile.c
    		Restore the origin on PDB and other outputs.

    [06/06/99]	HJB	script.c
    		Change script output to include centering and
    		change various coordinate outputs to restore
    		origins the z-axis orientation.

    [06/06/99]	HJB	command.c
    		Add command centre [CenX,CenY,CenZ] to center by offsets
    		from centre of gravity.

    [03/06/99]	HJB	render.c
    		Remove call to TranslateToCentre, hold centering
    		in CenX, CenY and CenZ, decoupled from dials,
    		add RFRotate to ReDrawFlag on centering.  Thanks to
    		Bohdan Schneider for pointing out the problems with
    		centering.

    [03/06/99]	HJB	transfor.c
    		Remove TranslateToCentre, remove processing of CenX,
    		CenY and CenZ from dial values, and put it into
    		computation of ptr->x,y,z

### Changes after release of RasMol_2.7.0.1:

    [27/04/99]	HJB	README.html, Changelog.html, INSTALL.html, manual
    		Add navigation links at top and bottom of each page.
    		Add links for gzipped versions of raswin.hlp, rasmol.hlp.
    		Thanks to E. Martz and Kjeld Olesen.

    [27/04/99]	HJB	INSTALL.html, manual
    		Replace empty copy of INSTALL.html in doc/, correct
    		embedded html in manual.  Thanks to Kurt Giles.

### Changes from RasMol_2.7.0 to create RasMol_2.7.0.1:

    [22/04/99]	HJB
    		Announce RasMol 2.7.0.1 on pdb-l@rcsb.org,
    		rasmol@lists.umass.edu, mmciflist@ndbdev.rutgers.edu

    [11/04/99]	HJB	*.c, *.h
    		Update all comment blocks for new version and date

    [11/04/99]	HJB	abstree.h
    		Realign Pred... to agree with ...Tok to correct
    		misaligned introduced by HJB (not AM) during merge of 2.6x1
    		into 2.7.0.

    [11/04/99]	HJB	tokens.h
    		Fix definition of IsPredTok

    [09/04/99]	HJB	molecule,h
    		Make residue identification case-insensitive.

### Changes from RasMol_2.6.4, RasMol2.6x1 and RasMol_2.6_CIF.2 to create RasMol_2.7.0:

    [30/03/99]	HJB	all
    		Cleanup and release of version 2.7.0

    [23/03/99]	HJB	abstree.c
    		Add code to select on alternate conformers.  Increase
    		accuracy of torsion angle calculation.

    [23/03/99]	HJB	command.c, command.h
    		Make InitHelpFile generally available, change to
    		WriteString for reporting CisBondCutOff for use on mac,
    		report models on show selected.

    [23/03/99]	HJB	rasmol.c, raswin.c, rasmac.c
    		Add suggestion for help notice to initial text lines.

    [23/03/99]	HJB	script.c
    		In order to support mac introduce WriteBuffer and
    		change all fprintf(outFile, ... to WriteBuffer, provide
    		code from fisipl for Ramachandran printer plot.  Handle
    		signs of torsion angles.  Thanks to F. C. Bernstein.

    [23/03/99]	HJB	tokens.h, tokens.c
    		Add RamPrintTok, RPP, RDF, etc., hook POVRAY3 to the
    		new POVray code.

    [20/03/99]	HJB	*.h, *.c
    		In general, the RasMol_2.6_CIF.2 version was used as a base
    		and upgraded with the RasMol_2.6.4 changes.  The exceptions
    		are below

    [20/03/99]	HJB	infile.c
    		Cell parameters are read with the double routine ReadDecValue
    		from 2.6_CIF.2, rather than ReadValue2 from 2.6.4

### Changes from RasMol_2.6 to create RasMol_2.6x1:

    [15/2/98]	AM	abstree.c, abstree.h
    		Add PredCisBond, DescribeObj, CalcPhiAngle, CalcPsiAngle,
    		CalcOmegaAngle, shift torsion angle calculations 180
    		degrees.

    [15/2/98]	AM	command.c
    		Add FindCisBonds, CisBondCutOff, show of selected chains,
    		groups, atoms, show and write of phi-psi angles

    [15/2/98]	AM	molecule.h, molecule.c
    		Add CIS bond logic

    [15/2/98]	AM	rasmol.h, rasmol.c
    		Add USE_FD_SET_TYPE option

    [15/2/98]	AM	script.h, script.c
    		Add WritePhiPsiAngles, code for POV-Ray version 3

    [15/2/98]	AM	tokens.h
    		Add CisBondedTok, RamachanTok, CisAngleTok, PhiPsiTok,
    		define PHIPSI, CISANGLE, RAMACHAN, CISBONDED

### Changes from RasMol_2.6 to create RasMol_2.6.4:

    [8/2/99]	RS	command.c, rasmol.c, scripts.c, rastxt.c, raswin.c
    		rasmac.c
    		Final fixup and release of version 2.6.4

    [27/12/98]	RS	*.h, *.c
    		Remove all non-ANSI-C prototypes and ensure use of ( void )
    		for empty argument lists.  Upgrade all procedure delcarations.
    		Convert to use of MSWIN.

    [27/12/98]	RS	abstree.c
    		Redo torsion angel calculation.

    [27/12/98]	RS	applemac.c
    		Convert to Apple's new routine names

    [27/12/98]	RS	cmndline.c, cmndline.h
    		New routine for mouse, keyboard, dials

    [27/12/98]	RS	command.c, command.h
    		Move routines for mouse, keyboard, dials to cmndline.c.
    		Redo ParseColour.  Reorganize command parsing

    [27/12/98]	RS	infile.c
    		Change references to MMIO to MMIOLIB.  Pass fp and buffer
    		to FetchRecord as argument.  Add ReadValue2, ProcessPDBBond,
    		ProcessPDBUnitCell.  Fix recognition of END. Use
    		InvalidateCmndline and UnusedArgument.  Write MODEL and
    		ENDMDL records when appropriate

    [27/12/98]	RS	molecule.c
    		Reorganize FindResNo as a character-oriented search tree
    		Add Cache.

    [27/12/98]	RS	rasmac.c
    		Convert to Apple's new routine names

    [27/12/98]	RS	rastxt.c
    		New text-only main program

    [27/12/98]	RS	repres.c
    		Add LabelTermnii

    [27/12/98]	RS	tranfor.c
    		Add TranslateToCentre

    [27/12/98]	RS	transfor.h
    		Reorganize the logic defining DefaultAmbient, making
    		the default value 0.4 instead of 0.6, except for E&S, which
    		is still .05.

    [27/12/98]	RS	tokens.c
    		New routine for character-oriented search tree for tokens.

    [01/08/97]	RS	infile.c
    		Decreased the maximum valid alpha carbon to alpha carbon
    		distance to 4.2 Angstroms from 7.0 Angstroms.  Thanks to
    		Kostas Sfyrakis and Harren Jhoti.

    [15/04/97]	RS	molecule.c repres.c
    		Fixed a bizarre feature in the OpenVMS compiler that complained
    		about "a=*b" as "=*" operator is an obsoltete form and may not
    		be portable.  Special thanks to Remington Stone.

    [28/11/96]	RS	rasmol.h rasmol.c
    		Several minor fixes to compile RasMol under VMS.  Special
    		thanks to Adam Ralph (and CCP4).

### Changes from RasMol_2.6_CIF(Rev 1) to create RasMol_2.6_CIF(Rev 2):

    [24/2/99]	HJB	Release of RasMol_2.6_CIF(Rev 2) at
    		http://www/bernstein-plus-sons.com/software/rasmol
    		and announce to mailing lists.

    [21/2/99]	HJB	cif.h
    		Add prototypes of cif_make_handle, cif_read_file,
    		cif_make_file, cif_save_character to avoid compiler warnings

    [21/2/99]	HJB	cif_ctonum.c
    		Remove unneeded values.h

    [21/2/99]	HJB	cif_ctonum.h
    		Correct prototype

    [21/2/99]	HJB	infile.c
    		Add cif_ctonum.h, define LoadCIFMolecule prototype,
    		initialize ch, add return  to avoid compiler warnings.

    [21/2/99]	HJB	abstree.c, cif.c, cif_ctonum.c, command.c,
    		infile.c, molecule.c
    		Use string_case.h instead of  for IBMPC,
    		VMS and APPLEMAC.

    [21/2/99]	HJB	rasmol.h
    		Update version, add some definitions from R. Sayle's
    		2.6.4 in preparation for 2.7.0.

    [21/2/99]	HJB	rasmac.c, rasmol.c, raswin.c
    		Update reported date on startup.

    [21/2/99]	HJB	render.c
    		Add cif_fract.h to avoid compiler warnings.

    [21/2/99]	HJB	string_case.c
    		Replace garbled version, provide string_case.h.

    [21/2/99]	HJB	script.c
    		Initialize first, last, radius, to avoid compiler warnings

    [21/2/99]	HJB	transfor.c
    		Initialize min and max to avoid compiler warnings.

    [10/1/99]	HJB	Release of RasMol_2.6_CIF(Rev 1) at
    		http://www.bernstein-plus-sons.com/software/rasmol
    		and announce to mmCIF mailing list.

    [9/1/99]	HJB	cif.c
    		Change toupper calls to ToUpper calls.

    [8/1/99]	HJB	command.c
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect.

    [8/1/99]	HJB	infile.c
    		Log requested bonds which cannot be made in NullBonds
    		and report to users, add RightJustify to right-justify
    		residue names, recognize _atom_site_disorder_group
    		for small molecule alternate conformerse, recognize bonds
    		which don't have either atom names or atom numbers.

    [8/1/99]	HJB	molecule.c
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect.

    [8/1/99]	HJB	molecule.h
    		Add argument to CreateMoleculeBonds to force zapping
    		on connect, add NullBonds to log requested bonds which
    		cannot be made.

    [8/1/99]	HJB	mswin31.c
    		Use VERSION to construct window title.

    [8/1/99]	HJB	outfile.c
    		Use VERSION to construct Postscript output file header.

    [8/1/99]	HJB	rasmac.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	rasmol.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	raswin.c
    		Use VERSION to report version on startup.

    [8/1/99]	HJB	script.c
    		Use VERSION to construct various output file headers.

    [8/1/99]	HJB	x11win.c
    		Use VERSION to construct window title.

### Changes from RasMol_2.6 to create RasMol_2.6_CIF:

    [22/12/98]	HJB	Preliminary release of RasMol_2.6_CIF at
    		http://www.bernstein-plus-sons.com/software/rasmol

    [19/12/98]	HJB	command.c
    		correct handling of internal help files under windows,
    		and allow for unix help files on a mac.

    [18/12/98]	HJB	Makefile.in, Imakefile
    		Update for CIF support.

    [09/12/98]	HJB	infile.c
    		Cummulative changes for fractional coordinates,
    		CIF.

    [09/12/98]	HJB	command.c
    		Changes for alt, model labels, colour schemes,
    		CIF.

    [09/12/98]	HJB	molecule.h
    		Cummulative changes for fractional coordinates,
    		new colour schemes, CIF.

    [09/12/98]	HJB	molecule.c
    		Cummulative changes for fractional coordinates,
    		new colour schemes, CIF.
    [09/12/98]	HJB	x11win.c
    		Update comments, menus and version text.

    [09/12/98]	HJB	mswin31.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	outfile.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	script.c
    		Update comments, output file commentary.

    [09/12/98]	HJB	rasmol.c
    		Update comments, output file commentary.

    [04/12/98]	HJB	pixutils.c
    		Update comments, code to stripe bonds for alternate
    		conformers.

    [04/12/98]	HJB	pixutils.h
    		Update comments, protytpes to stripe bonds for alternate
    		conformers.

    [04/12/98]	HJB	rasmac.c
    		Update comments, adjust code for current Metrowerks
    		compiler.

    [04/12/98]	HJB	raswin.c
    		Update comments, adjust code for current Metrowerks
    		compiler.

    [04/12/98]	HJB	tokens.h
    		Update comments, tokens for alt, model colours.

    [04/12/98]	HJB	transfor.c
    		Update comments, add code for alt, model colours.

    [04/12/98]	HJB	transfor.h
    		Update comments, prototypes for alt, model colours.

    [23/11/98]	HJB	abstree.c
    		Add code for %A, %M specifiers, divide u/l case.

    [22/11/98]	HJB	cif_fract.c
    		New routine, derived from cif2pdb by H.J. Bernstein
    		and F. C. Bernstein.

    [22/11/98]	HJB	cif_fract.h.
    		New header for cif_fact.c.

    [22/11/98]	HJB	cif_stx.c
    		New routine, derived from P. Ellis CBFlib parser.

    [23/11/98]	HJB	render.c
    		Update comments, add code to stripe bonds for alternate
    		conformers.

    [23/11/98]	HJB	repres.c
    		Update comments, add code to stripe bonds for alternate
    		conformers.

    [09/09/98]	HJB	cif_ctonum.c
    		New routine, derived from ciftbx by S. R. Hall
    		and H. J. Bernstein.

    [09/09/98]	HJB	cif_ctonum.h
    		New header for cif_ctonum.c.

    [18/08/98]	HJB	cif.h
    		New header for cif.c, derived from CBFlib by P. Ellis
    		and H. J. Bernstein.

    [18/08/98]	HJB	cif.c
    		New routine derived from CBFlib by P. Ellis and
    		H. J. Bernstein.

    [14/08/98]	HJB	rasmol.c
    		Added hooks for termio for Linux.  These changes
    		are similar to, but not identical to the FreeBSD hooks.
    		See the linux conditionals. -- H. J. Bernstein

### Other Changes

The complete version 2 change history is in the directory ChangeLog

| OpenRasMol | Copying and Distribution | Contents | Installation Instructions |
| Changes | Things To Do | Introduction | Source Code and Binaries |
| RasMol Manual | Spanish Translation of RasMol Manual | Italian Translation of RasMol Help File |
| Donate to Support RasMol | Release README | Register your RasMol |

Updated 20 March 2008.
Herbert J. Bernstein
Bernstein + Sons, 5 Brewster Lane, Bellport, NY 11713-2803, USA