r12956 - gnucash/trunk/src - Major step in extraction of application startup from guile.

Chris Shoemaker chris at cvs.gnucash.org
Mon Jan 23 12:38:14 EST 2006


Author: chris
Date: 2006-01-23 12:38:13 -0500 (Mon, 23 Jan 2006)
New Revision: 12956
Trac: http://svn.gnucash.org/trac/changeset/12956

Modified:
   gnucash/trunk/src/bin/gnucash-bin.c
   gnucash/trunk/src/gnome/Makefile.am
   gnucash/trunk/src/gnome/gw-gnc-spec.scm
   gnucash/trunk/src/gnome/top-level.c
   gnucash/trunk/src/gnome/top-level.h
   gnucash/trunk/src/scm/Makefile.am
   gnucash/trunk/src/scm/build-config.scm.in
   gnucash/trunk/src/scm/main-window.scm
   gnucash/trunk/src/scm/main.scm
Log:
  Major step in extraction of application startup from guile.

  Details:
    Remove the last bits of libguile from top-level.[ch].
    Change the gui initialization funtions so they can be called from C.
    Drop some gwrappers for gui initialization functions.
    Process the --nofile and filename command-line options from C.
    Drastic simpilification of main.scm.
    Initialize the gui and enter the gtk event-loop from C.

  Even though there's some more clean-up to do, this patch does mark
  a certain milestone:  A developer seeking to understand and/or modify 
  GnuCash's startup process can now essentially ignore the guile portion.
  Most parts of our startup now look pretty typical for a gnome-2 app.
  The parts that remain firmly in guile are initialization of the report
  menus and the installation of price-quote sources.

  Caveat: We have multiple mechanisms for handling the filename
  argument string -- some in guile and some in C.  The C-side mechanisms
  (in engine/gnc-filepath-utils.c) seem a little nicer than the guile
  ones (in main.scm).  They have slightly different behavior (e.g. which
  paths they'll search for data files.)  They both handle URIs and
  making absolute paths out of relative ones.  This patch switches from
  using the guile functions to the C function.  I've tested that the common
  cases are handled the same way, but it wouldn't surprise me if some 
  corner-cases are not.





More information about the gnucash-patches mailing list