--- open ---

x  On website, change mailto: references to make them easier to use
   for people without Netscape or IE.

x  Build->Makefile should say something pithy in the status bar
   when it finishes.  Also Build->Run configure etc.

x  Handle the default value of GNOME_COMPILE_WARNINGS, which is
   "[/no/minimum/yes]" meaning an enum of three values, *not* a path.
   
x  In Configure Options window, make NLS, getext, GTK and X stuff "advanced".
   Also GNOME and libtool.

x  Move the makesystem-specific commands from the Build menu itself
   into a new submenu named after the make system, e.g. "automake Commands".
   Note that the difference between autoconf-dist and autoconf-maint
   should be hidden at this point.
   
x  Move "File->Edit Makefile" to the Edit menu, and make its label
   change at runtime to reflect the MakeSystem's "source" makefile
   (with a defaulting mechanism to find GNUmakefiles).

x  Rajesh Gupta reports:
   > Let me explain my setting also know. I have a makefile and
   > srcs.mak file.  all sources are listed in srcs.mak file. I
   > ran the maketool from its installation directory and gave the
   > full path of makefile. When I did a make all it gave warning
   > srcs.mak not found. That is quite understandable but then
   > when I clicked apply in preference menu [dialog] it crashed.

x  Change maketool_client to be public and its default mode to take
   make-style args (options targets and variable overrides) and pass
   them to a discovered maketool for interpretation.  automake.mk etc
   will need to use a new --message opion.

x  Limit the sizes of target names in the Build menu, especially
   when a pair of them is used as a range for a submenu.

x  When the user cancels a ./configure run from the GUI, this should
   show in the log window instead of "*** [config.status] Error 1".
   
x  Help: make the browser command configuruable in preferences.

x  Help: organise smart way to generate index at least semi-automatically.

x  Help: figure out a way to hook up help to menu items

x  Help: reimplement the Help On... loop sensibly

x  Help: write lots of it!!

x  Show a different icon on error lines which have been edited.

x  IN PROGRESS: Implement printing and Print Settings window.

x  Implement extra stuff in the Help menu.

x  Provide filters for other compilers than gcc.

x  Make filters configurable in Preferences GUI. This implies making
   the changes persistent too!

x  Use a hashtable of filenames to reduce memory traffic for filenames.

x  GNOME integration: drag'n'drop. Dragging in directory changes to
   that directory. Dragging in file or string makes it if it's a known
   target. Otherwise, if the MIMEtype indicates its text, open it as 
   a log file. Dragging out a log line is a filename or file+line.

x  GNOME integration: session management. Save directory & last target
   and state of errs/warnings/info toggles. Load again when started
   by session manager.
   
x  GNOME integration: dockable menubar, statusbar, and toolbar. Also
   neato icons in menus.
   
x  GNOME integration: save & load config using GNOME standard routines.

x  GNOME integration: use GNOME About and Preferences dialogs.

x  GNOME integration: use GNOME URL handling in Help menu.

x  GNOME integration: provide triggers for sounds etc.

x  Implement the FR_PENDING filter result.

x  Doco.

x  Fix bug whereby `configure --with-included-gettext' leaves a symlink
   intl/libintl.h -> intl/libgettext.h which is not removed again when
   re-configured and causes other builds to break with `symbol dcgettext__
   not found'.
   
x  On startup, when preferences or args specify a non-existant makefile,
   issue a warning alert to the user.
   
x  Remove strict dependancy on POSIX regcomp() for older systems,
   conditionally replace regcomp with function based on <regex.h>
   
x  Correctly handle user's upgrade from 0.3 to 0.4 by saving new
   prefs items to ~/.maketoolrc.
   
x  Automatically recalculate list of targets, and rebuild the Build
   menu, when makefile changes.
   
x  Change the preferences so that the actual make executable used is
   specified in exactly one place instead of three (prog_make,
   prog_make_version, and inside the shell script extract_targets).
   Use %M as the name of the executable in those cases.
   
x  Make the default text editor configurable, figured out in configure.

x  Should be able to drag & drop {filename, linenumber, message} or text.

x  For the editing program, should be able to specify a %sequence which
   contains the quoted error message, for integration with IDEs.

x  Add ability to delete individual make runs from view window

x  Add a feature to watch an existing log file as it grows.

x  Add timestamp to log start line, either current time for normal builds
   or file modification time for log files.
   
x  When a normal build is finished, calculate elapsed time and display
   it in the log start line.
   
x  Fix bug where build start line, updated to reflect number of errors,
   is displayed at wrong horizontal position (as if it had lost an indent).
   This seems to be a GTK display bug.
   
x  Handle files & line numbers in Java exception report.

x  Handle column in Java errors.

x  Handle files & line numbers in Java exception report.

x  Handle column in Java errors.

x  ability to recursively delete a node from the log window

x  Keyboard navigation: ENTER should be same as double-click.   

x  Keyboard navigation: Check for std accelerators to collapse,
   expand, collapse all, expand all, navigate up & down, select,
   unselect.

x  Printing: figure out default printer for combo box, from preferences
   else named "ps".

x  Printing: add notebook page to edit paper size, orientation, and
   margins to Preferences dialog.
   
x  Printing: add support for landscape mode.

x  Printing: page numbers

x  Printing: colours/icons for errors & warnings

x  Printing: title line on every page.

x  Printing: modal dialogs.

x  Printing: option to print entire log file or just descendants of
   selected node.
   
x  Printing: option to print using collapsed status of log lines or
   just entire log.
   
x  Frederick Bruckman says: To be able to pass in datadir or localedir to
   configure would be nice.

x  Implement case-insensitive literals in Find window.

x  Handle configure.in/config.status being in an ancestor directory

x  be able to merge multi-line MWOS error messages into 1 summary line??

x  generate column info from MWOS "     ^" stuff

x  possibly generate token span from line before the MWOS "   ^" stuff.

x  apply the prefs option used at start of build to opening log files.

x  A.T. Hofkamp says about the Find window:   I still feel that tasks like
   this cannot be done faster than by typing something like
   /91.*blo/
   (but I am a strongly keyboard-oriented guy).

x  Add an editor choice for "gvim +%l %f"

x  Fix the page name and page orientation combos in the Preferences
   window to behave correctly and actually be used.

x  When the make child is generating lots of output very quickly, the
   GTK library is starved of CPU and does not repaint the window (which
   is slightly annoying) or allow the user to press Stop (which is
   very bad).
   
x  Add the ability for the user to configure his own toolbar icons,
   including all the existing icons and new icons made up of a sequence
   of commands e.g. "Clear log; Build `clean'; Build `all'; Build `install'".
   
x  Bug where make variable overrides specified on command line are
   ignored until Preferences dialog OK is pressed.
   
x  "make -n dist" fails.

x  Checks for configure.in and configure used to grey menu items
   can be fooled as the check is only done at startup and change-
   directory time (this is really the same problem as with targets).
   
x  The --no-create option to configure is not preserved, and probably
   can't be.
   
x  After successfully running autoconf, automatically:
   * remove config.cache
   * remove config.status
   * check for configure script
   * grey menu items.
   
x  Configure option parser should handle "--quiet, --silent" properly.

x  Deal with configure being missing or corrupted in read_configure_options()

x  During configure option GUI field validation, if user enters whitespace
   where it's not allowed, popup an advisory notice with a button to
   link to the help chapter.
   
x  Keyboard navigation in Configure Options dialog is broken; focus
   never enters the notebook pages.
   
x  When ./configure is run from make_makefile(), config.status is also
   run afterward, redundantly.

--- closed ---

x  DONE: `Variables' tab in Preferences window needs to shrink.

x  DONE: When user presses `Edit Next' the new selected error
   should become visible even if its currently in a collapsed
   build or it has scrolled out of sight.

x  DONE: Have to be able to resize the window down vertically.

x  DONE: Implement File->Change Directory  command.

x  DONE: Add icon for non-GNOME w/ms.

x  DONE: Implement extraction of targets and generating the Build menu.

x  DONE: well expanded - see below. ?? Implement tighter GNOME integration.

x  DONE: Implement setting environment from Variables.

x  DONE: Change the `Type' field in the Variables tab in the
   Preferences window to a combo box.
   
x  DONE: I18N.

x  DONE: Save & load preferences, window geom etc.

x  DONE: Override preferences with -f -j -k and -l options from commandline.

x  DONE: Handle makes over multiple directories - get the filenames right.

x  DONE: Make a nicer animation for when make is running.

x  DONE: Add menu item Edit->Copy for filling the clipboard from the selected
   line(s?) of the log window. Implies adding an Edit menu & moving some
   of the View menu items into it.

x  DONE: Improve glib_extra.c so it doesn't require need to care
   about poll(2) directly and submit to the glib maintainers.

x  DONE: Add patchlevel.h

x  DONE: Add autoconf support.

x  DONE: Install extract_targets.sh

x  DONE: Accelerators etc for menu items.

x  DONE: (for colours only) Allow user to configure error & warning colours & icons in Preferences.

x  DONE: Remove line length limitation in handle_input().

x  DONE: Remove line length limitation in filter_apply_one().

x  DONE: Add check for buffer overflow in ui_create_tools().

x  CLOSED: Use getopt?

x  DONE: Remove those irritating variable values from the Preferences window.

x  DONE: Fix bug whereby run load spinbox saves wrong value to preferences.
   It was a float rounding problem.
   
x  DONE: Add filters to summarise compile lines, and a View menu item
   to choose between full and summarised version in log window.

x  DONE: Waaaaah! Need a dryrun mode!!   

x  DONE: Fix bug which loses last line of child process' output if the
   line doesn't end in a '\n' (worse, it prepends that to the output
   of the next child process).
   
x  DONE: Allow setting of make variables using VAR=val syntax on command line.

x  DONE: Loading a large make log does way too much updating of the scrollbar.

x  DONE: use a GNU logo in the `Help->About make' dialog.

x  DONE: When loading log file, should report number of errors & warnings.

x  DONE: Edit Next Error command should make the newly line visible by scrolling.

x  DONE: An error message which specifies an absolute pathname /abs/path tries
   to open file /curr/dir/abs/path instead of /abs/path. Had to also be in
   a recursive make.
   
x  DONE: Add ability to view multi-directory logs as either flat or
   organised hierarchically by directory.

x  DONE: Work out some way to handle the huge number of targets available
   in the Linux kernel toplevel makefile without overflowing the screen.

x  DONE: Add option to map directory level to tree indent level

x  DONE: When clicking on errrors from a loaded log file, pathnames should
   be interpreted relative to the log file's directory.

x  DONE: Provide a small ctree with 3 rows to preview colour changes in
   Preferences window.
   
x  DONE: Also number of errors & warnings.

x  DONE: Should be able to edit main.c by clicking on "    from main.c" in gcc
   inclusion trace.

x  DONE: Provide facility to search the log text.

x  DONE: Fix bug where sometimes list_targets doesn't finish, or isn't reaped,
   or something. This was a race condition between spawning the first make
   process and registering the SIGCHLD signal handler.

x  DONE: The feature whereby targets are specified on the commandline should be
   modified to use the new task_*() routines. Check that this behaves
   correctly with autoconf support.
   
x  DONE: Fix bug where unsaved edits in various parts of Pereferences
   window are not reverted when the window is popped up again.

x  DONE: tooltip for `again' icon, and possibly menu item, should mention
   what the actual last target is.
   
x  DONE: Printing: Print window's Page Setup button should pop up the Page Setup
   notebook page of the Preferences dialog.
   
x  DONE: Printing: clip text.

x  DONE: Printing: dialogs come up at sensible locations, e.g. centred over
   the toplevel shell. Set transient-for flag too.
   
x  DONE: are the fds for pipes to child processes leaked? NO.

x  DONE: Makefile.in needs to define CPPFLAGS with @CPPFLAGS@ at the end for
   NetBSD to find gettext library.
   
x  DONE: Implement backwards search in Find window.

x  DONE: Populate Find window string from current selection on Edit->Find ?
   No, better solution is to select the old string instead.

x  DONE: Use gtk_window_set_transient_for() correctly.

x  DONE: Add HAV_SYS_FILIO check for FIONREAD

x  DONE: Bug: clicking Clear Log while build in progress coredumps

x  DONE: Bug: Stop button no longer ungreys when running!

x  DONE: Add filters to support MWOS cross-compiler (see sample mwos.errs)

x  DONE: Handle user clicking E's X button on dialogs.

x  DONE: A.T. Hofkamp says: make_makefile and extract_targets should live
   somewhere like $prefix/libexec/maketool/ not $prefix/bin.

x  DONE: A.T. Hofkamp says about the Find window:  
>   The buttons seem to do something else than they say.
>   - 'Search forwards' seems to mean 'Search top-to-bottom'
>   - 'Find' seems to mean 'Find first match in log'
>   - 'Find again' seems to mean 'Find next match in log relative to current
>     position'
>   To explain why this is not what I expected, let me show my intuitive meaning
>   of the buttons (i.e. before I tried them).
>   - 'Search forwards' meant to me 'search downwards, relative from current position'
>   - 'Find' meant to me 'go' (thus, 'search downwards, relative from current position')
>   - 'Find again' meant to me 'try again, from current position'.   

x  DONE: A.T. Hofkamp says about the Find window:  
>   I hit the enter key, and got
> 
>   Gtk-WARNING **: invalid cast from (NULL) pointer to `GtkToggleButton'
> 
>   Gtk-CRITICAL **: file gtktogglebutton.c: line 296
>   (gtk_toggle_button_get_active): assertion `toggle_button != NULL' failed.
> 


x  DONE: Add an option to disable make_makefile

x  DONE: A.T. Hofkamp says running gvim works but he gets
   ioctl(FIONREAD): Bad file descriptor
   This was a side effect of the 0.6.1 anti-hack.  Now it checks for
   task->fd before calling task_input_func.

x  DONE: A.T. Hofkamp says: add a button to edit the first error in the next file.

x  DONE: A.T. Hofkamp says: Please make it possibe to edit the Makefile

x  DONE: Vaclav Slavik says:  let maketool remember previous directories in
   config file, not only during one session.

x  DONE: Option to always scroll to end on make output

x  DONE: Fix bug where changing any of the log flags causes the current scroll
   position in the log to be lost as the log is repopulated.

x  DONE: Help: organise smart way to have consistent style etc between
   the many HTML files which comprise the help.
   Uses DocBook SGML.

x  DONE: Provide a Preferences setting to control what happens when a make
   run finishes. Nothing; Sound Bell; Flash Window; Run Program.

x  DONE: configure-time check for /usr/doc is insufficient. Need to use /usr/doc
   on Linux only, $(prefix)/share/$(PACKAGE) on NetBSD.
   Now those files are handled by RPM using a %doc directive.
   
x  DONE: Tweak icon to look good when scaled down for taskbar by modern GNOME.

x  DONE: Bug where maketool crashes if first line of make output is empty,
   e.g. the XFree86 build.
   This has been fixed but unreleased for a while.
   
x  DONE: In summary mode, need to highlight the `Compiling' lines visually to
   separate them from the usual make clutter.

x  DONE: Detect (at configure time) whether BSD or SysV signal semantics are
   in place. Note that on Linux you get SysV semantics with `gcc -ansi'
   regardless of whether you also request -D_USE_BSD.
   
x  DONE: The directory /usr/src/redhat/SOURCES is RH-specific.  Mandrake
   uses the more vendor-neutral /usr/src/RPM/SOURCES which needs
   to be accomodated.
   
x  DONE: A.T. Hofkamp says: when extract_targets is not found, the failure
   mode is that the Build menu contains the following entries:
   /bin/sh:
   extract_targets:
   command
   not
   found
   
x  DONE: When running configure, pop up a dialog which requests arguments
   for configure (just a text box initially).  Default value is the
   last arguments used (from config.status, then from preferences).

x  DONE: Add a GUI for setting CONFIGUREFLAGS based on ./configure --help

x  DONE: Strongly limit the inclusion of gdkx.h.

x  DONE: Fix Makefile.in to use pkglibexecdir instead of libexecdir

x  DONE: Add email address to Vendor: in spec file.

x  DONE: Change spec file to make the RPM depend on make.

x  DONE: Reduce use of @PACKAGE@ etc in spec file.

x  DONE: Use config.status if it exists and is not newer than configure
   or configure.in.
   
x  DONE: Create dummy N_() macros to seed the PO files with common autoconf
   help strings.
   
x  DONE: Rationalise use of handle_input()

x  DONE: Merge line-ifying handle_input() into task.c.

x  DONE: Add a Build->Makefile menu item to allow the user to manually start
   the Makefile-build process.
   
x  DONE: Change the Build->Run autoconf etc menu items to be dependent on
   the directory's makesystem.

x  DONE: Handle dependancies of multiple files on their .in counterparts via
   autoconf, in particular Makefiles in subdirs. Possible create a
   temporary `Makefiles' target.
   
x  DONE: Need a function to remove config.cache.

x  DONE: Allow the Makefile to be built on-demand, with an entry in the
   first part of the Build menu.  Turn off automatically building
   by default.


