Old DDD News (up to 2.2.3)					-*- text -*-
**************************

DDD 2.2.3
=========

    DDD 2.2.3 fixes some problems reported for DDD 2.2.2:
    - `struct' recognition with DBX now works again.  (This one was serious.)
    - `configure' now checks for correct ISO C++ <stdexcept>.
    - DDD now runs under the `tvtwm' virtual desktop.
    - DBX Settings now work with Solaris DBX.


DDD 2.2.2
=========

    DDD 2.2.2 brings improved FORTRAN support, improvements in the
    data display and fixes some minor bugs introduced in DDD 2.2.

    User-visible changes to DDD 2.2.1:
    - Improved FORTRAN support.  When debugging FORTRAN programs with
      GDB, DDD now supports FORTRAN array indexing syntax, FORTRAN
      pointer recognition, and lookup of FORTRAN functions with
      trailing underscore `_'.
    - The data display is now scope-sensitive: displays are
      automatically hidden as they become inactive (out of scope) and
      redisplayed as they become active again.  This is handy when
      maintaining a multitude of displays in different scopes.  For
      details, see the `hideInactiveDisplays' resource.
    - Faster data exploration.  Double-clicking...
      * ...on a pointer value: dereferences it.
      * ...on a partially hidden value: shows more detail.
      * ...on a fully shown value: hides it again.
    - A display resize (due to value changes) now automatically
      `bumps' adjacent displays such that they are not obscured;
      see the `bumpDisplays' resource for details.
    - Case-insensitive search in the source text is now supported;
      see the `findCaseSensitive' resource for details.

    Bug fixes:
    - Getting and identifying core dumps now works on Solaris, AIX and
      other architectures.
    - `Edit' no longer causes DDD to crash.
    - The separate execution TTY now works with Sun DBX 4.0.
    - Improved XDB support.  XDB output no longer causes DDD to hang.
    - Improved SGI DBX support.  File positions are now recognized;
      DBX Settings work, too.
    - Various quirks and memory leaks in the interaction between DDD
      and the inferior debugger have been fixed.

    Changes in debugging DDD:
    - The interaction between DDD and the inferior debugger is now
      logged in `~/.ddd/log'.  This is useful for bug reports.
    - DDD dumps core upon fatal errors (but resumes execution).
      This is useful for bug reports.

    Changes in configuration and building:
    - GCC 2.8.0 is supported.

    There are also some more minor improvements and bug fixes; see the
    `ChangeLog' file for details.



DDD 2.2.1
=========

    DDD 2.2.1 fixes some minor bugs introduced in DDD 2.2.

    User-visible changes to DDD 2.2:
    - When saving a session, you can now select the method for getting
      core files.  This is useful on Solaris and SunOS systems.

    Bug fixes:
    - Auto-raised menus have caused problems on some architectures:
      they are now disabled by default.  Use `Ddd*autoRaiseMenu: true'
      in `~/.ddd/init' to re-enable them.
    - By default, DDD stops disassembling after 1024 bytes.  This is
      useful when working with the machine code of huge functions.
      See the `maxDisassemble' resource for more info.
    - Several status and diagnostic messages have been reworked; they
      now show the outcome of a command.
    - DDD now works around a bug present in Linux libc 5.4.38 to
      5.4.40 that prevented DDD <-> GDB communication.
    - The `gcore' method for getting core files is now fully supported.
    - Various glitches in command queue management have been fixed:
      * Interacting with the debuggee (or interrupting it) now
        properly discards pending debugger commands.
      * In `--tty' mode, DDD can now handle long command sequences.
        This is useful when running DDD from Emacs.
      * In `--tty' mode, you can now send EOF (^D) characters to the
        debugged program without having DDD terminate GDB.
    - Trying to open non-existent source files no longer confuses GDB.
    - When running in the background, DDD is no longer interrupted by
      `tty output' signals upon initializing the execution window.
    - PushButton menus work with LessTif >= 0.82 and with OSF/Motif 1.1.
    - Command tool decoration has been improved and should now work
      with all X window managers.

    Changes in configuration and building:
    - GNU libiberty and the GNU configure scripts are now up-to-date.
    - The EGCS C++ compiler is supported (see `http://www.cygnus.com/egcs/').

    There are also some more minor improvements and bug fixes.  See
    the `ChangeLog' file for details.



DDD 2.2
=======

    DDD 2.2 brings persistent sessions, an improved user interface,
    attaching to running processes, display shortcuts, and more.

    User-visible changes to DDD 2.1:
    - Persistent sessions.
      * You can now save the entire debugger and process state and
        resume the session later.
      * Saved state includes process memory and state, inferior
        debugger settings, breakpoints, and data displays.
      * X11R6 sessions are supported, too.  When used with a
        session manager, DDD saves and restores its entire state.
      * Persistent sessions work best with GDB; DBX and XDB are
        partially supported, too.
    - Improved user interface.
      * DDD now requires less width and height.
      * Source line numbers have been turned off (can be restored);
        the breakpoint area extends to the first non-blank character.
      * The `Disable ()' button for disabling displays has gone;
        displays are now enabled or disabled via `Show ()/Hide ()'.
      * The `Break at ()' and `Clear at ()' buttons have been merged
        into one single dynamic button.
      * The `Windows' menu is now called `View', complying with the
        Motif style guide.
      * Options are now grouped according to their functionality.  The
        `Options' menu has gone.  Use `Edit' instead.
      * The `Edit' menu has been completely rewritten, allowing for
        better clipboard operations.  For instance, you can now copy
        selected displays to the clipboard and paste them later.
      * Several buttons provide new pulldown menus with useful functions.
    - Improved command tool.
      * The command tool is always auto-raised, i.e. placed on top of
        the DDD windows.
      * The command tool always comes with window manager decorations, 
        such that you can easily move it around.
      * The command tool sticks to the DDD source window: if you move
        the DDD source window around, the command tool follows.
    - Display shortcuts.  Once you have changed `p' to `(char *) p'
      manually, DDD provides a menu shortcut for converting arbitrary
      values to `(char *)'.
    - Button editor.  User-defined buttons can now be defined,
      changed, and deleted at run-time.
    - Support for debugging processes running outside of DDD.  You can
      attach to a running process, examine it, and resume execution.
    - Helper customization.  You can now interactively select and
      customize the applications to be used for the execution window,
      for editing source code, for browsing the DDD WWW page, etc.
    - Improved online manuals.
      * Multiple manual browsers are supported.
      * Manual browsers are realized as top-level windows.
      * DDD no longer blocks while the manual is uncompressed and formatted.
      * DDD stores manuals in `gzip' format, saving space in executables.
    - New `What Now?' help.  Gives a hint on what you can do next,
      depending on the current DDD state.  Useful for beginners.
    - Improved data display.
      * Displayed data is highlighted whenever it changes.
      * Two-dimensional arrays are now laid out as tables.
      * Numerical values are now aligned to the right.
      * You can now incrementally `Show More' details of an object,
        instead of showing all details at once.
      * Processing displays can be interrupted by typing Ctrl+C.
    - Drag and drop support.
      * You can now alter the current execution position interactively
        by dragging and dropping the execution arrow.  This allows you
        to back up - perhaps with more breakpoints set-over a portion
        of a program that has already executed, in order to examine
        its execution in more detail.
      * Breakpoints can be dragged and dropped, too.  This allows you
        to move breakpoints to alternate positions, without changing
        their properties.
    - Improved display of breakpoints and execution positions.
      * The current execution position is now properly cleared if
        undetermined (no source, program terminated, etc.)
      * If the program stopped due to a signal, this is indicated
        by a lightning symbol within the current execution glyph.
      * Faster scrolling.  While scrolling source or machine code at
        high speed, glyphs are now unmapped.  Slow scrolling still
        shows glyphs.
    - Improved DBX and XDB support.
      * DDD supports DBX and XDB breakpoint conditions.
      * With SUN DBX 3.x, DDD also supports disabled breakpoints 
        and ignore counts.
    - User-defined DDD commands.  DDD now provides a simple facility
      that allows the inferior debugger to execute DDD commands.  For
      details, see `User-Defined Commands' in the DDD manual.
    - For `Continue Until Here', DDD now sets a temporary breakpoint
      and continues (instead of using the GDB `until' command).  If
      the temporary breakpoint is not reached, it is deleted.
    - When restarting DDD, all settings (data displays, execution
      position, etc.) are preserved.
    - When DDD becomes ready after a user command, it automatically
      uniconifies itself.  Hence, you can iconify DDD while it runs a
      program; DDD pops up again as soon as a breakpoint is hit.
    - Characters typed into the data and source windows are now
      forwarded to the debugger console.
    - Resource files have been renamed.  All files are now located
      under `~/.ddd/'.  The file `~/.dddinit' has been replaced by
      `~/.ddd/init'; `~/.ddd_history' is now `~/.ddd/history'.  The
      new directory `~/.ddd/sessions/' contains saved DDD sessions.
    - Your window manager should now show multi-color DDD icons.
      (requires XPM; can be disabled)
    - During start-up, DDD shows a multi-color logo in a transient
      window. (requires XPM; can be disabled)
    - DDD now typically requires 35% less memory.  This was achieved
      by compiling and optimizing DDD regular expressions at compile
      time, rather than generating them at run time.

    Supported platforms and configurations:
    - Support for Linux with GNU libc 5.4.38 and later included.
    - Support for XDB on HP-UX 10.x included.  Thanks to Robert
      Wiegand <wiegand@kong.gsfc.nasa.gov>.
    - Support for SUN DBX 3.2 included.

    Bug fixes:
    - DDD no longer hangs while receiving large chunks of data.
    - DDD now also works with echoing TTY connections.
    - Significant speed-ups in processing debugger and program output.
    - Several memory leaks and X resource leaks have been tightened.
    - DDD no longer requires the librx library.  Consequently, librx
      errors can no more cause DDD to crash.
    - A serious bug that caused timers to be inadvertently removed has
      been fixed.  Bug effects included loss of console cursor, loss
      of data display contents, and loss of scrolling capabilities.
    - DDD now handles GDB `<repeats N times>' output correctly.
    - And again, hundreds of minor improvements and bug fixes.  See
      the ChangeLog for details.


DDD 2.1.1
---------

    DDD 2.1.1 includes some hacks that make DDD run with LessTif, a
    free Motif clone, without loss of functionality.  DDD now no more
    depends on proprietary software like OSF/Motif.

    Apart from these hacks, functionality is unchanged with respect to
    DDD 2.1 (no new features, no bug fixes).  If you have DDD 2.1 up
    and running, there is no need to upgrade to DDD 2.1.1.

    As of this release, DDD is included in GNU CD-ROMs by the Free
    Software Foundation (aka the GNU people).  DDD distributions are
    now numbered according to the GNU Maintenance Instructions.



DDD 2.1
-------

    DDD 2.1 brings alias detection, local variable displays, button
    and value tips as well as several new features and bug fixes.

    User-visible changes to DDD 2.0:
    - Alias detection.	DDD now recognizes that multiple displays
      reference the same object.  This allows the examination of
      shared data structures (circular lists, DAGs, and so on).	 Alias
      detection slows down DDD a bit, so it is turned off by default.
    - Local variable displays.	You can display all local variables
      and arguments in the data display.  The display is automatically
      updated to reflect the list of variables and their values.
    - Status displays.	You can now view the output of a debugger
      command in the data window, using "graph display `COMMAND`".
      For instance, local variable displays are realized via
      "graph display `info locals`".
    - Button tips.  Moving the mouse pointer over a button causes a
      small hint window (aka `balloon help') to raise.	(optional)
    - Value tips.  Moving the mouse pointer over a variable causes a
      small window to raise showing the current value.	(optional)
    - The status line has been reworked and extended:
      * It displays information about the selected item.
      * It has moved to the bottom, such that menu entries can be
	described.  (can be restored)
      * It contains a debugger status indicator, blinking whenever
	the inferior debugger is busy.	(can be turned off)
      * You can re-display the most recent messages.
    - The register window can display floating-point registers.
    - Thread support.  You can inquire existing threads and switch
      among them.  (requires GDB and operating system thread support)
    - In `one single window' mode (now default), you can disable
      specific window parts (e.g. data displays, debugger console,
      etc.) through the `Windows' menu.
    - The `Preferences' panel has been extended and reworked:
      * Button tips and value tips can be enabled and disabled.
      * Tab width and graph grid size can now be changed at run time.
      * You can choose at run time whether command buttons should 
	be placed in the command tool (as in DDD 2.0) or in the 
	source window (as in DDD 1.x).
      * You can reset the DDD preferences to the least recently saved
	settings.
    - Some items have been renamed for clarity:
      * The `Stack' menu is now named `Status', as it hosts other
	status-related items besides backtrace and registers.
      * The `Break' button is now named `Interrupt' (as in DDD 1.x),
	to avoid confusion with the `Break At' button.
      * The `Quit' menu item is now named `Abort', to avoid confusion
	with the `Exit' menu item (which issues a `quit' command).
    - Some key bindings have been re-assigned.	Generally, `Ctrl'
      invokes debugger or editing commands, and `Alt' changes debugger
      settings.	 Hence, Ctrl+M invokes `make' and Ctrl+Q invokes
      `quit', while Alt+M enables or disables the machine code window.
      `Run' is now on Ctrl+X (for eXecute).
    - DBX settings can now be viewed and changed at run time, using
      the `Settings' panel.
    - In GDB, there is a `status displays' panel for displaying 
      various things about the program being debugged.
    - Reading the VSL library is now realized as a background job,
      reducing startup time drastically.
    - In the data window, the middle mouse button now toggles 
      the display selection instead of simply extending it.
    - The most important data window operations can now also be
      invoked via the debugger console.	 For instance, the command
      `graph display *next at (50, 50) dependent on 1' creates a new
      dependent display at (50, 50).  In the long term, this feature
      will be used to save and restore display state.
    - In the debugger console, the right mouse button invokes a small
      popup menu which you can use to clear the line or the window.
    - Ever suffered from a frozen display while debugging a modal
      application?  If the debugged program is interrupted in some
      modal state, DDD will automatically make it ungrab the pointer.
    - You can now clear all argument fields `()' by clicking on the
      prompt `():'.
    - In the source argument field `()', pressing RETURN activates
      the `Lookup ()' button.
    - `Save Options' saves window sizes for later DDD sessions, as
      well as the relative position of the command tool.
    - Unnecessary redisplays have been significantly reduced, causing
      much less flickering.
    - If you specify some overloaded or ambiguous identifier, DDD now
      lets you select from all alternatives.
    - Buttons not supported on certain debuggers (for instance,
      `Finish' on DBX) are now made insensitive.  (optional)
    - You can now invoke `make' from DDD, reusing old `make' arguments
      from the command history if desired.
    - There is a new integrated manual browser showing manual pages
      and info files for DDD as well as for the inferior debugger.
      A simple search facility is also included.

    Documentation:
    - The PostScript copy of the manual has been enriched with more
      than 30 color screen shots showing DDD usage.
    - A `sample.dddinit' file is included in the distribution
      containing several examples for further customization.

    Changes in configuration and building:
    - DDD 2.1 uses improved configuration checks from Autoconf 2.12.
    - DDD no longer installs in the `gcc' location by default, but in
      an existing DDD location; otherwise, in `/usr/local/bin'.
    - Improved means of determining builder's e-mail address.
    - DDD beta releases and DDD snapshots expire after a few weeks.

    Bug fixes:
    - Using DBX, comments were stripped from source code under certain
      circumstances.  Fixed.
    - The sash to resize the assembler window is back again.
    - With XDB, sources are found in alternate directories, too.
    - With DBX, the current source line was omitted from the listing
      under certain circumstances.  Fixed.
    - With Sun DBX, DDD uses the DBX display numbers instead of
      generating own numbers.
    - `Help on Version' no longer includes the entire DDD
      configuration.
    - Several single-letter options like `-d DIR' are now properly
      passed down to the inferior debugger.
    - `Select All' followed by `Delete' no more causes DDD to crash.
    - Problems with button specs ending in `...' have been fixed.
    - Line continuations (i.e. lines ending in `\') are properly handled.
    - Problems in building the `vsl' and `test-graph' programs are fixed.
    - On Linux, drag-and-drop of pixmaps has been disabled explicitly.
      (Several Linux Motif configurations are broken in this aspect.)
    - DDD now sets the WM_COMMAND resource such that X session
      managers can save and restore DDD state.
    - The data window now uses a command queue for operations on data
      displays.	 No more `The debugger is busy' messages.
    - Improved handling of template-generated class names and
      optimized-out structs.
    - And again, dozens of minor bug fixes and improvements.

    Release policy:
    - Due to the large amount of testing, we make new DDD releases
      only every six months or so.  If you found a bug and fixed it
      for us or just reported it to us so we could fix it, then this
      release scheme may not be good enough for you.  Therefore, we
      now also have a daily snapshot of our CVS repository.  See the
      DDD WWW page `http://www.cs.tu-bs.de/softech/ddd/' for details.



DDD 2.0
-------

    DDD 2.0 brings XDB support, extended DBX support, an improved user
    interface as well as several new features and bug fixes.

    User-visible changes to DDD 1.4:
    - New command tool.	 All command buttons that do not take
      arguments are now located in the command tool, a small separate
      window.  The command tool can be moved wherever appropriate,
      leaving more space for window contents.
    - User-defined buttons are now available.  These can also
      be used to re-install the old command buttons.
    - Colored displays.	 You can specify individual colors for
      pointers, arrays, structs, and so on.
    - Variable values can now be altered interactively during program
      execution.
    - You can inquire the types of variables and functions (`whatis') 
      through the source popup menu.
    - Selecting a data display item now also sets the `()' argument field
      in the source window, making it available for further commands.
    - `New display' subsumes `Dependent display': if a display is
      selected, the new display is made dependent on it.
    - `Show Detail' expands the entire selected value, including all
      contained sub-structures.
    - Option editors.  New panels for DDD preferences and GDB
      settings.	 GDB settings can be saved across DDD sessions.
    - Some items have been renamed for further clarity:
      * The `command window' is now named `debugger console', to avoid
	confusion with the command tool.
      * The `Interrupt' button is now named `Break', to associate the
	concept with `Breakpoints'.
      * The `Break ()' and `Clear ()' buttons are now named `Break at ()'
	and `Clear at ()', respectively.
      * The `Dereference' button is now named `Display *'.
    - DDD now supports GDB-like incremental search in the command history.
      It is invoked through Ctrl+R and Ctrl+S in the debugger console.
    - Incremental search required some changes in keyboard shortcuts.
      `Run' is now Ctrl+Z, `Step' is Ctrl+I, and `Next' is Ctrl+J.
    - The `Save Options on Exit' function has been removed, as it
      also saved options given upon DDD invocation like `--dbx' or
      `--exec-window'.	Options must now always be saved explicitly.
    - You can press Ctrl+\ to interrupt programs using a QUIT signal.
    - Ctrl+C and Ctrl+\ now have the highest priority of all events.
    - Improved remote debugging.  In contrast to `--host', the new
      `--rhost' option uses `rsh' without arguments (aka `rlogin') 
      to access the remote debugger.  DEC and SGI DBX require this.
    - The DDD License can now be viewed from within DDD.
    - DDD resources and actions are now fully documented; the DDD manual
      contains several customization examples (fonts, colors, buttons).

    Supported debuggers and languages:
    - XDB support.  On popular request, DDD now also supports HP's XDB as
      inferior debugger.
    - Extended DBX support.  DDD determines DBX properties
      at run-time and adapts automatically to a wide range of DBX
      variants.
    - Even more DBX support.  DDD now supports DBX on SUN, DEC, AIX,
      and IRIX systems.
    - Language support.	 DDD uses Pascal-style dereferencing (X^ 
      instead of *X) if the current frame was written in Pascal, Ada,
      or Modula.  (GDB only)
    - Modula-3 support.	 DDD supports `m3gdb', a GDB extension for Modula-3.
      Thanks to Peter Klein <pk@i3.informatik.rwth-aachen.de>.

    Changes in configuration and building:
    - New top-level `configure' script.	 DDD now uses an `autoconf'-
      generated top-level `configure' script instead of Cygnus
      `configure'.  Among other advantages, configuration options are
      now properly passed down to subdirectory configuration.
    - Regular expressions now use the POSIX.2 standard regcomp/regexec
      interface.  The slower interface is compensated by smarter calls.
    - DDD configuration now generally attempts to link with native system
      libraries wherever possible.  GNU termcap and librx are used
      only if the system does not provide them.	 This results in
      smaller and (hopefully) safer DDD executables.
    - DDD configuration tests whether your C++ compiler can compile a
      `hello, world' program.  It is amazing how many misconfigured
      C++ compilers exist in the world.
    - You can specify `--without-athena' to avoid searching for and
      linking with Athena libraries.
    - Patches for AIX xlC, Sun CC, GCC 2.8.0 and probably other 
      C++ compilers included.  Thanks to Jacek Holeczek
      <holeczek@clri6f.gsi.de> and Jason Merrill <jason@cygnus.com>.
    - DDD now compiles and runs unchanged with LessTif, a free Motif
      clone under construction.	 Note that `runs' is relative: As of
      LessTif 0.50, DDD is still far from being usable.	 This will
      change as LessTif evolves.

    Bug fixes:
    - Improved directory support.  Sources and executables can reside
      in several different directories.	 With DBX and XDB, DDD
      optionally uses full file paths when referring to source positions.
    - Several TTY problems fixed.  Switching between execution window 
      and debugger console should work fine now; the execution window
      can be opened, closed and re-opened without DDD crashing or
      hanging.
    - The terminal type (TERM environment variable) of the debugger
      console and the execution window is now properly set.
    - Editor problems fixed.  Invoking a source editor via `Edit'
      should work fine now.
    - The rubber band outline no more clutters the data display.
      (This was a GCC optimization bug.)
    - No more endless scrolling when glyphs are enabled.  Scrolling is
      slightly faster, too.
    - On HP-UX, the `@' character is no more discarded from GDB input.
    - On Solaris 2.x, annoying DBX warnings like `dbx: -r option only
      recognized for C++' are silently ignored.
    - You can now specify the location of own VSL libraries via the
      `vslPath' resource.
    - Improved diagnostics (file names and line numbers) for VSL errors.
    - The `--attach' and `--separate' options are no more overridden
      by the settings in `~/.dddinit'.
    - The `-synchronous' option (for X debugging) now works;
      `--synchronous-debugger' has been renamed to `--sync-debugger'.
    - The source window no more scrolls back to some previous position
      when adding or removing breakpoints.
    - Pagers (`more', `less', etc.) invoked by the inferior debugger
      are properly handled.  (When seeing `--More--', DDD hits the
      space key.)
    - And, of course, hundreds of minor bug fixes and improvements.

    Release policy:
    - Before every new feature release (like this one), we shall make
      beta releases publicly available.	 They are named like the major
      release, but have `beta' and a number appended.  For instance,
      this release was preceded by `ddd-2.0beta1', `ddd-2.0beta2', and
      so on.  Beta releases will be announced in DDD mailing lists
      only.


DDD 1.4d
--------

    Bug fix release; fixes problems introduced in DDD 1.4c.

    Changes to DDD 1.4c:
    - Several people have reported problems accessing the fonts
      specified in DDD 1.4c.  We have thus now re-enabled the scheme
      from DDD 1.4b; how to change fonts is explained in the DDD FAQ.
    - Various fixes for C++ compilers other than GCC included (notably
      Sun CC 4.0 on Solaris 2.x)
    - The VSL interpreter can now be controlled upon DDD invocation;
      type `ddd --vsl-help' for a list of options.  This is intended
      for debugging forthcoming display customization.

    This release should configure, compile and run out-of-the-box on
    OSF systems.  Please let us know about any remaining problems.


DDD 1.4c
--------

    Bug fix release.  No user-visible changes.

    Changes to DDD 1.4b:
    - Major restructuring of `ddd.C', the DDD main program;
      compilation should now require slightly more time, but much less
      memory.  Due to the large number of new files, diffs to earlier
      versions are somewhat larger than usual.
    - Font sizes are now resolution-independent, resulting in larger
      font sizes on high-resolution displays.
    - The built-in manual page is now compressed, resulting in
      slightly smaller executables.
    - Improved DBX 3.x support.	 Thanks to Grant McDorman
      <grant@isgtec.com>.
    - Improved DEC Alpha/OSF support.  Thanks to Phil Brooks
      <phil_brooks@MENTORG.COM>.
    - Several minor and two major bugs were found and fixed.


DDD 1.4b
--------

    Bug fix release.

    Changes to DDD 1.4a:
    - Much faster start-up, due to delayed parsing of the VSL library.
    - Custom paper size support for printing graphs.
    - Paper size and printing command is saved with options.
    - On some X11 configurations, DDD was caught in a busy loop upon
      invocation.  Now fixed.
    - On some Linux configurations, DDD crashed immediately upon
      invocation.  Now fixed.
    - Manual update of data display (`graph refresh') improved.
    - `set' and `assign' commands automatically update the data
      display.
    - New releases of top-level `configure' and `libiberty' included.
    - Building DDD creates executable with canonical name.


DDD 1.4a
--------

    Bug fix release.  No user-visible changes.
 
    - Compilation trouble with older GCC versions as well as 
      older C++ compilers fixed.
    - Compilation in separate directory fixed.
    - For older GDB versions, one may use `display /x $pc' and `print
      /x $pc' to get the current PC value.
    - Minor bugs in construction and installation fixed.


DDD 1.4
-------

    DDD 1.4 realizes the top ten suggestions of DDD users.  It brings
    the long awaited machine code support, new breakpoint and
    execution symbols, improved DBX support, enhanced integration
    facilities and many small features and improvements.

    Changes to DDD 1.3:
    - Full machine code support: Assembler and register windows,
      Breakpoints in machine code, no-source debugging, stepping over
      instructions.  (GDB only)
    - Breakpoints and the current execution position are displayed as
      stop signs and arrow symbols (``glyphs'') instead of text.  Our
      students find that cute; the old mode is still available.
    - New argument editor: Upon program start, select from a list of
      previously used program arguments.
    - Using the new `--tty' option, DDD can be easily integrated with
      other GDB/DBX front-ends.	 For instance, you can have DDD run as
      an inferior debugger from your Emacs GDB-mode, having all Emacs
      and DDD facilities at your disposition.
    - Improved C++ support with DBX 3.x.  Thanks to Grant McDorman
      <grant@isgtec.com>.
    - Displays with format expressions (`/x') are properly dereferenced.
    - Improved position history mechanism.
    - Automatic reloading of source files when the debugged program
      has changed; explicit reload is no longer required.
    - File selection dialogs are synchronized: changing the directory
      in one dialog also changes the directory in all others.
    - Interactive dialogs for disambiguating C++ names.
    - Several major and minor bugs have been fixed.  Special thanks to
      Grant McDorman <grant@isgtec.com>.
    - DDD incorporates the name of its builder in `Help/Show Version'.
    - No more `Help on Debugging' item.	 Sigh.


DDD 1.3e
--------

    Bug fix release.

    - Some compilation trouble with older GCC versions as well as
      older C++ compilers fixed; thanks to Albert Chin-A-Young
      <chinay@cig.mot.com>.
    - Some configuration trouble with non-GCC compilers and Motif 2.0
      fixed; thanks to Larry Schwimmer <rosebud@cyclone.stanford.edu>.
      GNU Autoconf 2.7 is now used.
    - Functionality is unchanged; executables are identical.


DDD 1.3d
--------

    Bug fix release.

    - Anonymous unions and bitfields are now processed correctly.
    - `Continue Until Here' (was `Set Temporary and Continue')
      now also stops if current stack frame is left (GDB only)
    - More patches for Linux ELF incorporated.	Thanks to 
      lee@tcs.com (Lee Hounshell) and jdassen@wi.leidenuniv.nl (J.H.M. Dassen)
    - Non-textual source files (binary characters, no newline at end)
      are now processed correctly.
    - Basic support for DEC's dbx included.


DDD 1.3c
--------

    Bug fix release.

    - Patches for GCC 2.7.1 incorporated.
    - Patches for recent Linux boxes (using ELF format) incorporated.
      Thanks to lee@champion.tcs.co.jp (Lee Hounshell).
    - Patches for DEC Alpha OSF/1 incorporated; see the `PROBLEMS'
      file for special building instructions.  Thanks to
      tuppa@iue.tuwien.ac.at (Walter Tuppa)
    - Configuration scripts reworked for GNU autoconf 2.6; various
      configuration bugs have been fixed.

    - New shortcuts in source popup menus:
      * The breakpoint popup menu allows you to set a temporary 
	breakpoint and continue immediately.
	Suggested by Chris Sterritt <sterritt@mrj.com>
      * The source popup menu allows you to print or display
	dereferenced names (`print *' and `display *').	 Suggested by
	Walter Tuppa <tuppa@iue.tuwien.ac.at>

    - All DDD source code (except `ddd.C') now comes under the GNU
      general public *library* license.	 This means that the following
      is now allowed under certain circumstances:
      * Proprietary DDD extensions without supplying source code, and
      * Incorporating DDD code in proprietary applications
      See the `COPYING.LIB' file for details.


DDD 1.3b
--------

    Bug fix release.

    - More minor troubles with GCC 2.7.0 on certain architectures fixed.
    - DDD can now be interrupted using the SIGINT signal.
    - In the breakpoint editor, you can now set multiple breakpoint
      conditions and ignore counts at a time.
    - The DDD WWW page has moved to `http://www.cs.tu-bs.de/softech/ddd/'.


DDD 1.3a
--------

    Bug fix release.

    - Minor troubles with GCC 2.7.0 on certain architectures fixed.
    - New help item: DDD WWW Page.


DDD 1.3
-------

    This release compiles using GCC 2.7; some new features have been
    added and several minor bugs fixed.	 Some bugs remain; see the
    `BUGS' file for details.

    Changes to DDD 1.2:
    - You can now edit the current source via an external editor.
    - Display placement has been improved; new displays are now
      created in the current visible view, if possible.
    - The current execution position now stays near the middle of the
      visible source code.  Following statements remain visible.
    - Diagnostics of printing commands no longer get lost.
    - Upon fatal errors, DDD tries to resume execution by returning to
      the main event loop.  This leaves you a chance for exiting the
      debugged program properly.
    - New `Help on Debugging' item.
      Written by David A. Lyons <dlyons@apple.com>.
    - Colours slightly reworked: text background is a little brighter.
    - A short DDD survey, including lots of screen shots, is included
      in `doc/ddd-paper.ps'.  The paper also highlights some internal
      aspects of DDD.
    - DDD source code has been adapted to the current ANSI/ISO C++
      draft standard.  Any GCC release from 2.3.3 onwards, including
      the recent GCC 2.7.0, should now compile DDD (unjustified
      commpiler warnings in GCC 2.5 or lower, though).
    - DBX support on Solaris improved.
      Thanks to grant@isgtec.com (Grant McDorman)
    - Patches for FreeBSD incorporated.
      Thanks to smcarey@mailbox.syr.edu (Shawn M. Carey).
    - DDD-specific application defaults now override user application
      defaults.	 Thanks to ksfdo0@ksepl.shell.nl (Fred Donck).
    - New GNU librx 0.07.2 library included (from libg++-2.7.0),
      should be faster and more reliable.

    Thanks to all who sent in bug reports and suggestions.  DDD now
    runs on every major UNIX flavour (with the exception of OSF/1 -
    any volunteers for that task?).


DDD 1.2
-------

    Again, a bug fix release.  Many minor bugs have been fixed; see
    the `ChangeLog' file for details.

    Changes to DDD 1.1:
    - DDD source code should now be ANSI/ISO C++ conformant - all code
      specific to GCC or libg++ has been adapted.  DDD now also
      compiles using other C++ compilers than GCC (Sun's CC 4.0 works
      fine; AT&T Cfront 3.0 has trouble with some inline functions).
    - DDD should now run correctly on SGI/IRIX machines.
    - Interrupting processes via the Interrupt button now works
      correctly on Solaris, HP-UX, and other systems.
    - Improved support for GDB artificial arrays.
    - The GDB command window has improved control character support.
      Tabs, Carriage returns, Backspaces and so on are processed
      correctly.  Unprintable characters are also handled.
    - There is an option to suppress X warnings.  This may be useful
      for people annoyed by tons of Motif Keysym warnings.
    - We have started to compile a FAQ list to reduce our daily mail
      load.  See the file `FAQ' for details.

    Thanks to all who sent in bug reports and suggestions.

    As building DDD is still a major challenge for some users, we
    encourage everyone to share her/his binaries with others.  See the
    file ftp.ips.cs.tu-bs.de:/pub/local/softech/ddd/bin/README for
    details.


DDD 1.1
-------

    Never trust a ``dot-oh'' release - DDD 1.0 had a serious bug that
    caused DDD to crash upon various occasions, often after a few
    interactions.

    Under certain circumstances and on many architectures, the
    hourglass cursor routines could corrupt the stack at a random
    point and thus throw a time bomb into DDD, making DDD fail at
    unpredictable (and unrepeatable) places.  This bug has been fixed;
    some other minor bugs were fixed, too.  See the `ChangeLog' file
    for details.

    Changes to DDD 1.0:
    - C++ References and VTables are fully supported.
    - The source popup menu no longer changes the source selection.


DDD 1.0a
--------

    Bug fix release.

    On many architectures, this DDD release should be much more
    robust.  For unknown reasons, DDD 1.0 choked soon after destroying
    some of its widgets - a bug that must have been introduced at the
    very end of the beta test phase and thus have gone by unnoticed.
    This bug, and some other minor bugs, have been fixed.



DDD 1.0
-------

    First public DDD release.  Many thanks to all who spent their time
    in testing DDD, sending bug reports and suggestions, and making
    DDD what it is today.
    
    This DDD release should configure, compile and run out-of-the-box
    on the following systems:
    
	hppa1.1-hp-hpux9.05
	linux-i386-unknown
	linux-i486-unknown
	mips-dec-ultrix4
	powerpc-ibm-aix3
	rs6000-ibm-aix3
	sparc-sun-sunos4
	sparc-sun-solaris2
    
    If your system is in the list above, please let us know if you
    encountered any problems (unless these are known problems listed
    in the `BUGS' and `PROBLEMS' files).  If your system is not in the
    list above, please let us share your experiences.

    Changes to DDD 0.9:
    - Several last-minute bugs have been fixed.
    - New `Program' menu, introduces keyboard accelerators for frequently
      used commands.
    - Graph printing reworked; you can now set paper size and graph
      orientation.  The bounding box is computed correctly for all sizes.
    - The `Graph' menu has been dropped; its items have been moved 
      into the `Data' and `File' menus.
    - Selecting and moving multiple displays made easier.
    - Pointers to functions are now displayed correctly.
    - Regex name conflicts on Linux fixed.

    Announce policy for future releases:
    - Bug fix releases shall be named 1.0a, 1.0b, and so on.
      In general, they will be announced in DDD mailing lists only.
    - Feature releases shall be numbered 1.1, 1.2, 1.3 and so on.
      They will be announced in USENET news as well.


$Id: NEWS-OLD,v 1.3 1998/06/07 14:56:52 zeller Exp $
