@(#)CHANGES	1.3 25 May 1995 (UKC)

Introduction
------------

This is a beta release of ups 3.  This version has only been compiled
and tested on Solaris 2.3 and SunOS 4.1.3.

See the file README for build instructions.


Changes since 2.45.3
--------------------

 - Solaris 2 support

	Ups now works under Solaris 2, with either gcc or the Sun
        SPARCompiler version 3.  It can read symbol from .o files, so
	you do not need to compile with cc -xs.


 - Gdb based support

	Ups can now be build using a automatically modified version of
	the GNU gdb debugger.  See the README file for the precise
	instructions.  Basically the process is:

		- unpack, configure and build gdb

		- run a shell script which builds a symlinks copy of
		  the source tree, munges the gdb source file there,
		  then builds libgdb.a from the munged source files

		- run make in the top-level directory to build ups
		  using libgdb.a for the debugger functionality.

	I have built ups under HPUX and IRIX using the gdb
	support.  Canned support for these and other architectures
	will be included in a future release.

	You can build ups on Solaris 2.3 and SunOS 4.1.3 using the native
	support (again, see the README file for details).  It is also
	possible to build the gdb based version on these systems but
	there is not much point doing this.
	
 - Emacs-like key mappings

   	You can use most of the common emacs key mappings when editing
	text (e.g. in the typing line, when adding breakpoints etc).
	See EDITABLE FIELDS in the manual page for details.

		  
 - Cut and paste

	You can select text with highlighting in the source window,
	the output window and in fields you are editing.  To select
	text, press the left mouse button and drag.  Releasing the
	left mouse button sets the X selection and clears the
	highlighting.

	You can paste text into an edit with control-Y (currently you
	can't paste with the mouse - this will be done soon).  In the
	source window there are some extra shortcuts:

	       - pressing and releasing the left mouse button (without
	         dragging) adds a variable name to the display as in
		 previous versions of ups.  Only if you move the mouse
		 to a different character with the left button down do
		 you get a plain X selection.

	       - doing a press-left-and-drag selection with the SHIFT
	         key pressed automatically pastes the selected text as
		 an expression into the appropriate place in the stack
		 trace.  It is equivalent to selecting some text,
		 selecting `add expr' for the appropriate entry in the
		 stack trace, pressing ^Y to paste the text and
		 hitting RETURN.

	      -  If you hold the shift key down, the press and release
		 the left mouse button without moving the mouse, ups
		 adds the expression under the mouse to the display
		 area.  It makes a reasonable attempt to select what
		 to display.  Try it out to see what I mean.

	See PASTING EXPRESSIONS FROM THE SOURCE WINDOW in the manual
	page for more information.
	
	
 - State save and restore

	 If the file ups-state exists in the current directory, ups
	 will write state information to it when you exit, and reload
	 state when you start.  This includes breakpoint locations
	 (and the interpreted code, if any), and the state of the
	 variables display.  See SAVING STATE in the manual page.


 - Loading and saving breakpoints

	You can explicitly load and save breakpoints to files.  To save
	breakpoints, select one or more in the display area, then
	select `save' from the menu.  You will be prompted for a file
	name.  If the file already exists you will be asked whether
	you want to cancel the save, overwrite the file or append to
	it.

	Saved breakpoints can be reloaded by selecting `Load' from the
	`Breakpoints' header menu.


 - Editing in the output window

	You can now edit in the output window (the window where
	$printf output goes.  Click with the middle mouse button to
	display a cursor.  You can then append or delete text.  This
	is useful for tidying up output to make it clearer, or for
	deleting uninteresting stuff.

	You can also dump objects (like the stack trace) to the
	output window (the `Snapshot' menu item to the left of `Quit'),
	and save or restore the output window contents from/to files
	(`Load' and `Save' in the output window menu).

  - Code in header files

	Ups now handles code #included from header files.

  - Plus various other things, which will be described in the full
    release.


Mark Russell
25th May 1995
