Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > aca876eaeb2db53e77f3c0ba22d8691a > files > 6

geda-gschem-1.6.2-4.fc15.i686.rpm

commit a30f00bbee18ad5140616ad6459365cb48b03ee7
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 14 23:21:56 2011 -0500

    Updated version strings in all man pages

commit 48f3d8aedb5db6f5dfb6232565e65e03d45b5efb
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 14 23:18:41 2011 -0500

    Manually ran make update-po in order to prep for the make distcheck
    
    This step is always done right before make distcheck is run to create
    a release tarball.

commit 8a3a0bb070d1b288fceac2fcdd7b317a8f77a464
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Jan 7 22:00:09 2011 +0000

    Update FSF address in copyright headers.
    
    The FSF have now moved to 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301 USA.  Our GPL and LPGL copyright headers need to updated to
    reflect this.
    
    Only files remaining with old address are wiki files (although the
    wiki has now been updated) and PostScript files.

commit 9ae03d499783cbbc42dfd5180d0abfa88b8ed8f0
Author: Wojciech Kazubski <wk0@o2.pl>
Date:   Tue Jan 4 15:37:48 2011 +0000

    gschem: Don't crop the png output [3100660] [3100680]
    
    Gschem sometimes crops the image exported to bitmap file (png,
    bmp... but not eps). This appears in certain range of picture
    proportions, landscape but close to square.
    
    This patch alters the algorithm that adjusts the image proportions to
    remove this problem.

commit bafbcd605c7beaacfdaf9a46801553be5b0c97ad
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 4 15:37:47 2011 +0000

    gschem: Exit any current event state before switching pages
    
    If we don't do this, state from an operation on one page can cause
    corruption and genereral chaos. This was reproducable by moving
    some objects (em), then switching pages with a key-binding.

commit 4491d031d5f02a43ec72443a3be6668c9cdc58b6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Nov 1 20:59:11 2010 +0000

    Fix hiding the command prompt window on Win32 builds with -mwindows
    
    There was a mistake in gschem and gattrib's Makefile.am, where it
    included the non-existant MINGW_GUI_CFLAGS rather than pulling in
    MINGW_GUI_LDFLAGS where the required -mwindows was set.
    
    Cherry-picked from: e5f32954a1fb23534309d6fa06d887859afbc664
    and subsequent fix: 66e54fd03f75f70d9fcf101d6ed3cad1bb354b13

commit 11921dc18209ed4ea12288114634bb94a5b9b8a9
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Feb 14 21:26:37 2010 -0500

    Updated man page dates

commit bd34cfde2450790b357e574281f9562adce64303
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Feb 14 17:09:45 2010 -0500

    Updated copyright text/header in most source files.
    
    Updated all copyright text dates that should be updated for the new year.
    Fixed a bunch of GNU text typos (these should have been either
    GPL or gEDA).  Removed some $Id$ tags which are no longer used/needed.
    Fixed a few file header that were just plain incorrect.

commit 93b0370c433f5eb6716ce537288803df4ff99549
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Feb 14 09:01:16 2010 -0500

    First set of changes done by make update-po (ran by prelim make distcheck)

commit dcfcb835d5dec2c0ec71526188bbd6c1b76a94ac
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Feb 14 13:03:47 2010 +0000

    Import translations from Launchpad

commit fae9fef150f96412b592817e98d09a2c8300fbfc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Feb 13 14:15:40 2010 +0000

    gschem/po: Update some fuzzy strings in the Dutch translation
    
    These changes relate to menu-accelerators, so I was able to take
    an educated guess at the correct strings.

commit c8af8579d460fdbf9591133c7e30556ce77ba329
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Feb 13 12:57:57 2010 +0000

    gschem/po: Merge changes to Dutch translation
    
    Merges changes sent by Bert Timmerman.
    
    These didn't apply cleanly, so I've had to merge them manually.
    
    This commit introduces a number of fuzzy translations which should
    be fixed before release. They are mostly relateed to menu accelerators,
    so could probably be un-fuzzied without too much risk.

commit 20fd55710ff9d4529f2ce4703559d39e2fa6abd9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 12 18:23:01 2010 +0000

    gschem: Fix hard-coded menu names to match new accelerators
    
    Fixes breakage caused by changing the root menu names to include
    accelerators.
    (cherry picked from commit 11dd19eedb4fedf06858ec7af1f13371b69441f9)

commit 4e91bc5e52699639cf78a9112b0422d2763a6346
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 12 18:00:44 2010 +0000

    Update translations from Launchpad

commit 9a21d1e7e67cccd3d8f6285d1582a1933cc48fe6
Author: Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>
Date:   Fri Feb 12 11:25:40 2010 +0000

    gschem: update polish translation
    
    I did most of the previous translation in Launchpad but now I'm using
    git so it's more handy for me to submit a patch.

commit 7ebe889c777237eed359da7687202fa1f23be537
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 12 10:41:22 2010 +0100

    gschem: updated german translation

commit d8b5d756ae661bb15dc4e24f470e36d833442513
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Thu Feb 11 18:56:39 2010 +0100

    Updated spanish translation.

commit bf9d3b95633bbb575e0d480561990af43569d184
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:45:01 2010 +0000

    gschem: Update translations to reflect accelerator changes
    
    In this instance, I'm going to un-fuzzy the appropriate translations,
    as I don't want to break strings which were previously translated at
    this stage in the release process.
    
    For certain languages - those where it was simple, I've updated some
    or all of the accelerator strings.

commit 5e8b72937c09caf15ef791459d6086e3aaf77be6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:34:37 2010 +0000

    gschem: Provide accelerator mnemonics for root menus
    
    (cherry picked from commit e94dd5222f2267218572e81cfae9fbbdc2f70021)

commit f5efae4bcb1d79abd21400e08a1bf63bcb43aa4d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:34:28 2010 +0000

    gschem: Allow mnemonics for root menus, such as _File, _Edit etc..
    
    (cherry picked from commit a800451bef4df21797df3707b672571e5441e594)

commit d66d391c8ade7b7e55df3cb23b802238c92de4fa
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:34:20 2010 +0000

    gschem: Fix update of pinnumbers after auto-renumberering slots
    
    Call o_slot_end() rather than o_text_set_string(), in order to
    ensure the object's pinnumbers are updated correctly.
    
    NB: This patch requires the changes making o_slot_end() to take an
    OBJECT * arguement, as the objects being updated aren't necessarily
    selected.
    (cherry-picked from commit 9c71110a49be8a677f7ea3eabaebf6479873c7af)

commit d1a6a10c62f993e22ec4b752f803f907ad0b9a35
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:34:06 2010 +0000

    gschem: Pass o_slot_end() an OBJECT *object parameter
    
    The OBJECT * parameter points to the object who's slot is being
    updated - not the slot attribute itself.
    
    Previously o_slot_end() used the first object in the selection.
    This call is used for other cases where slotting needs to be
    updated - not all will necessarily have the object selected.
    (cherry picked from commit 040db4675fcbd7739ad8c0dfbc82bbcf2eaff815)

commit 920c90fcc90ca188cbbbbdbcbdfec4ed65e54493
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:33:45 2010 +0000

    gschem: Remove the exit(-1) error path from o_slot_end()
    
    This is not a friendly way to treat the user.. g_return_if_fail() instead.
    (cherry picked from commit d03c03949e17313a222645fc38c376b802f5fb4c)

commit 2bed5dcf9424ecc238d3bba391db73fb12a170cb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:33:37 2010 +0000

    gschem: Remove unused "len" parameter from o_slot_end()
    
    (cherry picked from commit 2998c43e60e95a28df9ce7db2cd64dfaf46712b9)

commit f4bda0a16f626235ada74f0b7ec5fec51e0f2c73
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 11 01:33:28 2010 +0000

    gschem: Fix slot editing routines to not edit inherited attributes (#2949232)
    
    Fixes a bug where symbols without a promoted slot= attribute had their
    non-promited slot= attribute modified. Also, a similar bug was lurking
    in the auto-number code, which could break the auto-number slots feature
    or cause crashes when the remove numbers feature was used on slotted
    components without a promoted slot= attribute.
    
    Tidied up some variable names to make all the fixed functions consistent.
    
    A neater fix might have been changing the interface to s_slot_search_slot()
    back, such that it only reports non-inherited attributes. This would
    ideally involve renaming the function in libgeda, to (say, for example)
    s_slot_search_attached_slot(). Since this change is intended for back-
    port to stable-1.6 as well, I don't want to break libgeda ABI. It seems
    unwise to change the function's behaviour without a break in API, hence
    the solution in this patch.. to have callers to s_slot_search_slot() check
    !o_attrib_is_inherited() on the returned attribute before editing it.
    
    Reported-by: John Doty <jpd@noqsi.com>
    (cherry picked from commit b635dd1c3b9297d3f6e1487f4e2a03cc9effcf05)

commit 6261b5ea22dfcff6aac6060f98dd7606b7cb4ed2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Feb 8 16:31:00 2010 +0000

    Merge translations with those exported from launchpad

commit 9d6d0a0cc0cf0675a6f5f313272dcd224675ebf8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Feb 7 00:39:07 2010 +0000

    gschem/po: A few updates to the en_GB translation
    
    (Actually with some changes this time!)

commit 89a4b16eb855aa65480c82766a1cc559ca31ea5f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Feb 6 23:11:49 2010 +0000

    gschem: Make update-po for changed rcstrings.c
    
    Updated en_GB translations for menu accelerators, as they are
    trivial.
    
    Other languages still have their menu strings marked as fuzzy,
    meaning the translations won't work (they didn't before anyway).
    
    I've deliberately not unmaked the strings as fuzzy, as if this
    were done, it would be much harder for translators to see that
    the keyboard accelerators need fixing.

commit 2525daa773aa3c5713e1ff40913236256cf2e2de
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Feb 6 23:10:52 2010 +0000

    gschem: Fix rcstrings.c to relect text in menus
    
    This makes our menus translatable again. Looks like most cases were
    due to adding "_" to the menu text to make _Accelerators.
    (cherry picked from commit 0b87692907ad83635fab42a59fa4e86f464905c5)

commit 431772cec853ba3344ca68865dc29441c73d6b14
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 13:09:30 2010 +0000

    gschem: Import translations from Launchpad

commit cd8a454298c0dc4860e4a81260a41c8d7476c2d9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 13:34:14 2010 +0000

    gschem/po: Update af.po translation (removing many bogus fuzzy translations)
    
    Some fixes were obvious, others were obviously wrong, so I removed them.

commit 5d55f0efdbf386d672179e7b1c5c0e905029dc23
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 12:38:06 2010 +0000

    gschem/po: Fix plural form header for es.po
    
    Looks like something accidentally mangled this header.
    (cherry picked from commit 89ad783e3f1298ee1ea0a12d148a192c74e4d78f)

commit fd66d4de4dd32b4d080a9cbd4f53f2a598269b63
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 11:08:04 2010 +0000

    Update en_GB translation (actually do it this time!)

commit 67f8e23339892fbcb958c2051e8fabe5345350fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 10:27:32 2010 +0000

    Run make update-po in all */po/ directories

commit abc32686e9bf42b25e0f6b0548d620436ee05da6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 10:58:55 2010 +0000

    gschem: Remove _() translatable markers from some internal strings
    
    Save work for the translators, as we don't really need or want to
    translate the descriptive strings for GObject properties.
    
    Introduce a P_() helper as in GTK code. This means we can find the
    potentially translatable strings at a later date.
    (cherry picked from commit 3c64f506a6b3babc4db67a5841d5b95a2189b34c)

commit c603cb9f75068837eb8f5a309f590fb3d8e5156e
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@users.sourceforge.net>
Date:   Fri Nov 20 16:23:15 2009 +0000

    Fix for some manpage issues. [2901183]
    
    Fixes undefined use of `l' macro, and incorrect uses of `-' character.
    (cherry picked from commit 93dd5a941f34d1dd58cf9a57a07dec1e01ce3afe)

commit 7575c114b590077a3399d28a499005625f7ae212
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 31 02:00:34 2010 +0000

    gschem: Don't update page connectivity from o_place_rotate()  Bug #2904715
    
    This fixes bug #2904715, where gschem would crash if an object being
    multi-copied contained nets, and the place-buffer was rotated (by 90
    degrees) four times during the place operation.
    
    Items in the place list should never have their connectivity updated
    on the page. (They don't belong to the page, so have no business
    being referenced from the page, or objects on it).
    
    Rather than calling o_rotate_world_update() (which updates connectivity)
    call o_glist_rotate_world() and then the scheme rotate hooks explictly.
    
    Rotate hook handling was split from o_rotate_world_update() into a new
    function, o_rotate_call_hooks(). When doing this split, I took the
    chance to remove a few pointless tests of o_current != NULL in there.
    We know o_current isn't going to be NULL, and we already dereferenced
    it (unchecked) a few lines above.
    
    As o_place_rotate() is always called from within an action - and in
    those cases, o_rotate_world_update() would not update the undo list,
    I have not included the conditional undo update in o_place_rotate().
    (cherry picked from commit 16090ce2eedc014d82e96fd340ec27f9ea6b186d)

commit 037651cdde1684c640d1339f699e1e45838e35e1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 19 23:17:06 2010 +0000

    gschem: Set font description explictly, rather than by parsing a string
    
    This makes the font description string robust against numeric locale
    settings, which could cause problems if "," gets used as the decimal
    separator in the requested font size.
    
    This issue caused text rendering to be broken in gschem on Win32 for
    locales where "," was used as the decimal specifier. The underlying
    bug (failing to override the LC_NUMERIC settings) is now fixed,
    although it is just as well to be as robust as possible here.
    
    Thanks to Cesar and Bert for testing this fix.
    
    Tested-by: Cesar Strauss <cestrauss@gmail.com>
    Tested-by: Bert Timmerman <bert.timmerman@xs4all.nl>
    (cherry picked from commit 620ee00b6211b04c75e9cadffe5547ce4ed1ca8b)

commit a78d166a1b57b80ff46e2ac98a14989b8af77c3e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 19 23:11:36 2010 +0000

    Set the LC_NUMERIC locale to "C" rather than "POSIX"
    
    This value is supported on Win32 platforms, whereas "POSIX" doesn't
    appear to have any effect.
    
    This is required in order to get correct postscript output in locales
    where "," is used as the decimal point separator. It also affects the
    font strings passed to Pango, causing broken text rendering in gschem.
    
    Thanks to Cesar for testing this change indeed fixes the issue.
    
    Tested-by: Cesar Strauss <cestrauss@gmail.com>
    (cherry picked from commit 5d130060e694cfd3b3be177f1fae4a576728ff25)

commit 9fb9761c0ae5b34670683de30f4251e24d55e652
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Nov 20 06:58:57 2009 +0000

    Don't immediately redraw rubberband objects after placing
    
    This allows the user to see the placed (and selected) object
    without it being overwriten by any object still attached to the
    mouse cursor. (This made it appear that the object had not been
    placed).
    
    The rubberband objects attached to the cursor are re-drawn as soon
    as the mouse moves.

commit df1a9efec9a33336723c863f7a4c9844c3c12b3c
Author: Sergey Alyoshin <aslv@users.sourceforge.net>
Date:   Fri Nov 20 06:58:56 2009 +0000

    gschem: Updated Russian translation.

commit 18fc37097a266ecdb70560524e6c161f0807d36e
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Nov 20 06:58:55 2009 +0000

    gschem: Fix rendering with zoomed out dashed lines. Bug #2876373
    
    Rather than using SCREENabs, use the screen_width function to
    determine the on-screen size of dash elements. This clamps the
    width at a rendereable size, so cairo does not get tripped into
    an error state (and stop drawing other objects on the schematic).

commit b98d2ea8aa5ce3dfab39ce5fa4a52c39e5a467b3
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Nov 20 06:58:54 2009 +0000

    updated german translation for gschem

commit d5d8bf2982724c52fa66431801534a35b75a3e52
Author: Bert Timmerman <bert.timmerman@xs4all.nl>
Date:   Fri Nov 20 06:58:53 2009 +0000

    Updated the Dutch translations for gschem

commit 4a952841e7aca364018a9ebd81a0c1793c371273
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Nov 20 06:58:52 2009 +0000

    gschem, gattrib desktop file: add trailing semicolon
    
    the openSUSE buildservice claims that it's necessary to add a
    trailing semicolon to the Categories list entries.

commit 3fd50335ddfe0ed7f358d46a0fba23bff25073e6
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Oct 4 21:23:05 2009 -0400

    Updated date and version in all man pages

commit a8d42b7de50639897c888646883ce88d819d2589
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Oct 4 21:11:20 2009 -0400

    Ran make update-po in all po directories in prep for a new release

commit b7ca06041ea464b0d064bfa965843d2907a83571
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Oct 4 19:39:14 2009 -0400

    Updated the wiki docs from the online version (in prep for the next release)
    
    (Un)fortunately, the previous mechanism for updating the wiki offline
    docs from the online version is completely broken now (due to a segfault
    in an external tool), so a new mechanism was used to download the files.
    The good news is that the number of files and directories that need to
    be downloaded has been reduced considerably.  This is the first cut
    of the wiki sync.

commit 4f40000aff79919a3894de4e2e6e560e224220ce
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Sep 29 01:43:05 2009 +0100

    libgeda: Move slot handling code to its own file, s_slot.c
    
    Separates special-case attribute handling from o_attrib.c
    
    Renamed functions:
      o_attrib_search_slot() -> s_slot_search_slot()
      o_attrib_slot_update() -> s_slot_update_object()
    
    libgeda private API:
      o_attrib_find_attrib_by_name() is no longer static to o_attrib.c

commit ff7738b406991a47bf77d2af4b20d0e59d148e1f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 28 21:30:51 2009 +0100

    Rubberband pin to pin connections by adding nets
    
    This relies on the fact that (as an implementation detail), gschem
    will rubber-band a zero length net created at the pin-pin interface.
    
    Somewhat of a kludge, but the behaviour is nice for the user.

commit 5ca5b9768cf70f3d0f905d784d0896c6b442c34f
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Wed Sep 23 19:29:07 2009 -0300

    build-sys: Check and set Windows-specific flags.
    
    The Windows platform has a native gcc port (MinGW) and a
    POSIX compliant one (Cygwin). Both need specific flags to
    build correctly.
    
    The rules are:
    
    * On all Windows platforms, pass -no-undefined to libtool.
      This allows shared libraries (DLLs) to be built.
    
    * On MinGW, use the -mms-bitfields compiler flag.
      This increases compatibility with the MSVC compiler.
    
    * On MinGW, pass -mwindows when linking GUI-only applications.
      This avoids opening a text console when running from a shortcut.

commit e70cfefcd69a9038ba12759e7f690bc3a041d98c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 31 19:38:10 2009 +0100

    gschem: Don't explicitly consolidate nets as they are drawn
    
    There is no need to do this here, since all nets are consolidated
    in each call to o_undo_savestate().

commit 394425f81b0653fc8efa9f5890217ee4fae631e0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 31 19:38:10 2009 +0100

    Don't consolidate nets when loading files.
    
    Nets should be consolidated when placed, not when the file is loaded.

commit 399560caafde7046fe0e361712389e559969a424
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 31 19:38:09 2009 +0100

    gschem: Fix net consolidation (HACK)
    
    Net consolidation was previously triggered at file save time, until
    commit 1f05fb8e7b857c2bba2fbcaa4893ecbedcc478a9 removed the call to
    o_net_consolidate() from o_save_buffer().
    
    Unfortunately, gschem relied on this call to ensure net consolidation
    behaviour worked as expected. When changes were made on the schematic,
    o_undo_savestate() was called to save an undo state (to a temporary
    file), which eventually called o_save_buffer(), and this caused nets
    on in the schematic to be consolidated.
    
    As a kludge to work around this regression, this commit adds a call
    to o_net_consolidate() in o_undo_savestate(). This of course, is not
    a nice place to put it! This issue should be revisited after 1.6.x
    is released, ideally finding a cleaner place to trigger consolidations.
    
    Notes on the problem:
    
    Consolidate nets needs to happen when:
    
      A new net is drawn (and added to the page)
      A net end-point is rubber-banded
      A net is moved / copied into place
      A net sitting perpendicularly between two colinear nets
        (preventing them consolidating) is removed (Cut/Move/Delete)
    
    We want the "undo" state saved to be inclusive of the net
    consolidation.. therefore it needs to happen _before_ the undo state
    is saved, or we would have to cheat, and consolidate again after any
    "undo" / "redo" operation.
    
    Since o_undo_savestate() is called after modifications are made to
    the page, it provides a useful (but kludgy) place to catch all of
    the above cases before the undo state is saved.

commit 45002f0be0efb9638bcb96e67bbd1e5d3cd602c6
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Aug 30 19:26:36 2009 -0400

    Updated all manpage versions in prep for a new release (v1.5.4)

commit 52946266fdb9c6d039c378af94b8b6f311996b48
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Aug 30 19:25:03 2009 -0400

    Ran make update-po in gschem in prep for a new release (v1.5.4)

commit b1f7256890fe8ff48ae077d1fa3cdfcf29ccdc0f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 30 20:16:53 2009 +0100

    gschem: Substitute spaces for underscores in displayed accelerator strings
    
    This makes accelerators such as "Page_Up" display as "Page Up", in line
    with how normal GTK accelerators are displayed.

commit 0dd9b27c559a4056312c0ad6275ba5c31d1aee46
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 29 22:39:16 2009 -0400

    Fixed bug where none of the translated languages were working correctly.
    
    The meaning and value of the PACKAGE #define has changed in the new build
    system and we don't need to use it in certain places (like when calling
    bindtextdomain or textdomain).
    
    This bug was reported by Carlos Nieves (Thanks!)

commit 52f809520c670690cb73b00b4207feb6860b073d
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 29 21:42:10 2009 -0400

    Ran make update-po in all po directories in prep for the next release

commit a34e326784706cb761ba689a75bef19a5b1ee880
Author: Mark Rages <markrages@gmail.com>
Date:   Sat Aug 29 17:05:06 2009 -0400

    Modify the drawing of the grips to set a hard limit on the screen size
    
    This patch changes the size of the grips in gschem.  In the past, the
    grip size was always directly related to the zoom factor (you would
    get really large grips when zoomed in a lot).  Now the grip sizes are a
    fixed size at certain zoom factors (grip sizes are reasonably sized when
    zoomed in a lot).  This patch also renders the grips on top of endpoint
    cues so that you can see the grip rectangle when you are zoomed in a lot
    (there might be a better way of doing this, but this works for now).
    
    Signed-off-by: Ales Hvezda <ahvezda@seul.org>

commit b0fa7dd7839915703d9101006bed1c7305477e30
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 29 16:51:44 2009 -0400

    Updated the versions of the software in all man pages

commit a8295ba6d957394c9d56465bc2bfc14a43fc251d
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 29 13:14:57 2009 -0400

    Added some machine generated documentation files to be ignored

commit 8db05013c0542a6e2f8931b9c2ba2318fe8b613f
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Wed Aug 26 21:38:44 2009 +0200

    Updated spanish translation for libgeda and gschem.

commit af3f6fc265cb30972df4344a39a67451ab1148b2
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Feb 1 13:13:29 2009 +0100

    Run the add component hook after adding a new component using scheme.
    
    Run the add component hook after adding a new component
    using the scheme function add-component-at-x-y.

commit dbcfd09c99266379d08d90b9d8a9dd23a6566eec
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Feb 1 12:51:15 2009 +0100

    Fix x coordinate in add-component-at-xy function.
    
    X coordinate was previously get from the Y coordinate parameter.

commit 1b152740c10b5198d16a43a73f08ccbe90d37ccb
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Aug 18 22:56:56 2009 -0400

    Updated all po files by running make update-po in all the */po directories
    
    Run make update-po again might be necessary as we get closer to release time.

commit e5ae12ec1091bd6e3c4067e395714efd3934b0c2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 13:18:10 2009 +0100

    Remove old text mechanism, including TEXT->prim_objs, symbols/font/*
    
    Now we have pango rendering, the old text mechanism and its
    glyph symbols are redundant and can be removed.

commit 9cd19557085a7ef98408e1a73aa15471a88fb5e8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:32:09 2009 +0100

    gschem: Save cairo and pango contexts when entering expose handlers
    
    For some operations we might want to replace the renderers in order
    to do off-screen drawing (e.g. printing). As these operations could
    instantiate a sub-main-loop (which can service expose events), the
    expose event handler needs not to trample on the drawing contexts.

commit e9a944c1525228fbe80b0adc3910949d650a100c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:08:31 2009 +0100

    gschem: Register a function with libgeda to provide accurate text bounds
    
    This allows invalidating a text object to use the correct region and,
    importantly, allows us to find accurately which text objects were need
    repainting if a given area of screen is damaged.

commit 21be5c504a4a48da63526fce53cce00a9a76a1eb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:08:30 2009 +0100

    gschem: Add custom pango renderer to handle overbars

commit 391eb25cb8e426df8f57fac2dc2d6e3515ff2acf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:08:27 2009 +0100

    Attempt drawing text with cairo + pango
    
    We use libgeda's o_text_get_font_size_in_points() to try and match old
    gEDA font sizes. This scaling factor of 1.3 applied to the font size
    defined in the schematic reflects the fact that gEDA's old font at
    given nominal point size, is larger than most other fonts at nominally
    the same size.
    
    This (may) be due to the cap height of gEDA's font being designed to
    match its design height, rather than having the baseline height of the
    font match the design height.

commit b9adcffad55d8f6a5633afb79b9522ba840bda22
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:07:14 2009 +0100

    Reinstate (postscript-font-scale ...) option to catch deprecated usage.
    
    The replacement handler issues a warning that the parameter is
    deprecated and will be removed. The parameter value is ignored.

commit f9e5481638f4ab3b86054d82ce10e10b008d9657
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 12:01:57 2009 +0100

    Hard-code the gEDA font-size to postscript points scale factor.
    
    Replaces the (postscript-font-scale ...) option, and the scale
    factor hard-coded in gschem's pango text rendering routines.

commit c394dc703ac479b4d095b65bdb67526ed6e7c1e0
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Aug 17 11:19:58 2009 +0100

    Always use PostScript fonts in PostScript output.
    
    Removes the "output-text", "text-output" and "output-vector-threshold"
    config functions.

commit 3191d47aa5f71847c876a35371a89cb38825e66b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Aug 17 11:19:06 2009 +0100

    gschem: Render images using cairo, not GDK

commit ff6ea4955d0490d6436bc74d840325e76098304f
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 13 07:56:57 2009 +0100

    build-sys: Don't use AC_HEADER_DIRENT.
    
    The Autoconf manual says that AC_HEADER_DIRENT is now unnecessary:
    
         This macro is obsolescent, as all current systems with directory
         libraries have `dirent.h'.  New programs need not use this
         macro.
    
    This patch removes AC_HEADER_DIRENT and all checks for HAVE_DIRENT_H.
    It turned out that in most of the places where `dirent.h' was being
    #include'd it wasn't needed anyway.
    
    (Fix for a Cygwin build bug reported by Dan McMahill).

commit cf772193f3042184e5ca624cc7b1e8daef6f4a53
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 13 06:43:16 2009 +0100

    build-sys: Improve HTML conversion rules.
    
    We want to make sure the HTML version of the man pages is always
    distributed, but make building/installing it optional (in case users
    don't have a proper groff installed).
    
    This can be achieved by making sure that Automake only tries to
    install the HTML man pages if a working groff is available.  In
    addition, `make distcheck' is set up to behave as if groff is not
    installed.
    
    Unfortunately, this still isn't ideal, because users who build from a
    source archive (with pre-built HTML) won't get HTML installed unless
    they have a working groff.
    
    In the long run, what needs to happen is to use a mechanism like
    `missing' to handle rebuilding of HTML man pages -- or just drop HTML
    man pages altogether.

commit 476299cad187c839cb252d6d2d985590f99bb6e9
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Aug 11 22:11:22 2009 +0100

    gschem: Modify o_complex_prepare_place() to take CLibSymbol arg.
    
    This saves a roundtrip from s_clib_symbol_get_name() to
    s_clib_symbol_get_data_by_name().

commit ee3878f7c238f75ba3305ab63d3b26e5a4849d7f
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Aug 9 07:46:33 2009 +0100

    gschem: Remove use of deprecated scm_create_hook().
    
    ...by providing our own create_hook() function.

commit a4a8c19bb3389548d641a0874a77c77f623ad7a5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Aug 7 23:02:01 2009 -0400

    Makefile.am cleanup (removal of ChangeLog and Makefile.in files)
    
    Details on this commit:
    * Now that we are no longer storing machine generated ChangeLogs inside
      the git repository, make maintainer-clean should remove the machine
      generated ChangeLogs.  This way nobody accidently edits the ChangeLog.
      Only 7 ChangeLogs are left after a make maintainer-clean (intl, po,
      and one toplevel ChangeLog).
    * Some directories were missing the removal of Makefile.in when make
      maintainer-clean is run.  Only 3 Makefile.in files remain now after
      make maintainer-clean (only in the intl directories).
    * Removed $Id$ tags from some of the Makefiles since we are no longer
      using CVS.
    * Removed some unnecessary ChangeLogs from ever being created (from
      example/gTAG gschem/scripts, and symbol/font).
    
    Note 1: There are still some machine generated files still hanging around,
    but I'm going to leave those alone for now as the .gitignore mechanism
    properly masks those.
    
    Note 2: Made sure that all files that are to be removed in the *CLEANFILES
    lists comes before the #*# otherwise they will be ignored.

commit 1a3b04db4b811a853b9d2d7c5c57038f2146f919
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Aug 7 21:21:22 2009 -0400

    Added a bunch of files that should be included in any distribution
    
    The only file which I might want to not distribute is update-version.sh,
    which technically is a developer/maintainer only file, but for now I'll
    include it.  Also libgeda/docs/images isn't integrated into the build
    properly yet, so it will not be in the distribution for now.

commit fc2b205314545d92ea2a7e8f40a7a4c7d5af893d
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 17:15:29 2009 +0100

    Don't store git-generated ChangeLog files in repository.
    
    Don't store ChangeLog files in the git repository and have to remember
    to update them each time a release is made.  Instead, get `make dist'
    to create the ChangeLogs for you if a git repository is detected.
    
    Note: make distcheck does not pass in this commit.

commit 77d96e9154d9cfc81b25353ef99b8f8f42999bfb
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 14:35:12 2009 +0100

    Add top-level NEWS file.
    
    This contains important user-visible changes.  It should be kept
    up-to-date, in order to make writing release notes easier.

commit 09fcc6d689defb8f43bfc27aac87ee4ac34ce66a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 12:33:07 2009 +0100

    Update top-level README file.
    
    Well, actually rewrite it entirely.
    
    Note: make distcheck does not pass in this commit.

commit 433c672579aabb282999377139c9242b319ba044
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 12:38:31 2009 +0100

    Only need a single `AUTHORS' file.
    
    Move the gschem one to the toplevel (adding several missing names on
    the way), and remove most of the others. The `AUTHORS' files in the
    `symbols' and `utils' directories are retained, because they contain
    some useful information.
    
    Note: make distcheck does not pass in this commit.

commit ed7134fd403b9f1dc0a75d50e4e7bcfb2fd95cb8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 11:19:57 2009 +0100

    Only need one copy of GPLv2.
    
    Also, update to latest version of GPLv2 (from
    http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt).  This corrects
    the FSF contact address, along with some minor formatting
    modernisations.
    
    Note: make distcheck does not pass in this commit.

commit 75e35a9265199e310e4778773b0b3341659ff4a5
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 6 21:15:37 2009 +0100

    Add gschem to unified build system.
    
    N.b. gschemdoc is now created directly rather than by prepending
    config.sh.

commit 03943792b7606534fba0fd4e158dc6ff8d6adb97
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Aug 7 23:21:36 2009 +0100

    Start implementing unified build system.
    
    Restructuring of build system, including new m4 macros and helper
    programs. Note: only libgeda can be built from this commit.
    
    Important differences from previous versions:
    
     - The tarball is now called gEDA-<version>.tar.gz.
    
     - Documentation is now installed to ${docdir}
    
     - A `version.h' file is generated containing the package version
       strings, including the git commit SHA-1 and the descriptive string
       from `git describe'.  `version.h' is distributed in the source
       tarball so that gEDA can be built without git.

commit e55e9e247eb33c4a5be56687b4610c6649ef74d7
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Aug 4 22:06:16 2009 +0100

    Remove existing build infrastructure.
    
    This simply strips out all configure, m4 and autogen scripts from the
    whole repository, including the toplevel Makefile.  This commit does
    not compile (what a surprise)!

commit 8cb318276281c1eacb9dc5246ed5b338839a55d8
Author: Krzysztof Kościuszkiewicz <k.kosciuszkiewicz+geda@gmail.com>
Date:   Mon Jul 20 18:42:28 2009 +0100

    gschem: Add name completion to attribute edit dialog

commit 82c4e182c71d8a4fb9584b059a2f3215f6438cfe
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Jul 20 18:12:25 2009 +0100

    Reduce stderr spew.
    
    It's not necessary to spew massive amounts of output to stderr on
    startup. It's ugly and not legally necessary.
    
    This patch modifies the tools only to spew a GPL header to stderr when
    entering gnetlist's interactive mode -- and to be nice and quiet the rest of
    the time.

commit d66220b8d3085c7ab55bac419b125d9287c0520d
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jul 5 17:36:57 2009 +0100

    Ignore yet more unnecessary m4 files installed by autopoint.

commit 64cdf2bd7250e97749a308e19916c1d65c9a2c95
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 18 18:09:56 2009 +0100

    Use a static configure.ac and constant gettext version.

commit ad38ef86300b9eae33e241333863201b7b28b688
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 22 23:46:17 2009 +0100

    Fix o_line_visible() to work when object clipping is switched off()
    
    We need to transfer the line's coordinates to the return locations
    before returning TRUE.

commit b166d053e62c01b3b6413e0c6df275a432ba9792
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 22 11:34:25 2009 +0100

    Add new functions o_set_color() and o_glist_set_color()
    
    Replaces the inaccurately named o_complex_set_color() and
    o_complex_set_color_single().
    
    Also replaces o_attrib_set_color(), which was static to
    libgeda/src/o_attrib.c

commit edf9fad0a84807199acba250e8ec6461fafd89cf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 22 11:33:11 2009 +0100

    Fix breakage in last commit. OBJECT->complex_parent is now OBJECT->parent

commit 2dc3c8dad90b4b02a962929edf2b6ce5b75939aa
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 22 10:53:23 2009 +0100

    Remove OBJECT->saved_color field
    
    Rather than resetting the color of selected objects, we instead add a
    helper function, o_drawing_color(), which decides at drawing time what
    color an OBJECT should be drawn.
    
    o_drawing_color() checks if there are any color overrides in effect,
    and whether the OBJECT (or its parent, in the case of TEXT or COMPLEX
    prim_objs) is selected.
    
    Remove now unused functions:
      o_complex_set_color_save ();
      o_complex_unset_color ();
      o_complex_unset_color_single ();
      o_complex_set_saved_color_only ();

commit 5f52ce5d7f4be7ee1eb2246b896135d01fb320c0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 22 10:50:36 2009 +0100

    Rename OBJECT->complex_parent field to OBJECT->parent
    
    We might wish to track the ownership of text prim_objs as well
    as complex, so calling this field complex_parent is confusing.

commit a13db9af93154fe25d39abe52a82fa369bdfc62b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 18 18:23:51 2009 +0100

    Don't delete project-specific m4 files.

commit 9f6ddf9126a312fb0fdd25ba8da3c4f9944b78a8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 18 09:38:51 2009 +0100

    gschem: Don't use intltool.

commit d0fdb127e16c46f85ceddca00bff1103ac075b68
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jun 17 15:24:26 2009 +0100

    Pass correct search path flags to aclocal.
    
    The autotools install several m4 files into the top-level m4
    directories in each project. aclocal (and automake) need to be taught
    to look there before searching the system directories.

commit 33715a1a58c7c13f45772eba02ef463c3a422c7e
Author: Dan McMahill <dan@mcmahill.net>
Date:   Mon Jun 15 07:27:37 2009 -0400

    Add missing src/gschem_accel_label.c
    
    Added a missing file that contains translations to POTFILE.in.  Helps
    'make check' be happy again.

commit 67aeb9b999d29080118a7af899ad1de362ccd2b8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jun 8 23:31:22 2009 +0100

    Fix autogen.sh scripts to look for AC_CONFIG_HEADER to run autoheader
    
    Since commit #9a7c363c572d32a30fa1522cd7d14b21c2958ca8, the configure
    scripts in gEDA use AC_CONFIG_HEADER, not AM_CONFIG_HEADER
    
    Fixes build problems noted by various users. Identified by Dan McMahill.

commit 65ab1fad22f6879f1a296ee5382f633870613c78
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Jun 8 11:09:56 2009 +0100

    Remove support for GLib < 2.12.0.
    
    Requiring GLib 2.12.0 means that we no longer require *any* of the
    existing GLIB_CHECK_VERSION ifdef blocks.

commit 61f488315da15d0be48acbe65ee9c1bf69c60e03
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Jun 8 10:57:32 2009 +0100

    Require GLib 2.12.0 or newer.
    
    We now require GTK+ 2.10.0, and since that requires GLib 2.12.0, we
    can bump the GLib version we require up to match.
    
    Thanks to Peter Clifton for spotting this.

commit 9a7c363c572d32a30fa1522cd7d14b21c2958ca8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Jun 8 10:48:25 2009 +0100

    Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER.
    
    This fixes an issue with config.h.in not being correctly regenerated
    with autoheader on changes to configure.ac.
    
    Thanks to Maciej Pijanka for working out the solution to this problem!

commit 209e55a6a0ab33478cea41c154be64d7ec0620ea
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jun 7 19:34:30 2009 +0100

    Require GTK+ 2.10 or newer.

commit d5e06e6ee657f80d1cb8d82884122ac958e9d3a4
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jun 7 19:34:30 2009 +0100

    Remove Guile 1.6 support.

commit b4862c3c120c8144f47393333e2e6bec2f302bc7
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jun 7 19:34:29 2009 +0100

    Require Guile 1.8.0 or newer.
    
    Guile 1.8 became the stable branch of Guile on 2006-02-12, over three
    *years* ago. All major distributions ship it, including Debian stable.
    
    Expecting its availability makes testing of new Scheme-based features
    much easier, as most gEDA developers normally write and test code
    against 1.8. Furthermore, it allows better advantage to be taken of
    1.8-only features (such as improvements in debugging support), without
    requiring vast swathes of hard-to-maintain preprocessor trickery.

commit 2e559b0607c5d007dbaa5ef8bc1858a18dec7b39
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 16:41:25 2009 +0100

    gschem: Fixup menu names in i_basic.c to match those in system-gschemrc
    
    Since the sensitivity updates are keyed off the menu text,
    we need to update the strings after changing the text in
    commit #501f6d99dc6cb7ba207138b52d1e86371b924bfe

commit 501f6d99dc6cb7ba207138b52d1e86371b924bfe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:44:44 2009 +0100

    gschem: Add "_" style accelerators within menus
    
    Copying accelerators for other common applications, such as "_Open",
    "_New" etc. This aids keyboard navigation once we are in the menus
    (which have a key-grab, so gschem's multi-key accelerators don't work.)
    
    To set the accelerator on "Open Recen_t", we also have to edit x_menu.c,
    since the recent files magic is hooked on the menu text (including the
    accelerator). We also remove the explicit override of the label text in
    x_menus.c, since we want to show the accelerator.

commit 34eed8e6b473e15590116d12c76db580fa41b789
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:44:39 2009 +0100

    gschem: Assign shortcuts "vd" and "vl" for changing between color schemes
    
    NB: "vl" was previously an alias for zoom extents.

commit fb7ad07015ae8c55d3885c32afb0a1744f8d83c2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:42:51 2009 +0100

    gschem: Reorder / rename some menu items to better match other programs

commit c7ed765efa438a9028799cf16cd1b6318c5fc4ec
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:30:10 2009 +0100

    gschem: Add stock icons to menus as appropriate
    
    Using stock GTK icons as appropriate to help increase the usability
    of gschem's menus.

commit 8adc9d6195c13f6e898d8f9cef6341681a119f46
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:30:01 2009 +0100

    gschem: Specify menus have no bound actions with #f, rather than no-action

commit 8ca990145aee1532c0cde02d329ceba13a1b9b86
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 15:29:57 2009 +0100

    Add GschemAction and GschemAccelLabel subclasses of their Gtk equivalents
    
    These subclass are intended to encapsulate information relating to
    gschem's multi-key shortcuts. Their code is based on GTK 2.14.5 (LGPL).
    
    For GschemAccelLabel, we have to subclass GtkAccelLabel rather than just
    GtkLabel, otherwise the menu doesn't correctly pad the accelerators into
    their own column.
    
    To set the accel_width, we have to go poking in a private part of the
    GtkAccelLabel widget. The relevant field has been protected with GSEAL,
    so this will not work in GTK3.0, or when compiled with GSEAL active.

commit 4aa6cd61c253046806a5818bd6fd8be87296d634
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 01:41:46 2009 +0100

    Pass the OBJECT having its attribs removed to o_attrib_detach_all()
    
    This function only worked correctly when passed an OBJECT.attribs
    GList, so it makes more sense to just pass the OBJECT whos attributes
    should be detached. The function can then set the OBEJCT.attribs to
    NULL, ensuring the OBJECT stays in a consistent state.

commit a9d64bf7db382ed3c6ac2b89e0434af80bc1e19c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 01:40:11 2009 +0100

    Add TOPLEVEL parameter to some libgeda APIs
    
    For consistency with other libgeda functions, and in order to allow
    these functions to call others which require the toplevel parameter.

commit 047a3ecad3fe1bcd98c6eb209134772cd894fe6c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 7 01:40:10 2009 +0100

    Remove o_attrib_search_numslots(), instead call the attribute API directly

commit d3bd67e8ccb5ed47f17603392f480f220380daa5
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 12:15:12 2009 +0100

    gschem: Deselect invisible attribs with their parent object (Bug #2430369)
    
    Previously, when a component was selected and you deselected it with a
    ctrl-click or ctrl-drag, the invisible attributes attached to the
    component remained selected.
    
    This has caused problems for users in the past, when trying to delete
    everything in a given area - except for a few components in the middle.
    
    Drag selecting the area, deselecting the desired components, then deleting
    would also delete the (still selected) invisible attributes belonging to
    the deselected components.
    
    To fix this, make sure that when we remove an object from the selection
    list, we also remove any invisible attributes. When invisible text is
    being shown, there is no need to do this, since the user can manually
    de-select these attributes. (And they may want the finer grained control
    afforded by the ability to do so).

commit c006ec0603fd570ec6c10386f3a3d19f9cbd525d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 11:19:56 2009 +0100

    gschem: Focus the "save" button in the close confirmation dialog
    
    For safety, "Close without saving" should not be the default action.
    Looking at other GTK (and GNOME) applications, the default action used
    seems to be "Save" (this is what the user will probably want to choose).

commit 9686b31bc86c7e57a26bad0c65e21b97ed713e5b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 10:38:58 2009 +0100

    Make o_attrib_get_name_value() take an attrib OBJECT, not char *
    
    Rename the old function as exported API o_attrib_string_get_name_value(),
    so existing code (such as validating potential attribute strings) can
    still work unaltered.
    
    The new o_attrib_get_name_value() wraps o_attrib_string_get_name_value().

commit 7e0e339dc47211254ff5e968fa402f4735ef41fa
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:47:57 2009 +0100

    gschem,libgeda: Tidy up invocation of the slot dialog
    
    Avoid presenting the whole "slot=..." attribute text in the slot
    dialog, since the user only needs to see the value portion.
    
    We now use o_attrib_search_object_attribs_by_name() to retrieve the
    current slot for a component when bringing up the dialog. This means
    that if there is no slot= attribute attached, the default slot= value
    (if any) from the symbol will be returned automatically, and we don't
    need an explicit call to o_attrib_search_default_slot().
    
    Remove the now unused function o_attrib_search_default_slot().

commit aa7b65e3a1cc59eadf247ed0fe74afeaeb7c5fe3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:47:43 2009 +0100

    Make use of the new API o_attrib_search_attached_attribs_by_name()

commit 04a22009e68284327bdb57bf7c31e5788b0bfc67
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:44:19 2009 +0100

    Make use of new API o_attrib_search_inherited_attribs_by_name()
    
    Replaces the less specific API, o_attrib_search_name() previously
    used to search for floating attributes inside complex objects.

commit 33b113b078e9647d7304b4c2caa04da1dd367e4f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:34:53 2009 +0100

    Use o_attrib_search_object_attribs_by_name() where appropriate

commit f505ad65da209bd8d7e766d495466b904643e9b7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:29:14 2009 +0100

    Remove o_complex_get_toplevel_attribs() in favour of newer attrib API
    
    o_attrib_find_floating_attribs() is functionally identical.

commit 02fde480e0d58300d9e7ee1cf0357fb96d14adbb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 6 01:09:16 2009 +0100

    Add inherited attributes to the list returned by o_attrib_return_attribs()
    
    This starts to allow a common place where attributes from the symbol will
    be combined with attached attributes to form an aggregate attribute list.
    
    Currently, various pieces of code which deal with reading attributes will
    check the attached attributes of a symbol, then the inherited attributes
    explicitly. For cases where a simple combining rule exists, we can reduce
    such checks to a single lookup of the aggregate list.
    
    Atttributes such as "net=" and "source=" which often exist multiple times,
    possibly both as inherited and attahched attributes, present difficulties
    though.
    
    For now, just pile all inherited attributes at the end of the returned
    list. This means any code which wants to check for the first attribtue
    with a given name should do the "right thing", with attached attributes
    taking presidence over inherited ones.

commit 3d8c6f9e7e5be0728d43b6fba0d366a92a0cdf40
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 31 14:30:15 2009 +0100

    gschem: Add support for viewing inherited attributes in x_multiattrib.c
    
    Inherited attributes (those from inside the symbol itself) are not
    editable, and are shown greyed out. The context popup menu for an
    inherited attribute shows a single option, "promote", which will make
    an attached (and editable) copy of that attribute in the schematic.

commit ff9e5a377265e1960359bb290a159e1db5b6f59a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 31 14:30:10 2009 +0100

    Make g_make_attrib_smob_list() use o_attrib_return_attribs()
    
    Get the list of attributes from a common place, so if we want
    to make that list based on aggregation of attached and inherited
    attributes in the future, we won't have so many places to change.

commit 57362274fcbe133d9fa545b761fc104310325d0f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 31 14:30:08 2009 +0100

    Make o_attrib_return_attribs() return a GList, not an array
    
    This fits better with our GList centric view of list data.
    
    Also validate the attributes in o_attrib_return_attribs(), so
    we aren't passing potentially malformed attributes to our
    callers.

commit 1cd106ae2c1cb9162d88ab0af69a48e2fe62d8eb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat May 30 22:31:46 2009 +0100

    gschem: Add "fixme" warning about the text search hierarchy traversal
    
    The search only descends into the first source schematic, so will not work
    correctly for hierarchy blocks with multiple source schematics.

commit 7a7b553b395a78a9d53b64cc50d1077342999a75
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat May 30 18:45:38 2009 +0100

    Remove unused "return_found" argument to o_attrib_search_numslots()

commit 963ac330d97e843f6ec4580b64d9b36c51807783
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat May 30 18:34:17 2009 +0100

    Rename o_attrib_free_all() to o_attrib_detach_all()
    
    This name better reflects the function's action.
    
    Add some notes to the doxygen comments about this function. Specifically,
    it must be called with some (OBJECT *)->attribs pointer, since the
    attributes which are detached would otherwise not be removed from the
    (OBJECT *)->attribs GList.

commit 39ef03ab5490e7187d251109137ed0c9a1263ecc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat May 30 18:33:50 2009 +0100

    gschem: Tidy up function o_attrib_add_selected

commit 1937476f6a6d68d41ab8e59940c843be7746a207
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat May 30 18:33:36 2009 +0100

    gschem: Remove obsolete comment from o_attrib.c

commit 124db2417dbfc6a44c8d1d01213c4c3e7609d93e
Author: Dan McMahill <dan@mcmahill.net>
Date:   Fri May 29 21:58:01 2009 -0400

    Use $(includedir) instead of $(prefix)/include and $(libdir) instead of $(prefix)/lib.
    
    This makes sure things still work when some of the less mainstream configure
    arguments are used.

commit ab590ab70cddfe6a0954d56a31c0ebd1f0bc7691
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 15:55:19 2009 -0400

    Updated ChangeLogs one more time for 1.5.2

commit 7ac576ba0560998415b32151389d0ab3334de652
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 15:48:02 2009 -0400

    Added missing \ so that all example schematics are incluced in release tarballs

commit 546d4dbe0124d3f9421116b9e5a8889cccf97b84
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 15:22:19 2009 -0400

    Updated all ChangeLogs
    
    Updated the ChangeLogs by running:
    	./update-changelogs.sh 1.0-20070526..master
    in the toplevel directory

commit 21e8c0b232e08927fd091a1d46413990b4c61358
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 15:18:34 2009 -0400

    Updated all dates in the relavent man pages (for 1.5.2.20090328)

commit 859abe69912ba99ca27bb58c378284e9eec56259
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 15:13:59 2009 -0400

    Updated all versions to 1.5.2 20090328 36:0:0
    
    Updated by running:
    ./update-versions.sh 1.5.2 20090328 36:0:0

commit b297d32b70c02bfe800b7bf4c434d1fd4447e2f5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Mar 28 14:55:22 2009 -0400

    Updated all po files by running make update-po

commit 03fa830460f97518b3fdba0dd96f5932c9885281
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Mar 19 10:15:19 2009 +0000

    gschem: Fix documentation creation from tarballs.
    
    gschem's doxygen configuration file was not marked for inclusion in
    release tarballs.

commit 77a59c3af731937f5952bbb61a6faccd97a07f38
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 20 23:32:41 2009 +0000

    gschem: Update the clipboard menu item sensitivities asynchronously
    
    Spawning a sub-main loop to do this can cause reentrancy problems due
    to processing of other X events from within the sub-main loop.
    
    This could end up with states changing whilst updating menus, and
    this has been noted to cause crashes whilst moving objects.

commit c3081930ed224394f645de4bfb51e86fa3e15e65
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 20 23:26:12 2009 +0000

    Remove obsolete references to libgd and libgdgeda

commit 357db04ba91ad4047abf12f5fd7bf61db849a718
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Feb 5 03:54:18 2009 +0000

    gschem: Avoid the use of gtk_selection_data_get_data on old GTK versions
    
    This API was added in GTK 2.14

commit 43af79264390283ac861cb4a9bab3d27c0436eda
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 30 16:52:05 2009 +0000

    gschem: Fix cues on vertical pins to be drawn inwards, not extend the pin
    
    Bug was probably introduced when switching the drawing functions to
    use world coordinates.

commit 20be2df71df169f041cafeb7ad0c26e96901fefe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 28 21:20:48 2009 +0000

    gschem: Draw paths being moved in the their non-selected colours

commit 904ce8cf81d555debc439ed122322663e74988bf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 27 15:34:58 2009 +0000

    gschem: Rework how clipboards are cleaned up.
    
    Detach selection monitoring callback when deletting a window. The
    callback userdata passes the GSCHEM_TOPLEVEL we're busy freeing,
    causing a crash.
    
    We also need to ensure the clipboard manager (if any) takes our data
    before we free things, so explicitly call gtk_clipboard_store() during
    cleanup if we still own the selection.
    
    Add some code to track when we own the selection, including explicitly
    clearing the clipboard before setting new contents - to avoid a race
    between a clip_clear callback for our old selection, and the new data.

commit a6522190a5102d3b7c7a10726e667ac9d6ea6c3f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 27 15:34:58 2009 +0000

    gschem: Don't add objects read from the cliboard to the tile system
    
    Prevents corruption / crashes when pasting connectable objects, such
    as nets / pins. The objects are added to the tile system when they
    are placed. (Avoid adding them when reading into the temporary buffer).

commit 6fcb0765a9bf487003d21214454d474606d807f8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jan 25 15:25:19 2009 +0000

    Update menu item sensitivity setting again.
    
    One was left out in b1f93c9c02c3adf719b8b63e1d09669cfd0a201f.

commit b1f93c9c02c3adf719b8b63e1d09669cfd0a201f
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 17:30:58 2009 +0000

    gschem: Update menus for clipboard support.
    
    Make 'Edit' menu items' enabled status reflect the state of the
    clipboard & selection.

commit 6a07d737a32a816f43e1f061409a10e616d7aa2a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 16:11:39 2009 +0000

    Enable basic clipboard support.
    
    Enable clipboard support using the GTK Clipboard API.  gschem
    advertises 'application/x-geda-schematic' data, and transfers it in
    the gEDA on-disc file format.
    
    This works between gschem instances, but data does not remain in the
    clipboard after the advertising instance of gschem exits.

commit 246acd46e591e542ac3f00f9064905ae0311b0ec
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 16:08:43 2009 +0000

    Make o_save(), o_read() and friends take an object list argument.
    
    Sometimes we may want to save or read in a list of objects which isn't
    the current page. This adds a new function o_save_curr_page() which
    behaves the same as o_save() previously did.

commit 17077786f635102715f3d6c225d6f16396e531f6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 16:07:48 2009 +0000

    git ignore gschem/m4 differently.
    
    This reverts commit 89b918657378a457197630602d7bb016caf36a3e, and
    ignores the gschem/m4 directory from gschem's toplevel .gitignore
    file.

commit 89b918657378a457197630602d7bb016caf36a3e
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 16:00:23 2009 +0000

    Add a .gitignore for gschem/m4.

commit 81b2df2f166fde454c2f93d193e11cd69453d308
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jan 24 00:12:52 2009 +0000

    gschem: Remove redundant buffer cut code.
    
    Part of the buffer cut/copy code can be factored out into a separate
    function to reduce code duplication. Also use g_warning for warnings.

commit 0ff9e9ac91823074f6240e1e762a1cca84b49d05
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jan 22 08:09:29 2009 +0000

    gschem: Always register load_newer_backup_func.
    
    Cases were missed out in 4d83eae30b789deb8ab9235a89c191630ebf18be.

commit 4d83eae30b789deb8ab9235a89c191630ebf18be
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 21:17:01 2009 +0000

    libgeda: Refactor load backup query callback.
    
    Passing user data allows the gschem callback to be called with a
    GSCHEM_TOPLEVEL instead of a TOPLEVEL.

commit 253caac857e22ba28ba7ce05b36f95a5f78bd683
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 21:16:43 2009 +0000

    gschem: Better checks that GEDADATA has been found.
    
    If libgeda fails to locate the gEDA data directory, show a dialog
    before quitting. This is important for users running gschem from
    e.g. a .desktop file in their system menu, when the stderr/stdout may
    not be easy to get at.

commit 3c0d85eae92d5764aa7dee2899c6a066c3470ee3
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 14:11:39 2009 +0000

    Write logs to $HOME/.gEDA/logs/.
    
    Rewrite s_log_init() to put log files in a centralised location. A
    user application (e.g. gnetlist) provides a prefix, and log file is
    opened at:
    
       $HOME/.gEDA/logs/<prefix>-<YYYYmmdd>-<serial>.log       [1]
    
    The serial is found by the following procedure:
    
    1. Read through the directory to find the highest existing <serial>.
    
    2. Starting with that number, repeatedly attempt to open()
       incrementing files with O_CREAT|O_EXCL flags to guarantee that a
       new file is created.
    
    3. If after LOG_OPEN_ATTEMPTS = 5 attempts a unique filename hasn't
       been found, fail.
    
    The logic *intentionally* does not fill in gaps in the sequence -- if
    I delete logs, I still want a new log to appear at the end of the
    list.
    
    [1] The actual location is a subdirectory "logs" of the user config
        directory, which may not be ~/.gEDA on all platforms.

commit 7cc4a67795c9ee8dcb28edc6d71b895c5b4f1dc9
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 14:10:41 2009 +0000

    Refactor finding paths for config etc.
    
    This is intended to provide a centralised place for determining the
    paths more "smartly" in the future (e.g. for platforms with different
    conventions on where config should go).
    
    Only user-visible change should be that log messages when loading
    config files no longer hardcode "~/.gEDA".

commit 48103eca0ded6fd42a2e3abe48c0cdcdc381f902
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 13:45:56 2009 +0000

    gschem: Open recent files in the same window.
    
    All of the other methods of opening files open them in the current
    window. The recent files mechanism should match.

commit f4af51afc5af2059cfb9389cea25589d6a1ba8eb
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jan 21 09:39:22 2009 +0000

    gschem: Recent files list fixes.
    
    1. List a maximum of 10 recent files.
    
    2. Normalize pathnames before storing.

commit 5a31a49d4d1635a1f3a8f82dc68fa8e78ebc0f44
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Jan 20 15:32:06 2009 +0000

    gschem: Change load path for gschem-gtkrc.
    
    Expect the GTK rc file for gschem to be read from
    $HOME/.gEDA/gschem-gtkrc instead of $HOME/.gschem-gtkrc.

commit fda82eb96e2c785efe91fd59d01f6e7e26b897ed
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jan 18 01:48:58 2009 +0000

    Protect some strings passed to pkgconfig.
    
    Ensure that pkgconfig version requirement strings are protected from
    M4 expansion.

commit ee250c9bd2e88bf352a03d1719603b7d54fe430c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jan 13 23:58:30 2009 +0000

    Avoid underlinking of apps due to missing explicit depends
    
    These went unnoticed because the apps were resolving the necessary
    symbols when pulling in libgeda and its dependencies.
    
    Fix applications using GLib and guile within the suite to explicitly
    pull in the appropriate CFLAGS and LIBS. This commit removes some
    LDFLAGS and LIBS from grenum, since they weren't being used.

commit c05d63f61ffc08bb130bca8f14e4c429240938d1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 11 00:36:24 2009 +0000

    gschem: Make requirement for cairo non-conditional.
    
    We can't build without it.

commit e452c5097edd72942ef02a82996dfab5651ceab3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 10 23:50:57 2009 +0000

    gschem: Fix rubberbanding box when resizing pictures
    
    Its position was broken when changing the drawing routines to take
    world coordinates directly.

commit 02fa8f658d315796df7c6ab8790e5310e8548d37
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 10 22:29:21 2009 +0000

    Remove explicit checks for X11 - we're not using X11 APIs directly

commit ef5ab409dc62994ce6aea57586c0698c11291bac
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Jan 6 18:16:31 2009 -0500

    Darkened the outline colors of objects that are being dragged/modified
    
    The outline colors should be different than the default colors.
    Previously the XOR rendering made the outlines look differently, but with
    cairo rendering the dragged objects look exactly the same as non-dragged
    objects.  This patch darkens the outline colors in the dark colormap only.

commit e84330457016f1bfb3db1cd6c8a6980a72a6e90c
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Jan 5 20:52:47 2009 +0100

    gschem: final fix for the dropdown menus of filltype and linetype
    
    Set the current active check marks of the filltype and linetype
    dropdown menu items.
    
    I guesss this was the true meaning of the bug reports [2344956]
    and [2344964].

commit 2a73a64f42e7e3613d5265e5ec38593ea232d418
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Jan 5 19:44:47 2009 +0100

    gschem: show correct properties in linetype dialog
    
    The linetype dialog uses the selection list now. With the new
    functions selection_get_line_type() and line_type_dialog_set_values()
    it will be possible to convert the dialog into a non_modal dialog.
    
    This fixes bug [#2344956].

commit 807f3d81883ce8075d41588f41e67ea19fd6bef3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 16:57:38 2009 +0000

    gschem: Calculate radius of centered arcs and boxes with 2x precision
    
    Since we may have to hint the radius by 0.5px to bring it onto the
    pixel grid, we will get better results if we compute the radius to
    half-pixel precision.
    
    Re-enable radius hinting for centered arcs back on, but only for arcs
    which have radius > 1px to start with. If we don't, there is an abrupt
    transition between when the arc lights a single pixel, and when it is
    the next largest size. A little anti-aliasing in that case helps.

commit 8ca598852f51c04183ab872f35bcc156628bdf79
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Jan 5 17:20:47 2009 +0100

    gschem: fill type dialog: improved default values
    
    If the user changes the fill type from HOLLOW to HATCHED and does not
    define the angle and pitch, then the gschem could either reject
    the change of the type, or guess the pitch values.
    
    I've decided that it is better to set the missing values.
    
    In the opposite case, when the user switches the type from HATCHED to
    HOLLOW, the pitch is still set. Reset the not required parameters
    to -1.
    
    Maybe the functionality should be moved to o_set_fill_type() in
    libgeda.

commit 31e883e9666c7721c9a73995ff071cb628c241e6
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Jan 5 16:08:38 2009 +0100

    gschem: show correct properties in filltype dialog
    
    The filltype dialog uses the selection list now. With the new
    functions selection_get_fill_type() and fill_type_dialog_set_values()
    it will be possible to convert the dialog into a non_modal dialog.
    
    In the dialog only those values are marked as *unchanged* that
    differ from each other.
    
    This also fixes the bug [#2344964].

commit d48b0b36c5348abd52413de14afb6ab0958b260d
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Jan 5 11:31:56 2009 +0100

    gschem: fixed the math for warp-cursor "disabled"
    
    This fixes the bug [2212748] and the feature request [2001299].
    
    The fix calculates a new center out of the mouse cursor,the
    current visible area and the zoom factor.
     # Please enter the commit message for your changes. Lines starting

commit d615982103652c0143eca430570bbfcfa0d206fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 05:01:13 2009 +0000

    gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting (Rest!)
    
    Activate the code partially committed in the last commit, and add the
    remaining code to hint the position of dots in a stroke.
    
    Since cairo uses antialiased drawings, a dot of diameter 1px will actually
    render ligher than it would have with GDK. Once the line width reaches 1px
    switch back to drawing dots as squares.
    
    Also add hinting to the position of the drawn dots drawn along the stroke
    to ensure they land centered on pixels.

commit 1626b1a02a6e55327ac7f2d00dd976aba57855d7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 04:44:24 2009 +0000

    gschem: Clamp minimum size to draw stoke dots using cairo, apply hinting
    
    Since cairo uses antialiased drawings, a dot of diameter 1px will actually
    render ligher than it would have with GDK. Once the line width reaches 1px
    switch back to drawing dots as squares.
    
    Also add hinting to the position of the drawn dots drawn along the stroke
    to ensure they land centered on pixels.

commit 6079c8102f6ac41ce5bf2a61aef6d65e7bb9df4b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 04:23:24 2009 +0000

    gschem: Make gschem_cairo_* functions take parameters in world coordinates.
    
    This changes the prototype of all gschem_cairo_* functions to take a
    GSCHEM_TOPLEVEL parameter rather than cairo_t as their first argument.
    
    This change cuts down a significant number of lines of code, and also
    paves the way to having world-coordinates passed straight into the cairo
    routines, should we want to use cairo for printing at some stage.
    
    A few cases of direct cairo usage in screen coordinates remain; these are
    in o_cue.c, and x_grid.c. The case in o_cue.c remains because it relates
    to a filled box. gschem_cairo_box () hints the path coordinates for a
    stroked box and clamps the minimum on-screen stroke width to 1px, thus
    rendering it unsuitable for hinting a path to be filled.

commit 4a217cd1109b03f6d5f75f9fca46513d7679ddb6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 03:36:25 2009 +0000

    gschem: Add new primitves to draw a centered arc and box
    
    These primitives take care of hinting specifically to keep the drawn
    object looking centered, adjusting to take into account both the
    radius / extents of the object being drawn, and how the object we're
    trying to center on would have been hinted.
    
    Use these new primitives for drawing cues and grip boxes.

commit 39d552cd16af51eaae793f3837bb1f77fac0723f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 03:36:24 2009 +0000

    gschem: Use gschem_cairo_box() to create path for box cues.

commit a57db7244d9789c4b92cbec61072497c031016ad
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jan 5 00:59:13 2009 +0000

    gschem_cairo_box(): Allow passing line_width as -1 to switch off hinting
    
    This may be useful for drawing a box path which is to be filled. If at
    some point, gschem_cairo_* were to take 0 line-width as instruction to
    draw "hardware" type lines, passing 0 to avoid hinting would clash with
    that feature.
    
    When the line_width is passed as -1, an extra pixel is added to the
    larger X and Y coordinates, so the fill touches the pixel which would
    be lit if a line was drawn at the passed coordinates.

commit 1bd789ec463564710ab71c4bd7b7d01311237919
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 22:51:04 2009 +0000

    gschem: Make o_grips_draw() take world coordinates

commit 21ad139e3bc59d796a2a54f1cb35b71060848687
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 21:16:08 2009 +0000

    gschem: Compute the bounding box of a rubberbanded path analytically
    
    For now, actualy just take a big bounding box which includes the
    control points.

commit d9daf573f87edf46f2b74235db1e66bf669a2986
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 20:06:36 2009 +0000

    gschem: Refactor partially duplicated drawing code in various files.
    
    For each object type, there is drawing code for the normal object
    on the page, an object being placed, and objects being rubberbanded.
    
    In many cases (arc, circle and path being good examples), each of these
    functions repeat non-trivial amounts of very similar setup and drawing
    code. Only the line-width, stroke style need to be specific to each.
    
    Refactor the code such that the place and rubberbanding routines (which
    adjust the rendered geometry based on state variables) construct a
    temporary object with the modified geometry. Common parts of the cairo
    setup and path generation can be combined and shared between routines.

commit 95432ccffdbb39434981f87050433c00f40125da
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 19:38:11 2009 +0000

    gschem: Revert change in cue size "fixed" when introducing bus pins.
    
    The old behaviour was intentional.. smaller cues were in fact supposed
    to be used for buses, so that the dot was contained inside the bus
    graphic.
    
    Rename the variables defining the sizes to be clear about their purpose.

commit 5702951f92bb0c693f030c07ef61f0c5986fb5dd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 19:03:06 2009 +0000

    gschem: Adjust position hinting when drawing round junction cues
    
    Apply hinting to the cue's position to match the position of the object
    it is sitting on. This is done by passing the on-screen width (pixels)
    of a net / bus into gschem_cairo_arc(). If the line-width is odd, that
    function will shift the origin of the arc by 0.5px. Refactor the places
    where we draw circular arcs to use a single helper function in o_cue.c

commit a50629e77c16758e44d857a929abe98437ab4583
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 18:56:51 2009 +0000

    gschem: Drawing circle radius line with a non translated cairo matrix.
    
    Hinting for drawing the circle may have caused us to translate a non-
    integer amount, which would cause the radius line to be shown blurred.

commit 7a6b1a22fec9785f503c46d24406046feb04d87f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 18:43:26 2009 +0000

    gschem: Fix rubberbanding of arcs with negative end_angles
    
    Such arcs are typically generated by mirroring. If the arc being
    rubberbanded previously had a negative sweep, keep that the case
    in the rubberbanded version.
    
    Also fixes a bug where we're rubberband to give a zero degree sweep
    arc rather than a 360 degree one.

commit d6c486a1fac1abce71b8805285fef664e252af98
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 4 17:48:18 2009 +0000

    gschem: Alter order of grip search when rubberbanding arcs
    
    If you inadvertently land the grip which adjusts the sweep
    of the arc on top of the one which sets its offset angle, it is
    impossible to do anything but rotate the whole arc segment.

commit 30b150c00aa04b05dd6e85cd5f336f379b4def1b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 3 23:54:05 2009 +0000

    gschem: Fix redrawing of other selected objects during rubberbanding
    
    Rather than switching off redrawing of selected objects during a grip
    rubberbanding operation, set the "dont_redraw" property of the object
    being modied.
    
    Add a cancel function o_grips_cancel() to reset that property in the
    case where grip modification is prematurely terminated.

commit 2874ca6c016115363ab9edb7809d5ca66509ca14
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 3 19:54:04 2009 +0000

    Move world <-> screen coordinate transformation functions into gschem
    
    Convert them and their callers to use a GSCHEM_TOPLEVEL as an arguemnt
    rather than TOPLEVEL.
    
    This commit moves most of libgeda/src/m_basic.c to a new file,
    gschem/src/m_basic.c

commit 4d79aa73981d6caa2c803250d1be266d7657f0c2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 3 19:54:03 2009 +0000

    Move o_line_visible() from libgeda into gschem
    
    This function relates to on-screen visibility, so should be in gschem.

commit e3cbd2a5505f6b284cbe12fdcf72acde6f6ef291
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 3 16:10:24 2009 +0000

    gschem: Add undo point after converting pins to / from being bus pins
    
    Also fix the edit dialog not to show if the selection doesn't contain
    any pins.

commit f37c893edfeb016e57aae5e92f48093608e5cdfb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 3 02:38:29 2009 +0000

    gschem: Add interface to toggle a pin between net pin and bus pin types.
    
    This allows schematic diagrams of hierarchical connections to include
    buses. Since gnetlist does not currently support buses, this feature is
    useful only for diagrams, or when used with a custom netlister.
    
    Since we don't want to mislead users into thinking bus pins netlist,
    the option to set pin type is only present on the page's popup menu,
    and is marked "(graphical)".

commit 998e8546754fe2ab41a57ce112c3966190c501df
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 23:14:52 2009 +0000

    gschem: Add support for rendering and adding pins with type PIN_TYPE_BUS
    
    Bus pins are rendered thicker, and with a bigger cue than standard pins
    of PIN_TYPE_NET.
    
    This commit also fixes a bug where the wrong sized cue circle was drawn
    for net-net interconnections.

commit 6249029131003dc6191f804ea2866e9bad28ed8c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 23:13:25 2009 +0000

    gschem: Add strings to describe the mesh colour indices added recently.

commit ac5d484934d355055328d48b2c16b8ed551ca912
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Jan 2 22:14:14 2009 +0100

    gschem: deploy the new resnap mode in o_move.c
    
    If the selection contains only one element or one element with it's
    attributes then we can use the resnap feature.
    
    This functionality uses the new functions from the last commits to get
    the object position and to check the attribute/object relation.

commit 5844e01ce1eff3d756d3c77c7a6981316a098cd1
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Nov 16 13:54:28 2008 +0100

    gschem: use the new snap states to toggle
    
    The previous snap grid ON/OFF now toggles through the three states
    SNAP_OFF, SNAP_GRID and SNAP_RESNAP.
    
    Updated all status bar messages and added an "R" to the displayed grid
    if the SNAP_RESNAP mode is active.

commit 8a1b27af48d06ffe4fa2dc71a67810f7b4a71e32
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 14:17:31 2009 +0000

    Update en_GB translations for libgeda and gschem

commit 3c456a61a4a4a551545558fd3189894bfc081e1c
Author: Bert Timmerman <bert.timmerman@xs4all.nl>
Date:   Fri Jan 2 14:13:30 2009 +0000

    Updated the Dutch translations for gschem.
    
    (Patched PO file updated on 2009-01-02 by Peter Clifton)

commit fef99d7912ebc1feb4890e5babff1772f6b20703
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 04:35:49 2009 +0000

    gschem: Draw using cairo when rubberbanding objects
    
    Migrates to cairo drawing in *_draw_rubber() and *_draw_stretch().

commit 9784a9117e42632527601faef9a3ed937b718208
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 03:51:22 2009 +0000

    gschem: Ensure circles are well hinted to the grid
    
    gschem's canvas can have a fractionally different X and Y scale factor
    in some cases, which can cause misalignment of circles with other
    objects. Since logic bubbles are often placed to touch the boxes of
    components, ensuring they align well is important.
    
    The code used here is similar to that added for arcs in
    commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841

commit 88c2a580ef65de000a3e797301fd8b4f302fc2ff
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 03:29:28 2009 +0000

    gschem: Remove a redundant comment about gdk used for filling in o_circle.c

commit 7e3eacb3fb9f96b1adf707b459f0d62dd2d5d276
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jan 1 21:45:39 2009 -0500

    Fixed pin place code to draw pins (thick pins were not being drawn at all)
    
    Trying to draw a pin (white line) with zero width doesn't draw anything.
    This commit makes sure that we are always drawing pins with a min width
    of 1 if the pin style is set to THICK.

commit 6737adc47d1a2083ac432582b6b64d6aaf1b9632
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 2 00:30:06 2009 +0000

    gschem: Only add extra pixel when drawing for non-capped lines.
    
    Adding it for square capped lines resulted in visible overshoot of one
    pixel when drawing nets with square caps, so was perhaps a mistake.

commit 212b0cf870e05a105fc5a6c134b7803cf6c63c28
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 16:38:09 2009 +0000

    gschem: Use cairo for drawing when in "place" mode.
    
    Converts all *_draw_place() functions to using cairo.

commit 8ad9acc2c5ceda2b1e5f4e52461dd0f078f8122c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 16:36:31 2009 +0000

    gschem: Remove old comment from o_box.c refering to gdk drawing

commit 4c67ed93d72228e475513caaa1c5d7d593469316
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 16:27:40 2009 +0000

    gschem: Remove old code for erasing a picture by drawing with override
    
    We don't erase objects by painting to the background colour any more, so
    this old code can be scrapped.
    
    Whilst we're here (and have re-intented a large portion of this function),
    tidy up the rest of it, removing old debugging code and fixing whitespace.

commit 8eaa961a02b01133f6e96defcb9e13af60209ae9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 15:12:24 2009 +0000

    gschem: Add missing invalidate when changing to outline mode

commit 0af3c1c6285de7431075131015234e6bda42f02d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 14:51:40 2009 +0000

    gschem: Group fill hatching into a single cairo path before stroking
    
    This ought to improve performance. Since the hatch lines are drawn
    in parallel, the path doesn't self-intersect, and we can gain a speed
    increase by sending the whole operation in one go. (Self-intersection,
    e.g. in the case of a grid would slow cairo down computing the mask
    to render with).

commit dba5ef64f4425d61bf43eef5ae69d863b740edbf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 14:07:22 2009 +0000

    gschem: Adjust hinting of lines to include an extra overlapping pixel
    
    When drawing using GDK, a span of pixels being rendered in a line would
    light all pixels touched by the span.
    
    Since moving to cairo, our hinting code has rounded the line's end-points
    to land between pixels. (So cairo paints the whole pixel), however it
    means that there is one pixel less being painted (as both ends are
    adjusted in the same direction).
    
    Fix this with a manual addition of 1px as appropriate to the coordinates
    such that an extra pixel is hit for horizontal and vertical lines.
    
    This now means that a line drawn between two grid positions will acually
    be drawn on top of both of those grid lines, rather than being drawn on
    top of one, and just touching the other.
    
    Apply the offset factor (0 or 0.5px) to both X and Y coordinate pairs for
    non horizontal / vertical lines, since that gives better alignment with
    the grid.
    
    Apply the same hinting to round capped lines as to square capped.

commit 508ab0fd9a1e4317ee660bc9eba79fcb49329841
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 13:56:25 2009 +0000

    gschem: Attempt better hinted alignment when drawing arcs.
    
    gschem's canvas can have a fractionally different X and Y scale factor
    in some cases, which can cause misalignment of arcs drawn assuming the
    scale factors are uniform. This manifests because at high zoom levels,
    the center of an arc can be a large distance from the drawn stroke,
    over which distance the scaling errors magnify to give a visible offset.
    
    The other adjustment made here is rather than hinting the center of the
    arc to the pixel grid, we take the case where the arc forms a full circle,
    then find the center (in floating point screen coordinates) which would
    align the tangent of the arc at 0, 90, 180 and 270 degree positions, to
    lines hinted to the pixel grid at those positions.
    
    A 0.5px offset correction made in gschem_cairo_arc() to the arc center,
    for odd stroke width accounts for lining up the those tangents with
    the hinting which is applied to odd width lines in gschem_cairo_line().

commit ec83993b811eefd66d873f4c0f861f9cc6d9aebb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 13:51:03 2009 +0000

    gschem: Remove retrival of unused bounds during drawing

commit ac4c8346638aa2e789d93ca4d621a8522681b57e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jan 1 12:23:55 2009 +0000

    gschem: Add example schematic with diagram of how gschem buffers work
    
    Since I already drew this and it was helpful when reworking the
    object place code, it seemed sensible to check it in somewhere.

commit e375e0c2c655d2320962febfdfcbb29b9867f2d2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 19:53:38 2008 +0000

    gschem: Add cairo helper function for drawing arcs with geda semantics
    
    The angle parameters to gschem_cairo_arc() match those of start_angle
    and end_angle in libgeda's internal data-structures.

commit 217d45c0cfb9e8a5a7ea074ae70369ea42932453
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 19:52:11 2008 +0000

    gschem: Remove unused function o_path_draw_solid()

commit d7b7b23721b4054172587c9961d4b87f47bee198
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:26:03 2008 +0000

    libgeda: Remove non-private access of PAGE->object_list
    
    This allows us to keep better track of where the PAGE must be updated
    should we have any spatially keyed data-structures in the future.
    
    Rename PAGE->object_list PAGE->_object_list to try and discorage any
    use of it outside libgeda (ideally, outside s_page.c) in the future.

commit ca6556ace0a06ec1dd697852f7a1f0ffb86bfb97
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:25:57 2008 +0000

    Add "const" to some places where we deal with GLists of OBJECTs.
    
    These GLists themselves are not (and shouldn't be) modified, although
    the OBJECTs they point at may well be.

commit 15ed098497ddac2bc671657c4d4347eb509f7449
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:25:50 2008 +0000

    Refactor o_complex_promote_attribs() not to link the promoted objects.
    
    By returning the GList of promoted attributes, we allow the caller to
    use whatever specialised linking procedures are appropriate for the
    list they are linking to. For example, linking objects into the PAGE's
    object_list might in future require calling notification functions.

commit 44fba5a262c283f927f08f51966c74d62dca7988
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:24:30 2008 +0000

    gschem: Mark "Preview buffer" string passed to o_read_buffer as translatable.

commit b6377b27c45305b641eac03e697353e9ecfdcd23
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:16:29 2008 +0000

    gschem: Emit notify signal when adjusting a property in the preview widget.
    
    For correctness, kill the latent bug where we fail to emit a "notify"
    signal on the other preview widget properties modified whilst setting
    the source to preview from.

commit de01318825c08f8d62c2266b16f7e826c7d3a196
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 31 17:16:25 2008 +0000

    gschem: Ensure we don't allow the preview to load from file _and_ a buffer
    
    When setting either the "filename", or "buffer" property on the preview
    window, we g_free() the old values for filename and buffer. We missed the
    required assignment of the old value back to NULL.
    
    The code isn't strictly correct though, as when changing a property
    internally like this, we should really emit a "notify" signal on the
    property we've changed using g_object_notify().

commit 2324874f08009f431d174865d305f04736adc4eb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 29 00:09:37 2008 +0000

    gschem: Change _rubber, _place and _stretch drawing routines to not XOR
    
    Since we're using the invalidate/expose model now, there is no
    need that these functions must use XOR drawing to the screen.
    
    Just painting the desired image should be faster than XOR (which may
    require a read-back of video ram contents).
    
    Also remove the XOR against the background colour when processing
    "outline" colours in x_colour_allocate(). (Since we're no longer
    using those colours with XOR operations).

commit a29573b885273459bbf24ff68ae508d345f1037f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 15:32:16 2008 +0000

    gschem: Change direct redraws to invalidates in the move action.
    
    These were missed when changing to the invalidate / expose model.

commit d89549022d3ff8fc3e3605fb20186cc4600eef87
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 15:44:18 2008 +0000

    gschem: Remove unused device context "bus_gc"

commit 935ca0a8a6329c018d85c8b91f6a0d8deadeafba
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 15:43:38 2008 +0000

    gschem: Move code in o_move_stretch_rubberband() into o_move_draw_rubber()
    
    o_move_draw_rubber() was the only caller, and was deferring almost all of
    its work to o_move_stretch_rubberband().

commit 957c90a8ff286e6eba4f960cbbcf8ac05d24faf3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 14:52:49 2008 +0000

    gschem: Rename o_path_xor_control_lines() to draw_control_lines()
    
    Since we're using the invalidate/expose model now, there is no
    need that these functions must use XOR drawing to the screen.
    
    The function is static, so doesn't need the o_path_ prefix, so
    rename it to something simpler.

commit e167a181f295b33ffd4771f93b779023eeae948b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 14:26:14 2008 +0000

    gschem: Rename o_*_draw_xor_single() o_*_draw_stretch()
    
    Since we're using the invalidate/expose model now, there is no
    need that these functions must use XOR drawing to the screen.
    
    These routines are used to draw lines being stretched during a
    rubberbanded move operation, so name them something relevant.

commit d061b8dd35db031e43f179e700d991f63c6d2eac
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 14:26:14 2008 +0000

    gschem: Rename o_*_draw_xor() functions to o_*_draw_place()
    
    Since we're using the invalidate/expose model now, there is no
    need that these functions must use XOR drawing to the screen.
    
    These routines are just used to draw objects being moved or placed,
    so lets call them something relevant to that.

commit 0840e3d74e6289083516190e973a1c05228c6145
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 14:26:13 2008 +0000

    gschem: Rename *_rubber*_xor() functions to *_draw_rubber()
    
    Since we're using the invalidate/expose model now, there is no
    need that these functions must use XOR drawing to the screen.

commit 21cc888f59fb005d7c6b7f88fde7dec187fd5db8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 11:46:53 2008 +0000

    gschem: Ok, make the mesh grid darker again
    
    Apparently on some monitors, there wasn't enough contrast between the
    grid lines and the background.

commit 8c07fecee9fb59fc65f24b75f03b3765f032fec6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 11:40:13 2008 +0000

    gschem: Improve clarity of text rendering by turning its origin mark off
    
    The origin mark is now only drawn when text is selected, and the mark its
    self is greater than a certain size on screen. This allows us to retain
    the mark's utility in checking text is correctly aligned.

commit 6b4ffb9c7c7b635c52e018347866287a85a6ace0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 27 11:40:13 2008 +0000

    gschem: Use a lighter colour for major grid lines in the mesh grid.
    
    This makes the major squares less obtrusive on the page, whilst
    still retaining a visible distinction to the minor lines.

commit a887176190cf5a0bea019b5cdc150611edb7a603
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 21:54:08 2008 +0000

    gschem: Add actions to view menu to switch to light or dark colour scheme
    
    For now, these menu entries are hard-coded to the colour scheme files
    which we ship. It would be nice in the future (when menus are reworked),
    to add these options from a registered list of colour schemes.

commit 5031f6846f2ae9ec703bcdcd689ab4e0d87373c8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 21:53:45 2008 +0000

    gschem: Fix x_color_free() and make it free the whole colour map
    
    The previous code would have caused breakage if it were executed,
    since gdk_colormap_free_colors expects to take a pointer to an
    array of GdkColor elements.

commit 94f3f4f753e255538d1376ab9a9b334d53f0be60
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 21:53:45 2008 +0000

    gschem: Move handling of the gdk colour map into x_color.c

commit 714580df3fee12732d5e1180722f008a47aaf973
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 21:53:42 2008 +0000

    gschem: Don't define key-bindings for keys which have no-action
    
    If we do this, then when we set "no-action" to a menu item's key binding,
    the code will try to display one of the keys associated with "no-action"
    as a binding for that menu item.

commit 826676196547f44c7923e4103a0789c1e1be63ca
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 21:42:55 2008 +0000

    gschem: Remove a few unused variables from x_menus.c
    
    Removed some an debugging printf as well, which printed them.

commit c43c40260ec072e2ad31a3b42b9d5437bea2a529
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 19:24:01 2008 +0000

    gschem: Use cairo rendering for the mesh grid
    
    Since we're grouping the stroking of all horizonal lines into a
    single command, and all vertical lines into another, this has the
    potential to be drawn quicker by the X11 server.
    
    NB: If the horizontal and vertical lines were to be grouped
        together into a single path, a large slowdown in incurred
        as cairo computes their intersections.

commit d7b18c4466a1183842d8dfeae47119cb71caa8d7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 18:19:29 2008 +0000

    gschem: Remove stupid debugging message accidentally added in last commit

commit 331e1125d0847a3b9ff8bff6042fccce6befddd0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 18:17:24 2008 +0000

    gschem: Fix gschem_cairo_set_source_color to divide by 255, not 256.
    
    This not only gives a more correct colour, but fixes a large performance
    bottle-neck where an alpha value of 0xFF would lead to a cairo alpha !=
    1.0, triggering far slower translucent rendering code-paths.

commit b6e8608d5642912ce10bf29119e5c86eb91634f7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 00:36:49 2008 +0000

    gschem: Add status bar info updates when altering grid / snap settings
    
    Changes mistakenly missed from index at last commit:
    
    commit 52df0d861e880e019c7aeea71f1ed448bbed47db
    Author: Peter Clifton <pcjc2@cam.ac.uk>
    Date:   Fri Dec 26 00:18:13 2008 +0000
    
        gschem: Move update of status bar information out of the grid drawing code.
    
        For now, and in the absence of any better place to hook, just trigger this
        update explicitly when we pan or alter the grid settings.
    
    The code removing the status bar update from the grid redraw functions
    was staged and committed, but not that which re-added the updates
    elsewhere. This commit adds those updates.

commit 52df0d861e880e019c7aeea71f1ed448bbed47db
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 26 00:18:13 2008 +0000

    gschem: Move update of status bar information out of the grid drawing code.
    
    For now, and in the absence of any better place to hook, just trigger this
    update explicitly when we pan or alter the grid settings.

commit 756dd7ecceed8dc23430a5c36462c36c4244fa46
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 23:57:57 2008 +0000

    gschem: New helper function to query rendered grid spacing.
    
    The status bar contains an label which lists the current rendered grid
    spacing. We should not be forcing an update of this each time we repaint
    a portion of the grid. Introduce a helper function to ask the grid code
    what size it would end up drawing. This will then allow us to query the
    rendered grid size after zoom / grid settings changes, and update there.

commit 60460d8990af99999da2a611721bdb591a4723f4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 23:39:35 2008 +0000

    gschem: Change default grid to GRID_MESH to give it more exposure.
    
    This may be reverted later in the 1.5.x development series, depending on
    user preferences. For now, it is important to get this more testing.

commit 2dc8887523ffe603c76849a8ca3cdee055d200ce
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 23:39:26 2008 +0000

    gschem: Change grid on/off to cycle through grid modes

commit f013cb1d70d868093ad9aa3ae1e38a5c9079ecc9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 22:08:49 2008 +0000

    gschem: Add a code to draw a mesh grid with major / minor lines.
    
    Adds new configuration option (mesh-grid-display-threshold {pixels}) which
    configures the minimum line pitch rendered before switching off the minor,
    then subsequently major grid lines.
    
    (NB: This grid mode is currently not accessible.)

commit 059f1be046494e1d1171953138f259b0af90409b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 21:25:16 2008 +0000

    gschem: Separate out dotted grid drawing and tidy up the code somewhat.
    
    Creates a separate static function for drawing the dotted style of grid,
    and a switch function to pick which grid drawing routine is in use, which
    is currently just dotted grids or nothing.
    
    Adds doxygen documentation for the grid drawing functions.
    
    Renames the "grid-color" colour map index and other dotted grid specific
    config parameters to prepend "dots-".

commit e7d328775323dea2d82f9c22d431bf2740a90f97
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 20:37:37 2008 +0000

    Remove i_vars.h variables left over when removing colour index variables.

commit 165de888d86506583241dab79573e81f2cf44dd7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 15:46:09 2008 +0000

    Remove GSCHEM_TOPLEVEL and TOPLEVEL indirection for fixed colour indices
    
    Colour indices such as grid_colour and select_color are not changed at
    run-time since (by definition) those graphic elements are always drawn
    with the sepcified index. Remove the indirection through GSCHEM_TOPLEVEL
    or TOPLEVEL, and use the appropriate index constant instead.
    
    The background_color indirection remains, since swapping this is used
    to override the background to white when exporting black and white image.

commit 1843d875be92a4935c3581a1f24e7a33f8f76042
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 25 15:36:58 2008 +0000

    gschem: Invalidate region to erase damage due to stroke trails
    
    We don't erase things by painting to the background colour any more,
    that leaves drawing artifacts.

commit 88118f5d62e1655d30c4680ac0f68a89fbc1a213
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 24 20:21:03 2008 +0000

    gschem: Use new COLOR system

commit c122c32cdd82419159786720b9c2cdd82b382a68
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 24 13:21:07 2008 +0000

    Replace portions of the GDK drawing code with cairo routines.

commit 95abdb28b1ededc4a57f13627bea544c8a7fe41b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 24 13:21:00 2008 +0000

    Add a cairo context member, cairo_t *cr to GSCHEM_TOPLEVEL

commit 95a097e95de6291ccf901f6849c7246e8e04090a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 24 00:42:40 2008 +0000

    gschem: Fix the colour editing dialog to work with paths
    
    (Added missing case OBJ_PATH:)

commit 0029ee5696a4f8c0fd2a0edb64c0096792e24912
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 23 03:46:50 2008 +0000

    Fix attribute colours for embedded objects [#2157598]
    
    Add an argument, "set_color" to o_attrib_attach[_list]() to specify
    whether the colour of the attribute should be reset to the default
    attribute colour when performing the attachment.
    
    We set this to true when promoting toplevel unattached attributes
    inside a symbol onto the schematic page, when the user explicitly
    attaches an attribute inside gschem. It is FALSE in other cases.
    
    In cases where we're creating new attributes, such as o_slot_end(),
    we specify the attribute colour we want to o_text_new().
    
    Remove colour setting from o_attrib_add(), since there is no point
    having this code in two places. o_attrib_add() just deals with the
    datastructures now.

commit 51a19f38bdff7c3fa3f5656a0e9347b303a2c215
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 21:57:39 2008 +0000

    gschem: Add undo point when editing fill and line styles

commit f583363e84d42001b0abb65bf828d013f120df63
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 21:16:35 2008 +0000

    gschem: Fix light background net color.
    
    Net color was incorrectly converted to #rrggbb.

commit 9d2dea918ee72b474e11962adbd9ca6167162c14
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 22 21:02:48 2008 +0000

    gschem: Fix PNG export broken by invalidate/expose drawing model changes
    
    We need to explicitly redraw the objects to form the image, we can't
    use o_invalidate_all() as that only works for drawing to the screen.

commit c08a776a0a68a9bc89ca17089120db305fda6167
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 22 19:34:29 2008 +0000

    gschem: Expose accessors to get the COLOUR for a given colour index.

commit 56985b0d059fc0487f7b8245cad7b468e737f2fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 22 19:33:18 2008 +0000

    Change s_page_get_objects_in_region[s]() to take a TOPLEVEL parameter
    
    This is needed in case we have to re-calculate the bounds of any object.

commit 1cb0094c404926fa28cdc1968041f14b4c1e4779
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 17:59:03 2008 +0000

    gschem: Extra sanity checking for color indices.

commit 2e4ec93e8689501983a891280d8b1869901113c9
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 16:38:38 2008 +0000

    Revert "Use light background color maps as the default."
    
    This reverts commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a, and
    corrects the comments to refer to the dark background as the default.

commit 01bd6420ecad411d804f4a1a3d41af67d901ce6a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:43:17 2008 +0000

    Use light background color maps as the default.
    
    The comments in the rc files have stated for a while that a light
    background is the default. Furthermore, all the cool CAD software uses
    light backgrounds these days.

commit 619aea627a81a5621036b0a2949e774bb5cb2e6e
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:42:46 2008 +0000

    Separate display and print color map config files.
    
    We should be able to print in color using libgeda without needing
    gschem.

commit 12d9e2127329a880ed8532808635d3ffdbf46caa
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:29:51 2008 +0000

    Remove display colormaps from libgeda.
    
    Libgeda doesn't need to know about the color maps used by gschem at
    all. Add a generic function for initialising a color map to a built-in
    default, and get gschem to use it for its main and outline maps.

commit 9f5e54f022b73adb429633461ca88c81c394fd16
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:29:51 2008 +0000

    Remove (ab)use of "customary" colors.
    
    colors.h defines a number of color index index constants with color
    names (white, black, cyan, etc.) This is evil and bad, because the
    color map might actually be loaded with entirely different colors.
    
    This also adds a DEFAULT_COLOR macro, usable in most places the "evil"
    existing contacts are used.

commit a8b55895fd6833fa36ef92c6bc7c82490ea3a294
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:29:50 2008 +0000

    Remove legacy color Guile functions and variables.
    
    Remove the color-mapping functions and variables obsoleted by the new
    system.

commit 06449db86b91db91bf5d4551acc2794cf34c97f1
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:29:47 2008 +0000

    New Scheme colormap syntax.
    
    Add new color map functions for setting multiple colors at a time with
    a simple list-based structure. Use one per color map rather than one
    per color.
    
    Use a wrapper macro in Scheme to make it easier to construct Scheme
    color map structures by using symbols instead of indexes to specify
    map entries.

commit af4756b843d6da32b8355a50bf3bb1f2bee0a539
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:20:17 2008 +0000

    Store colors as components rather than as strings.
    
    Rather than storing colors in libgeda as strings or GdkColor
    structures, store them as a set of four 8-bit unsigned integers.
    
    Since the GdkColor structure is renderer-specific, remove all trace of
    it from libgeda -- only gschem needs to know about it.

commit 05c77c57cc78b0963e52a91e6f56e8005089690a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 15:20:14 2008 +0000

    Specify colors with RGB/RGBA hexadecimal notation only.
    
    Transparency (alpha channel) is used as follows for PostScript: if
    alpha is non-zero, objects are drawn fully opaque. If alpha is zero,
    objects are not drawn.
    
    The alpha channel is ignored for GDK drawing.

commit e2d6f2bfb1c24d5dfaf193dfae4aaa7cf4d0f236
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Dec 22 00:36:27 2008 +0000

    Add explicit 'enabled' field to COLOR structure.
    
    Colors are implicitly 'enabled' by having values specified in the
    configuration file. Up until now, whether a given color is enabled has
    been checked by checking if the color name strings are NULL.
    
    This patch adds an explicit 'enabled' field to the COLOR structure. It
    is set TRUE when s_color_request() is called for that color index.

commit 3c49636e1a9e9e703fab4c6aafc69affb4fd2bab
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 16:23:26 2008 -0500

    Updated ChangeLogs one more time.

commit e97e63ac7955c34f6fbd820cbdea9ea9b90e9ec9
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Dec 21 22:16:33 2008 +0100

    Updated spanish translation for libgeda and gschem.

commit 2f3e07a1fa7fd92ab163d2cd966efd98ab306512
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 14:40:21 2008 -0500

    Updated ChangeLogs again in prep for the 1.5.1 release

commit 413d46d3cbe4c21d3ec3f3e2b99d7f250f0d5ef4
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 14:34:25 2008 -0500

    Removed m4 from being distributed when building tarballs (using make distcheck)
    
    This makes gschem and libgeda's distribution of m4 the same (not distributed)

commit 76d02f7f935d930d8093bd49b7eb0836d3b1aa6e
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 14:06:17 2008 -0500

    Updated all ChangeLogs in prep for the 1.5.1 release.
    
    The update was done by running:
    ./update-changelogs.sh 1.0-20070526..master

commit 84d3b0199bec40652b1381474f7f76d7b24a6ff7
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 13:48:42 2008 -0500

    Manually ran make update-po in all the po directories
    
    This is in prep for the upcomging 1.5.1 release.

commit 680e08085d44c9876bdadef0ca7ef25b474c2006
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 13:39:29 2008 -0500

    Updated all versions to 1.5.1 20081221 35:0:0
    
    Updated by running:
    ./update-versions.sh 1.5.1 20081221 35:0:0

commit 4f9f4336a123f91318ec2d1ffd8e9739eb756348
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 13:10:23 2008 -0500

    Updated dates and versions in all man pages

commit 2c1c7ff82e5ba02c432eb9e1e9fe44ac97e5ecc7
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Dec 21 11:24:43 2008 -0500

    Added libintl.rc to .gitignore to make git status less cluttered

commit 7289597377b3a0efd00c29b5da08956b25dffafc
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Dec 21 12:32:57 2008 +0100

    gschem/libgeda: updated german translation

commit 9e9b1ab60ff8740f4039471efaa5435193d83c14
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Dec 20 18:12:46 2008 -0500

    Manually ran make update-po in all the po directories
    
    make update-po was run in prep for an upcoming release.  It will probably
    have to be run one more time before the final release is done.

commit ba3af993a28bf244f9fae7a216827c94cacf2c3c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 22:07:44 2008 +0000

    gschem: Refactor duplicated code in o_find_object()
    
    Also add documentation for this and our new helper function.

commit d0df24b4e4346327275c4e17cbeff63afeb0df4f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 22:07:44 2008 +0000

    gschem: Fix breakage in multiple-object hit select-cycling
    
    This was broken when switching to OBJECT GLists. We need to start
    our first search for objects _after_ the one we selected last time,
    otherwise we just find the same object again and again.

commit e51ce946141363fa796a8744d5600bbe3436b925
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 19:10:18 2008 +0000

    gschem: Remove visible() checks from drawing functions
    
    The expose handler, via o_redraw_rects() only calls drawing functions for
    objects which need repainting. No need for them to re-check visibility.

commit 6329c5a7bdae9573f01f92403e4645e79e66aab5
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Dec 20 14:41:05 2008 +0000

    Update copyright header dates to 2008.
    
    (And I'll have to do this all again in a few days time).

commit 0fe820aa442bba02d164832ce771932f2189d231
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:12 2008 +0000

    gschem: Make rubberbanding operations use the invalidate / expose model
    
    Introduce a new function for each rubberbanding operation,
    o_*_invaldate_rubber() which invalidates an on-screen area matching
    the area where the rubberbanding operation would paint.
    
    The actual drawing happens from the expose handler, which already
    had appropriate code to ensure any damaged rubberband objects were
    re-painted during an expose event.

commit 883bb3377a83623fe47792aabe8023c556de25f3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:10 2008 +0000

    gschem: Remove the dummy o_cue_invalidate*() functions
    
    Actually invalidate the objects which would have had their cues
    redrawn using o_invalidate() and o_invalidate_glist() instead.
    
    We're probably invalidating more than we need to in some cases,
    since just invalidating a single object will be enough to update
    any cues it is touching. We don't really need to invalidate its
    connected objects as well.

commit b64b7ce3970d819173e20578e9adf91b19179068
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:09 2008 +0000

    gschem: Replace o_cue_erase_single() by o_cue_invalidate()
    
    We don't want to be drawing anything onto the screen outside of the
    expose handler. o_cue_invalidate() is actually a NOP, since we actually
    invalidate enough around a given object to encompass redrawing of its
    cues.

commit 0a9650f1c5877d68c792f4c37bc0d47132425c49
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:07 2008 +0000

    gschem: Move invalidate call from o_move_check_endpoint to o_move_start
    
    This invalidate ensure rubberbanded objects are removed from their old
    position on screen. It is more suited to living in o_move_start() than
    a function supposed to find objects to rubberband.

commit 978a127bf1f7174fd5146371d0cbbfc6a8f2baf8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:06 2008 +0000

    Avoid and remove OBJECT variable draw_grips
    
    We can infer the required logic from OBJECT->selected, and the
    resulting code is cleaner.

commit c9b89c259334c0f310afcc1dc3fb2b752078caad
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:04 2008 +0000

    Don't ever erase grips, we invalidate things to get rid of them.
    
    Delete now unused function o_erase_grips(), along with the object
    specific routines o_*_erase_grips()

commit 111e9e78fded24189f58e420b291ba444323ac25
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:03 2008 +0000

    Remove now unused functions o_{draw,erase}_list() and o_erase_single()

commit 20b87f17855b3a0cd09b1865d661de8e039ae903
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:25:01 2008 +0000

    Changed caller of o_{erase,draw}_selected() to use o_invalidate_glist()
    
    Remove the now unused functions o_{erase,draw}_selected().

commit 4287b770933148477d613c97f7b0d60bd9236603
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:11:03 2008 +0000

    gschem: Change redraw and erase calls to invalidate calls
    
    In the new drawing model, "invalidate" calls actually specify which
    primitives or areas of the screen need redrawing. The redraw code called
    from the expose event handler then draws objects directly onto the screen.
    
    Remove the now unused function o_redraw_all()

commit 1deba1aba224cd2e87a34148949edaaeec630ed0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:10:47 2008 +0000

    gschem: Change object specific redraw calls to o_redraw_single()
    
    Makes switching redraw calls to invalidate calls more formulic.

commit c7c5a24102474d6d9c607c4592736c8f93fe090b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:10:43 2008 +0000

    gschem: Add size of grip (or cue) to invalidate and redraw regions.
    
    Adding to the invalidated region cures screen artifacts left due
    to the bounds of an object not including the area occupied by its
    rubberbanding grips.
    
    Adding to the coordinates used with s_page_objects_in_region() ensures
    that grips / cues from adjacent objects are drawn correctly when repainting
    a damaged region from the expose handler.
    
    This is a bit of a hack and could be better catered for by invalidating
    the grip regions separately from an object specific invalidate function.
    s_page_objects_in_region() would also have to return objects with grips
    or cues touching the passed region.

commit 68f782583cc41b542dc237cb9173f64ffc01ce76
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:09:57 2008 +0000

    gschem: Just redraw everything when we get an expose event
    
    Disable generation of our backing pixmap and remove o_invalidate_rect()
    calls from various drawing functions. The backingstore is straight to the
    screen, so there is no need to make that call (it causes a redraw loop).

commit c914c30f8bbb72e5d0df635947055e642b972f0b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 08:00:36 2008 +0000

    gschem: Move o_drawbounding into its only caller, o_place_rubberplace_xor

commit 87682d35b4238c7db9bbc3583a7db8313bb8577f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 07:33:15 2008 +0000

    gschem: Fix crash closing window from window-manager during move action
    
    Since the move action uses the place list for drawing, and the objects
    are still on the page, we must be careful to cancel the move action,
    otherwise when the window is closed, we try to double-free the objects
    which are both on the page, and in the place list.

commit 4afbecd9128f87980e47221b439d7292395c20bd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 07:31:19 2008 +0000

    gschem: Avoid critical assersion being triggered when cancelling move
    
    We need to set inside_action to 0 before calling o_undo_callback(),
    since that then calls o_redraw_all(). We don't want that redraw to
    think we're still inside an action and attept to draw the (now empty)
    place list. For good measure, place that call after we've cleared out
    the stretch list as well.

commit 43644681ba1486a5dec10fcfcdad36432ecc071c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 06:36:58 2008 +0000

    gschem: Add function o_grips_rubbergrip_xor() to repaint XOR objects
    
    This function will be useful to recreate the on-screen state during
    an expose event when using an invalidate / expose drawing model.

commit 94602fdc724dd31527c3ceed2092ddeee1d954e0
Author: Edward Hennessy <ehennes@sbcglobal.net>
Date:   Sat Dec 20 04:42:25 2008 +0000

    Symbols now selectable by clicking inside their shapes.
    
    This patch changes the selection behavior by allowing symbols to
    be selected by clicking inside any contained shape.  This behavior
    works for symbols with boxes, circles, and paths.
    
    Patch modified by Peter Clifton:
    
      Added m_line_shortest_distance(), (m_line.c) and make use of that
      in m_polygon_shortest_distance() rather than faking a line OBJECT.
    
      Change all o_*_shortest_distance() functions to take a parameter
      "force_solid" so we avoid having to use a specialised dispatch
      function to treat constituent primitive objects inside a COMPLEX
      as solid.

commit 3d8b3efb5a4ce8672133658ccdbe5c57d341f0fc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 03:17:31 2008 +0000

    gschem: Check for self-connecting COMPLEX before deleting. Fix #1912859
    
    Remove any references to objects inside the COMPLEX being deleted
    when we build the list of objects to redraw on screen following the
    COMPLEX's deletion.
    
    This fixes a crash observed when deleting symbols with co-incident pins.

commit c69785fe267e2cdc70e2748dfab7268fbdcc3e7e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 01:08:08 2008 +0000

    o_move_end_rubberband(): Rework creating connectivity lists. Fix #2017356
    
    We were previously making a lists of pre- and post-move connected objects
    incrementally as we moved each individual object being stretched.
    
    In some cases this meant that as we moved one object, we artifically
    changed the connectivity of future ones to be moved, making the
    resulting connectivity lists inaccurate. In some examples, the objects
    being stretched themselves appeared in the lists.
    
    We want to avoid this, since if we delete a stretched object when
    it reaches zero length, we don't want that object to be referenced in
    the list of connected objects. Since we don't want to do more work
    than necessary re-drawing affected objects on screen, it is generally
    desirable to keep the lists as accurate as possible.
    
    To avoid the problem with incremental updates, build the connectivity
    lists before and after the entire move operation for stretched objects.
    
    This alone doesn't fix the case where a stretched object being deleted
    happens to touch another to start with. We have to check when deleting
    an object for its presence in the prev_conn_objects list. We check and
    remove _all_ references to the deleted object from that list.
    
    Thanks go to Patrick Bernaud for the test-case for this very tricky to
    reproduce bug, and an initial patch.

commit fe8640898cb843b72e1c3cc01ee52c33db736ccf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 01:07:17 2008 +0000

    gschem: Remove stretched object from stretch list if we delete it
    
    When a stretched object becomes zero length when rubberbanding, we
    delete it. We must also remember to delete it from the stretch list,
    otherwise it will be referenced later, and could cause a crash.
    
    NB: This isn't the whole story.. the before / after connectivity
        lists can still reference the deleted object and cause a crash.

commit ba14128c0710a12665b07c29e74c00c55993b3d1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 20 01:05:11 2008 +0000

    gschem: Further tidying in o_move_end_rubberband()
    
    Changes a switch statement with only one active code-path into an
    if (...) { ... } clause. Should be no functional changes.

commit 20e4ffcd895f344b8124ca16990f04e9570140c0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 19 23:49:36 2008 +0000

    gschem: Tidy function o_move_end_rubberband()
    
    This function is still buggy when objects are deleted as part of
    the rubberbanding operation, but for now, tidy up the existing
    code. No functional changes.

commit 4abd473222827786c2480fa128464c7ff45448ea
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 19 23:25:48 2008 +0000

    gschem: Rename "other_objects" to "prev_conn_objects" for clarity

commit 6e8f757d3aa23219bb0259064dbed5ffa64fb341
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 19 00:59:52 2008 +0000

    Remove next/prev linking from the STRETCH structure. Use GLists instead.
    
    The PAGE now maintains a GList of STRETCH objects instead. This keeps the
    code a lot simpler and allows us to use more standard GList functions.

commit da649f4066f8ce35a1717a1d0a298fe82817a8b5
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 18 18:17:48 2008 +0000

    gschem: Make key press / release events update modifier states
    
    If a sensitive action is taking place when a modifier key changes state,
    fetch the current mouse pointer and call the action's motion handler.
    
    This allows us to see instant on-screen changes when (say) pressing the
    modifier key to switch magnetic net mode off, or between orthogonal /
    non-orthogonal constraints mode when copying or moving objects.
    
    Preivously motion was needed after pressing the modifier key to get an
    on-screen update.

commit 1d16923d30f2348184675df66e5b67e893d3c519
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 17 14:43:20 2008 +0000

    gschem: Use o_{erase,redraw}_single() not o_{erase,draw}_selected()
    
    x_dialog.c: arc_angle_dialog_response() used the selection specific
    routines where it could have just used the pointer to the OBJECT.

commit 1d7d0b9f7f0cc38a79b7e392756dcb359b61bdbb
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Dec 16 21:37:20 2008 -0500

    Increased the select-slack-pixels value to be much larger
    
    This makes it a lot easier to select objects, especially now that you
    have to click on the object itself instead of the object's bounding box.

commit 822d04bc29291979b91dd3222a27bbcb295e7b56
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 15 22:50:24 2008 +0000

    Delete references to the non-existent object type OBJ_HEAD. (CODE!)
    
    Ok, cleaned up some whitespace as well.. couldn't resist.

commit a6df3915ee452f175650c86f0074169ad6756c02
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 15 00:46:17 2008 +0000

    gschem: Rename o_*_rubber*() o_*_motion()
    
    This is consistent with the naming of the equivalent function for
    grip manipulation. These functions are called from the motion event
    handler, and the new names make that clearer.

commit 29ae53c1010c0afaa719fa2234ac0563368f05fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Dec 14 14:50:14 2008 +0000

    Roll the various o_grips_motion_*() routines into o_grips_motion()

commit ec14a2d9b48696417e3122793a71170b833de9c2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Dec 14 03:50:24 2008 +0000

    gschem: Remove un-needed GSCHEM_TOPLEVEL flag "inside_redraw"
    
    A check of where this was tested revealed that the code-paths where a
    test was present should not be hit from inside a redraw operation.

commit 2a768bee990afdb7e73a7f9c01aa0be372fd59ea
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 13 22:06:25 2008 +0000

    gschem: Don't re-invent the drawing routines in o_net_end()
    
    Use o_redraw_single() in o_net_ned() rather than replicating parts of
    the net drawing code.

commit 1a8e62cded4076f9711f86e50b1749972bc01b87
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 13 21:27:01 2008 +0000

    gschem: Empty "misc" callbacks
    
    Remove apparently left over debugging code

commit a8ae46996fe78d138e83a99744e7ade0036399bc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 12 21:01:45 2008 +0000

    Rename GSCHEM_TOPLEVEL member "backingstore" to "drawable"

commit 7b663063f659aac854f844bda40160f697f7c3ef
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 12 19:03:52 2008 +0000

    Use (rubber_visible == 0) to avoid "undrawing" invisible objects.
    
    For some operations, such as text and component placement, there is a
    gap between inserting components into the place buffer (at 0,0) and
    knowing where to draw them.
    
    This is presently handled with separate one-shot states used to special
    case the first mouse event recieved. These states are transitioned from
    as soon as the first drawing operation has been made. If we track the
    fact that no "undrawing" should take place, it's otherwise OK to use the
    same motion event handler for the first and subsequent motions.

commit 3d5fce8f9e6a1172a285dd4a49943f2b05712ca4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 12 16:43:13 2008 +0000

    Avoid crash observed when trying to undo whilst moving.
    
    Move uses the place list, and it leaves the objects in the place list
    on the page. Calling undo free's the page structure, including place
    list objects, AND page objects. Double-free / corruption -> crash.
    
    TODO: Fix move code NOT to use the place list, OR, use more
          intelligence about cancelling from move operations.

commit c24af025cba433db83db48d4b614632b2d5a517c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 12 16:08:43 2008 +0000

    Replace calls to s_conn_return_complex_others() with s_conn_return_others()
    
    Teach s_conn_return_others() to understand COMPLEX objects.

commit 7f4ec05b6812bf412ad23da67b82c9378c57aa0c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 12 15:28:07 2008 +0000

    Replace calls to s_conn_..._complex with a non-specialised version
    
    Renamed s_conn_remove() to s_conn_remove_object()
    s_conn_..._object() can then call s_conn_..._complex() as needed.

commit eca34fca24e6d29a1b42c95daee0602c452fecd6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 11 22:26:56 2008 +0000

    Revert "Remove unused "toplevel" argument to s_conn_* functions"
    
    This reverts commit b211658fcddb84828c437a65bf6bd73fcc4b1918.

commit 28e12a770b23ffbe08c994cbd98d21a581b2cd2d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 11 21:44:24 2008 +0000

    Add API s_page_delete_objects() to delete all OBJECTs on a page

commit 921a39edd130ed3bbfe83d9c39c3a9085c405d9a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 11 21:21:03 2008 +0000

    Remove function o_delete(), which just wraps o_delete_object()

commit b211658fcddb84828c437a65bf6bd73fcc4b1918
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 11 20:40:15 2008 +0000

    Remove unused "toplevel" argument to s_conn_* functions

commit ee0eaa9c885db7022b9cb5ef4ddf50b459fd92fc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 11 14:49:40 2008 +0000

    gattrib: Bump GTK and GLIB version requirements to match gschem (2.8.x)
    
    Also remove a remaining 2.4 comment from the gschem configure.ac.in

commit 38ce8aae73beec00d603e4cda0ca5eee738a3cb8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 9 19:23:22 2008 +0000

    libgeda: Abstract removing objects from the page with s_page_remove ()

commit 617797b5a47d370c4fee19110c826502b7e3082b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 9 16:19:09 2008 +0000

    Remove linkage between OBJECTs and use GList for OBJECTs on the page
    
    This affords quite a lot of code clean-up, since we no longer have to
    maintain two versions of each operation which works on lists.

commit de9c919b925ff989c3f26914e666d2e38062bfe1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 9 16:02:00 2008 +0000

    gschem: Fix memory undo not to update tile system

commit 9dd241d9f87ad78f27772e9490d3afa2a80621bf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 9 01:38:21 2008 +0000

    libgeda: Add convenience function for adding objects to the page
    
    Adds s_page_append() which links the passed object to the end of the
    page's object list.

commit 54d2fd7dc6bf09dad1d9657c5cd3635bb31e14b7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 18:57:11 2008 +0000

    gschem: Use libgeda's hatching routines for drawing hatched boxes.

commit 3b8bbb1f0e4f549ad2e366e36365e59f7657622e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 18:43:56 2008 +0000

    gschem: Use libgeda's hatching routines for drawing hatched circles.

commit 2f5b7e9d890953680caa4fa111c31a0be4123d97
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 17:16:20 2008 +0000

    Adjust MINGW32 specific CFLAGS from the suite
    
    Console applications should not build with the -mwindows flag, otherwise
    output reach the console. Conversely, we should build the GUI apps, gschem
    and gattrib with -mwindows so they don't bring up a console window when
    running.

commit 939998b8b4f6742814910a043778962f4654d5a9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 17:15:20 2008 +0000

    Use solid painting, no XOR to draw path control lines when erasing.
    
    When the override_color is set, we are likely to be erasing the control
    lines inside o_erase_single(). To avoid leaving artifacts, don't use
    the XOR drawing context in this case.

commit d8f1aa4780edaee8b4552a7fd942126a07464b6d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 16:44:53 2008 +0000

    Add support for drawing curved paths with GDK

commit c01757cd814e7c92cb4c64a6e134aa670b9750d1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 8 16:29:11 2008 +0000

    Add rendering code to draw hatched fill in paths

commit 0545db388236ea7a7aaa49d8911ad96481b4978e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Dec 7 17:33:46 2008 +0000

    Remove some old comments better explained in commit history
    
    Comments annotated with a dates and developers initials clutter the
    code with historical details people may be reluctant to remove. Not
    all of these are still relevant, and those which are should probably
    could be kept in such a way as not to suggest code ownership. The
    commit revision log is a better place for determining authorship.
    
    Fix some whitespace in surrounding areas where I couldn't resist.

commit 3f607ec3eefd9477d277747be089ac94e5afbd57
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Nov 24 01:35:02 2008 +0000

    Use g_get_home_dir() if we can't find the HOME environment variable.
    
    NB: We can't just use g_get_home_dir() on its own without changing
    semantics. g_get_home_dir() prefers the home directory specified
    in the passwd file, over $HOME, so we try looking for the HOME env.
    variable first.
    
    BUT: some places in gEDA do just call g_get_home_dir() directly.
    Ideally we should tidy these up to be consistent at some point.

commit cc1d5ae1489b4534ae485cdea4df0815663dcb1d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 23 17:30:37 2008 +0000

    gschem: Update EXTRA_DIST list in gschem/tests/Makefile.am
    
    Remove reference to deleted schematic ext_chars.sch, and added new
    schematics net_selection.sch and geda_fonts.sch
    
    Reformatted list to one element per line, so future diffs will be
    easier to view.

commit d2ab7cfcc4dd21e06a3d2e9ac6d756b7968c0b7a
Author: Dan McMahill <dan@mcmahill.net>
Date:   Tue Nov 18 22:33:45 2008 -0500

    Use the SHELL variable to locate a shell for icon-theme-installer
    
    /bin/sh on some systems like SunOS (solaris) is too broken but in those
    cases SHELL is typically set to a functioning shell like /bin/ksh.  This
    repairs the install on "shell challenged" systems.

commit 70bf7f8e7470d9962af920553b2e858db0d95938
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Nov 17 20:23:26 2008 +0100

    gschem: fix select state when double clicking an object
    
    After the o_edit() call in x_event_button_pressed() the state is
    STARTSELECT.  If a MODAL dialog is called (arc or change picture) the
    state will will still be STARTSELECT after closing the dialog.
    
    This state turns into the MOVE state right after the dialog is closed
    and the first motion is done in gschem (x_event_motion()).
    
    This is not correct. The state needs to be reset to SELECT right after
    the o_edit() call.

commit 9b2b755a4cc07a5de15ea88794e78612b0d2ca00
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Nov 16 17:35:46 2008 +0100

    created a new test file for all font characters

commit 8ba14774f506f7b2143f0caf74ae3eba42504930
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Sat Nov 15 12:41:09 2008 +0100

    Invert assertion added in bbe251bc64ed2db2976a26116d22a69fe678b9fd.

commit 27fc407b656e2996e31922be1352eea21de85422
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Nov 9 18:21:09 2008 +0100

    updated text and alignment test schematic
    
    Added all kinds of overbar and tabulator tests.
    Use multiline text for all alignment tests.

commit 75f53b0b7a1a2859a604b70dfecc6a439b8b57da
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Oct 29 22:37:13 2008 +0100

    gschem: replaced fnameext* functions with glib functions
    
    Removed the functions fnameext_get, fnameext_remove and fnameext_add.

commit 8801ff019dc2ccc64a3dd7367b65e7ea6ce5229e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:37:08 2008 +0000

    gschem: White-space update in x_complselect.c for consistency
    
    Mixed tabs and spaces are driving me nuts, since I don't default to
    having tabstop=8 in my editor. This file was pretty good before, but
    recent commits mixed in a load of tabs.
    
    I've also changed call instances to "func (args);" white-space,
    since the majority of this file already used it.

commit c785af63a4d32adeaa7912a4559381d8daefde18
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:37:02 2008 +0000

    gschem: Allow attribute value column in component selector to shrink
    
    Symbols with long values are common, and we don't want having viewed
    those to force a h-scroll-bar on symbols with short valued attributes.
    
    If we don't allow them to shrink, the columns retain the width of the
    largest item they displayed, and we often get stuck with a scroll bar
     after displaying components with lengthy attribute values.
    
    When updating the model, invalidate the column width for the attribute
    value column so it is re-sized based on the new data being shown.
    
    We might also consider invalidating the attribute name columns,
    however that gives an inconsistent column division when swithing
    between symbols, which doesn't look nice. For now, assume that
    the name column can keep the max width gained whilst previewing.

commit dab769968c3b65d5b28b6ae26996ddc8b4e311fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:36:56 2008 +0000

    gschem: Use an enum for column numbers in the compselect attrib preview
    
    This avoids the need to use magic constants in the code when we refer to
    a particular column by number.

commit 8a53e426c09ee25c1ce1e1c720d408662374c04b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:36:50 2008 +0000

    gschem: Adjust padding in component selector dialog box.
    
    Make the preview and attributes windows the same size as the
    library notebook on the left, by avoiding adding a border to
    the GtkVPaned control.

commit c5db389c6f104e22ab486451283b2fe94faf2606
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:36:45 2008 +0000

    gschem: Don't override GtkDialog default positioning in compselect dialog
    
    The old code explictly overrode the window positioning hint set by the
    GtkDialog (GTK_WIN_POS_CENTER_ON_PARENT) to GTK_WIN_POS_NONE.
    
    For people with multi-screen setups, the GtkDialog default is
    probably a better choice. We might in the future consider
    GTK_WIN_POS_MOUSE, where the windows appears at the current
    mouse position.
    
    In either case, this only affects a user's inital usage of the
    dialog as its geometry is saved to disk for later re-use.

commit 2f6e297d4ef9b5104675081a4066503779695b9d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Nov 5 00:36:39 2008 +0000

    gschem: Don't reset default properties on the component selector widgets.
    
    There is no point setting GtkWindow or GtkDialog properties when we don't
    actually desire to rigidly specify those parameters. The removed settings
    are all defaults within GTK.

commit 811233695be6f5d58ba576054d9763be11c6aa4c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 2 15:25:46 2008 +0000

    gschem: Take copy of "TMP" environment variable with g_strdup()
    
    It isn't gauranteed that the result of getenv can't get modified at
    some point after the call (e.g. by another call to getenv), and testing
    of the mingw32 port has revealed that the returned string was getting
    corrupted at some point.
    
    Take a g_strdup() of the string immediately, so we don't have to worry.
    
    Since capitalised variable names should really be reserved for #define'd
    constants, rename "TMP" to tmp_path.

commit 8628c10167df204222d77b4f18e550f7486aa2a1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Nov 1 20:51:36 2008 +0000

    gschem: Use gdk_display_warp_pointer() rather than an X11 specific call
    
    Fixes bug #2212753
    
    gdk_display_warp_pointer() was added in GTK/GDK 2.8, and allows
    greater portability to other platforms supported by GDK.
    
    Remove the unimplemented "relative" option to x_basic_warp_cursor()

commit f470af7a28afe423ded6171ea3c8a2b31ff56f43
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Nov 1 20:47:41 2008 +0000

    Revert applying -Werror to compiler flags when linking with GCC (CODE!!)
    
    Depending on the gcc version, the original developers might not see the
    warning until the software gets into the end user's hands (and tries
    building it with an older/newer version of gcc).  Most warnings are
    not catastropic, but by using -Werror they are _all_ catastropic.
    
    If a developer wants to get rid of all warnings, they should either:
    
     1) run make -s and see/fix all the warnings, and/or
     2) modify the Makefile's themselves and add the -Werror flag temporarily.
    
    (Comments explaining rationale snipped out of an email from Ales).

commit 09eacbfb36e2b00758bce8d8add2f8f56cdcfdbb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Nov 1 16:09:26 2008 +0000

    Use -Werror when building with gcc compilers.
    
    Hopefully this will help to ensure compiler
    warnings get noticed and fixed by developers.

commit ab3e5337562359df11e8b679096574b2c01fdbc7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Nov 1 16:09:26 2008 +0000

    gschem: Fix more non-literal format strings which cause compiler warnings.
    
    We should be careful to avoid passing arbitrary strings into functions
    which take printf style arguments. In that case, always use the construct
    ("%s", string) rather than passing string as the format argument.

commit 333c7bc53e05e1c024486b8191b8f7031f0f506e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Nov 1 00:42:24 2008 +0000

    gschem: Check for visibility / toplevel->DONT_REDRAW in o_path_draw()
    
    These test were mistakenly removed in
    commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402

commit 1aab94354f053887db67aa5702abc595795dfe82
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Oct 29 12:14:19 2008 +0000

    Define select_func only in libgeda.
    
    Importing definitions from linkees breaks when linking libraries on
    Windows.

commit 79da8125fa7ac7a005710ed2a6340004a66402a5
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Oct 28 19:40:04 2008 +0100

    gschem: removed unsnapped arc modification special case
    
    When using the grips to modify an arc, then always unsnapped coords
    have been used. There two reasons to remove that:
    
    * it's a special case that is not neccessary as the user can easily
      switch off the snapping to get the unsnapped behaviour
    
    * with snapped arcs it's easier to draw 45° and 90° arcs

commit fba1fe91258e62ad0d5ffd685adad93336542e30
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Oct 28 19:38:52 2008 +0100

    gschem: use the arc dialog to modify arc objects
    
    Using edit->edit now raises the arc dialog. The properties of the arc
    can be modified and applied. The arc needs to be the first or only
    element of the selection list.

commit 91cef383fbeaa0f48afe404f15ac39009f41fda7
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Oct 27 20:59:47 2008 +0100

    gschem: added radius to the arc angle dialog
    
    Now you can set the radius, too, when creating an arc.

commit cee5dea44626c4e442fc02841c26c8f3951817b7
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Oct 26 23:42:48 2008 +0000

    gschem: Initialise color combobox from current selection.
    
    This (rather necessary) feature was unfortunately missed out in
    219f5d708fbe5e26f77808bb08810b96dfa984eb.  Ideally, of course, the
    combobox constructor should be passed the color index to initialise
    itself with rather than poking global state, but for now let's just
    get it working again.

commit 986bb906bbac1198c5f8b3ae507aab84d49fb3c9
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Oct 26 20:10:02 2008 +0000

    gschem: Re-arrange component selection dialog.
    
    Most people have monitors which are wider than they are
    tall. Therefore, it makes sense to allow them to have wide, short
    dialog boxes.
    
    This patch moves the component selector attribute treeview to share
    the right-hand side of the dialog with the preview widget.
    
    Signed-Off-By: Peter Clifton <pcjc2@cam.ac.uk>

commit cd01bc7d056983beb3957618cdc7557af2d40c8e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Oct 26 20:07:12 2008 +0000

    gschem: Add missing header file gschem_defines.h to Makefile.am
    
    Missed this when splitting out gschem_defines.h

commit d99fb5c1cebfed26e027b134ebf2a4c3a0d524bd
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Oct 26 17:51:54 2008 +0000

    gschem: Put color swatches before names in combo box cells.
    
    It's easier to associate names with colours with a smaller gap between
    them. (Yes, this will work properly for RTL locales).

commit 2d2d9d90d07080ed18a899dcccc34e99c83a7402
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Oct 26 10:42:58 2008 +0000

    Add place-holders for printing paths with different line / fill styles
    
    Currently, paths are always drawn with a solid stroked outline, and
    only solid filling is implemented.

commit bcaf9f8dafcd25335b61b2ea80d071bde720bbd1
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Sun Oct 26 10:41:31 2008 +0000

    Use pkg-config support for Guile if present.
    
    Using pkg-config allows easier cross-compilation, since the build
    process can use a pkg-config binary native to the build machine with .pc
    files for the host machine.

commit 690c85d16d63e5350ce67f4f045cfbc8bb10e8aa
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Oct 11 11:11:30 2008 +0200

    gschem: save configuration of component dialog
    
    Save the position of the vpaned widget in the dialog configuration
    file.
    
    (added static function definition suggested by Peter)

commit 90413c7fe36fe73d9ab93a7ceadc0debe2b840ee
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Oct 10 10:41:26 2008 +0200

    gschem: show attributes in the component select dialog [#1444029]
    
    gui code to show the attributes in the component select dialog. The
    attributes are taken from the TOPLEVEL structure of the preview
    widget.
    
    The attribute treeview is only created if the GList of the attributs
    is not empty and the attributes are only updated if the treeview is
    present.
    
    Added an option that will print all attributes in alphabetical
    order. To do that the first element of the option has to be and "*":
    (component-dialog-attributes '(*))

commit 0d1615ffc21c995ddc554a407941230eb1ea6677
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Oct 8 20:10:41 2008 +0200

    gschem: configs for the attributes in the select dialog [#1444029]
    
    configuration code to get the attribute list for the component select
    dialog into gschem toplevel structure.

commit 2e83bf2b37e093578088eef616e15ee361e85199
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Oct 25 20:01:50 2008 +0100

    Remove legacy PNG color specifications.
    
    The configuration files provide a way of specifying colors for PNG
    output, but these are never used -- the PNG output just uses the same
    color map used for on-screen display. Remove the redundant
    specification and associated data structures completely.

commit bbe251bc64ed2db2976a26116d22a69fe678b9fd
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Oct 25 18:57:16 2008 +0100

    Get rid of s_color_get_index().
    
    This function is very clearly the Wrong Thing, and could potentially
    result in incorrect color indices ending up in schematic files if two
    or more color map entries have the same value.
    
    This patch removes the function entirely, and modifies the Scheme code
    which uses it to simply pass color indices around instead. Note that
    the results of s_color_get_index() were never actually *used* in the
    existing code.

commit f63b79f3483b54a064a2bb74f8355d28232e78fd
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Oct 25 18:17:25 2008 +0100

    gschem: Add missing break statement.
    
    Break statement was missed in commit
    405f5ac08806c0e7d6c91e8881182b0bdfa5838b.

commit 219f5d708fbe5e26f77808bb08810b96dfa984eb
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Oct 25 17:10:53 2008 +0100

    gschem: Show colour swatches in color selection combobox.
    
    Rather than color names, show the color itself. Also hides color
    indexes from view, as if users need to know about these during
    day-to-day normal usage of gschem then we're doing something very
    wrong.

commit 405f5ac08806c0e7d6c91e8881182b0bdfa5838b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Oct 25 17:10:50 2008 +0100

    gschem: Translate color names.
    
    Make the color map names shown in the color selection dialog
    translated. Also add the net junction color to the lookup table.

commit 2a4fdb13021d0153e788fe3b2fc005f273dcdf4b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Oct 21 16:52:09 2008 +0100

    Validate calls to scm_c_eval_string(). [2105219]
    
    Because the reporter's version of Guile is broken, a lovely garbage
    collector segfault occurs if a null string is passed to
    scm_c_eval_string().
    
    For now, wrap all calls to scm_c_eval_string() with mutable arguments
    in g_scm_c_eval_string_protected(), and since the latter function
    seems to behave when passed a NULL string this bug should just go
    away.

commit 87a19a19e52a37f8ad14ae0c4c68f3292b0c3285
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Oct 11 16:21:34 2008 +0200

    gschem: redraw empty preview on configure events [#2159047]
    
    If the preview widget contained an empty page, the redraw failed. In
    the preview_event_configure() function the function a_zoom_extents()
    returns without drawing if there are no objects on the page. Thus I've
    added a complement logic to redraw the background of the preview if
    required.

commit f76f82985f325d436e3522359a5b3f7d0a2344ea
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Oct 11 13:13:36 2008 +0200

    gschem: prevent hierarchy symbol down there's file [#1861665]
    
    Only try to load real existing files.

commit f0a96de8b545dbd900e87db6abf54a0b6df830ab
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Oct 11 09:02:03 2008 +0200

    .gitignore: log files and source tagging files added
    
    Added the files of the "global" source tagging program
    and the logfiles of the gEDA programs to .gitignore.

commit f5205cdb145a423012f446b16d0211005b55695e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Oct 8 19:54:55 2008 +0100

    Cleanup whitespace errors introduced in last commit
    
    (Introduces toplevel convenience variable to cut down on line lengths)

commit 7e6e166d3f594ee822ef615e8766a3f712b5f80c
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Oct 5 15:54:18 2008 +0200

    gschem: suggest a filename in the saveas file dialog [#2001387]
    
    If a schematic is saved the first time, put a suggested name
    ("untitled.sch") into the file saveas dialog.

commit f58328ec7a4d445b98b67a63b23647f25ae7bb4c
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Oct 5 10:01:03 2008 +0200

    gschem: code and test file for the net selection patch
    
    This commit adds the main functionality to gschem. The new function
    o_select_connected_nets() will select nets depending on the configured
    net_selection_mode and the current net_selection_state.
    
    The implementation uses two stacks for traversing the connections. The
    netnames stack contains all connected netnames and the net stack
    contains a collection of all currently collected nets.
    
    Note: The search for the netnames is very expensive, because of the
    required search of all netnames in all objects.
    The default net_selection_mode in system-gschemrc is set to "enable-net",
    only the directly connected nets are selected.
    
    The functionality can be testet with the test schematic
    tests/net_selection.sch.
    
    This patches are based on the work of Franz Mottas [1895538].

commit d0c0a23543aaa266a63799d4decff58768cf961b
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Oct 5 09:58:29 2008 +0200

    variables and configuration for net selection patch
    
    The net selection lets you select all connected segments of a single
    net segment. The behaviour can be configured with the net-selection-mode
    variable in system-gschemrc.
    
    This patch is based on the work of Franz Mottas [1895538].

commit 392dd3354812e812f548eadac2c83d8430acd7bf
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 29 01:19:39 2008 +0100

    Remove conditionally compiled code for GTK/GLIB < 2.6

commit 2b36577f5634ff99e919773c4e34aa2e39dbce51
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 28 14:09:50 2008 -0400

    Added code to do something more sane when trying to print tabs
    
    Previously if a tab character was encountered in a text string, the
    postscript output code would output a Y with a dot on top.  This is
    clearly not a tab character.  The patch adds explict handling of the tab
    character to output 8 spaces instead.  Not perfect, but better behavior
    than before.

commit c9f4ae9298141915f11214d6339c4d9a27bb3eee
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 28 18:40:55 2008 +0100

    gschem: Add ./configure support for detecting and disabling cairo
    
    Since some users might not have cairo installed, and the intention
    is to retain support for the old GDK drawing code (for now),
    --disable-cairo is added to allow conditional compilation.

commit 9d9d09b0bddba85b5712cb063f3a6b806550cb3b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 28 18:40:55 2008 +0100

    gschem: Bump minimum GTK / GLIB version requirement to 2.8
    
    This is needed to enable the use of cairo rendering functions.
    
    Remove AC_DEFINE for HAS_GTK24 since it isn't used. Switch configure.ac
    variables such as GTK24_... to use just GTK_..., since we don't need to
    specify the version in those. It just makes bumping the version harder.

commit 900274f0d6b08031f7cfc18a332da6b1939a44d1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 28 18:40:55 2008 +0100

    Fix non-literal format strings which cause compiler warnings.
    
    We should be careful to avoid passing arbitrary strings into functions
    which take printf style arguments. In that case, always use the construct
    ("%s", string) rather than passing string as the format argument.
    
    Some cases were fixed by using g_strdup instead of g_strdup_printf(),
    some simply replace printf() for puts().

commit d424abcf4e93934fd6268d9cb186f7415e0e83c2
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 28 13:21:42 2008 -0400

    Removed unused OBJ_ROUTE and OBJ_THRU_HOLE object types

commit 2550db8e1d981ccab55b7f2ae6e9932198a53b59
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 28 01:03:06 2008 +0100

    Make o_..._add() into o_..._new() which don't link the new OBJECT.
    
    Allows cleaner use of objects where we might want to insert the object
    into a GList rather than a self-linked list of OBJECTs.

commit b74ce15668b87380fb348a94aab6452eba6f5551
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 27 22:58:09 2008 +0100

    Use g_return_if_fail to exit o_drawbounding() if called with a NULL list.
    
    Function previously returned silently, lets log this as an error
    condition if it should happen.

commit 853f1ef289fb7ebd7406ede1e48940a07772a756
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 27 22:50:20 2008 +0100

    Remove some commented out code in x_window_create_main () (CODE!)
    
    Tidyup where the window used to be painted black at startup.

commit 0f93a4b4d52da6c7c34c6420cdb93263d5b5bbdc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 27 02:03:13 2008 +0100

    Make use of new object invalidating API to avoid duplicated code.

commit 04774120c0ab1701e10fcc2709cd3a9963d0a54f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 27 02:00:47 2008 +0100

    Add API for invalidating drawing of a given object or list of objects.
    
    Avoids needing to lookup and pass bounds of an object being invalidated.
    
    Adds:
      void o_invalidate_all (GSCHEM_TOPLEVEL *w_current);
      void o_invalidate (GSCHEM_TOPLEVEL *w_current, OBJECT *object);
      void o_invalidate_list (GSCHEM_TOPLEVEL *w_current, OBJECT *list);
      void o_invalidate_glist (GSCHEM_TOPLEVEL *w_current, GList *list);

commit 1fffc27a3b62cc32a70edcc1ee89ff458318c6bc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Sep 26 00:57:52 2008 +0100

    Add support for arbitrary paths (filled and unfilled)
    
    The data-structures and on-disk format (which utiliseSVG style path
    strings) support stright line and bezier curve segments. Paths can be
    closed or open, and store line style and fill information in common with
    other geda objects.
    
    The path string parser is based on (slightly modified) code from librsvg
    version 2.22.2 (LGPL). Code from rsvg-path.c and rsvg-bpath-util.c
    (Copyright (C) 2000 Eazel, Inc.) was combined to form libgeda/src/s_path.c.
    These have been modified to use gEDA defined path data structures.
    
    The rendering implementation is based upon a small porion of the function
    rsvg_cairo_render_path (..) from rsvg-cairo-draw.c
    
    The parser still retains support the full richness of SVG path strings,
    although all instructions are subsequently normalised on to move, line, bezier
    and "close path" records. This support retained for convenience when entering
    artwork (which can be copied from an SVG editor). When saved, normalised paths
    are written out.
    
    The current rendering and shortest-distance computations are limited to
    straight line segments. Bezier segments, where encountered are treated
    as a straight line between their two endpoints.

commit e9f4a9a4bb05bc554e165b2215f8e7358b2315de
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Sep 26 00:57:44 2008 +0100

    Move some static variables inside o_grips.c to GSCHEM_TOPLEVEL
    
    This is necessary for grip manipulation of more complex OBJECT types
    such as the forthcoming PATHs. As the entire drawing state can't of a
    path can't conveniently be stashed in the GSCHEM_TOPLEVEL variables
    such as first_w{x,y}, second_w{x,y} etc., we need to reference the
    OBJECT and grip being manipulated from the drawing functions which
    are outside o_grips.c.

commit ec2e929742bb682be52d02818916b1f57c343e48
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 24 01:07:37 2008 +0100

    libgeda: Set complex_parent on all prim objects, not just their HEAD node
    
    Allows a primitive object inside a COMPLEX to be linked back to the
    COMPLEX without traversing to the HEAD node of the prim_objs list.

commit b14f3bf215963529b89f650ff3bd6f0b0c90450f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 24 00:57:57 2008 +0100

    gschem: Don't add invalid attributes to the multiattrib dialog list
    
    Since we can't edit them, don't treat them as attributes.
    
    Gschem validates attributes upon creation, so an invalid attribute
    attached to an object must come from a hand-edited file, or a text
    object which has been attached to an object. (Validation that the
    text item is a valid attribute isn't performed in that code-path).
    
    In the future we might want to add validation of attributes at
    file-load and at before attaching text OBJECTs to a COMPLEX.

commit acb96234eed1e51ab22b17cd718d5f627d292a96
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 22 02:05:14 2008 +0100

    gschem: Fix left/right scroll events to move the schematic left/right.
    
    Commit which broke this was 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e.
    
    Looks like I broke the behaviour when I refactored the x_event_scroll()
    to support a more "gtk" style modifier binding as well as the classic
    gschem behaviour. The refactored code inadvertently lumped up/down and
    left/right scroll events together as if they were up/down events.
    
    Up/down scroll events retain their existing behaviour and act according
    to the (scroll-wheel "{gtk|classic}") configuration setting. Left/right
    scroll events now always scroll the schematic left and right,
    irrespective of modifier key.

commit 45efb32383b15576cc98a95e1d93d44793e6f2e8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 22 01:54:24 2008 +0100

    Move calls to attribute promotion code from inside o_complex_add()
    
    Previously o_complex_add() would perform attribute promotion or delete /
    hide eligible attributes depending on the "attribute_promotion" argument
    passed to o_complex_add(). Break these into separate operations:
    
    1. Get / add to OBJECT list, a single complex object with o_complex_add().
       This object has its prim_objs exactly as the symbol exists on disk.
    2. EITHER:
         Promote the eligible attribtues with o_complex_promote_attribs().
         (For GList based processing use o_complex_get_promotable(), attach
          the returned objects as attribs and place in the appropriate GList.)
       OR:
         Delete / hide eligible attributes with
         o_complex_remove_promotable_attribs()
    
    All behaviour relating to attribute promotion should be identical after
    this commit. If not, it is a bug should be reported. (This includes the
    insertion order of the OBJECT and it's attributes into the object list).

commit 9993a0c13cc1b1aa5bb0c61a7355e89cd8f37fca
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 17 19:33:03 2008 +0100

    Remove un-necessary use of o_list_search()
    
    g_make_attrib_smob_list() and o_attrib_return_attribs() are passed the
    object they are operating on directly. There is no need to prove it can
    be found in the object list as well.

commit 1745bca0359488bb6f8bd06d84f7ae952e48d665
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 17 19:24:59 2008 +0100

    Remove unused TOPLEVEL variable object_parent

commit 7baf5c629eb620e7db9b3fa5837cc07bdfe29f4f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Sep 11 21:36:35 2008 +0100

    libgeda: Tidy o_attrib_attach() harder
    
    Remove searching in parent_list for the attribute we're about to attach.
    This check isn't needed, we were passed the attribute as an argument.
    Let the caller be responsible for making sure it is linked into the
    appropriate object list.

commit 29010f3c07076c31eaaf39a0209b6b9e8cd7cadd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Sep 11 18:34:35 2008 +0100

    Use gtk_window_set_transient_for() not a GObject property. Fix #2075842
    
    Revert part of the changes made in 1aaf6613a7c6991d858c1143ed3917675a115a5a
    
    Author: Patrick Bernaud <b-patrick@wanadoo.fr>
    Date:   Fri Jul 25 17:52:40 2008 +0200
    
        Move selection monitoring out of the multi attrib widget.
    
        Reinstated the 'object' property for multi attrib widget in place of
        the 'selection' one: the widget does not have to mess with selections,
        it is only interested in objects. Moved the selection watch stuff
        outside.
    
    This commit changed an unrelated setting from using a widely supported API,
    to a GObject property only introduced in GTK+ 2.10. Changing it back now!

commit b4ed5e92d203c7449b7d33e924a41b093e1de930
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Aug 26 12:55:07 2008 +0100

    Remove duplicate definitions of do_logging.
    
    Also sets the default in libgeda to TRUE.

commit 6a7ab649d6f77ccab9be7f3562197c2d15d92ee7
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Aug 25 18:39:22 2008 +0100

    gschem: Tidy list of source files.
    
    Purely for readability of the Makefile.am.

commit a974a4c6d2c233c9209c5b4597f7d4f86154f484
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 24 22:27:28 2008 +0100

    Remove default-series-name from all rc files
    
    Fixes brokenness leftover from previous removal of "series_name".

commit 9a54c6de1fa6af39ec97b8bb0cd1a251094ad3f1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 17 01:34:20 2008 +0100

    Only explicitly switch object types which are "special" in o_move.c
    
    For other objects, which should use the default move action, use the
    "default:" construct, rather than explicitly listing them in
    "case OBJ_...:" statements. This makes adding new objects types simpler.

commit bcda75d109f12bc4d763bcaa05c08cbf3f0451c1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 17 01:33:56 2008 +0100

    Remove some unused #defines from o_text.c

commit a19feb2bf0e13ad3d030dfbb126a2b0558db6add
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Aug 16 22:28:52 2008 +0100

    Bring back default Postscript filename.
    
    The print dialog has recently stopped providing a default filename for
    the Postscript output, due to a regression introduced in
    a3513b7e6dc7bf6c36d95d4da86082beeb79831d.

commit 1a1460c65a9d4e0aee35e39fff0f083c95bd380d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 19:18:24 2008 +0100

    Remove the ATTRIB struct as it only contained one variable.
    
    The OBJECT.attribs GList now points directly at the text objects which
    hold and display the attribute name and value.

commit 2fe94f7887ccf4b990bb285fc9def966ce857e0b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Aug 16 18:32:53 2008 +0100

    gschem: Use accessors to get/set TEXT strings.
    
    Don't access the TEXT struct directly.

commit 6718a8d2187b4a871051eee299cef8bbbef02280
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Aug 16 18:10:53 2008 +0100

    gschem: Pass dialog to multiattrib treeview data funcs.
    
    The cell data funcs for the multi-attribute editor dialog's treeview
    need to have access to a libgeda TOPLEVEL to be able to use
    o_text_get_string(). The obvious thing to do is to pass in a pointer
    to the dialog (which contains a pointer to the GSCHEM_TOPLEVEL, etc)
    as the user data pointer.

commit 0865651615cf79b1392c34381cbee3095faa5a01
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Aug 16 16:47:10 2008 +0100

    gschem: Fixup installation of drawing callbacks.
    
    Now libgeda properly declares them, can just set the function pointers
    in gschem's initialisation function.

commit 1bfa2bacae85a59758c6b6ddb16bc62362b9ac7e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 15:48:00 2008 +0100

    gschem: Add #define LAST_DRAWB_MODE_NONE -1
    
    This flag will be used to indicate that the bounding box was not drawn
    onto the page at all yet.

commit 288d9e67af83f03534398319d0e8ad16fa631fb0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 15:48:00 2008 +0100

    Move gschem defines from libgeda into gschem/include/gschem_defines.h
    
    Whilst we're at it, remove some unused definitions.

commit 80f19b131300110c67d332193959e33f230f0b1d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 15:47:59 2008 +0100

    gschem: Create new include file, "gschem.h" to various gschem headers

commit a27996354d61af13a4f0a1eed2db4b979b7f148f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 15:47:59 2008 +0100

    gschem: Pass GTK's CFLAGS into GSCHEM_CFLAGS. Don't rely on LIBGEDA_CFLAGS
    
    libgeda really shouldn't be pulling in GTK, so we need to do it properly
    ourselves.

commit 2e87904a34cd5ad58bc8a9511dd5915adf9df405
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 16 15:47:58 2008 +0100

    libgeda: Rename gtk_[outline_]color variables gdk_... to their types
    
    Also added NULL initaliser for gdk_outline_color which was missing.

commit 11a2692a1ab8bcee14178286fd719d1ec39e6b9a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Aug 16 15:24:16 2008 +0100

    Draw func cleanup.
    
    Rather than having libgeda require other applications to provide the
    *_draw_func symbols, libgeda should provide them itself. Other
    applications should then override them as required near their call to
    libgeda_init().

commit 62a38eefd8d3d9f84d8aeb78e2a1e365080d819c
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Aug 15 22:48:11 2008 +0100

    Make some string arguments const.
    
    In a few places, strings are being passed into functions and no
    changes are made to them. Mark these arguments as const.

commit 11fa9b447a32bbee93734628233f6ca5b807c740
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 15 12:36:53 2008 +0100

    gschem: Only add nets and buses to the stretch list. (CODE THIS TIME!)
    
    Only nets and buses are rubberbanded, so there is no point adding other
    connected items (such as pins) into the stretch list.
    
    This fixes a bug where pins attached to nets being moved disappear if
    the user pans whilst moving. (The objects in the stretch list are marked
    "don't redraw" when starting a move operation.)
    
    To avoid nesting (yet another) huge "if" clause in the length of the loop
    in o_move_check_endpoint(), the loop has been re-written as a "for" loop
    to ensure its iterator is incremented when the loop is "continue"'d.
    The various nested : if (test) {...}          // wrapping the loop's core
    are now:             if (!test) continue;

commit 25c4e8e0a45dbe9abe664be23240eafd903e7814
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 15 11:26:26 2008 +0100

    Check toplevel->DONT_REDRAW before redrawing text
    
    There is no point in trying to draw text if it is not wanted on screen.
    Rendering of the underlying line-segments would just be stopped anyway
    in o_line_draw(), where there is also such a test.

commit 675738b3b7a0c37e3511297040c3abc59619dd0c
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 14 23:27:12 2008 +0100

    libgeda: Hide o_*_recalc() from public API.
    
    Applications which wish to force recalculation of an OBJECT's bounds
    should use o_recalc_single_object().

commit 8f1a084c1e26cc08cdab08a1c44e7e802cbdbec8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 14 23:27:12 2008 +0100

    libgeda: Hide world_get_*_bounds() from public API.
    
    Applications which wish to retrieve an OBJECT's bounds should use
    world_get_single_object_bounds().

commit a504567fa312888bd3e467f01f68eadaf6c0440d
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Aug 14 18:45:47 2008 +0100

    gschem: Add 1.6 compat. for scm_from_locale_symbol() [2051731]
    
    The new Scheme prompt in gschem uses scm_from_locale_symbol(), which
    isn't present in Guile 1.6.x. Add it to the compatibility layer.

commit 57815bd72e62999193641f301af9184c0d524cf6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Aug 13 23:30:35 2008 +0100

    Print command is a gschem setting.
    
    Move print command from TOPLEVEL to GSCHEM_TOPLEVEL, and move static
    defaults too.

commit 19f5e9965dc12818b0d4f2771b020989065a83fb
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Aug 13 23:30:35 2008 +0100

    gschem: Add infrastructure for string options.
    
    There are still some gschem settings in libgeda just because they take
    string values. This patch makes it possible to boot them out.

commit 46eda8a55b9197f7a24d5b04ff94cedc1abc74fe
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Aug 13 23:06:03 2008 +0100

    Name i_vars_... functions consistently.
    
    Apps should use i_vars_blah(), libgeda uses i_vars_libgeda_blah().

commit 0fe03039f1eda8b1c2aab1701948532513e920fe
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Aug 13 22:38:44 2008 +0100

    gschem: Don't use default_scheme_directory.
    
    gschem uses default_scheme_directory to find gschem.scm. It doesn't
    need to, because libgeda should have already set the Guile load path
    correctly by this point.

commit b26a13cbf455297ab27702fb9964e947e83bd30b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Aug 13 15:06:43 2008 +0100

    Revert "Fix for dialogs drifting downwards on Cygwin/X."
    
    This reverts commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770. The
    effects were so annoying on non-broken X servers that another solution
    needs to be found.

commit 6f42af29cfe5c70203ce6b881d48d904c1bb0fc7
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 13 02:18:41 2008 +0100

    o_grips_start(): Propagate world coords of pointers to o_grips_start_*()
    
    The (unused) x and y parameters to o_grips_start_*() were previously
    passed as 0, 0.
    
    It seems obviously right to me to propagate w_x and w_y, even if the
    target object pulls the pointer position out of w_current again, which
    itself is quite evil.

commit 0db6ea2341ce7cc8c631df75c4d3c30390590b29
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 13 01:55:59 2008 +0100

    Split OBJECT allocation from its initialization.
    
    Split memory allocation for OBJECTs out of s_basic_init_object(). Add a
    new helper function s_basic_new_object() which allocates memory for the
    OBJECT structure, then calls s_basic_init_object().
    
    These changes make it possible to embed an OBJECT structure within
    another struct, or to initialise an OBJECT in static memory.
    
    (Patch modified by Peter Clifton)

commit 0d28977cd5e275a799ec3773f302ddf9b9544fd3
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 13 01:48:12 2008 +0100

    gschem: Erase the newly placed attribute before changing its position.
    
    Changing the position first then erasing causes the wrong bounding
    rectangle on the screen to be invalidated.  We need to invalidate the
    bounding rectangle of the *old* position.

commit 6c9b043233a645f6293d62f5a8c598cd5f95940b
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 13 01:33:45 2008 +0100

    o_picture_rubberbox(): Update comments to reflect reality.
    
    Coordinates passed are in world units, not screen.

commit 7bdd0362b87bcfc29a647f650a2d610465314526
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 13 01:33:45 2008 +0100

    o_arc_rubberarc(): Document the effect of moving each grip.
    
    The documentation was elsewhere far away.  Moving it closer to the
    arc moving code mitigates the "action at a distance" antipattern.

commit 17c64b764cb42afc8d5b80a66361029655dd644b
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Tue Aug 12 23:36:35 2008 +0100

    s_basic_init_object(): Set OBJECT type according to new parameter.

commit 235d219c4c9b96409cd4b95be3960e7e9f2689eb
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Tue Aug 12 23:36:35 2008 +0100

    Add header guard.

commit 3d09a3fffd1f97816583ca92d73d0c792646bf2e
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Sun Aug 10 00:19:01 2008 +0200

    Rather pass the user-supplied scripting command to a scheme dispatcher.
    
    Passing the command to a scheme dispatcher gives the configuration files
    an opportunity to define the language in which these scripting commands
    are interpreted.  It doesn't really need to be scheme, but it is for now.
    
    (New patch with changes suggested by Peter TB Brett.)

commit 4ef611b6e1cc6eb47538148ce1d196d495313969
Author: Edward Hennessy <ehennes@sbcglobal.net>
Date:   Fri Jul 18 20:24:46 2008 -0700

    Altered point selection mechanism to use distance instead of just a bounding box.
    
    This patch improves the mechanism used to select objects when using a single
    point.  In addition to using the bounding box, this patch calculates the
    distance between the selection point and the object itself.  This calculated
    distance provides a more accurate means to determine the actual object the user
    selected.
    
    Signed-off-by: Peter TB Brett <peter@peter-b.co.uk>

commit 371c37024225e506b1018445e61f4392e13d7db9
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Thu Aug 7 01:19:04 2008 +0200

    Make the current page accessible to scheme.
    
    Signed-off-by: Peter TB Brett <peter@peter-b.co.uk>

commit 4f7b81ccb2246c8eae803ce13dd3927f5743b3ad
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Wed Aug 6 23:40:26 2008 +0200

    Don't expect a "rest" argument in the i_callback_*() functions.

commit d86ac8ce4b16d41699ec64a3d88fd8d2c760b770
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Sun Sep 16 16:56:18 2007 -0300

    Fix for dialogs drifting downwards on Cygwin/X.
    
    On Cygwin/X, reopening a gschem dialog restores its original position,
    but with a small vertical offset.
    
    The workaround is to show the dialog before restoring its position.
    
    The docs for gtk_window_move() offer a possible justification:
      "Most window managers ignore requests for initial window positions
      (instead using a user-defined placement algorithm) and honor requests
      after the window has already been shown."
    
    The downside is, if you have a slow system, you could see the dialog
    appear briefly at the old position, I suppose.

commit 713225e719fa1bab8bc4b31dfc3cd50ea6c44f4e
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Tue Jul 8 02:15:46 2008 +0200

    Add the magic colon to the global keymap.

commit cae8edda94f240d5bbdae08d6f8b67a037e0e6ba
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Tue Jul 8 01:13:49 2008 +0200

    Use g_scm_c_eval_string_protected() so we don't crash on bad forms.

commit 57fc3a940f9609b45d26cb73b696ffcd1df15c58
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Mon Jul 7 04:46:19 2008 +0200

    Invoke scheme forms from a command prompt below the drawing area.

commit 61255c9b68aeae2ae845eea82babf445036a72f1
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Sat Aug 2 12:11:19 2008 +0100

    Allow key bindings to accept a REST argument list.
    
    In order to support adding optional arguments to key bindings, the
    function signature of ALL the bindings has to change.
    
    Supply REST (if available) or SCM_EOL (no extra arguments) where the
    caller is a C function.
    
    Conflicts merged by Peter B:
    
    	gschem/include/prototype.h
    	gschem/src/x_event.c

commit da5b6b6ae5848d988c22ed5528917bf050a54a2d
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Thu Jan 17 03:12:39 2008 +0200

    Desensitise function signature to function pointer parameters.
    
    func_ptr gets assigned to last_callback anyway, which itself
    does not specify any formal parameters.

commit 1e247aeb7a4f568578bd8612f886d7f64f24c858
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Aug 1 14:37:48 2008 +0200

    Keep raising the page changed flag local to mutation for o_attrib_toggle_*().
    
    Reverted the settings of the CHANGED flag in o_attrib_toggle_*(): they
    had been moved inadvertently to i_callback_*() functions (see commits
    903e06d9fc9253e87e530bfaec2e8386664d464f and
    fd51b8163c5af2d8124dc7afb1ca1c4bfa944fe6) while they really should
    stay close to where the object is modified.
    
    Problem reported by Bernd Jendrissek on gEDA-dev.

commit f154fcb921e75e7940e0b4dbd9ad5bab6a61e704
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Sat Jun 28 12:14:00 2008 +0200

    Enable promotion of attributes when adding a component from guile.
    
    g_add_component()/add-component-at-xy was adding component with
    attribute promotion turned off.  This change fixes bug [#1932474].

commit 0c8b23528692e0d9406503a400c71dd458cea878
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:26:07 2008 +0100

    Remove the unused TEXTENTRY state

commit a90588ec6566f944756800f38f74a02f867dca87
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:18:39 2008 +0100

    Remove the TOPLEVEL variable internal_symbol_name which is now redundant.
    
    Also removes functions which set and free'd this variable:
      o_complex_set_filename()
      o_complex_free_filename().

commit d1ff81f8d8a1d18781f8cb7c4476417947a61cec
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:18:38 2008 +0100

    Remove the TOPLEVEL variable current_attribute which is now redundant.
    
    Also removes functions which set and free'd this variable:
      o_attrib_set_string()
      o_attrib_free_current().

commit d3b75982a9507c05cb2699ae9d875fa344608196
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:11:27 2008 +0100

    Add support for rotating whilst placing
    
    Due to the consolidation of the OBJECT place code, rotation can now
    work across uniformly various different placemenet actions.

commit 0eea7587957ef3e01c2d1942d7bc6c940c237e4a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:05:11 2008 +0100

    Remove un-necessary variable w_current->rotated_inside.
    
    The rotation of placed objects is always started at zero degrees, and
    since the rework of the copy / place code, is done on the fly. Remove
    the old code to track the angle rotated during placement.
    need to track the rotation angle

commit 1e4eb30f7cab3f3cb9e49478ed05d24cba99858b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:05:02 2008 +0100

    Remove un-necessary variable w_current->complex_rotate.
    
    The rotation of placed objects is always started at zero degrees, and
    since the rework of the copy / place code, is done on the fly. Remove
    the old code to track the angle rotated during placement.
    need to track the rotation angle

commit aa7fb5c523e57cf7e3bbb4224e0ffbbf524ab95e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:04:24 2008 +0100

    Consolidate specialised o_..._rubber...() and o_..._rubber...__xor()
    
    Since these operations now use the same place list, we can share code.

commit e931091e28f90e7bd0f755ee30665cc5b7461b74
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 03:00:59 2008 +0100

    gschem: Combine code for operations which handle placement of OBJECTs.
    
    Replaces duplicated code related to component / text placement, copying /
    multi-copying objects and pasting from buffers with a common set of
    routines in the new file, gschem/src/o_place.c
    
    This refactoring lays the foundation to allow rotatation / mirroring whilst
    performing any kind of place action, without extensive duplicate code.
    
    All of the above operations now use a new PAGE variable, "place_list",
    rather than previous specialised variants complex_place_list, and
    attrib_place_list. Paste-buffer contents are copied into the place list,
    rather than placing directly from the paste-buffer, ensuring that any
    rotation / mirroring of the place-buffer does not change the paste-buffer.
    
    Helper functions, o_text_prepare_place() and o_complex_prepare_place() are
    added to load the place list with appropriate text, or a symbol. These are
    passed as arguments to the respective functions, avoiding the use of state
    stored in toplevel->current_attribute and toplevel->internal_symbol_name.

commit d0d18117a483029a61077a792203df5bd1a7f22a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 01:47:11 2008 +0100

    Don't drop artifacts when redrawing in the middle of a move operation
    
    The nets being rubberbanded should not be redrawn in their original
    positions, so we set the "dont_redraw" flag on the rubberband objects
    to ensure they are not drawn (in their un-stretched position) during
    screen updates. We unset the flag in o_move_end() and o_move_cancel().

commit 1ecd2a345ba49d7eb428d528d056f2c9f5e9b590
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 01:40:20 2008 +0100

    gschem: Move freeing stretch list of to after move operation is ended
    
    Previously, the stretch list was left stale with pointers after a move
    operation, and only cleared when commencing a new move. By clearing it
    after each move operation (completed, or cancelled), we can ensure its
    contents are always valid.
    
    This is important so that at the end / cancellation of a move operation,
    we can operate on the stretch list without danger it was not up-to-date.
    If a move operation is started with rubberbanding disabled, and the user
    subsequently activates rubberbanding (during the move) with a key-stroke,
    stale pointers in the stretch list may have been dereferenced in error.

commit cc5ea879b0ccfc7815b43b30ddfae13941aff4eb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 29 01:20:04 2008 +0100

    Add OBJECT flag "dont_redraw", to skip drawing individual objects.
    
    This flag is to be useful when handling move operations which hide
    rubberbanded objects on the page whilst a temporary copy is manipulated
    on screen.

commit 29600e269da20822ec0443024c63cb5e0ae34ea2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:44:55 2008 +0100

    Add redraw for items being placed from paste-buffer in o_redraw_all()
    
    Added missing "w_current->inside_action = 1;" to o_buffer_paste_start(),
    noticed when the new redraw added didn't work on its own.
    
    Fixes ghosts left when zooming whilst pasting from a buffer.

commit 1dc71988f58df1bbe828aebacc5d81d7bd21b954
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:40:13 2008 +0100

    Always "undo" when cancelling from a move action
    
    The undo state is always saved in o_move_start(), so when cancelling
    from a move action we should always undo.
    
    Adds helper function o_move_cancel() to avoid code duplication
    of the various operations when cancelling a move action.

commit 03056b53bfe6865d77c585bb7d190ce4f2aa0cd6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:29:33 2008 +0100

    Add o_move_rubbermove_xor()
    
    Make use of o_move_rubbermove_xor() throught the code to avoid
    duplication of o_drawbounding() calls.

commit a3ee37bbb4a87379a129d6993e175136416721da
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:27:13 2008 +0100

    Adjust scroll pan increment to be finer
    
    Scrolling in a smaller steps gives a greater degree of control when
    navigating around the schematic, with a (subjective) improvement to
    usability.
    
    This commit changes the number of scroll events required to traverse
    the viewed area from 4 to 8.

commit 78f18664289a29ca137c341fac9c7bbceb17cd06
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:27:12 2008 +0100

    Change default zoom-gain to from 50%, to 20% increase in size.
    
    Zooming in a smaller amount gives a greater degree of control when
    navigating around the schematic, with a (subjective) improvement to
    usability.

commit 20bd89fa6fd55d757194bd7d0143f8b9fff58ee7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Jul 28 00:27:11 2008 +0100

    Make size of panning steps with the mouse scroll wheel adjustable
    
    The new gschemrc function, (scrollpan-steps integer) controls how many
    scroll wheel events are required to pan across the viewed area of the
    schematic.
    
    The default setting keeps gschem's previous hard-coded behaviour of 4
    scroll events (in a particular direction) across the viewed area.

commit 59cf57b8eb960b5e8041778d5377c160a4af57d3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 27 23:50:55 2008 +0100

    Make the "gain" of zoom in / out operations an adjustable parameter.
    
    The new gschemrc function, (zoom-gain integer) controls the percentage
    size increase when zooming into the page. Zooming out uses the inverse
    factor such that a zoom in followed by a zoom out will return the
    schematic to the same size.
    
    E.g:
       20% increment => x 1.2 original size when zooming in
                     => x 1 / 1.2 x original size when zooming out
    
    The default gain keeps gschem's previous hard-coded behaviour of zooming in
    by a factor of 1.5. This is now specified with the command (zoom-gain 50).

commit 6802a78d5a19069919e4524530b91c34c1d099fe
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 27 02:22:22 2008 +0100

    gschem: Activating component selector rows expands / contracts groups
    
    Observation of a user working with gschem showed that opening the groups
    of components from varous libraries was not particularly discoverable to
    a user not familiar with GTK. The user was noticed to be double-clicking
    the library sub-groups, rather than identifying the expander arrow.
    
    Fix this usibility issue by making double click, and other row-activation
    methods expand / contract the library groups. Keyboard navigation
    (where space / return activate given rows) is also easier now.

commit b02d9540d1bc0cdcfd5935f84bf8ee2f52dde2bd
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:41 2008 +0200

    Use functions from o_select.c rather than low-level geda_list functions.

commit 1aaf6613a7c6991d858c1143ed3917675a115a5a
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:40 2008 +0200

    Move selection monitoring out of the multi attrib widget.
    
    Reinstated the 'object' property for multi attrib widget in place of
    the 'selection' one: the widget does not have to mess with selections,
    it is only interested in objects. Moved the selection watch stuff
    outside.

commit 4ad46d1b431bceb665fdd45778345118dfc1d414
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:34 2008 +0200

    Limit scope of gschem x_color_allocate_all().

commit 67bb084eef2f0e97bd9573fdea0faa5dfd2e53bc
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:33 2008 +0200

    Move color-related stuff from x_window.c to x_color.c.
    
    Renamed x_window_setup_colors() and x_window_free_colors() to
    x_color_init() and x_color_free() respectively. And moved them to
    x_color.c

commit d96ad3c39121d6c7e32128493d5445f0825f1751
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:32 2008 +0200

    Cleanup the stroke interface.
    
    Improved the API and memory allocation, added documentation.

commit 19aab8901a7519879231c680060f89a69c125e85
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:31 2008 +0200

    Modify o_attrib_toggle_show_name_value() to work on a single object.

commit 306d5722847b4d8c152bd369bc68846b9a19abb0
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:30 2008 +0200

    Modify o_attrib_toggle_visibility() to work on a single object.

commit 658516c080eae8d78685113e48290bb291af0715
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:29 2008 +0200

    Add new function to delete any object.
    
    Added o_delete() as replacement for individual object deletion
    function. Adapted o_delete_selected() accordingly.

commit 64a6741c858de019ab26058afcc417b821d37117
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:28 2008 +0200

    Merge cue undrawing functions for complex and objects.
    
    Merged o_cue_undraw() and o_cue_undraw_complex(). Also added
    documentation.

commit 0cdcdf4cfe8bf3c6aa078b91e5696a26f7a60f23
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:27 2008 +0200

    Add new function to erase grips on any object.

commit 37eaad0765b34e85275706b6cffbc73ec9b5c4cd
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:26 2008 +0200

    Rename o_delete() to o_delete_selected().

commit 83de2270e9d0f159975e833e1fec213f952c7315
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 25 17:52:25 2008 +0200

    Remove o_complex_delete().
    
    Removed function as s_delete() does the same thing.

commit b86ffc45f699781c220153e2390a54f8b823a930
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:16 2008 +0200

    Refactor hierarchy function searching for parent page.
    
    Renamed s_hierarchy_up() to s_hierarchy_find_up_page() for consistency
    and modified it to return a pointer on the page found (as other
    hierarchy find functions) instead of changing the current
    page. Added description. And finally adapted gschem for this
    refactoring.

commit 06dc1e65b688f88695e47dd38cd9022eb67bbb7c
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:15 2008 +0200

    Simplify prototype of functions for searching pages in hierarchy.
    
    Removed 3rd parameter to s_hierarchy_find_[next|prev]_page(): now
    explicitly search for sibling page of page in 2nd parameter. Also
    added description for functions.

commit 6b15947087caebaa4c85805799362c169e09adba
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:14 2008 +0200

    Rename s_hierarchy_find_page() to s_page_search_by_page_id().
    
    Moved s_hierarchy_find_page() to libgeda s_page.c and renamed to
    s_page_search_by_page_id(). Also added description.

commit 57a4fd272e10a68e05051a9ab9309e252e2103f7
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:12 2008 +0200

    Purge AC_CHECK_FUNCS() in configure.ac in each package of unused functions.

commit c50ba14cea1d60e21d587164612b1866d8e58bba
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:10 2008 +0200

    Replace case conversion functions with GLib functions.
    
    Now use GLib case conversion functions, with the added benefit of UTF8
    support, instead of libgeda string_tolower() and
    string_toupper(). Consequently these two functions have been removed.

commit fa54e090d67849762c83231557bc6047bf035a03
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:08 2008 +0200

    Cleanup detection of attribute when editing text object in gschem.
    
    Modified the verification on the text object in gschem o_edit() to use
    o_attrib_get_name_value() instead of local custom testing code.

commit 872287f23b4880b01babed777efe7976783feab2
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:05 2008 +0200

    Cleanup of libgeda o_attrib_get_name_value().
    
    Rewrote o_attrib_get_name_value(): it now has support for UTF-8
    attribute strings ; plus it can return only the name or the value or
    both name and value.
    
    Finally adapted code wherever it can benefits this new feature.

commit 5d97c15d614030eb32ddc30e316fadd4d1416c6c
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:03 2008 +0200

    Fix memory leak in gschem.
    
    When processing file names passed on command line, the pathname built
    for each one was not freed.

commit a76cf5cdda91c7070f4765107d3f8be89bbd05b6
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:01 2008 +0200

    Remove unnecessary strippings of trailing directory separator.
    
    These strippings is no more necessary as GLib functions for building
    filenames (in particular g_build_filename()) takes care of any
    trailing directory separator for us.

commit cd70e88b8c7faa4beea8b13b846e92807a252e63
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:03:00 2008 +0200

    Replace getcwd() with g_get_current_dir().

commit 90b0ece453efc80490c6c277386f4f5f7bfdc4af
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:02:59 2008 +0200

    Simplify build of filenames with g_build_filename() (!).
    
    Modified code where possible to use preferably g_build_filename()
    instead of g_build_path(), or g_strconcat() and friends.

commit a3513b7e6dc7bf6c36d95d4da86082beeb79831d
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:02:57 2008 +0200

    Replace standard string manipulations with GLib string utility functions.

commit da1d2e7b304f9d832bdee9c8dfb9fe4604e19cc9
Author: Patrick Bernaud <b-patrick@wanadoo.fr>
Date:   Fri Jul 11 16:02:56 2008 +0200

    Remove tests for NULL prior to freeing with g_free().
    
    Testing if pointer on memory to free is not NULL is unnecessary
    since g_free() does the test itself.

commit 21bdf2fbbad2146234fd32a0fe04bddcaddb64f8
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 6 22:21:00 2008 -0400

    Updated versions in the important man pages

commit 8479d01b6a4a819ae105659a9b9f1e6ab2d85136
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 6 22:03:02 2008 -0400

    Updated all ChangeLogs by running ./update-changelogs.sh 1.0-20070526..master

commit 8773525a45c1e33a2f020ac511f628e04ff373b9
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 6 22:01:37 2008 -0400

    Ran make update-po in all po directories (in prep for a new release)

commit 2740891d2b1a2e9b8ad0ef27ef1cb54ec47f9b74
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 6 21:51:28 2008 -0400

    Removed some m4 files which no longer exist

commit 97c1b01e1c95d2f8a334d916ffc60d35797782c2
Author: Ales Hvezda <ahvezda@-e false.(none)>
Date:   Sun Jul 6 09:34:01 2008 -0400

    Fixed up all icon-theme-installer files to work with non-bash
    
    Grabbed the latest icon-theme-installer files from the pcb repository
    since they have been fully patched to work with non-bash shells.  On
    my ubuntu system, /bin/sh is linked to dash which prevented me from
    running the previous version of icon-theme-installer.  This commit
    is related to a7e7a28613abe4705ec01011d0f4308ff024251b

commit 7ae9572f269c8b973bb4a38014e28dbc10cdcb32
Author: Ales Hvezda <ahvezda@-e false.(none)>
Date:   Sun Jul 6 08:38:24 2008 -0400

    Bumped versions to 1.5.0/20080706/34:0:0 for the next development release

commit a7e7a28613abe4705ec01011d0f4308ff024251b
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Jun 29 19:00:10 2008 +0200

    Changed shell from bash to sh in icon-theme-installer
    
    Changed shell from bash to sh in icon-theme-installer.
    This commit is still not tested in non-bash systems.
    
    Applied partially geda patch #1978537 (only bash to sh
    change, not removal of $INSTALL_DATA_EXEC check) from
    anonymous contributor and Dan McMahill's test case
    change in line 103 from:
    
    http://pcb.cvs.sourceforge.net/pcb/pcb/icon-theme-installer?r1=1.1&r2=1.2

commit 55b378f5eddc78f0f3f48c83f401e454323d9bd9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri May 23 17:02:51 2008 +0200

    gschem: use pointer from drawing area in preview and x_attribedit
    
    The preview widget used in the file dialog and in the component dialog is
    now using the pointer from the drawing area, too. The motion event function that tracked the pointer is no longer required.
    
    The attribedit dialog used the mouse_wx/y variables to set the attribute
    postion when activated with the hotkey. This usage has been removed.
    
    Removed all mouse_wx/y occurences in x_event and in the global.h file.
    This variables are completly gone now.

commit 5681a43743b2ccfdf246679ad78f186b5a7f1f14
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri May 23 16:54:28 2008 +0200

    gschem: use pointer from drawing area for all gschem callbacks
    
    The global variable for the pointer mouse_wx/y are no longer used.
    The zoom and panning actions have a unsnapped position again.
    Note: If the pointer is outside the drawing area and a hotkey action
    is triggered the action will be ignored.

commit 0b0100eefa31acbd56f41ca639856da904645e74
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri May 23 10:22:25 2008 +0200

    gschem: added function to get the pointer from the drawing area
    
    The new function x_event_get_pointer_position() get's the mouse
    position from a given GSCHEM_TOPLEVEL object. This function will replace
    the global mouse_wx, mouse_wy variables in the following commits.

commit 016cd29c2d4cb540f70f01c14059b0d538b801d6
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 18:11:45 2008 +0100

    Add o_copy_rubbercopy() and o_copy_rubbercopy_xor()
    
    Make use of o_copy_rubbercopy_xor() throught the code to avoid
    duplication of o_drawbounding() calls.

commit cc5017e65222ec97e084c17a3920dc29f5e65532
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 18:11:42 2008 +0100

    Rework o_buffer_place_rubberplace() to follow usual semantics.
    
    Renames o_buffer_place_rubberplace() o_buffer_place_rubberplace_xor()
    and re-adds o_buffer_place_rubberplace() which now follows the "undraw,
    move, draw" sequence like the other functions with this naming pattern.
    
    Make use of o_buffer_rubberpaste_xor() throught the code to avoid
    duplication of o_drawbounding() calls.

commit f8bc1947ddf59f8e437702b6f83c1292cb6f50ac
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 18:10:25 2008 +0100

    Rework o_text_rubberattrib() to follow usual semantics.
    
    Renames o_text_rubberattrib() o_text_rubberattrib_xor() and re-adds
    o_text_rubberattrib() which now follows the "undraw, move, draw"
    sequence like the other functions with this naming pattern.
    
    Make use of o_text_rubberattrib_xor() throught the code to avoid
    duplication of o_drawbounding() calls.

commit deae2c854ddc1461811c176e78f69842be738321
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 18:09:49 2008 +0100

    Use o_complex_rubbercomplex_xor() where possible to simplify code.
    
    Adds a parameter "int drawing" to this call, which is passed on to
    o_drawbounding(). This is used to determine whether the operation
    is to undraw an old object (in which case, the old feedback mode is
    used), or is drawing new objects, in which case the current action
    feedback mode is used.

commit 6359729a98bb9f34a4b460d6b42e85cf502ae010
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 15:34:29 2008 +0100

    Fix rotate whilst moving to rotate about the current mouse coordinates
    
    Bug appears to have been introduced when changing from screen to world
    coordiantes in 1b05cbfcbb07970159c58b2b18d583516e257a45

commit 62a3123ce33d825855735ed8727c8f617b46b61e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 14:27:46 2008 +0100

    Add o_move_rubbermove(...) function to keep move logic in o_move.c

commit ec074cb3ca38db23516d89df6bf4f60f13229822
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 14:27:44 2008 +0100

    Rework o_complex_rubbercomplex(...) to follow usual semantics.
    
    Renames o_complex_rubbercomplex() o_complex_rubbercomplex_xor() and
    re-adds o_complex_rubbercomplex() which now follows the "undraw, move,
    draw" sequence like the other functions with this naming pattern.

commit 4768b20db9983ae7d0b3221d9340a61ca2a805c0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Apr 26 17:58:06 2008 +0100

    Various whitespace changes and tidy-up split from code-change patches
    
    No code changes.

commit d76dfc090cd97a1aa582fd215468ec6b6d234f57
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 13:55:38 2008 +0100

    Remove bounding box undraws in DRAWTEXT and DRAWCOMP states
    
    These two states are used when no drawing has yet hit the screen,
    so there should not be XOR drawing calls to "undraw" changes which
    haven't been made.

commit de5a6de1643a041e70acf1f27b02281fe16f23b7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun May 18 13:54:54 2008 +0100

    Fixup prototype variable names to reflect their usage (screen vs. world)

commit 2337e0a71a5c5f2181801441e4435d0cb44c5ba0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Apr 26 17:57:50 2008 +0100

    Tidy up some whitespace in gschem/src/x_event.c

commit 38bf778654574851469b6b280cf2aef5bc2bff0e
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 20 21:55:04 2008 +0200

    set rubber invisible at the end of each object draw action, cleanup
    
    It's more save to reset the variable GSCHEM_TOPLEVLE->rubber_visible
    after any creation of an object. This variable is usually reset inside
    any redraw action, too.
    Moved some event code from o_bus to x_event. Moved setup of w_x/y variables
    some lines up to prevent uninitialised usage.

commit 73d59cd8394c172ffdcb17e860ae0d9a01b46bc9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 20 11:12:38 2008 +0200

    balancing snapped and unsnapped x/y coordinates
    
    All object actions need snapped coords, while selecting and zooming/panning
    need unsnapped coords.
    Unsnapped actions are now select, select-box, zoom-box and grips actions.
    grips motion is slightly special for arcs. While the radius is snapped
    the manipulation of start and endangle needs to remain unsnapped.
    All other grid motion actions (line, box, ...) still needs snapped coords.

commit eb3a7b13f85c9a84b88d9de2e3ad29f1245dd865
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Apr 19 19:38:06 2008 +0200

    use world coord for to find objects, cleanup
    
    Removed all uses of the global screen variables mouse_x, mouse_y.
    This included changes when adding an attribut and when finding an object.
    Additionally fixed a buggy call to o_pan.

commit c484c83a3890ea22619c1c84757b83632e128ab4
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Apr 18 20:54:29 2008 +0200

    switched zoom and pan to world coordinates, cleanup
    
    zoom and pan are the last users of the old variables start_x, start_y,
    last_x, last_y, second_x, second_y, save_x, save_y.
    Those variables are obsolete and have been removed from the
    GSCHEM_TOPLEVEL structure.
    The panning also affected the preview widget. Which needed to be fixed, too.

commit 69fa323b708bc5784a475a0911d1c100927edab8
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Thu Apr 17 23:08:20 2008 +0200

    switch complex copy and complex place to world coords
    
    switched all functions to world coords. The temporary calculation of
    the world coords can be removed now, as all complex objects are in
    world coords now.

commit 1e0500f9e3abb6ac431a8b69e4d97b5c17775155
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Thu Apr 17 22:12:23 2008 +0200

    switched buffer insertion mode to world coords

commit eb46913531447bd975e438c8697aded9ce07ee2f
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Thu Apr 17 21:37:48 2008 +0200

    switched selection and selection box to world coords
    
    The holdoff distance before starting to draw the selection box
    has been moved from x_event.c to o_select_box_start()

commit 4820283ca1f6977ffbfed1565da5b2a70aa0eb77
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 15 21:44:07 2008 +0200

    switched text code to world coords
    
    Changed all text creation functions to use world coords.

commit 70afd4b31ebbb9dfc6c7a8ed0a33bb53f0ff0511
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 15 20:56:57 2008 +0200

    switched o_draw_bounding and all xor drawing functions to world coords
    
    All object xor drawing functions are called in world dx/dy coordinates
    now. Changed the object code and the o_draw_bounding code.
    BUG: o_draw_bounding is still used in world and nonworld coords.

commit 2d880f35530c43d5f291af6c70535c99a378ffdb
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 15 19:09:24 2008 +0200

    switched move mode to world coordinates
    
    Switched move functions to world corrdinates.
    This affects the net and bus when stretching them.
    BUG: The function o_draw_bounding is used by world and nonworld
    coordinates. This needs to be fixed with the next commits.

commit 4cace928604a9b799e761a80d7b0424d45d554ce
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Apr 14 20:52:15 2008 +0200

    fixed rubber color for pin and bus, fixed line erase
    
    The color of the rubber wasn't correct for pins and buses.
    The o_line_eraserubber function still used start_x.

commit c4abffeb78305f3c7ede736b027def82c3171181
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 13 12:00:24 2008 +0200

    switched picture rubber and manipulation to world coords
    
    Call all picture functions with world coords.

commit 6cfafdaf3c09dde2aedfa7fc3f57662dd0b25ba9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 8 21:15:36 2008 +0200

    switched pin rubber drawing to world coordinates
    
    Call all pin functions with world coordinates. Replaced some of the
    gdk drawing functions with object drawing functions.

commit ef2871ee0ee34af000205cdfe889fb2bad3a74bb
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Apr 7 20:47:44 2008 +0200

    removed redundant x event state code from o_grips.c
    
    The removed code for updating the state and the toolbar is already
    present in the state code in x_event.c after the o_grips_end()
    call. Reseting the state variables first_wx, second_wx, ... is not
    required at all.

commit 60b734ed80d7ccefba7a78a878714261a9637a67
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Apr 7 20:32:01 2008 +0200

    fixed o_grips_end manipulation for net/line and pin
    
    Fixed the code for the end of the net line and pin manipulations.
    Extracted the functionality to three new functions and switched them
    to world coordinates. Removed some gdk drawing code and replaced it
    with object drawing functions.

commit f003de85165f11280f909acd6b785ebf38bacf39
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 21:41:19 2008 +0200

    switched grips for line manipulation to world coords
    
    This also affects the line/bus and pin manipulation.
    While start and motion is identical, the end point of the
    manipulation has to be fixed separatly.

commit 6efa4f6c16894852b409f130d50acef88d78aa22
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 20:05:25 2008 +0200

    switched line rubber drawing to world coords
    
    Call all line functions with world coordinates. Removed
    some unused code.

commit bdcb6e63c3ed1b19f0d1d854536b0e51aad85429
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 19:10:31 2008 +0200

    switched bus rubber drawing to world coords
    
    Call all bus function with world coordinates. Added rubberbus_xor
    function to simplify code. Added some function documentations.

commit 87aeb1ee33995af7645aa4d72265254d217f62ef
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 17:29:40 2008 +0200

    switched arc rubber drawing and manipulation to world coords
    
    Call all arc function with world coords. Removed obsolete loc_x/y
    variables. Removed unused functions o_arc_end2 and o_arc_end3.

commit 0720815ae4594ae3a73ca96d6392ae35c2172e4a
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 15:03:22 2008 +0200

    switched circle rubber drawing and manipulation to world coords
    
    Call all cirle functions in world coords. Use rubber_visible variable
    to protect the drawing code from erasing errors.

commit 4f5cf44b196790dbf5cf318977463b487a17ec89
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 13:09:35 2008 +0200

    switched box grips to world coordinates
    
    This fixes the manipulation of a box, that broke in the previous
    commit.

commit 693d7fbb8630bcb846ee72bb594a6c8612ec2f17
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Apr 6 12:15:21 2008 +0200

    switched box rubber drawing to world coordinates
    
    Call all box functions with world coordinates. Protect the rubber box
    from erasing if the rubber box has been erased by the redraw_all
    function. This happend if the user zoomed while drawing the box.
    The variable w_current->rubber_visible is used for this purpose.

commit 1b05cbfcbb07970159c58b2b18d583516e257a45
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Apr 26 17:09:58 2008 +0200

    switched x events to world coordinates in net drawing code
    
    This includes the creation of w_x, w_y, mouse_wx, mouse_wy variables
    in the x_event functions. Call all net drawing functions in world
    coordinates. Print a warning message when connecting to offgrid pins
    and nets.

commit 3372a6ff3e99fb1d46c694b1d7bb7a586c9eebb9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 1 13:50:07 2008 +0200

    removed redundant snap grid code in o_net.c

commit fadb2326204bb6375749653d1e8a3035462b3479
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 1 13:37:05 2008 +0200

    add world coordinates for the rubber lines, use them for net drawing
    
    This commit adds new variables to GSCHEM_TOPLEVEL. first_wx,
    second_wx, third_wx. They are intended to replace the screen
    coordinates start_x, last_x and last_y. Deployed that change in the
    net drawing code. This should finally fix Bug [#1928544].

commit 5f62a34fc821ced98f6faa7d4901ccd47e48380e
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Apr 1 10:20:18 2008 +0200

    switched the net rubber code from screen to world coordinates
    
    Using screen coordinates for start_x, second_x and last_x causes
    integer arithmetic errors whenever the coordinates are converted between
    the screen an the world. The conversion occurs with the fix_x function
    and whenever the user zooms/pans in the drawing mode.
    This change fixes bug [#1928544] pointed out by Thomas Arndt.
    Note: This breaks the zooming and paning inside net drawing

commit deacf7e8bc9a67aa4ac446f8627f177e8daa249a
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Mon Mar 31 14:42:14 2008 +0200

    Add CTRL modifier key to mangetic net mode
    
    If magnetic net mode is active and you don't want to connect to
    the closest possible connetion, you can use the CTRL key now.
    Note: You're losing the ability to draw non-orthogonal nets in
    magnetic net mode.

commit 087374bd49bdc0fcefc535fe901de55439c28a17
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Mar 9 10:14:50 2008 +0100

    make the net direction mode configurable (ON/OFF)
    
    Add all variables and callbacks to make the net direction mode
    configurable. The configuration variable is used in o_net.c.

commit c377b5f84dd046dd6716d262bc6b5c883bb9f280
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Mar 9 09:40:11 2008 +0100

    guess net direction when adding nets in gschem
    
    When drawing a L-shape net the old behavier was to draw the horizontal
    net first and the vertikal after. This patch guesses the direction
    dependant of the starting point of the net. It tries to continue nets
    and not to overwrite them.  This functionality was originally written
    by "ar" and posted to the geda-dev mailing list.

commit e089678b9fc068a4b14f41a47e7cef304d5d8221
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Apr 18 14:11:06 2008 +0100

    gschem: Fix memory leak in x_window_open_page()

commit 949ebc253254a4ec4798ea5faab6bce698fabbb0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Apr 17 21:55:09 2008 +0100

    gschem: Use argc, rather than relying that char **argv is NULL terminated

commit f1754277410f7e42fa86371ff875dbbf9f5dd100
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Apr 17 20:00:30 2008 +0100

    gschem: Remove unused GDK global variable "visual"

commit 84e20e053383201472c32834f4ea9995b8d20c45
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Apr 2 22:49:42 2008 +0200

    fixed syntax error typo in x_image.c
    
    repaced ":" with ";", Typo catched by Thomas Arndt

commit af0d9f2e8825f7d23c691deec0e70f1eaaac0e38
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Wed Mar 5 05:27:41 2008 -0500

    Updated version to 1.5.0 to mark the start of the next development cycle

commit fa3091a4da63abd5312be5b1cd132baefb9e77c1
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Mar 2 18:06:51 2008 +0100

    show the magnetic net mode in the status bar

commit 24f0395aab9589f8e98f284e63fe77e6dc2d2836
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Mar 2 16:42:06 2008 +0100

    Fix drawing artefact in rubbernet drawing code
    
    The invalidation rectangles are to small if you're zoomed in.
    The half of the net width needs to be added to the rectangels.
    To do that, you need to sort the rectangle borders.

commit 0b2ce2cb246fa46eae2abe53c32e2c1a2f100093
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Mar 2 16:20:27 2008 +0100

    Enlarge the magnetic net marker with increasing net line width
    
    When zooming in the magnetic marker became small relativ to the net
    width. This commit enlarges the magnetic marker with a constant factor
    relative to the net width. The line width of the marker is the
    same as the net width.

commit ffd2298ca90e9e8616a2804c5708cb3d2ccb0a83
Merge: b62e017 1a49d46
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Mar 1 09:43:53 2008 +0100

    Merge branch 'magneticnet'

commit 1a49d46192ff0e84e5727ba92829c56961119e5b
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Feb 27 20:12:26 2008 +0100

    added configuration option for magnetic net mode in system-gschemrc
    
    Added a configuration option magnetic-net-mode and the g_rc function
    Set the default value to enabled.

commit 855f29d44df73caef03ee49bd58f19897f31b69d
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 22 21:46:21 2008 +0100

    use tiles to find connections for magnetic net mode
    
    This commit changes the magnetic net code to use the tiles.  This
    reduces the load when checking all the possible connections for every
    mouse movement. The patch adds a library function to get object lists
    which may contain objects in the region of the magnetic reach. In
    o_net.c the object iterator code has been changed to use the new library
    function.

commit c283e8416d058258bab90b176ee94bb96308c710
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Feb 17 12:14:27 2008 +0100

    Only look for visible objects in magnetic net mode
    
    In a large circuit the cpu load can be quite large. Checking only
    visible objects decreases the cpu load.
    The magnetic reach area is now a circle (Pythagoras). A rectangle
    gives several points with the same distance at each side.

commit 4b53eba9204af5eee37c308f23d396df21b2edad
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 15 22:24:33 2008 +0000

    Don't change back to a deleted page after the "Save changes?" dialog.
    
    Only switch back to the previous page being edited if that was not
    the one just deleted. Fixes crash or memory corruption after closing
    this dialog.

commit de64a4f9ff006a80536359d148da9db57594083f
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 15 00:38:51 2008 +0000

    o_delete_text(): only call o_attrib_slot_update() for COMPLEX objects.
    
    Fixes crash observed when deleting attributes from a net.

commit 26883a66c3711ffe04eb5280c4b49c483ca50e95
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Thu Feb 14 21:49:25 2008 +0100

    added reset function to net drawing code
    
    This reset function cleans up all variables required to draw nets.
    It is used before entering net drawing mode and should be used
    whenever the STARTDRAWNET mode is entered.
    Fixed the last drawing artefact in STARTDRAWNET state.

commit aa26da60b8c2a7e66c8b4d6446e7b67de2c3537a
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Feb 13 21:38:54 2008 +0100

    misc cosmetic corrections for the magnetic net
    
    Put the magnetic marker onto grid (fix_x/y)
    Changed the marker from a rectangle to a circle.
    Changed the calculation of the magnetic reach from x+y to max(x,y).
    This enlarges the reach into the 45° direction.

commit 6e092d15b6e1881789561653ded80f98c5bdc2f5
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Feb 9 12:56:09 2008 +0100

    connect the magnetic net mode into the net drawing functions
    
    The magnetic net mode is now use to set the start net point, track the
    closest connection in the rubbernet function and to get the end point
    of the net. The endpoint in the magnetic mode is calculated in the new
    function o_net_finishmagnetic.
    
    This commit is based on the patch written by Franz Mottas and Thomas
    Arndt [#1824420].

commit 96fbd6214a4a364d0aa45b405293421623ea939c
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Feb 9 11:09:10 2008 +0100

    core code for magnetic net mode: find connections and draw marker
    
    When in STARTDRAWNET state, search for the closest connection.
    Added code to search for that connection and to draw and erase
    a rectangular magnetic net marker.
    
    This commit is based on the patch written by Franz Mottas and Thomas
    Arndt [#1824420].

commit 3a412167fe7e16526fafdfea273b3daf8be207b3
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Feb 9 08:54:45 2008 +0100

    added menu entry and callbacks for magnetic net mode
    
    Added a entry into the options menu to toggle the magnetic net mode.
    Added all required variables in GSCHEM_TOPLEVEL.
    
    This commit is based on the patch written by Franz Mottas and Thomas
    Arndt [#1824420].

commit 1d1c604d63bfe8f6eff91749953ba713f7b3745c
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Feb 9 08:11:38 2008 +0100

    fix drawing artefact when drawing a net and zoom/pan
    
    Zooming and paning redraw everything and if there are rubbernets
    they get deleted, too. We have to tell the rubbernet function that
    the rubbernet is no longer on the screen.
    Thus I've added a flag rubbernet_visible as indicator. This flag needs
    to be set when drawing, and reset when the rubbernet gets erased.

commit 20e0e015622bd57d9b0704d39593f209e49a3396
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 8 20:57:09 2008 +0100

    moved rubbernet drawing code into a extra function

commit 921ed5c0b907fb0f11cfff2233758a2c0169c3e0
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 8 20:40:43 2008 +0100

    Reuse common code from o_net_eraserubber in o_net_rubbernet
    
    The removal code or the rubbernets is the same in both cases, reuse
    it.

commit 3ebfd10448ffefd902325b115193cb95cbeeaaf5
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 8 20:24:14 2008 +0100

    reuse common code from o_net_eraserubber in o_net_end
    
    reuse the o_net_eraserubber function in o_net_end. o_net_end
    deleted a rubbernet the same way as o_net_eraserubber does.

commit cf7689c9b6950c1694edacf9d750a48d87d462be
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Fri Feb 8 19:34:18 2008 +0100

    Remove unused drawing code from function o_net_start()
    
    This code was never used as the line lenght of both rubbernet
    segments was set to zero before drawing it.

commit 56a787446f3f5a244c8b4cec21cdc4e489e19568
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Wed Feb 6 21:25:58 2008 +0100

    Fix documentation about list format.
    
      - Applied patch from Timur Aydin <ta@taydin.org>, fixing a
        comment on top of the list that explains each individual
        item in that list. The comment didn't match the actual list
        definition.
      - Added comment about considering line width when calculating
        a component's reference point.

commit 5757ce41ac1846814b0e96885942f2e011f2d3b7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Feb 1 13:06:15 2008 +0000

    Rename translations to drop un-needed ISO-3166 country codes.
    
    From Debian bug #336796:
    
    Using a country part in a translation file is a discouraged practice
    except in very few cases (such as pt_BR).
    
    Using a fr_FR.po file instead of a fr.po file prevents users of fr_CA,
    fr_BE, fr_LU, fr_CH and all other existing and future locales for
    French to benefit from the French translation of the program.
    
    In general PO files should only be named after the
    ISO_639 code of the given language and should not use a country part
    with a ISO-3166 code. The only accepted expcetions to this are:
    
    -pt_BR for Brazilian Portuguese and pt alone for "standard Portuguese"
    -zh_CN for "Simplified Chinese" use in mailand China and Singapore
    -zh_TW for "Traditional Chinese" used in Taiwan

commit 22396b286d50c454287ff94a3c3de414b3f9a08a
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Jan 26 19:27:15 2008 +0100

    update the pinnumbers if a slot attribute is deleted
    
    Update the slots whenever a text line that is attached to an object
    gets deleted. The update checks the slotting even if there's no slot
    attribut. This catches the case when the user deletes a slot attribute
    and the current displayed pinnumbers are not the ones defined in the
    symbol. This commit fixes [#1880221]

commit b202ee510fb90cedd038ce5ec41cc6de453dbeea
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jan 27 11:47:13 2008 -0500

    Updated ChangeLogs for the 1.4.0 release

commit 5e4ee69035885d76fba09aa453789be68481c69a
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jan 27 11:46:06 2008 -0500

    Ran make update-po one more time before the 1.4.0 release

commit b11f5701b2329f1cb7ff64d2419197a6587d2008
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sun Jan 27 09:24:01 2008 +0100

    Updated german translation of gschem

commit 58898d9db5403355c3984d4c4c970e4477d7e85a
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 26 22:12:05 2008 -0500

    Fix a crash when running a script that calls (gschem-image ...)
    
    x_image_lowlevel frees the last parameter (filetype).  This free was
    causing a segfault when x_image_lowlevel was being passed a constant
    character string.  Bernd Jendrissek found this bug during an irc
    discussion.  Thanks.

commit 5d619d94e6142ad683b26aa302348b3cf559d459
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 27 02:51:01 2008 +0000

    Only call gdk_window_invalidate_rect() when drawing to a GdkWindow.
    
    For image export, a GdkPixmap is used in place of w_current->window,
    and calling gdk_window_invalidate_rect() with this as an argument
    causes lots of nasty warnings. It led to a crash when print.scm is
    used to export from the command line.
    
    This "fix" is really quite a nasty hack. Since w_current->window is
    a GObject in both cases, a test with GDK_IS_WINDOW() can be used to
    distinguish the cases. A better fix will come from future rework of
    the drawing code.

commit bab0fb5d22b22b5452da553306555d7ff069ebd3
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 26 21:03:50 2008 -0500

    Changed Edit/Undo and Add/Bus hotkeys
    
    Previously, "u" was add-bus-hotkey, which was annoying a growing number of
    users.  Now "u" is undo and "Shift-B" is add-bus.  There are now like four
    different keys for undo (u, Shift-U, Control-Z, and "e Shift-U") in the
    default keymap.  Add/bus has "Shift-B" and "au" as hotkeys.

commit 3d43c5d642ebe12a69380e8accf5533d338ee5e5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 26 20:07:45 2008 -0500

    Bumped versions to 1.4.0/20080127/33:0:0 for the next stable release

commit ecda6ee9e101563f7fed092150532256fd9b343e
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 26 19:50:16 2008 -0500

    Updated all dates and versions in all man pages

commit 9a4bbc16c5c0e408aabbc69c1c1cc10cb4b7675f
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 26 19:48:29 2008 -0500

    Manually ran make update-po in all po dirs in prep for the 1.4.0 release

commit 915463b5f3fe41419307e5dee4d227f3c9a9bb5e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 26 22:06:06 2008 +0000

    Invalidate component cache when updating symbols. [#1880211]
    
    Temporary fix for Bug #1880211, "symbol update reads the symbol from
    the cache". Ensure that when refreshing symbols, the symbol is read
    from the component source, not from the cache. (Suggested by Peter
    Brett).
    
    A more complete fix will be to add API which invalidates a single symbol
    name, rather than the entire cache.

commit 968c37becebd630b85abd8bf3546a834db419aaa
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Jan 26 15:26:53 2008 +0000

    Update the pinnumbers when updating a symbol with slots
    
    Fix for [#1880207]. When updating symbols, gschem loaded the
    pinnumbers from the symbol file without respect to the slot attribute.

commit fccaae6b363d7f81ab94725751314813c42b718d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 16 20:08:27 2008 +0000

    Fix use after free corruption when consolidating nets

commit bcea0ec85eb10a97b2f794fa240052b25d386cb9
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Fri Jan 18 22:54:33 2008 +0000

    Update Afrikaans translation to fix spelling error.

commit ec4b6287bbb4f709a7d3258a7474ec716933ca4b
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 11 01:23:39 2008 -0500

    Manually ran make update-po in all po directories in prep for the 1.3.1 release

commit d2047bc2a06e6534ff32464d36f8a95aec11b9d7
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 11 01:11:12 2008 -0500

    Updated all ChangeLogs for this release (1.3.1)

commit bab45317a9e009449942e87d2ce2506287368187
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Fri Jan 11 05:10:13 2008 +0000

    Add Afrikaans translation for gschem
    
    (af_ZA.po converted to UTF-8 encoding by Peter Clifton for consistency)

commit 8eeb92aa5d10d7c4808d039e09b4b6626e380138
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jan 10 23:51:08 2008 -0500

    When doing a find_text into hierarchy, the titlebar was not being updated
    
    Added a update call into o_edit_find_text that made sure the titlebar and
    scrollbars are properly updated when the found attribute is displayed.
    This addition will do a full redraw as well (not sure if that is going
    to cause problems at this point).

commit c1e3075cb263a6098d2351440b680247456ae0d0
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jan 10 00:27:16 2008 -0500

    Updated and correct the gEDA/gaf man pages a little bit.
    
    This is the fix for SF Bug: [ 1556064 ] man page version out of date

commit 7b0c15cea18baf9a2a3bb8c89ccb02034a821156
Author: Bernd Jendrissek <bernd.jendrissek@gmail.com>
Date:   Thu Jan 10 01:24:26 2008 +0000

    gnetlist: Fix typo
    
    (Peter Clifton modified the patch to fix translations at the same time)

commit 015f1dc8f08ef4ff9510dc04859b88311dedf237
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Mon Jan 7 20:22:46 2008 +0100

    Updated gschem's spanish (Spain) translation.

commit fd560649436835795f173f0fd3dc498133040f9a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 6 21:02:26 2008 +0000

    Validate log messages to ensure they are UTF-8 before passing to GTK

commit 048bd6f8e2fc1c5f5b01ff3f1cad3a7c9bf43f3e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jan 6 20:36:52 2008 +0000

    Allow configuration of the scroll wheel's action to match GTK app. norms
    
    Adds configuration parameter (scroll-wheel ...) which takes either
    "classic" or "gtk" as a string argument. "classic" remains the default.
    
    Tidies x_event_scroll() to deal with the various options in a neater way.

commit 3aaba690a9360bfe9acd480acf5d549d05513f52
Author: Bert Timmerman <bert.timmerman@xs4all.nl>
Date:   Sun Jan 6 12:18:06 2008 +0100

    Dutch translation file reviewed for upcoming release.
    
    - Updated modified texts.
    - Corrected minor typos near exclamation marks.
    - Tried to conform to new Dutch spelling definitions.

commit e800618afe70c93c3739d725172dfdba95386232
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 5 21:14:51 2008 -0500

    Manually ran make update-po in all directories

commit b2380c0f70344117be7045a5fc1483698fdf4358
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jan 5 20:57:51 2008 -0500

    Bumped versions to 1.3.1/20080110/32:0:0 for the next development snapshot
    
    Note, libgeda's so did not change at this time.

commit 6b36311d3be00d9b4901a876f5f4da4f892e3bce
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jan 5 22:10:31 2008 +0000

    Remove extraneous printf where they duplicate log messages.

commit d367e94f7d11ceb66c8ad95332052d2abf5ed09c
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 4 13:33:15 2008 -0500

    Added consistent border width to the in-use scrolled window
    
    Without this border width, switching between the in-use and library tabs
    caused the scrolled windows to jump around.  Plus now the spacing is
    consistent between the two tabs.

commit 3fb40e7713e33a034632386a1446e3d94b25e6a5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 4 13:30:26 2008 -0500

    Added refresh button to the in-use tab in the component selection dialog
    
    The refresh button refresh the in-use component list as well as the library
    component list.  Before this patch, the refresh button was only in the
    library tab and not accessible from the in-use tab.

commit cf1ebffc8fc1634dc82cfd3a5e2748edadea4565
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 4 20:26:24 2008 +0000

    Remove "Apply" button from the component selector.
    
    As the component list is de-selected when placement mode is cancelled,
    the action of re-selecting a component to place switches back to this
    mode without the need for an explit "Apply" button.

commit 8333e806fef245815235d8f96a81fcd06b96dfa4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 4 20:23:22 2008 +0000

    De-select list in the compselect dialog when placement is cancelled.
    
    By de-selecting the list, we ensure that the list state reflects the
    component the user may currently place. It allows the same component
    to be selected for again, without either using the "Apply" button,
    or having to temporarily select a different component first.
    
    As a hook to de-select the list is added in o_redraw_cleanstates(), we
    now avoid using that call as a shortcut to cleanup our last place
    operation. It is still used if the last operation was not a component
    placement.

commit 3ae9c752b203ddc66b94c3f6cda352ee9306f13d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 4 20:06:24 2008 +0000

    Add call to o_redraw_cleanstates() in the edit_{copy,mcopy,move} actions.
    
    Ensures that any existing action is appropriately cancelled before
    starting the new action.

commit 09c5d9fe73e0874b8b86b50c1ddc552254ee8661
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jan 4 18:08:22 2008 +0000

    gschem: Remove extraneous debugging printf from g_hook.c

commit 9aca06cdb70c3fc9595beb82713eedd90a7e1d16
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Jan 4 12:57:58 2008 -0500

    Added checks at the autogen.sh stage for missing m4 macros
    
    This commit adds a autoconf friendly m4 macro to check for undefined
    macros (originally written by Peter Brett).  This macro is used in
    configure.ac.in to check for a few troublesome macros (guile, nls,
    gettext, intltool) that are usually missing because a required -dev
    package is not installed/missing.

commit ef9f1e110cc8d67a98310e9c689c5afe5363be25
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 2 19:15:14 2008 +0000

    Prefix "geda-" to icon names to help namespace the icon theme.

commit 1697a90e5465dde296199745991e76df8f68c3be
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 2 15:41:07 2008 +0000

    Changed --with-xdgdir to --with-xdgdatadir for consistency

commit ee47fc5fa6d418a54af62a55a78e508d95a0f913
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 2 02:46:14 2008 +0000

    Change usage of ${datarootdir} to ${datadir} for autoconf compatibility.

commit 208cb97b474b29efea9b76d8b9099ffe2bf446af
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jan 2 01:22:20 2008 +0000

    Fix typo in --disable-update-desktop-database help text
    
    Also fixed closing comment which had "mime" instead of "desktop"

commit 25557429d0ca8baaa921b4a2ce5f243f8df8dfc2
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Jan 1 16:14:09 2008 -0500

    Updated gschem's autogen.sh to be identical libgeda's
    
    This commit also fixed up the build mechanism for gschem to recreate
    configure.ac if configure.ac.in changes.  These changes are identical to
    1a1cbb29f5d1ff118fb91235463e57a48ba81054

commit 5f3cde4f20975275cb38b52cd3155fda41201209
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Jan 1 17:24:18 2008 +0000

    Fix configure checks for Guile (again).
    
    The previous patch missed changing the gschem configure script
    (generated from configure.ac.in), and got the logic wrong anyway.

commit 2f7e3ae60480743a8268d392272d05bd77dd75c8
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Mon Dec 31 20:43:08 2007 -0500

    Updated all ChangeLogs for the past development release (1.3.0)
    
    This step was supposed to happen before the 1.3.0 tarballs were released.
    These changes will be picked up in a subsequent release.

commit 0525e60123ab47ff62c9c30f4a3159ca75bbb456
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Dec 30 20:15:19 2007 +0000

    Add TAGS to some .gitignore files.

commit ec101c69efe4cef25410fc6e8b9e43a3dbafd5f0
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Dec 30 20:15:19 2007 +0000

    gschem: Use protected evaluator to run menu functions.

commit 46f8e5671e1f22ed32d02ce7fd4f87f65f257c0f
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Dec 29 22:32:31 2007 -0500

    Created POTFILES.skip (with intl/plural.c inside) to make distcheck happy

commit ba474af87840a0d49e04a00de96b7df2944c09bd
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Dec 29 09:57:43 2007 -0500

    Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot

commit 7c82238f3b2433607f8af6c873af99a642f05409
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Dec 29 09:22:38 2007 -0500

    Ran make update-po in all po directories in prep for a new release.

commit ae6aeb9b656ead47d5cad5cbc7370cf59877eda7
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Dec 29 09:00:36 2007 +0100

    ignore deleted geda-gschem.pot in .gitignore

commit e2f7ebf5903560592cd31168085068310c2a12fb
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Sat Dec 29 08:56:40 2007 +0100

    gschem: updated german translations

commit 15ff1a06a1352871426a9774a5037519e74759f6
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Dec 28 23:52:17 2007 -0500

    Removed now machine generated file

commit fdf272053572b5017fa342d91e7ed2ee559e1e2d
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Dec 28 23:36:02 2007 -0500

    Fixed a minor newline typo

commit 91a9b7a5391544f961c96d376186228a72410f67
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 03:12:06 2007 +0000

    gschem: Fix copy-paste error handling line-style keyword in g_rc.c

commit 91726e0964602983e8f896be86aa056afc96baff
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 01:41:14 2007 +0000

    Change image embedding format to base64 encode the original files
    
    Previously, the format was a base64 encoding of serialised output from
    the gdk_pixbuf used to store the image internally. Due to another bug
    (now fixed) it is known that no official gEDA release could re-load
    the embedded images that it saved. This hopefully provides some
    justification as to why its OK to change the embedding format here.

commit 1061b44d8af612e15b4179b71aac44c3959e09b9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 01:38:55 2007 +0000

    gschem: Redraw after embedding or unembedding components

commit cf5a697b83f1d53d6c9299a39d37d7d685f374eb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 01:37:18 2007 +0000

    Add undo save for embed / unembed operations

commit 5ad632442a79dcf8ddb0fd60cdd9a1c09acfc39a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 01:37:10 2007 +0000

    Use gdk_pixbuf_copy(...), not gdk_pixbuf_rotate(.., 0) to copy pixbufs

commit 70293381f5af9957afbd3e3fd0614d838738c7a7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 01:37:02 2007 +0000

    Compute picture aspect ratio in double arithmetic, not integer.
    
    Avoids a nasty bug where coordinates would overflow when attempting to
    grip-adjust the picture size due to this ratio being incorrect.

commit c356556b29a991ec1f40b6be01e332fdfd663dac
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 29 00:48:09 2007 +0000

    gschem: Fix erase drawing of objects
    
    Code which used o_..._erase() was not causing invalidations of the dirty
    screen regions. Refactored to the code to use o_erase_single() instead,
    and deleted the then unused o_..._erase() functions.

commit 532aa7129dafe872d0993fed52d0dcba92e78399
Author: Bert Timmerman <bert.timmerman@xs4all.nl>
Date:   Fri Dec 28 22:04:26 2007 +0100

    Updated the Dutch translation for gschem.

commit b03232ea8fe9f911af8265c63b16425cf7ee70cb
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 28 18:52:30 2007 +0000

    Allow standard glob matches in the component selector's filter entry.

commit f2101950cde757e1b51c8e6e70a5d764d8a7fa99
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Dec 27 21:54:16 2007 +0000

    gschem: Don't delete po/ChangeLog on make maintainer-clean
    
    Also removed rule to delete po/Makefile.in.in as this also exists
    in the po/Makefile maintainer-clean rule.

commit 127cff28ce52f41ce0972e8109049ecb78b09cc3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 25 23:09:28 2007 +0000

    Add English (British) translations for libgeda and gschem

commit b9f741e0906295754fa5e1301cf3079aee88ff55
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Dec 25 05:12:40 2007 +0000

    Remove intltool-*.in files during make maintainer-clean

commit 76885149df80234cd91c42ca83752cfe5cd470f8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Dec 23 06:11:31 2007 +0000

    Add --with-xdgdir=... option to gschem and gattrib to match libgeda

commit 5ee84ba2b7f534b11b7487c91413deaf393cb7ca
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 22:55:34 2007 +0000

    Add .desktop and icon files to gschem and gattrib
    
    Ship application icons and .desktop files for gschem and gattrib.
    The gschem icons were contributed by Tomaz Solc, and the gattrib
    icons created by Peter Clifton.
    
    Uses the intltool framework to translate the .desktop files.

commit cd5263a602c8da768d3af7fdf9aca99847324d9e
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Dec 22 21:46:25 2007 +0000

    gschem: Don't lose close confirmation dialog behind window
    
    It was possible to lose gschem's close confirmation dialog behind the
    gschem main window, which could lead to data loss as it was then very
    difficult to recover gracefully.

commit b10a0ed7e99910a5d83565ede63a7ff9b11bc528
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 22 05:32:31 2007 +0000

    Switch back to the page we were on after a saving changed pages.
    
    The changed page saving code switches pages with s_page_goto(), but the
    page was not switched back. This lead to gschem being left editing a
    different page after a cancelled close operation. No redraw or GUI
    update was called, so the screen still showed the old page.

commit ceacc48fd83d27953a9510374962f267c42e22e9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 22 05:32:28 2007 +0000

    Use Save, not Save As.. after prompt when closing modified schematics
    
    If the schematic is changed at exit time, a prompt is given. the
    "Save" option will save into the existing schematic file. If the
    page is untitled, a file-chooser will be presented.This is in
    keeping with other applications.

commit f3de6fdfcd78b60d201e8786c78ea59bcc3f437e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Dec 21 23:48:42 2007 +0000

    gschem: Set default window icon to the "gschem" icon from the icon theme.
    
    When a "gschem" icon is found in the icon theme, this will be used as the
    default application icon. For GTK versions < 2.6, some default sizes have
    been picked at which to look for icons. GTK >= 2.6 will find the best icon
    by name.

commit f024b92045527776c0ddf86ac16de5dfb09837ad
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 21 17:44:15 2007 +0000

    gschem: Don't use direct o_???_translate_world() funcs
    
    Use o_translate_world() instead of the direct functions, so we can
    hide the internal implementation in libgeda.  Only a very small
    performance hit.

commit 52bb24c3868d14b12480037dc8f0b1450cc78d7f
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 21 17:26:30 2007 +0000

    libgeda: Make sure that Guile smobs are initialised.
    
    Rather than initialising them in gschem, which is a WTF.

commit 0a5ba355c6719172ec1e6325108d5c0e716d1a2e
Author: Robert Fitzsimons <robfitz@273k.net>
Date:   Fri Dec 21 14:13:51 2007 +0000

    gschem: Fix segfault when trying to write an image.
    
    The change to split out gschem TOPLEVEL variables, left some code
    which tries to copy the TOPLEVEL variables from the old data
    structure.  This caused a segfalut to happen on my system.

commit 3b040cf8d60a8fbe45f6e7c5f3d71a3dea119357
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Dec 19 17:48:57 2007 +0000

    Add intltoolize to the build infrastructure
    
    Provide intltoolize infrastructure for translating .desktop and MIME
    XML files. Run gettextize after intltoolize if required, so that the
    infrastructure for providing libintl on a non GNU system still works.

commit c290fcbcb34bd4adaee35a7ba4f655f88e4e252a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 17 23:11:47 2007 +0000

    Check if bounds were found before invalidating drawn areas.
    
    If world_get_..._bounds() return zero (for example, in the case of
    invisible attributes, or an empty schematic), no bound coordinates
    are returned and we can't use them for further processing.

commit 17998a71cc46a7eff3c738fcbd3851c7c8ea5930
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 17 23:11:44 2007 +0000

    Fix bug #1851403: Crash after adding component while in move mode
    
    Ensure any operation already in progress when opening the component
    selector is cancelled by calling o_redraw_cleanstates() first.
    
    Also call o_redraw_cleanstates() just before placing the component,
    rather then directly freeing the objects in the complex place list.
    Since the component selector isn't modal, the user may have switched
    to a different action whilst the component selector was open.
    
    To avoid a similar crash, use o_redraw_cleanstates() upon closing the
    component selector (if we are still in component placement mode).

commit 83b4c4f7d62c8a0a6a52ec092c9535f81f82deac
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 17 23:03:53 2007 +0000

    Fix memory leak in o_redraw_cleanstates() called during copy or place.
    
    For actions other than "MOVE", the objects in the complex_place_list
    must be free'd as they are otherwise unowned.

commit 95a9632f6b4970b578fe06647496f339ee5fa1f8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Dec 17 23:03:49 2007 +0000

    Fix i_callback_edit_copy_hotkey() to set new state after clearing old.
    
    o_redraw_cleanstates() needs to know the state it's clearing up.

commit fb274693d442e16890582d7442f1d52d60e95755
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 16:53:25 2007 +0000

    Add private function compselect_get_view() in x_compselect.c
    
    This function abstracts away an assumption we make that the tabs of the
    GtkNotebook inside the component selection dialog are in a particular
    order. Separating this into a function call which returns from an enum of
    views will stop this ordering assumption spreading throughout the code.

commit a5f930da86483f05c58a92ea5ae436b25e548486
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 13:42:55 2007 +0000

    Remove unused functions o_{net,bus}_xorrubber()

commit 79f8378827becac265f5cd3a3327ab79a2c8befc
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 13:31:39 2007 +0000

    Always redraw the screen using a blit from the backbuffer.
    
    The previous redraw scheme which would draw to the screen concurrently
    with drawing to the backbuffer is proving to be a bottle-neck to recent
    desktops using compositing. Every draw we make forces the X server to
    compute a damaged region and re-composite the window.
    
    We now draw only into the backbuffer, and then invalidate the extents of
    the region we've drawn.

commit 33e12c8916f6b3bcd2d0df2246ef925e7b25b0dd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 13:31:38 2007 +0000

    XOR draw to remove component ghost when cancelling component placement.
    
    Changes previous full-screen redraw when cancelling component placement
    to use XOR drawing. Adds similar code to remove the ghost which exists
    (usually underneath the dialog) when the component selection dialog is
    closed. Don't rely on an expose event to re-paint it for us.

commit ebf8dd81c398f39adcdbe4801d4a624ab1f73241
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 13:31:36 2007 +0000

    Remove unused toplevel variable in o_grips_motion()

commit 20f61e1aaebcf565e5d7dcf111b1c07cd8483fd1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 12:32:52 2007 +0000

    Fix test of object_changing in o_grips_motion() to a g_return_if_fail()
    
    This test isn't hit unless o_grips_motion() is called before the
    object_changing variable is set, and this would indicate a bug in
    libgeda or its client. This could currently cause a segfault if it
    were to happen, as the variable isn't initialised to NULL.
    
    Initialise object_changing to NULL, so any bug will always be caught.
    
    Tidy up indentation levels in o_grips_start() by returning early if we
    don't have any object to manipulate, rather than wrapping most of the
    funciton in an if (...) {...} test.

commit 49bce50cbcfe83e7b53c4ffe76e4ca1edb333c38
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 11:37:51 2007 +0000

    Remove un-needed box size computation in o_select_box_start()

commit ec2269ef825369b75ab932f5395a2f64dae72847
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 11:19:48 2007 +0000

    Fix stroke trail to be visible on light background color scheme

commit a02bc0b501b7acbdf419ad306b46ec6a9522b61c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Dec 15 11:12:47 2007 +0000

    Erase stroke trails after an un-successful stroke recognition
    
    Previous behaviour was only to erase stroke trails after a
    successful match.

commit 47240f890c2282d19a1822c280de4fac18a50e66
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Dec 12 19:19:13 2007 +0000

    gschem: Warn before overwriting files. [1846593]
    
    Also fixes a memory leak in the file save function.

commit 405e7a33706d1e82d53c8d607aad11f9be8ad559
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 7 21:48:43 2007 +0000

    General log handler improvements
    
    - Handle all messages above "debug" level
    - Send all messages which are neither "message" nor "warning" levels
      to console using default log handler
    - Don't print to console from the gschem log handler

commit 22b3fde6c98fc0219e54bf7edfcd8dcb33c5fe92
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 7 21:48:18 2007 +0000

    gschem: Show log in pretty colours.

commit 668ada22ec0f2a48adffcc62daacc6876108ee71
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 7 21:48:17 2007 +0000

    Pass all log info to x_log_update_func
    
    In order to enable applications to do interesting things with log
    messages, they need to have all of the log info (including severity
    and log domain).

commit e0dda20b072897d6c00fddeddf729cab283a2810
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 7 21:48:17 2007 +0000

    gschem: Show an informative message dialog when loading a file fails.

commit be301530f468e4d0057b3be68e218ac444c2d2be
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Dec 7 17:20:55 2007 +0000

    Make libgeda's f_open() & f_open_flags use GError.
    
    This patch actually *removes* error message output from file loading
    errors is some cases.  This is for the sake of keeping the patch
    concise, and will be addressed in later patches.

commit e4a1fa8545e76b4ef82cc1253e65a844fa5fea88
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Nov 29 13:32:15 2007 +0000

    symbols: Nicer names for default libraries
    
    Use the features added in the component library backend rewrite to
    give the default component libraries less cryptic names.
    
    Also, put them in a sensible order, and disable component library
    sorting by default so that that order is preserved.

commit 49059356b318abbfa2ce977e017859049fd40162
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Nov 29 08:37:12 2007 +0000

    gschem: Fix file loading
    
    commit 5cb63878f258bc836a9908b329608268c38cf64c inadvertently broken
    file loading completely due to a logic error.

commit 5cb63878f258bc836a9908b329608268c38cf64c
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Nov 29 01:29:16 2007 +0000

    gschem: Fix new page behaviour
    
    Currently, gschem attempts to load "untitled-1.sch" from the cwd at
    startup.  This is clearly wrong -- gschem should present a blank page
    regardless of whether there is a page available on disk (consider
    behaviour for "untitled-N.sch", N>1).
    
    This has the side effect of stopping gschem from trying to load backup
    files for new pages (this is a good thing).

commit 7228144a2195734300776a868ee88ee648a93df8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Nov 29 00:29:15 2007 +0000

    gschem: Fix "failed to set sensitivity" log spam
    
    A bad string in i_basic.c was making x_menus_sensitivity() spam error
    messages to the log.  Altered the log message to make it easier to fix
    in the future.
    
    Bug was introduced in commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
    by editing menu definitions in system-gschemrc without updating
    i_basic.c.

commit e97af7cb9cd0b79534cc2bf93e6e5dbf336e883a
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Nov 28 14:58:15 2007 +0000

    gschemdoc: Use xdg-open if available
    
    xdg-open is a tool from freedesktop.org which tries to use the user's
    preferred application to open a file or URL.  This is a big
    improvement over using a hardcoded list of applications to try.

commit ae225157603f063747709fa3d639ed8cdf63f6b1
Merge: 1abfd25 43b5713
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Tue Nov 27 07:53:37 2007 +0000

    Merge with Cesar's mingw/pu branch
    
    Merge commit 'cesar/mingw/pu' into premerge

commit 1abfd25bf917ee4e90ccdbbbe9921db6ff46c49f
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Nov 24 08:34:13 2007 +0000

    gschem: Fix NULL pointer risk in x_image.c [1802087]
    
    x_image_update_dialog_filename may attempt to deference a NULL
    pointer.

commit 74e7888ed1d23eac05d097f9d635d4a58a6576a3
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Nov 23 21:43:49 2007 +0000

    gschemdoc: Quote variables in case they contain spaces. [1792986]
    
    In the gschemdoc shell script, the variables $pdfreader and $browser
    need quoting on lines 86, 113 and 128 (eg "${browser}"). Otherwise,
    paths with spaces in, like "Program Files/Mozilla Firefox" commonly
    used in Windows don't work.
    
    Based on anonymous SourceForge patch.

commit 8b490a404e682ac4f1e4cbd46e22c92f58b2ae76
Author: Tomaž Šolc <tomaz.solc@tablix.org>
Date:   Fri Nov 23 21:42:50 2007 +0000

    Compilation fixes for Mac OS X 10.5 [1832417]
    
    This patch contains changes to gEDA source tree that were necessary to
    compile on Mac OS X (10.5 Leopard, PPC).

commit 0b0d1259692ffe36e3bbc617af78bbf8a1c8f716
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 21:34:57 2007 +0000

    Improve object mirroring API in libgeda + gschem
    
    Implements the o_mirror_world() function which rotates any object, and
    o_{glist,list}_mirror_world() functions which mirror lists of objects.
    
    Moves o_complex_mirror_world() from gschem into libgeda, and modifies
    appropriate places in libgeda + gschem to use the new API. The old
    gschem function o_mirror_world() becomes o_mirror_world_update(), a
    convenience function calling o_glist_mirror_world() and ensuring all
    necessary drawing and connection updates are made.
    
    Removes the o_complex_mirror_lowlevel() function which is made redundant
    by the above changes.

commit 21a8790b0540c374b00cfc45ad79ab474a4655b0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 21:34:35 2007 +0000

    Improve object rotation API in libgeda + gschem
    
    Implements the o_rotate_world() function which rotates any object, and
    o_{glist,list}_rotate_world() functions which rotate lists of objects.
    
    Moves o_complex_rotate_world() from gschem into libgeda, and modifies
    appropriate places in libgeda + gschem to use this new API. The gschem
    function o_rotate_90_world() is greatly simplified, becoming a
    convenience function calling o_glist_rotate_world() and ensuring all
    necessary drawing and connection updates are made. This function is
    renamed o_rotate_world_update().
    
    Removes the o_{complex,text}_rotate_lowlevel() functions which are made
    redundant with the above changes.

commit 626f5c071a1dfea55e0214f6064b29908152d792
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 19:21:34 2007 +0000

    Update the all drawing state SCREEN co-ordinates when zooming / panning.
    
    By updating all of the co-ordinate state when zooming / panning, a redraw
    which includes a draw of any rubberbanded items will show them in the
    correct location. This allows XOR drawing to continue without dropping
    artifacts, or flashing up a "ghost" where the original element being moved
    was. The explicit erase for the gost item when moving is no longer needed.

commit b20fa7e79e364fc8b5188ce8f6d9d807d8185a44
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 19:19:20 2007 +0000

    Rework o_drawbounding() to work without dropping artifacts in all modes.
    
    Simplifies both o_drawbounding(), and many functions which call it. No
    special casing outside o_drawbounding() is needed for OUTLINE vs.
    BOUNDINGBOX mode. Duplicated code has been reduced by making more use of
    o_drawbounding() during copying / complex OBJECT placement.
    
    This commit fixes bugs in code paths which aren't normally exercised, as
    the BOUNDINGBOX drawing mode isn't used any more. The code could be
    simplified further by removing the BOUNDINGBOX mode if desired.

commit c3e9ed7bd974e4c8f8adbd7d61b44a11ed0edfe1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Nov 18 19:03:12 2007 +0000

    Don't redraw the selected objects which are being manipulated by grips
    
    This saves the need to explicitly erase those object after every redraw.

commit 0b34786f4d28b57854f5cc4851afa40ac44b4ac3
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Fri Nov 16 09:33:52 2007 -0200

    MinGW does not have getuid nor getgid.

commit bdd7ef7ee9047c3942b43c165396ebe48d31e95a
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Sun Nov 11 14:17:21 2007 -0200

    Use g_path_is_absolute from GLIB instead of platform specific code.

commit 40c0582e39d6a7ed0a41e0e5deedc0bfd03bbddc
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Thu Nov 15 19:11:12 2007 -0200

    Use forward slashes as path separators on MinGW.
    
    They are also acceptable as path separators on MinGW.

commit d715ba7dc3e02d77e671b9ab54b994379daefec5
Author: Cesar Strauss <cestrauss@gmail.com>
Date:   Thu Nov 15 13:34:40 2007 -0200

    Tell git to ignore .exe files.

commit f71ae05abf00acdafa0d5626304ca6baa9851a53
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Nov 6 23:11:41 2007 +0000

    Free gdk events obtained with gtk_event_get().
    
    gtk_event_put() copies an event given to it, so if we retrieve an event
    and re-push it into the event queue, we still need to free our copy.

commit 21f35c531c68e6ceafa09548e0de6040e1b1ce52
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Nov 6 23:11:39 2007 +0000

    Refactor XOR drawing functions to avoid code duplication.

commit 14da6cd4ad1e318b53f0d3b745667842a442bf66
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Nov 6 23:09:38 2007 +0000

    Remove full screen redraw calls the rubberbanding and ..._end() functions.
    
    These calls aren't hit, as they were conditional on the inside_action flag
    being 0, which should not be the case when these functions are called.
    
    Temporarily add g_assert() statments to verify inside_action != 0 to prove
    these changes are appropriate. Assertions should be removed after testing.

commit 5f08590dee1f13d4b771880d46f317e49253ccff
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Nov 2 18:27:56 2007 +0000

    Remove the o_redraw_all_fast() function, as its not any faster now.
    
    Historically, o_redraw_all_fast() may have been used for faster drawing
    in some cases, however the o_redraw_all() call is now equivelant, with
    the addition of redrawing any "place" trails should gschem be mid-action.

commit 23ead18086e59aab22945c37ff95f49e5747f277
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Oct 17 04:50:39 2007 +0100

    Remove the ATTRIB linked list in favour of a GList
    
    The ATTRIB.copied_to pointer is moved from the ATTRIB struct to reside in
    the source OBJECT being copied.
    
    The ATTRIB *attached_to pointer of an attribute's text OBJECT is changed
    to OBJECT *attached_to, pointing directly at the OBJECT to which that
    attribute is attached. This avoids the need to traverse the ATTRIB list
    and retrieve this pointer from the HEAD attribute node. (A HEAD node is
    not used in the GList of ATTRIBs).
    
    The ATTRIB structure now only contains one element, OBJECT *object. This
    points to the text OBJECT holding and displaying that attribute's
    "name=value".

commit 6f0ab03ed06d5cf0265a4f5bee516866efc16828
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Oct 17 04:14:38 2007 +0100

    Tidy the o_drawbounding() function to make it more readable.

commit 1ec03e992136e524a24b6bd593a4e0de3ce0158f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Oct 17 04:14:25 2007 +0100

    Add function o_erase_list() to gschem, to undraw a GList of OBJECTS.

commit 20df014334dbd0b62e2ec3515ff932726c2a29c9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Oct 9 22:27:02 2007 +0100

    Tidy o_redraw() to be more concise and have a tighter inner loop.

commit ccd73092afbe22bdd6ef9f17318481dc32e50c8a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Oct 9 22:05:22 2007 +0100

    Avoid use of global_window_current in gschem/src/x_dialog.c: color_set()

commit f914d437f4a76df5ba28e80e7dab6f55996a8b59
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Oct 9 22:05:21 2007 +0100

    Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL
    
    GSCHEM_TOPLEVEL has a TOPLEVEL *toplevel pointer as its first elelment,
    gschem uses this to call libgeda functions. (Almost) all gschem functions
    now take the GSCHEM_TOPLEVEL as their first argument.

commit 3da83d39b58ab2cb642b93b798ec31be0a725d81
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Oct 9 20:08:26 2007 +0100

    Move o_redraw_single() from libgeda to gschem

commit fe4375d7185c0d5f7cc8186c1a214981fb6d0edd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Oct 9 20:08:26 2007 +0100

    Move libgeda's o_selection_unselect_list() into gschem.
    
    The function calls o_redraw_single(), so should be in gschem.
    It is now named o_select_unselect_list().

commit f217428f8248d6e8491d943256d30d5e11d808d1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 19:42:01 2007 +0100

    Remove OBJECT* linked list argument to o_drawbounding().
    
    All code is now passing GLists of objects to this function.

commit 185958029cb58e26d37854c7580bef1b0869a7c9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 19:42:01 2007 +0100

    Use GLists to store OBJECTs in the "object_buffers[]" paste buffers.
    
    Replaces o_list_copy_all_selection2() with o_glist_copy_all_to_glist().

commit 38d3c48fd5a2ea57af5d772854393b39fd3b7e78
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 19:42:00 2007 +0100

    Make attribute / text placing use a new attrib_place_list GList.

commit d1e77cc6b87f6bd78cfc38630c292ac2c0f1f09b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 02:44:18 2007 +0100

    Remove the redundant toplevel variables current_{show,visible}.
    
    These variables were previously used for an interactive method of attrib
    placement which has since been removed. The current_visible variable was
    also tested during non-attribute text placement, but to no effect.
    
    Whilst the file-format does technically allow invisible text, gschem's UI
    pesesnts no way to achieve it, so removing this variable does no harm. The
    ability to correctly load schematics with invisible text remains.

commit aa91395ad62805ec4112d602406888a328c43519
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 02:36:19 2007 +0100

    Remove the unused states for attrib placement: DRAWATTRIB and ENDATTRIB.
    
    Also removes the functions:
      o_attrib_{start|end|rubberattrib} which are no longer used after this.

commit 6a0fb625ba8dfd3d8dceb1b44055d4920e4b2658
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 02:35:53 2007 +0100

    Remove the unused function o_erasebounding().

commit 4595948e41b2d195eb78a820fc15d0d8596067a4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Oct 4 02:34:50 2007 +0100

    Avoid accessing (GList)->{next|priv} directly to aid debugging.
    
    Instead use g_list_{next|previous}, allowing us to catch errors where
    changing from gEDA structures which had their own next and prev pointers.
    
    To debug, edit the glist.h include file from glib, renaming the next and
    prev elements in the GList structure and macros. Recompile gEDA to see any
    bad accesses such as those where the HEAD nodes were previously skipped.

commit fc2b607031341f2f15b9c6f3d881e11895bdef50
Author: Michele Petrecca <michelinux@alice.it>
Date:   Tue Sep 11 22:49:03 2007 -0400

    Updated Italian translation.

commit e84c1d4ba2ad15e18f94346389d2671eb49d0cf5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Sep 11 22:37:55 2007 -0400

    Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box
    
    This is a fix for (Patch#) 1789290 libgeda-1.2.0 fprintf which supplied a
    similar patch which fixes the issues in libgeda/src/s_clib.c and
    libgeda/src/s_textbuffer.c.  In the future, all releases will be built with
    gtk+ 2.4.x so that these sorts of problems do not get released.

commit bdc4d9ce6522fca0bf5332cb9c5228e03861c079
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 14:14:44 2007 +0100

    Avoid un-necessary usage of global_window_current in g_keys_execute()

commit 8ca8f4d38990365a2455999ea7e649156d2f6f90
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 14:14:42 2007 +0100

    Avoid use of global_window_current in gschem/src/x_compselect.c

commit fcbfa052a9bafdd11092a99909dc587476ef8612
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 14:04:21 2007 +0100

    Use a GObject constructor, not instance_init for compselect the dialog.
    
    Using a GObject constructor allows access to the construct time properties
    of the object during initialisation, whereas at execution of the GType
    instance_init function, those properties have not been set.

commit 201b6aecab7f3f0f86b6d89479e7c229d4e6fb30
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 12:51:00 2007 +0100

    Remove unused TOPLEVEL variables display_{width,height}

commit 2be89fae224e359b5e349341da160cd19542d53d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 00:54:12 2007 +0100

    Fix grid snapping in "Edit->Mirror Mode"
    
    Where the user selectes Edit->Mirror Mode, then clicks a point about which
    to mirror, the snap operation on the mouse coordinates was not taking place
    until after the mirror. Bug was introduced with noscreen changes.

commit 2e3c06cbcdce8254f70162ecebd650980cf70ee9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Sep 9 00:18:34 2007 +0100

    Remove the globally exported variable_set_func.
    
    Only gattrib provided a non-NULL export of this symbol, and such imports
    into libgeda prevent libgeda being dynamically linked on some platforms.
    
    To better match the other tools in the suite, gattrib's i_vars_set() and
    i_window_vars_set() functions were combined into a single i_vars_set().

commit f94d63a9a9f73e70b51c16b1e9f337bfa26b0de2
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 8 23:26:47 2007 +0100

    Use o_translate_world() to tidy up o_complex_translate_world()
    
    Removed o_complex_world_translate_toplevel(), and changed all useage of
    o_complex_translate_world() for generic lists of objects to instead use
    the new o_list_translate_world(). o_glist_translate_world() is also added.

commit 36dc96b81aadceb9bb6e4c3d8b59939a2dc240e0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 8 23:24:27 2007 +0100

    Rename o_complex_world_translate() to o_complex_translate_world()
    
    The function name now matches the pattern for other objects types.

commit 4c7705297748e544ceeb1ac119ee44f7a72595c4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 8 15:26:31 2007 +0100

    Remove unused function o_text_input().

commit 7e04d192b78dc0821efda3326e6ec676db424472
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 8 00:17:05 2007 +0100

    Remove o_complex_translate{2,_selection,_display_selection}()
    
    o_complex_translate{_selection,_display_selection}() were unused,
    o_complex_translate2() simply wrapped o_complex_translate_display().

commit 32dbd8536c17bcce9fbd9436fbb4c7efa32ee546
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Sep 8 00:17:03 2007 +0100

    Removed unnecessary angle parameter to o_complex_rotate_world(), fix bug.
    
    Fix rotation code to support angles other than 90 degrees. All current
    users actually pass 90 degrees so this bug had no visible effect.

commit 08ac872c975a587cf4125c6468c79c453661ee8f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Sep 7 23:58:51 2007 +0100

    Removed unused angle parameter to o_complex_rotate_lowlevel().

commit c66d009979f49bd7ac8ba0641a6974be9e6a82d5
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Sep 7 23:57:38 2007 +0100

    Removed unused angle parameter to o_text_rotate_world().
    
    From an old unmerged patch by Patrick Bernaud.

commit 0529c40c453c6f1a958acc87a85974c7a3f871b1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Sep 7 00:20:29 2007 +0100

    Avoid use of gtk_cell_renderer_stop_editing(), which is GTK 2.6+
    
    Instead emit the "editing-canceled" signal directly if necessary.

commit 613dcf8d3c2cf0ef40278ff481cc44e68c98428a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 14:38:13 2007 +0100

    Remove un-necessary variable re-initialisations in x_window_setup().
    
    The initialisations removed are the same as those in s_toplevel_new().

commit bd101aa36356082f479e1bd4970ea93b01bbfa5d
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 14:38:02 2007 +0100

    Remove the un-needed TOPLEVEL variable: DONT_RECALC, and its usage.

commit 5e9f49ed25bf87783207906daaf915714f43259c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 14:37:56 2007 +0100

    Remove the redundant TOPLEVEL variable: DONT_RESIZE

commit 863d3c63667dc1a106b21758f957d810ee6f5583
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 14:37:49 2007 +0100

    Remove the redundant TOPLEVEL variable: DONT_DRAW_CONN

commit bf3a364ed474ce6f5824a5f3fe94a3c17ce8bc28
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 14:37:41 2007 +0100

    Remove unused variables from the TOPLEVEL structure

commit 96495b7a87701b2ea8d7eb6b4da206d6c169a85c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Sep 5 13:46:57 2007 +0100

    Fix memory corruption and possible segfault copying attributes
    
    If an object (but not all its attributes) was selected and copied, dangling
    pointers were left in the un-copied attributes. A subsequent copy operation
    containing those missed attributes would attempt to reattach them to the
    copy of their parent. If this had been deleted in the mean time, memory
    corruption and a possible segfault would occur.
    
    Consolidates the duplicated code which sets the ATTRIB property "copied_to"
    into a helper function, o_attrib_list_copied_to(). This is also used to
    clean up after copy operations.

commit 5b2cb25e06604a8d31dff974f323477a78f02f46
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 16:48:32 2007 +0100

    Move o_picture_set_pixbuf() from libgeda to gschem

commit 07d5a095c313e031b939d45f89afcd1c0ca9bc97
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 16:48:09 2007 +0100

    Remove unused TOPLEVEL variable REMOVING_SEL.

commit 70d8cc898e42b95a7ac463d9e879c959690fbd5c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 16:47:22 2007 +0100

    Remove unused dialog pointers from TOPLEVEL

commit 9044d41a2305c97522bc70cfd7945f9d843482ae
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 16:41:28 2007 +0100

    Removes the linking between TOPLEVELs, instead uses a GList in gschem

commit d68adb7f7d91836a9fb4553e7cb7067c9ec2cd33
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 15:32:27 2007 +0100

    Make use of o_select_unselect_all() to reduce code duplication in gschem

commit bae595bf000b1d64ff83053cef76bce7839640b4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 15:32:27 2007 +0100

    Remove o_unselect_all() function, instead use o_select_unselect_all()

commit ebabf4fa5667d2ab74b5443367b83228fad4d6d0
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 15:32:25 2007 +0100

    Remove unused GType instance_init functions in gschem.

commit 96ca8a9a2804176b689f4fe89393259ec109a6d9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 15:28:33 2007 +0100

    Remove unused header file gschem/include/x_event.h

commit 283c545e77ada97b7bee7834c34708a8053abe60
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 13:49:51 2007 +0100

    x_compselect.c: Avoid using GValue to set properties where unnecessary

commit 63ee20a80cd42e1af745f9a52cd1d632c1bc345a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 12:17:25 2007 +0100

    Avoid using s_hierarchy_up() for traversal when we know where we're going.
    
    When trying to reach a specific parent we've come from before, we can use
    s_page_goto() and avoid the search through the page list.

commit a1b83a7ed4edf0d857a7bcbb98d551a5653f0476
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 12:17:19 2007 +0100

    Fix indenting / whitespace in gschem/src/o_misc.c

commit adca8b7d5897b11331c6a20392d22ad1e58ee572
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Mon Sep 3 12:15:43 2007 +0100

    Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList)

commit 086908ed44c9abc6d5907888695933b59ead4684
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 2 22:48:59 2007 -0400

    Last minute updates to the READMEs for all projects
    
    Cherry picked from stable-1.2 branch, since these changes apply to master
    too.
    (cherry picked from commit 88fcb8d1bcdaa1436572d6a0ebe86f4df242a8d6)

commit 2a79a231e0ced47d36636690614af348f47fe1d6
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 2 21:11:05 2007 -0400

    Updated po/pot files by running make update-po

commit b018b88a1f2a88d246af850a67a15be5b19825b2
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 2 20:54:49 2007 -0400

    Fix for Bug# 1782032: Blank attibute name when attribute value starts with " "
    
    In order to fix this bug, we needed to validate the input attribute when:
    1) input an attribute using the single attribute editor,
    2) Add an attribute in the multi-attribute editor
    3) Modify the name or value of an attribute in the multi-attribute editor
    An attribute is not valid if the name or value are empty, name ends with a
    space, and/or value starts with a space.  o_attrib_get_name_value does
    this validation throughout gaf.

commit 5a67f8a879c0f5bcfaa14daf6847064beebaf783
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 2 18:52:50 2007 -0400

    Moved refresh button in component select dialog box
    
    The refresh button was along the very bottom of the component select
    dialog box at the same level as Close, Apply, and OK.  The refresh
    operation is not nearly as important or first class as these actions.
    The refresh button was moved to the filter area.  Whether this change
    sticks depends on what users think of the new location (I'm quite willing
    to move it elsewhere if there is a better spot).

commit f0c1bf37611b14dedcf1c4b45ac2319216f3293c
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Sep 2 18:21:24 2007 -0400

    Added standard Control-z and Control-y keymappings for Undo and Redo

commit 9f3b4e2520b8dc5adf3b77fd0dfbe1beec8398ef
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Aug 19 23:03:54 2007 -0400

    Another set of po files changed via make distcheck

commit 6056ef48272778419d39e0233f395bfd60019ab9
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Aug 19 22:40:19 2007 -0400

    Update ChangeLogs using: ./update-changelogs.sh 1.0-20070526..master

commit 19aacfff985ee9b478c4c50dfeeb1a8af5957c3a
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 18 16:41:24 2007 -0400

    Added undo-panzoom keyword to control if pan/zoom cmds are undoable
    
    The default is to still store the pan/zoom info when panning or zooming,
    but now the user has a choice.

commit 93199b2f50c31691722ed154fc42fd4c01a2dac5
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 18 16:17:45 2007 -0400

    Toplevel gschem menu tweaks
    
    Added ... to some entries that open up dialog boxes or other windows
    Changed the ordering of Hotkeys and About in the Help menu
    Removed obsolete comment about the help menu being right justified

commit 92b3b65d0cec286b0ce59fc43cc07dcb60c39fa1
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 18 16:14:30 2007 -0400

    Bumped versions to 1.1.2/20070818/30:2:0 for the next development snapshot

commit e4b8aac64806c5f345d009ce725e16660d67cee4
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Aug 18 14:21:53 2007 -0400

    Added dist-license and use-license to the attribute-name keyword

commit f90d327e8f415f35c94c686db846e8377bc0cd26
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Aug 14 08:01:18 2007 -0400

    Updated po files using make update-po

commit 72c4db8aa20c22baa4243a0d27b3bb3f32f3ef64
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Tue Aug 14 07:46:06 2007 -0400

    Moved 3 rc promotion keywords from gschem into libgeda (fix for bug#1748143)
    
    All the promotion keywords were moved from gschem into libgeda to fix:
    [ 1748143 ] gschlas causes duplicate prompted attributes   The primary
    cause of this bug was that the promotion variables within TOPLEVEL were
    not being setup by gschlas and so duplicate refdes attributes were
    showing up in the schematic.  The three rc keywords that were moved are:
    
    (attribute-promotion ... )
    (promote-invisible ... )
    (keep-invisible ... )

commit e04284b595dffa4b9931872ae33b76daede58dd7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 12 01:57:17 2007 +0100

    Fix component selector filtering after using the "Refresh" button.

commit 802a2fea15d9bd918bd2398ac06bf6ca9b2e75c4
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 12 01:57:00 2007 +0100

    Make updates faster when typing in the component selector filter.
    
    The filtering process doesn't happen until after the user pauses typing.
    Reducing the update delay from 300ms to 200ms makes this feel better.

commit fa2045b8e9cac268fe0c0b7af2028ea768c8e465
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 12 01:56:58 2007 +0100

    Fix crash closing component selector window quickly after filtering.
    
    Typing in the filter box adds new update timeouts (300ms) with each
    keystroke. If typing fast there could be more than one timer active at
    once, however only the last added is cancelled when closing the dialog.
    Timers which ran after the dialog closed could cause a segfault.
    
    We now cancel any pending timeout before adding a new one.

commit 663e133ff0c0e153a8081b36404c0808222c6dcb
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Fri Aug 10 22:00:58 2007 -0400

    Added some net midpoint connections for testing purposes

commit 703151a94b0eece6b24b3b18ce2465eeae068814
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 9 12:36:17 2007 +0100

    Remove old prototypes from various prototype.h where no function exists.

commit 71600215311af0a98ed371ab750b09182de139a1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Aug 11 00:52:25 2007 +0100

    Revert inadvertent commits:
    
      dbfe00a20de3f875e519ef60629b968977fc5db8 (commit)
      f1451161914a0ed0bb43123279906d82cb7d5b49 (commit)
      2ad315fc0badd16a9614d1107b22c973908893d5 (commit)
      d8844bb48969aa45a05cbe6836fc96c198e88c19 (commit)
      ee1b64a1ae07eb99eae5d63307e9fe23f9604662 (commit)

commit dbfe00a20de3f875e519ef60629b968977fc5db8
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 10 22:52:18 2007 +0100

    Avoid using s_hierarchy_up() for traversal when we know where we're going.
    
    When trying to reach a specific parent we've come from before, we can use
    s_page_goto() and avoid the search through the page list.

commit f1451161914a0ed0bb43123279906d82cb7d5b49
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 10 22:45:48 2007 +0100

    Fix indenting / whitespace in gschem/src/o_misc.c

commit 2ad315fc0badd16a9614d1107b22c973908893d5
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 10 21:30:24 2007 +0100

    Add page list "changed" signal handler to gschem's page manager dialog.

commit d8844bb48969aa45a05cbe6836fc96c198e88c19
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 10 21:26:10 2007 +0100

    Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList)

commit ee1b64a1ae07eb99eae5d63307e9fe23f9604662
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Aug 10 01:32:27 2007 +0100

    Add different select box behaviour for left-right and right-left drags
    
    Selections boxes dragged from...
    
      left to right: select elements entirely contained within the box.
      right to left: select any element partially inside the box.

commit 0f5c72daacfa7d78666769e4063122934861da5c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Aug 5 22:36:56 2007 +0100

    Alter guile 1.6 compat tests to work with older autoconf versions
    
    Don't use AC_DEFINE to define function like macros, instead use
    AC_CHECK_DECLS to set a HAVE_DECL_..., then use AH_VERBATIM to
    insert a test which defines a replacement if necessary.

commit 5c098070b87709540345afb1b3b79d9db470ed53
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 2 22:09:52 2007 +0100

    Fix configure checks enabling guile 1.6.x compatability routines.

commit 512561395fb348a0fb71625edb4fe1ec96553c3f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 2 13:17:58 2007 +0100

    Fix to allow automatic loading of untitled backup files

commit 4cbb0c15240f649cfd69b120e7ed7ecd6c752896
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 2 13:16:22 2007 +0100

    Fix drawing artifact when dragging a net / bus to zero length.
    
    The grip dragging code cancels editing if you resize to a zero length line
    segment. Don't attempt to undraw the (zero length) rubberbanded line after
    the coordinates have been invalidated.

commit 8dc511639494940987582871d9f2efa09ecc2b37
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 2 13:07:30 2007 +0100

    Refactor code in o_grips.c to reduce duplication
    
    Also make many whitespace fixes. The code paths should remain the same.

commit 92ef419c46d5a41aa33b399d43ccde2ba2a99998
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Aug 2 13:06:09 2007 +0100

    Fix drawing of cues after moving a single line segment

commit 0a7ab22a482a896818dff52fbf289856d76efc87
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Aug 1 22:58:05 2007 +0100

    Alter grammar in gschem's "Unsaved changes" dialog box.

commit c31bd4adb677d671af8bdf5aed71f96a4995f9b1
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue Jul 31 20:03:51 2007 +0100

    Changed configure.ac(.in) to allow guile-1.6
    
    Introduces compatibility #defines where guile 1.8 funcs are missing in
    guile 1.6. Also adds missing configure.ac checks for guile in packages
    gattrib, gnetlist, gsymcheck and utils.

commit 30a86f3458c5a1562d97d33b06320647ed23132e
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jul 28 01:18:44 2007 +0100

    Change color in the multi-attrib dialog "value" entry when insensitive.
    
    Makes the "value" GtkTextView look the same as its neighbouring widgets
    when insensitive. Unfortunately GtkTextView always appears to render using
    the style's GTK_STATE_NORMAL text color. We save that initial value, and
    copy across either the saved value, or the GTK_STATE_INSENSITIVE text color
    when setting the widget sensitivities.
    
    NB: This is just a workaround for what appears to be a bug in GTK+.

commit f8f5c1f05c9c2dfa1d2566a113e9c295049f7564
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jul 28 00:05:03 2007 +0100

    Update the multi-attrib dialog after an undo operation.
    
    The undo mechanism replaces the page (and selection object), so we need to
    poke the multi-attrib dialog after an undo operation for it to watch the
    new page's selection object.

commit ae2ddeb6839ae4e2c9e9c73272b0372c63810717
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jul 25 15:36:42 2007 +0100

    Don't blank the add attribute boxes in the Multiattrib dialog.
    
    Leaving the text present after adding an attribute makes it is easier to
    add the same attribute to multiple objects. Instead we add a "grab-focus"
    signal handler to select the text box contents as we tab into it.

commit 31f65059cf1ce5be9b8a0987d4538fed075a6805
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed Jul 25 02:09:15 2007 +0100

    Fixed two calls to free() where g_free() should have been used.
    
    Updated Doxygen comments to note where memory should be freed with g_free()
    rather than free(). Commented three instances where free() is correct.

commit 852786d7dc90eebdc677e5d2af916d577d5f3aaa
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 17:12:12 2007 +0100

    Clamp page canvas size in the preview to the size of the page contents
    
    Ensures the user can't zoom way off the page contents being previewed.

commit 41ce0eb61b4b91d407d788a7ae1eb823d60fbdfd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 17:12:08 2007 +0100

    Alter panning code to center the page in the viewport if under-zoomed
    
    Centering is independant in the X and Y directions. When the viewport is
    larger than the page canvas in a particular direction the page is
    re-centered in that direction. This is necessary for a nice preview.
    Also change preview widget code to remove the A_PAN_IGNORE_BORDERS flag
    from zoom operations, which is no-longer needed with the above changes.

commit 42034b5e81a0a4d40254aa2ef557083531d38291
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 14:32:05 2007 +0100

    Stop scroll events wraping the pointer when the preview widget is inavtive
    
    Also corrects the prototype of the scroll event handler to return gboolean

commit 3345932d7fcaad0570ebd793f88253696a014895
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 14:15:35 2007 +0100

    Clear the preview  when no valid file is selected in the file chooser
    
    Previously the preview widget would continue to display the last
    schematic or symbol which had been selected.

commit 867525cce75bcf9996992db1681f506f4fcdc84f
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 14:14:37 2007 +0100

    Clear preview and stop placing components when no valid symbol is selected.
    
    Previously the component selector preview would continue to display the
    last symbol which selected, and component placement could continue.

commit c217b2b5160867c85ef89d53c5035adfc430da09
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 14:02:12 2007 +0100

    Fix some memory leaks when placing components.
    
    In several places the complex_place_list glist was freed,
    but its contents were not.

commit ac28aaa56a684a07fe3ee5590a31baf3fa8adbe7
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 05:33:42 2007 +0100

    Save/restore which component selector source tab was last used.

commit 7f54d6e4996f15d14781a49b3400ce89a39a60dd
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 05:10:27 2007 +0100

    Make the preview widget resizable
    
    Added handler for the configure event to resize the backing store and
    re-zoom the preview. Added the A_PAN_IGNORE_BORDERS flag to the zoom
    extents calls - giving a nice centered preview.
    
    Altered component selector dialog's alignment widget to allow the preview
    widget to expand to fill the available space.

commit 50a6da87868ce9d0f3cc788a8a9918fd9210a536
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 04:52:23 2007 +0100

    Fix mouse initiated zoom / panning operations on the preview widget
    
    The preview widget isn't called with a filename for previewing component
    sources, so the test for filename != NULL in the mouse event handlers
    stopped those callbacks working.
    
    Also added a scroll event handler to allow zooming with the mouse wheel.

commit 8ad905e0d55b7ed60b3f5c63cf6056ddccee7a8b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 22 04:49:35 2007 +0100

    Fix zoom extents to work correctly first time. Closes bug #1699959.
    
    A page's visible area is intialised to be the same size as the canvas
    extents. The zoom extents code scales based on this visible area, however
    this initialisation isn't correct, since the aspect ratio of the screen
    doesn't always match the canvas extents. The first call to zoom extents
    would fix this by correctly setting the visible area.
    
    By making the zoom extents code work from the screen aspect ratio (scaled
    to world coordinates), we can zoom to the visible extents in one shot.
    
    Also fixed some /2 operations, which for doubles should be /2.0

commit e4f7225254cb5168131d31347a8de277181f41ea
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jul 21 19:16:50 2007 +0100

    Save/restore geometry of the GtkHPaned in the component selection dialog.

commit a139f2ed1ec50ad2a0fec4e91c7e51dd690d983a
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jul 21 19:16:24 2007 +0100

    Extend GschemDialog to allow hooking to save/restore internal geometry
    
    GschemDialog now emits "geometry-save" and "geometry-restore" signals
    which instances can connect to. Subclasses may over-ride and chain the
    "geometry_save" and "geometry_restore" class members. These signal handlers
    are passed a pointer to the GKeyFile and a text string identifying the
    group it expects data to be saved under.
    
    The code relies on features only available in GLIB 2.6 onwards. When using
    this functionality the code must be surrounded with an appropriate test as
    the class functions are not defined when compiling against an older GLIB.

commit 91ffb796f41ca6ee7a5ed1063917f7bb3fd03464
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jul 21 19:16:09 2007 +0100

    Separate the list and preview with a GtkHPaned in the compselect dialog.

commit 5e47599e07b5bed9d24b5c295db7a5e05f7c4624
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jul 20 17:36:39 2007 +0100

    Added missing test to allow pins to work with the multiattrib dialog

commit 6287df1357bdfc0188f5fa60df5d88f5fc5e4b40
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Fri Jul 20 14:15:10 2007 +0100

    Make the multi-attribute editor non-modal
    
    This implementation only supports editing when a single object which can
    have attributes is selected. Work is required to act more intelligently if
    an attribute its-self is selected, and with multiple selections.

commit 1dfb3a4b9907ff81552de57080d2897ab40e512c
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jul 19 15:13:03 2007 +0100

    Make the Escape key cancel editing in the multiattrib dialog.
    
    The previous behaviour where it would quit editing but save the changes is
    counter-intuitive for the user.

commit c06b6684296a2ec6765036b28e8c48a50c2b8928
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jul 19 15:13:00 2007 +0100

    Remove workaround for an unknown property with GTK 2.2 in x_multiattrib.c

commit cb9c4ee19ca58158308a234782fdad6fb60257da
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Thu Jul 19 15:09:56 2007 +0100

    Change selection code to use a generic GedaList typecast to SELECTION.
    
    GedaList allows various parts of the program to keep track of changes
    to the selection via callbacks attached to the GedaList object.

commit b5caa78a6dd9227d328397cb77ac4b0731c7d1c9
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 15 12:55:54 2007 +0100

    Remove unused function e_gtk_button_new_with_icon() from x_pagesel.c

commit 5dfe42146dfee7dd0909cda7615279228bc09d70
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jul 15 12:55:47 2007 +0100

    Split out update(s) when notify::toplevel on GschemDialog is recieved.
    
    We need to perform various setup actions when the toplevel property of our
    parent GschemDialog is set. We need to make this a specific function, as
    the current method of just calling pagesel_update isn't correct for all
    future cases.

commit cd7db8026b00934afc6acc1ff8f5467021194287
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 24 04:21:39 2007 +0100

    Fixed memory leak placing components.
    
    When placing components we free'd the complex_place_list without removing
    the objects it pointed to. The code now uses s_delete_object_glist(..)
    rather than g_list_free(..) to free the complex_place list and its objects.

commit 9cc487143fe371181bc0fea41e94c03a54b776f9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Jul 10 17:32:59 2007 +0200

    gschem: updated german translation

commit b41713e02347002424ca8c18aaa0f9f6a4a6e660
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Mon Jul 9 19:33:45 2007 +0200

    Updated spanish translation.

commit ff036cbb89336c48106b064af499b6e841c7d8a5
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Mon Jul 9 18:36:36 2007 +0200

    Disable rotating while copying, & fix hitting rotate hotkey/menu while moving.
    
    Rotating while copying is still not supported, so disable it.
    Fix behaviour when hitting the rotate hotkey, or select the edit->rotate menu
    while moving.
    Previously the move action was cancelled and then the selection was rotated.
    Now, the objects being moved are rotated, and the move action continues.

commit e978b9098c7567ad3b9c834a5e4914de3bc039ec
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 8 18:18:39 2007 -0400

    Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master

commit e653983c3177bdadfecb56f49662f5cb39c5749b
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 8 18:17:28 2007 -0400

    Updated all pot/po files (via make update-po).

commit d7e8f5abc35644e90bfabf84396023cab09f2968
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 8 16:18:57 2007 -0400

    Updated configure.ac[.in] and Makefile versions in prep for a release.
    
    The update was done by running ./update-versions.sh 1.1.1 20070708 30:1
    at the toplevel.  libgeda's shared library version is now 30:1:0

commit 3f3505662fe4bb8c585aea0ea965296bd923956c
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Jul 8 21:16:17 2007 +0200

    Added *~ to .gitignore files.

commit 3cf1cca33ed2e567b959ad8486cad0d4cdbb47e9
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sun Jul 8 13:55:38 2007 -0400

    Added some missing code to controlling junction color (more for #1746675)

commit 4f245d7023eec872e5dd484530dff9a77ff77dfc
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sun Jul 8 19:47:14 2007 +0200

    Set the focus to the filter entry only if it is visible.
    
    In the compselect window, focus can be set to the filter entry only
    if it is visible (i.e.: its ancestor is the current tab). Otherwise,
    GTK is confused.

commit 29f4868bb8ac570445da493c69afb91aafcf69d0
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jul 7 01:03:41 2007 +0200

    Disable rotating using middle mouse button while copying.
    
    Rotating while copying is still not supported, so it should be disabled.
    Now middle mouse button does nothing while copying.

commit f30cf1a2fd45898b62e236116a84059bd0df9544
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jul 7 00:55:05 2007 +0200

    Fixed drawing bug when attribute autoplacing is enabled.
    
    When rotating while placing a new component, the refdes was drawn
    wrongly, and it was shown fixed in the screen despite the component
    being moved.
    This was due to attribute autoplacing function was called before drawing
    the component. This function erases the old text (which wasn't drawn), thus
    drawing the text in the screen permanently.
    This fix disables all drawing functions when calling autoplacing function,
    and renables them afterwards.

commit ecf159040422c5625de6b615c1070b7a1d58c511
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jul 7 00:41:05 2007 +0200

    Fixed drawing bug when using attribute autoplacing.
    
    When placing a new component, if attribute autoplacing was enabled,
    the refdes was drawn wrongly, and it was shown fixed in the screen despite
    the component being moved.
    This was due to attribute autoplacing function was called before drawing
    the component. This function erases the old text (which wasn't drawn), thus
    drawing the text in the screen permanently.
    This fix disables all drawing functions when calling autoplacing function,
    and renables them afterwards.

commit 5dc09fc232bf36dc219e86e78bad92631d2c244a
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jul 7 00:35:07 2007 +0200

    Moved default attrib positions out of system-gschemrc.
    
    All default attribute positions, used for attribute autoplacing, have been
    moved into its own file, scheme/default-attrib-positions.scm .
    The above file is loaded in system-gschemrc.

commit 411ddc16df3bf9388d80107503c165a8c88304b1
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Fri Jul 6 23:38:31 2007 +0200

    Consider line's width when calculing net directions.
    
    In text autoplacing function get-net-connection-sides, consider line's
    width when guessing net directions.

commit 68b495e6b75b802a9c77889c223d680e8359ce91
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Fri Jul 6 23:13:03 2007 +0200

    Display a warning message if can't guess net direction.
    
    In attribute autoplacing, display a warning message if net direction can't
    be guessed.

commit 1361831fc9e44bcc719f73d68f4d5b119963bb57
Author: Ivan Stankovic <ivan.stankovic@fer.hr>
Date:   Thu Jul 5 09:18:48 2007 -0400

    Possible fix for bug #1748079: CRASH: gschem segfault on file save or open

commit dd995d808b9f4440db48d2daa2473a9d9cfd88ef
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jul 5 01:36:31 2007 -0400

    Updated ChangeLogs using ./update-changelogs.sh 1.0-20070526..master

commit a680faf8e3121c2b999bc5168a2910fb83f11ffc
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jul 5 00:57:07 2007 -0400

    Updated all pot/po files (via make update-po).  Added new menus to rcstrings.c.

commit 099c49e5689afda4b8a5221dde73f9fdf1972ce7
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Thu Jul 5 00:11:45 2007 -0400

    Updated all version strings to 1.1.0 and 20070705

commit 87731dda219b0986fed0d1a7789e17678dd79d8c
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Wed Jul 4 23:55:07 2007 -0400

    Removed AM_MAINTAINER_MODE from all configure.ac[.in] files.
    
    Maintainer mode is no longer needed or desired now that we are no longer
    using CVS.  Hopefully this will prevent some of the odd problems that were
    observed during the last release when the Makefile's didn't get auto
    regenerated.

commit dc7b8c53f4bc94626634887e46167a367a91f707
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Wed Jul 4 23:32:15 2007 -0400

    Changed gEDA/gaf's version mechanism to use new dotted X.Y.Z convention
    
    Added DOTTED_VERSION and DATE_VERSION variables to all configure.ac[.in]
    files.  Changed all version related output to be DOTTED_VERSION.DATE_VERSION.
    Updated the configure.ac[.in] files to have consistent top sections.
    Updated code and various scheme files to use the new DOTTED_VERSION
    and DATE_VERSION variables available via config.h.  Stopped using
    PREPEND_VERSION_STRING as the mechanism for doing the dotted versions
    (not intended for that use).  Updated update-versions.sh script to set the
    version in all the configure.ac[.in] files and the toplevel Makefile.
    Went through all the g_rc.c files and make the handling of rc file
    mismatch handling consistent.

commit dbf600e34e2284fe1ec59242d541334bc27d3d49
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Wed Jul 4 16:51:32 2007 -0400

    Implemented the ability to change the color of junctions (code for #1746675).
    
    The filled circles (at the junction of nets) and filled boxes (at the
    end of unconnected nets) were the same color and it was hard to tell the
    difference from a distance.  This patch addes (junction-color ...) rc
    keyword and allows the user to change the junction color.  The default
    color for the dark color scheme is yellow and the default color for the
    light color scheme is purple.

commit ca4571b1a6a49c97feb8fc6cc8cb926acc287ece
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jul 4 18:03:53 2007 +0100

    libgeda: s_clib_toplevel_get_symbol_names() is poorly named.
    
    s_clib_toplevel_get_symbol_names() returns symbols, not names of
    symbols, so rename it to s_clib_toplevel_get_symbols().

commit 96f9c87ef4063b52dd4d13f51958b916ba4e5939
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jul 4 18:03:53 2007 +0100

    gschem: Add "In Use" view to component selector.
    
    The "In Use" view shows symbols which are instantiated in open
    schematics, for ease of adding more symbols similar to the ones
    already present.  This is particularly useful for frequently-used
    symbols such as resistors and capacitors.

commit b1733d4d69d3a2e6fcb64e91a26dab2768f4e171
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jul 4 18:03:53 2007 +0100

    gschem: Add a "Refresh" button to component selector.
    
    In order to update the symbol library, a "Refresh" button is needed
    (because we don't do it automatically any more).

commit cb6e4e5e98ed45427f60d718f7dbb5d5439eecef
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jul 4 18:03:53 2007 +0100

    gschem: Don't use generic response IDs for compselect actions.
    
    The component selector "OK" and "Apply" buttons aren't actually "OK"
    and "Apply" actions, so they shouldn't use those response IDs -- it's
    confusing.
    
    This patch adds special response IDs for these actions. This is a
    preparation for using "proper" Place and Hide icons & text.

commit 7c6419f49cb211ce74e7a8787148d2fd624482e7
Author: Alex Precosky <precosky@mac.com>
Date:   Sun Jul 1 16:55:13 2007 -0700

    gschem: Fix a race condition with mouse wheel scroll events (1740327)
    
    If more than one mouse wheel scroll events are received into the event
    queue before the first one can be processed, then the program was
    zooming in to the wrong location.  This is because the mouse moved
    event handler, which is triggered by a call to warp the cursor in the
    scroll event handler, must run to update the mouse postion global
    variables that the scroll event handler needs.

commit 62b214780e34aea9b56993f2b699cb78d50d4769
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Wed Jul 4 17:35:06 2007 +0200

    Set default button for single attribute edit dialog
    
    Fixed wrong setting of the default button in the dialog.
    Added the set property to the value entry.
                             [Suggested by Kai-Martin Knaak]

commit b034307ae05d909a726c09d4eb02a5eed6f401ea
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 28 18:08:04 2007 +0100

    gschem: Support preview of symbols from all library types.

commit 907857c70c12707f00696d0688eb8392ac1e9294
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 28 18:08:00 2007 +0100

    gschem: Preview data from a buffer.
    
    Add the ability to parse & preview a gEDA schematic or symbol from a
    character buffer.

commit c144221daf8ef133f39e14c76447a1b556c54853
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu Jun 28 15:50:31 2007 +0100

    libgeda: Add fine-grained control over f_open() behaviour.
    
    Add a function f_open_flags() which takes an extra argument which is a
    set of flags controlling actions taking while opening a file. f_open()
    wraps this with a default set of flags.
    
    Coincidentally, this also leads to a trivial fix for the file open
    dialog backup-message bug.

commit dc88c870d8d9ba66855f03fd3bc678d8b9f34cf2
Author: Ivan Stankovic <ivan.stankovic@fer.hr>
Date:   Wed Jun 27 19:47:46 2007 +0100

    This patch removes most of the unused code from gschem.

commit 2a0abb503110a7b7cfe5739f26bc1e4c7d939fff
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Wed Jun 27 16:47:20 2007 +0100

    Correct some typos in gschem default texts.

commit 2b8cc26ddbb4af4db653d913c49f6d365dc89df9
Author: Werner Hoch <werner.ho@gmx.de>
Date:   Tue Jun 26 22:25:01 2007 +0200

    updated german translation

commit 57b2848a7e69d19e18ac03a1264cb55d41c65d0e
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Mon Jun 25 22:31:07 2007 -0400

    Changed/updated the #define mechanism for creating custom gEDA/gaf versions.
    
    Previously this mechanism was used to create custom versions of gEDA/gaf.
    With the coming of stable and development versions of gEDA/gaf, this
    mechanism was changed so that end users can tell the difference between
    a stable release vs a development release (by looking at the version string).
    The CUSTOM_VERSION #define was changed PREPEND_VERSION_STRING and is now
    prepended to any strings that output the VERSION string.

commit daa5d16aee1f0ec58cced5ca835dcb4f53339339
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Mon Jun 25 21:23:32 2007 -0400

    Updated Makefile.am to not include VOCABULARY file.

commit 0ad58a2c8e82ff00b71c600d54cf76bc4860e24a
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 23:57:16 2007 -0400

    Removed ancient VOCABULARY file.
    
    This file has been superceeded by the glossary that is in the wiki.

commit 0ed9cf080cfc8509cb29cbe4e976f86b2821c407
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 23:48:51 2007 -0400

    Updated copyright text/header in most source files.
    
    Updated all copyright text dates that have my name (Ales) associated
    with them.  Added gEDA contributer copyright text where appropriate.
    Fixed a bunch of GNU text typos (these should have been either GPL
    or gEDA).  Removed some $Id$ tags which are no longer used/needed.
    Fixed a few file header that were just plain incorrect.

commit a4e956c6272ea982ec54327dcc5e3aa528ac8c99
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 22:22:32 2007 -0400

    Added *.o (all object files) to all src .gitignore files.

commit 1c76ee9d84ea4fcdc924d992ecc3a828887eff4f
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 22:17:03 2007 -0400

    Removed all trace of libgd usage and removed some old ps printing routines.
    
    All trace of libgd and HAS_LIBGD has been removed.  Some obsoleted and

commit 868d31c36736b1ceebdd9a7cea6d12d12ecf89a9
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 15:46:46 2007 -0400

    Removed libgd and indent tests from configure scripts.
    
    indent is no longer use since noweb was removed a long time ago.
    libgd is no longer used since libgeda/gschem uses mage export support in gdk.

commit cb63bf6506caf145d44f454734a1f4d712fa9216
Author: Ales Hvezda <ahvezda@laptop.ales.net>
Date:   Sun Jun 24 15:07:58 2007 -0400

    Compile fix to the NL translation.

commit cdd6b8669301baafb118ef3d76bb54a2f99a077b
Author: Bert Timmerman <bert.timmerman@xs4all.nl>
Date:   Sat Jun 23 23:47:06 2007 +0200

    Update gschem Dutch translations.

commit df71a28480510dd3c82eb1e551325f17ae16f958
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sun Jun 24 06:37:21 2007 +0100

    Always draw text placeholder box in correct place (#1740620).
    
    When dragging text in "fast" mode (where the text is replaced by a
    bounding box), the box was drawn in the wrong place if the text isn't
    anchored in the usual bottom-left position.

commit adb2dc9eedb72dc180e081ded2fc1ed20dde0a23
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sun Jun 24 03:48:30 2007 +0100

    Fix bug #1741452, segfault on "Include component as individual objects"
    
    Inserted a missing line to set the complex place list to NULL after freeing
    its contents.

commit 214166747c3146cd21af1e346c8ad1b1351dcde8
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 23 20:07:36 2007 +0100

    Revert po file changes in edff766e8b15c311505810241528026f722e30b6.

commit edff766e8b15c311505810241528026f722e30b6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 23 18:19:11 2007 +0100

    Make sure various files are installed.
    
    Several new files were not being distributed. This patch addresses the
    problem by adding files to EXTRA_DIST in automake input files.

commit e57c37a66edc1c4d4e4d7160001749df51b96c4b
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 23 18:17:29 2007 +0100

    Move all .cvsignore files to .gitignore files

commit 065595ccd8b5e77616c29a37742357cfab0ae7f7
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 23 16:11:44 2007 +0100

    Changes to ChangeLog usage.
    
    With actual changes this time.  Old-style changelogs as of gaf 1.0
    (release of 26th June 2007) are moved to ChangeLog-1.0; new (blank)
    ChangeLogs replace them.  A script has been added to the gaf top level
    to allow maintainers to update all the ChangeLog files immediately
    prior to making out a release.

commit 67038ed9bece3a1317757b58a982ed29af2831c6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 23 13:50:57 2007 +0100

    Don't cache symbol pointers in persistent structures.
    
    Several persistent structures, including TOPLEVEL and OBJECT, cache
    pointers to CLibSymbols.  This is bad, because it makes removing
    component sources or rescanning them likely to cause stale pointers
    around the place.
    
    With fast hashtable-cached searches in place, this is no longer
    necessary.  This patch ensures that only symbol names are stored
    persistently.
    
    This patch also enables descending into embedded symbols using a
    component library lookup on the embedded symbol's name.

commit 1c226a4ebe5f297460cccf8568b7d7b7b2179253
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 23 13:32:45 2007 +0100

    Factor out TOPLEVEL.current_clib.

commit fe621022acfbe69688878b70d4c40883f8f2a3df
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Jun 22 08:34:33 2007 +0100

    Add s_clib_get_symbol_by_name().
    
    Add a new function which returns the first exact match for a given
    symbol name, printing log messages if either there are more than one
    match or no matches are found at all.  Also update
    s_clib_symbol_get_data_by_name() to use new function and remove
    o_complex_add_by_name() as more or less redundant.

commit 01fd87d78aa26d3c29b4141878b5f48edab264ec
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Jun 15 09:05:53 2007 +0100

    Make comp. library search faster and more flexible
    
    Replace s_clib_glob() with s_clib_search(), which can operate in
    either exact matching or glob matching mode.  Use a hashtable to cache
    the results of library searches. The hashtable is cleared every time
    it is invalidated (for instance if a component source is added or
    removed, or the component sources are rescanned).

commit 9dde0233ebed32065511b567445f9f34d4b3bea1
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Fri Jun 15 09:06:56 2007 +0100

    Refactor system RC files
    
    Moved system-gafrc into the libgeda package, where it belongs.
    Removed all environment and configure substitutions.  Created separate
    font and component library setup scripts in the symbols package,
    automatically loaded by system-gafrc if they exist.  Updated
    system-gschemrc to use new infrastructure.

commit 7067e71ef1558ceb94772a703cde1463233460fe
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Wed Jun 13 16:59:29 2007 +0000

    Removed code handling escape key presses in dialogs.
    
    Since GTK takes care of escape key presses, this code
    is not needed. Applied patch from Ivan Stankovic.
    Fixes bug #1710818 for gschem. Thanks.

commit 2a2fa60eee536f48cc27c16f2577106e78250ed6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 9 20:30:14 2007 +0000

    Fix gschem's sort-component-library option
    
    In the last release, the sort-component-library gschemrc option did
    nothing.  This patch corrects the issue, by adding an argument to
    s_clib_get_sources which enables or disables sorting the list of
    component sources.

commit 1b18f93b85cc01a9d091795f94f4559372d165ad
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 19:09:13 2007 +0000

    Load the GTK missing image pixmap if a pixmap is not found.
    
    Improve fix for bug #171449, loading the GTK missing image pixmap if
    a pixmap is not found.

commit 378040ccd23339eedffd06e9d84867ca719fa659
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 16:42:34 2007 +0000

    Added check for missing pixmap file.
    
    Fix for bug #1714493. If a pixmap file doesn't exist, write
    a message to the log window. Thanks to the anonymous submitter.

commit eed0be648afd9bc421a8d0059de621df778c5fbe
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 16:09:36 2007 +0000

    Avoid writting '\r' to files on MinGW.
    
    Applied patch #1733826 from Cesar Strauss. Thanks.
    When using the "w" mode in fopen, MinGW translates LF into CR-LF.
    This creates havoc when reading the same file again, when sharing
    schematics files with other systems, and when placing them in a VCS.
    
    This can be avoided by using the "wb" mode. The "b" is ignored on
    all POSIX conforming systems, according to these sources:
    
    http://www.die.net/doc/linux/man/man3/fopen.3.html
    http://www.opengroup.org/onlinepubs/009695399/functions/fopen.html
    
    There are other ways, however. Adding
    
    #include <fcntl.h>
    int _fmode = _O_BINARY;
    
    on some source file should work as well. Another way is linking
    against the MinGW supplied binmode.o, which does exactly that.

commit 21d3dbc1ef88701b60aacc700d2cc9fec1a88f8d
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jun 9 15:14:07 2007 +0000

    Applied a few patches from Ivan Stankovic

commit 419b4d152b0b2ae6546052ccb8d87ef26fa83752
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 14:59:01 2007 +0000

    Added EPS support.
    
    Applied patch #1713747 (with minor tweaks) from Wojciech Kazubski
    adding support for EPS when writing an image. Thanks.

commit 4e55d9355a69f2005b9afc2596526a133caf8524
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Sat Jun 9 14:54:33 2007 +0000

    Added call to g_thread_init() in Gschem and Gattrib.
    
    Gschem and Gattrib aren't threaded, but some of GTK's file chooser
    backends uses threading so we need to call g_thread_init().

commit ef0ca7042e49ed3f26ec61c71085378ab04fef6e
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jun 9 14:44:27 2007 +0000

    Applied patch from Ivan Stankovic that displays entered characters in
    the status bar

commit 251771e1f9acab07a3721d5828873464f56fa347
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 12:59:32 2007 +0000

    Changed nil by #f.
    
    Nil is no longer supported by guile 1.8. Applied patch from
    Peter Clifton changing nil by #f. Thanks.
    Note there are still some files using nil.

commit bca8aacb0b3dd8f03851fa7c50d287b458eb045e
Author: Carlos Nieves Onega <cnieves@iespana.es>
Date:   Sat Jun 9 12:17:28 2007 +0000

    Set alternative button order after buttons are created.
    
    Apply patch from Cesar Strauss, moving the
    gtk_dialog_set_alternative_button_order call after buttons are
    created, in the component selector window. Thanks.

commit 3d58ffc27e6d915c4b1ebbd6f6b96d98d6126b7b
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon Jun 4 16:15:37 2007 +0000

    Replace deprecated Guile functions & macros.
    
    Replace deprecated SCM_STRINGP, SCM_INUM, SXM_INUMP & SCM_MAKINUM with
    recommended equivalents for Guile 1.8.

commit 66fb25858496cdf33e1456b835d68a16bb7ccdcd
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat Jun 2 16:33:34 2007 +0000

    Improve Guile configure checks & remove 1.4 compat. code.
    
    Removes compatibility code for Guile 1.4, and makes configure scripts
    check for actual Guile version.

commit 14fb224ec0f09b0b95a083abcaf3f5eaaf41b74f
Author: Ales Hvezda <ahvezda@seul.org>
Date:   Sat Jun 2 01:02:42 2007 +0000

    Fixed a behavior where you would cancel (via right mouse button or escape)
    the placing of components, but gschem would still be in the add component
    mode (and clicks would still place components).

commit dcb48381f14f16e8786f70c4dae231f170539aac
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Thu May 31 21:29:47 2007 +0000

    Cleanup code for status bar messages.
    
    Applied patch from Ivan Stankovic cleaning up code used for displaying
    status bar messages.

commit a50de86a4c0f45a1202c3fac77ba1b712de29330
Author: Dan McMahill <dan@mcmahill.net>
Date:   Wed May 30 04:11:07 2007 +0000

    Use "=" instead of "==" as an operator for test as the former
    is portable and the latter is a bash-ism

commit 103524d50813c8a9490c9f4ebba1b72a3e4f36b5
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Wed May 30 00:10:22 2007 +0000

    Committing src/gschem_dialog.c and include/gschem_dialog.h
    which were missed in the last commit.

commit 98e738a12c2351a2613f3fef9ff0400df62247c3
Author: Peter Clifton <pcjc2@cam.ac.uk>
Date:   Tue May 29 23:06:04 2007 +0000

    Applied patch by Ivan Stankovic making dialogs within gschem save
    their position and size on exit and restore it on opening.
    Geometry is saved to {$HOME}/.gEDA/gschem-dialog-geometry
    
    Dialogs inherit this functionality by using, or deriving from the
    new GschemDialog class (A GtkDialog subclass).

commit 4eca6e40036bdeb68e15588180636c14c56fd71d
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Mon May 28 07:42:19 2007 +0000

    Implement new component library system in gschem.
    
    A new component library model was introduced into libgeda to
    allow gschem etc. to work well with database systems.  This
    patch updates gschem to use the new library system.  Most code
    dealing with creating, updating and (un)embedding symbols is
    affected.  However, this patch should not introduce any
    changes for the end-user.

commit b0810d4d71e27bc32e0e0b1e903d230d97ca9ad6
Author: Peter TB Brett <peter@peter-b.co.uk>
Date:   Sat May 26 19:21:28 2007 +0000

    Help menu updates.
    
    Change help menu now that all documentation is in the wiki.