[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-cvs: pcb.git: branch: master updated (e7881e1cd1ddffde9d685c32661e713caf715c42)



The branch, master has been updated
       via  e7881e1cd1ddffde9d685c32661e713caf715c42 (commit)
      from  9b21e7d14d2d5e86c7ffd76972e362bc1d2ebdb0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


=========
 Summary
=========

 ChangeLog | 5481 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 NEWS      |   95 ++
 2 files changed, 5576 insertions(+), 0 deletions(-)


=================
 Commit Messages
=================

commit e7881e1cd1ddffde9d685c32661e713caf715c42
Author: DJ Delorie <dj@xxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Update Changelog and NEWS for 20110918

:100644 100644 672dae6... 182a0ba... M	ChangeLog
:100644 100644 d3435ec... 5d8aa04... M	NEWS

=========
 Changes
=========

commit e7881e1cd1ddffde9d685c32661e713caf715c42
Author: DJ Delorie <dj@xxxxxxxxxxx>
Commit: DJ Delorie <dj@xxxxxxxxxxx>

    Update Changelog and NEWS for 20110918

diff --git a/ChangeLog b/ChangeLog
index 672dae6..182a0ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5484 @@
+2011-09-18   DJ Delorie * dj AT delorie dot com *
+
+	* po/POTFILES.in: Remove src/hid/common/hidgl_package_vrml_y.c from
+	POTFILES.in Reverts 61bd0cb1e134bbea96abd6fd2d5fb94d09c0b3c8 as this file
+	doesn't exist in this repository, causing a distcheck failure.
+
+2011-09-18   DJ Delorie * dj AT delorie dot com *
+
+	* : Update golden files for nanometers hid_png3 was off by a pixel on a line end.  I retested my UV and TT
+	films to verify that the nanometers conversion didn't affect line
+	*widths* and updated the golden file to accept this one-pixel
+	difference.
+
+2011-09-17   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.c: [windows] use unix-style path separators when
+	calling gnetlist
+
+2011-09-17   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* : commit 70db91fc3dfb8b378962794fc8f86f71b52f7af8  Author:
+	Kai-Martin Knaak * kmk AT lilalaser dot de * Date:   Fri Sep 16
+	01:07:32 2011 +0200
+
+2011-09-16   Kai-Martin Knaak * kmk AT lilalaser dot de *
+
+	* doc/pcb.texi: remove panner control from documentation There is no panner control in the GUI (anymore?) since at least five
+	years.  this pathc removes its description from the texi manual.
+
+2011-09-17   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c, src/main.c: Don't adjust the Library command settings
+	if they are NULL, or an empty string.  (The empty string part is a fixup for commit
+	 31df66e87a810aac852139da9119b15c47fa8c71 - this will teach me for bikeshedding) The NULL part should fix bug lp-852598 Closes-bug: lp-852598
+
+2011-09-17   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c, src/main.c: Bikeshed commit
+	11700ba8c3c951a788c8190073eb09822060dfdd I don't like magic strings, and IMO, using a blank
+	LibraryContentsCommand string to imply "don't use this feature" is
+	better than "*NONE*".
+
+2011-09-17   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: 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 was one possible way to fix the "zoom doesn't work" bug on
+	Win32 for locales which use "," as the decimal separator.  DJ fixed the Zoom action to be locale independent in commit
+	fd5399c67b988f2f7c9d1a0b4ab7c13bc2e95158, which worked around the
+	problem for this particular action, but I feel it would be best that
+	we made our locale handling consistent between Linux and Win32 as
+	well.  Affects-bug: lp-843577
+
+2011-09-08   Dima Kogan * dima AT secretsauce dot net *
+
+	* src/djopt.c: fixed an instance of the "only-optimize-autorouted"
+	flag being ignored  Signed-off-by: Dima Kogan * dima AT secretsauce dot net *
+
+2011-09-16   DJ Delorie * dj AT delorie dot com *
+
+	* src/file.c, src/main.c: Skip the M4 library on Windows On Windows, set the LibraryContentsCommand to the magic string
+	"*NONE*" and check for that string while loading the libraries.
+	This avoids the windows pcb.exe from trying to run bash or m4
+	scripts, which are normally not available, yet allows the user a way
+	to re-enable them if they want.
+
+2011-09-16   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/lesstif/main.c: De-localize
+	zoom parsing The values used for Zoom() were being parsed with strtod(), which
+	switches between '.' and ',' depending on locale.  Switch to
+	g_ascii_strtod() which always uses '.' and thus always matches our
+	actions.  Note: I didn't change the command line parsing, because I didn't
+	think we should impose '.'-centric syntax on other locales.
+
+2011-09-16   DJ Delorie * dj AT delorie dot com *
+
+	* lib/generic.list: Add DIL footprint names and R025.  Existing tutorials say to use "DIL 16 300" for DIPs (we use "N 16
+	300") and often call for the R025 footprint, so add them as aliases
+	so the m4-to-newlib converter includes them.
+
+2011-09-16   DJ Delorie * dj AT delorie dot com *
+
+	* lib/m4lib_to_newlib.sh: Fix m4-to-newlib converter filenames The m4 library uses macros and parameters to describe footprints,
+	which allows for a *very* flexible footprint naming scheme.  While
+	it is impossible for pcb to know all valid footprint values, it does
+	have a list of "standard" ones, and knows how to obtain those.
+	However, the m4 to newlib converter wasn't using the same footprint
+	naming convention as everyone else, so produced *.fp files that
+	weren't always useful.  For example, there were a large number of
+	300.fp files that all collided.  With this fix, the footprint name matches the value in [...] in the
+	library window, which is what we tell people to use for the
+	"footprint=" attribute anyway.
+
+2011-09-16   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/lesstif.h: Wrap all XmStrings in gettext()
+
+2011-09-15   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* po/POTFILES.in: Add another missing source file to POTFILES.in
+
+2011-09-15   DJ Delorie * dj AT delorie dot com *
+
+	* src/main.c: Add locale functions Add textdomain() and setlocale() to connect to our message catalogs.
+
+2011-09-15   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* po/POTFILES.in: Add some missing files to POTFILES.in (And sorted the file contents).   Reported-by: Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+	Affects-bug: lp-846368
+
+2011-09-09   Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+
+	* po/nl.po: Updated the Dutch translation.
+
+2011-09-15   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/report.c: report.c: Don't leave actions in the undo stack or
+	change the user's flags Some actions in ReportNetLength*() would have been lumped in with
+	whatever actions were next added to the undo stack. These functions
+	also left the user's board with a different "FOUND" flags on various
+	items.  In the case of the "Report(AllNetLenths)" action, a very long undo
+	stack would be created, which is not very helpful to the user.  These changes hide the internal flag changes made during the net
+	length calculation from the undo system.  We are able to get back to the inital board state because we save
+	the operations caused by our initial RestConnections() on the undo
+	stack.  After we have done our work (modifying various flags in the
+	process), we reset the flags again (this time bypassing the Undo
+	system), so the board is consistent with the ResetConnections() call
+	we DID save undo data for. We then Undo() these changes before we
+	leave the function.
+
+2011-09-15   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/report.c: report.c: Return 1 for all failure conditions in
+	ReportNetLengthByName()
+
+2011-09-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/undo.c: undo.c: Add error message where
+	RestoreUndoSerialNumber() will break things If operations are addded to the undo stack between a call to
+	IncrementUndoSerialNumber() and a subsequent call for
+	RestoreUndoSerialNumber(), those added operations will be placed in
+	the undo stack with an inconsistent serial number.  The {Save,Restore}UndoSerialNumber() API is pretty fragile in this
+	regard, and we should avoid using it where possible.  An better alternative might be to implement a
+	"LockUndoSerialNumber()" call which temporarily disables
+	IncrementUndoSerialNumber(), and a "UnlockUndoSerialNumber()" call
+	which re-enables its increment function.  Better yet - we could make these functions nestable, so we need not
+	worry whether some action uses this new feature internally when we
+	are also using it.
+
+2011-09-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/undo.c: undo.c: Handle undo failures in a more sane manner Our current error-case handling can cause serial number
+	inconsistency when something goes wrong when performing an Undo
+	operation. There are also various logic flaws in our handling, as it
+	only catches failures where every sub-undo operation with that
+	serial number fails.  Remove the confusing do-loop which decrements the serial number in
+	the failure case, and return some sensible error message instead.  This patch also removes the code which looked like it was intended
+	to loop over the undo stack until a serial number was found to
+	operate on.  It is advantageous for code like the DRC to be able to
+	add increment the undo serial number, then safely perform an Undo -
+	even if there were no changes logged in the undo system during the
+	previous serial number.  Closes-bug: lp-848509
+
+2011-09-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/undo.c: undo.c: Allow undo of locked objects Our internal actions can make changes to locked objects, then use
+	the undo mechanism to revert these changes. An example is DRC, which
+	changes flags on objects and uses the Undo system to restore their
+	original values.  Affects-bug: lp-848509
+
+2011-09-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/find.c: find.c: Remove stray RestoreUndoSerialNumber() calls These will cause havoc with the undo system, as we don't actually
+	save a serial number to restore to.  Until a commit efd212c1deb264e9a7f2be17e9338fbb60e22cc0 we were
+	saving a serial number at the start of each "ResetConnections
+	(true);" call, and it would have been that serial number which got
+	restored.  With this and some other fixes to the undo system, these restores
+	are no longer required.  Affects-bug: lp-848509
+
+2011-09-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: gtk: Fix ghid_zoom_view_fit() to work
+	when the board is flipped.  Affects-bug: lp-850311
+
+2011-09-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c, src/hid/gtk/gtkhid-gl.c: Fixup OpenGL
+	includes for better compatibility with OSX Not tested ;)
+
+2011-09-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* autogen.sh, configure.ac, m4/ax_check_gl.m4, m4/ax_check_glu.m4,
+	m4/ax_lang_compiler_ms.m4, m4/ax_pthread.m4: Better autoconf tests
+	for GL and GLU (from GtkGLExt - GPL v2 or later) These tests should give better cross platform support for our build.
+
+2011-09-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* .gitignore, m4/.gitignore: Remove the m4 directory from the root
+	.gitignore file and add its own
+
+2011-09-13   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/styles.c: [lesstif] set units for styles dialog in
+	more places The styles dialog was segfaulting as the units hadn't been set yet,
+	if you open the style dialog before doing anything with the grid.
+
+2011-09-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: hid/gtk: Remove misplaced (and redundant)
+	hidgl_flush_triangles() call.  If we were to flush the triangle buffer in ghid_show_crosshair(), we
+	should do it before we set XOR mode on the GL context (assuming the
+	buffer might be dirty when we are called), and we should do it after
+	we finish drawing (if we wish to leave the buffer clean when we
+	return).  The location the flush was in before this commit is just plain
+	wrong.  As we currently have flushes of the triangle buffer wrapping the
+	call to ghid_show_crosshair(), just leave the flushing out of this
+	function.  Does this commit message provide an adequate example of simple
+	patch, complex commit message phenomenon?
+
+2011-09-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-config.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui.h: hid/gtk: Remove
+	auto-pan feature (kill it with fire).  This seems to be fairly universally unpopular on geda-user, and its
+	implementation is a little fragile, often leading the board to pan
+	off to some corner of the board as the poor user reaches for the
+	layer selector or a menu without having remembered to click the
+	feature off.  The fact that the pan direction and speed was set the instant you
+	leave the drawing window also made it particularly unhelpful. A
+	proper implementation should have grabbed the mouse - or at least
+	implemented some buffer zone in which the mouse could be used to
+	give feedback on the pan direction.
+
+2011-09-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/gtk/gtkhid-main.c: [windows] set GDK_PIXBUF_MODULE_FILE If we're using a local gdk-pixbuf installation, we need to set this
+	env variable to point to it.
+
+2011-09-11   Bdale Garbee * bdale AT gag dot com *
+
+	* doc/Makefile.am: Invoke eps2png in $(srcdir), no .
+
+2011-09-12   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c: hid/common: Remove #include "draw.h" from
+	hidgl.c (twice!)
+
+2011-09-11   Dima Kogan * dima AT secretsauce dot net *
+
+	* src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/ghid-route-style-selector.h, src/hid/gtk/gtkhid-main.c: 
+	Re-ordered all references in the style selector dialog to have one
+	consistent ordering.  Everything that refers to the settings in the style selector dialog
+	now does so in order of Line thickness Hole size Hole thickness (hole + annular ring)
+	keepaway region size This wasn't 100% consistent previously, which resulted in a bug
+	(fixed in a previous patch). This patch doesn't touch the
+	functionality, but improves the style to avoid future bugs.  Modified to apply on recent route style selector changes by Bert
+	Timmerman.   Signed-off-by: Andrew Poelstra (local) * apoelstra AT wpsoftware
+	dot net * Affects-bug: lp-844635
+
+2011-09-11   Dima Kogan * dima AT secretsauce dot net *
+
+	* src/hid/gtk/ghid-route-style-selector.c: Swap via-hole and -ring
+	size connection in route style selector dialog Closes-bug: lp-844635  Signed-off-by: Andrew Poelstra (local) * apoelstra AT wpsoftware
+	dot net *
+
+2011-09-10   Andrew Poelstra (local) * apoelstra AT wpsoftware dot net *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: Repopulate route style selector on PCBChanged
+	action When loading a new pcb, Bad Things happen to the route style
+	selector because pcb's route style data is freed. This patch removes
+	all styles from the route style selector and re-adds them whenever a
+	new pcb is loaded.
+
+2011-09-10   Andrew Poelstra (local) * apoelstra AT wpsoftware dot net *
+
+	* src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/ghid-route-style-selector.h: Add
+	ghid_route_style_selector_empty to GHidRouteStyleSelector
+
+2011-09-10   Andrew Poelstra (local) * apoelstra AT wpsoftware dot net *
+
+	* src/hid/gtk/ghid-route-style-selector.c: Add finalize function to
+	GHidRouteStyleSelector
+
+2011-09-09   Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+
+	* po/POTFILES.in: Remove the src/hid/gtk/gui-dialog-size.c entry
+	from the translatable files list.  This is a completion of commit:
+	a914d5ba58104d8559395b66798b35761afb991a "Replace old route style
+	selector with GHidRouteStyleSelector" dated 20110903 11:09 PM
+
+2011-09-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-layer-selector.c: hid/gtk: Filter out double
+	clicks on the layer selector widget This makes things behave a little nicer if you click to toggle a
+	layer's visibility twice in quick succession. Previously, this would
+	be interpreted as a double-click, causing an extra synthetic click
+	event which would toggle the visibility an extra time.
+
+2011-09-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Update file-changed
+	notification bar to match gedit a bit more   1. Add a stock "refresh" image to the "Reload" button.    2. Change the message text when the board has modifications.    3. Reload without further prompting if the user presses "Reload",      even if the board is modified. (We already warned them due to
+	     2.)
+
+2011-09-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Reimplement file-change monitor without
+	GFileMonitor I must have had a brain-fail when I hooked up setting up the
+	file-changed monitor in the function which sets the window title.
+	NB: That also gets called after every menu operation! A better place to hook up the monitor would be
+	ghid_sync_with_new_layout(), however changing this alone revealed
+	another issue - we would get notified for changes WE make to the
+	files. We were avoiding those events as the file-monitor was being
+	reset before it could pop up, at the end of the menu action which
+	invoked the save).  However - due to a race condition bug in GLib / GIO, we would
+	sometimes see change notify events for changes we made, even when we
+	hooked up the GFileMonitor AFTER having saved (and synced) our
+	changes to disk.  Rather than attempt to work around this bug, implement the
+	file-change notification in a much more simple way - look at the
+	file mtime when we update the layout, and at each time the mouse
+	pointer enters the main window. FWIW, this is how gedit currently
+	achieves the same feature.
+
+2011-09-06   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.c: Warn user if footprints can't be found on import Since the message log doesn't make it obvious, add a pop-up dialog
+	whenever there are missing footprints during an import.  Affects-bug: lp-828388
+
+2011-09-06   DJ Delorie * dj AT delorie dot com *
+
+	* src/search.c: Fix math error in IsPointOnLine() The math in C didn't match the math in the comment (and, apparently,
+	hasn't for quite some time).  To test: Draw three lines, from 1000,3000 to 1500,2500, then to
+	2000,3000, then back to the start at 1000,3000.  Without this patch,
+	the first and last lines are removed and replaced with a copy of the
+	second line.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/file.c, src/file.h, src/hid/common/actions.c: 
+	Implement a new RevertPCB() call, sharing code with LoadPCB() The RevertPCB() takes no filename parameter, and aside from that,
+	the only difference to LoadPCB is that when it calls the GUI's
+	"PCBChanged" action, it passes a new "revert" argument. This should
+	let the GUIs optionally do less work resetting the view state for a
+	board being reverted.
+
+2011-09-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/command.c, src/hid.h: Add a HID API call,
+	notify_pcb_filename_change() This is so the core can tell the GUI when the PCB being edited is
+	saved into a different file.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c, src/hid.h: Add a HID API call, notify_save_pcb()
+	called around saving the PCB The intention of this API is so that GUIs monitoring the active PCB
+	file on disk for changes, can filter out changes which occur as we
+	save the file ourselves.
+
+2011-09-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/command.c, src/file.c: file.c: Don't set the PCB
+	filename or changed flags inside SavePCB (Filename) Save this for the caller to do. (action.c already set the filename
+	for the SaveAs case anyway).
+
+2011-09-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: Revert "hid/gtk: Avoid the deprecated
+	gdk_drawable_get_display()" This reverts commit c6d6ca16e58b5c7f2248c21e3248825f54e52374.  Turns out the replacement API I used was only introduced in GTK
+	2.24, which is still a little new for us here.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui-utils.c: hid/gtk:
+	Remove usage of deprecated gtk_range_set_update_policy() We only set this to the default value anyway, and the API has been
+	removed with no replacements.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui-utils.c: hid/gtk:
+	Replace gtk_container_border_width with
+	gtk_container_set_border_width Replaces the old deprecated API.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-utils.c: hid/gtk: Use g_signal_connect(), not
+	gtk_signal_connect() gtk_signal_connect() is deprecated.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-dialog-print.c: hid/gtk: Re-write the tool-tip
+	handling code to use newer tooltip API Use the gtk_widget_set_tooltip* API introduced in GTK 2.12. This
+	avoids the APIs deprecated in GTK 2.12, and also avoids the
+	requirement to pack GTK_WIDGET_NO_WINDOW widgets inside
+	gtk_event_box() widgets to make their tooltips work.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-drc-window.c, src/hid/gtk/gui-library-window.c,
+	src/hid/gtk/gui-log-window.c, src/hid/gtk/gui-netlist-window.c,
+	src/hid/gtk/gui-pinout-window.c, src/hid/gtk/gui-top-window.c: 
+	hid/gtk: Replace usage of the deprecated gtk_widget_set_uposition()
+	call The closest replacement is gtk_window_move(), and looking at the GTK
+	sources, appears to be what gtk_widget_set_uposition() calls
+	internally.  We are still rather at the mercy of the user's window manager as to
+	whether it will honour the request we make, and arguably we ought to
+	remove this (mis-)feature anyway.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-dialog.c: hid/gtk: Replace deprecated function
+	call gtk_box_pack_start_defaults()
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Avoid the deprecated
+	gdk_drawable_get_display() Grab the active display using gdk_window_get_display() on the window
+	belonging to the drawing area.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Use the g_timeout_add()
+	function, not the deprecated GTK one.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-main-menu.c: hid/gtk: Fix not accessing
+	GtkMenuShell's children harder I missed a critical part of the fix from commit
+	3584101f67f6ca2f0a252c312cb0c6c9c4fa016f
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-pinout-preview.c: hid/gtk: Replace
+	GTK_WIDGET_REALIZED() test with a check for window != NULL This avoids the use of the deprecated GTK_WIDGET_REALIZED macro,
+	without needing to use the GTK2.20 function
+	gtk_widget_get_realized(). The check for a NULL window should be
+	sufficient here I hope.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-command-window.c: hid/gtk: Use gtk_bin_get_child()
+	accessor In GTK3.0, direct access to bin->child will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-config.c: hid/gtk: Use gtk_notebook_get_n_pages()
+	rather than diving in and counting In GTK3.0, direct access to notebook->children will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-main-menu.c: hid/gtk: Don't access a
+	GtkMenuShell's children directly In GTK3.0, direct access to shell->children will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-main-menu.c: hid/gtk: Free list returned from
+	gtk_container_get_children() We can (and should) g_list_free() the list of children returned when
+	we are finished with it.  Whilst we are at it, convert the while loop to a for loop and use a
+	tighter condition on the loop termination test. The existing test
+	worked, but would leave a negative number in the object counter we
+	test against.  This would not work if the object counters were ever
+	unsigned integers (as they might plausibly be).
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-dialog-print.c,
+	src/hid/gtk/gui-dialog.c, src/hid/gtk/gui-library-window.c,
+	src/hid/gtk/gui-utils.c: hid/gtk: Use accessors to get the vbox from
+	GtkDialog In GTK3.0, direct access to dialog->vbox will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Use accessor functions
+	for handling GtkAdjustments In GTK3.0, direct access to these member variables will be
+	impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-config.c, src/hid/gtk/gui-top-window.c: hid/gtk:
+	Don't use GTK_WIDGET_SET_FLAGS() Call the appropriate setter function instead. (For GTK3.0
+	compatibility).
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-library-window.c: hid/gtk: Don't test for NOOP
+	before calling gtk_widget_set_sensitive() We were using a deprecated test macro anyway, GTK already does a
+	NOOP test inside gtk_widget_set_sensitive().
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h: hid/gtk: Remove unused
+	function ghid_button_set_text()
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h: hid/gtk: Remove unused
+	function ghid_button_active()
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-drc-window.c: hid/gtk:
+	Use gtk_widget_get_style() accessor, rather than direct access In GTK3.0, direct access to widget->style will be impossible.  Swap out the GTK_WIDGET_STATE() macro for gtk_widget_get_state(),
+	which does not directly access the GSeal'd member widget->state.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-misc.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui-pinout-preview.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui-utils.c: hid/gtk: Use gtk_widget_get_window()
+	accessor In GTK3.0, direct access to widget->window will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c, src/hid/gtk/gui-drc-window.c,
+	src/hid/gtk/gui-keyref-window.c, src/hid/gtk/gui-library-window.c,
+	src/hid/gtk/gui-log-window.c, src/hid/gtk/gui-netlist-window.c,
+	src/hid/gtk/gui-top-window.c: hid/gtk: Use
+	gtk_widget_get_allocation() accessor In GTK3.0, direct access to widget->allocation will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c: hid/gtk: Use
+	gtk_widget_get_allocation() not gdk_window_get_geometry() This avoids an unnecessary round-trip the the X server on X11
+	platforms.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Avoid warning caused by early
+	drawing before gport->pixmap is set Avoids a command line warning: (pcb:28876): Gdk-CRITICAL **: IA__gdk_draw_drawable: assertion
+	`GDK_IS_DRAWABLE (src)' failed With the GDK renderer in use.  This trigger appears to be some state changes triggered as the new
+	layer selector widget initialises.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-misc.c: hid/gtk: Clean and make
+	gport_set_cursor_type() more GTK3.0 compatible Also removes the DEFAULT_CURSOR return value (for the case of no
+	window being setup) to GDK_X_CURSOR (the 0 enum value), as the code
+	path which returned DEFAULT_CURSOR would never have been hit.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/ghid-cell-renderer-visibility.c: hid/gtk: Use
+	gtk_cell_renderer_get_{align,pad} accessors In GTK3.0, direct access to these fields will be impossible.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Avoid double-destroying the
+	file-changed info_bar on "Reload" This was caused by an addition I made in the earlier patch to
+	destroy the info_bar when the user manually reverts or loads a new
+	file).  The callback on revert button was trying to delete it (again) after
+	the revert _action_ we call triggered a destroy of the widget. Avoid
+	this by destroying the info_bar before we call the revert action.
+
+2011-09-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: gtk: use
+	gtk_action_block_activate() in layer selector The GHidLayerSelector widget now uses gtk_action_block_activate()
+	instead of storing/blocking signal IDs. This is the proper way to
+	suppress signal emission since 2.16.  This also fixes the lockup bug that was supposed to be fixed by the
+	recent commit 8857757, but still occured when using the menus to
+	toggle layers.
+
+2011-09-05   DJ Delorie * dj AT delorie dot com *
+
+	* src/const.h, src/draw.c, src/misc.c, src/print.c, src/report.c: 
+	Fix text scaling exceeding Coord max.  The old way of scaling text was to multiply by scale/100 but this
+	could easily overflow on reasonably sized boards with a 32-bit Coord
+	type.  The new code scales by (double)scale/100.0 instead.  Since we
+	don't store scaled values in the PCB file, a loss of precision won't
+	matter, but a double has 53 bits of precision - in nanometers,
+	that's a board about the size of North America.  Closes-bug: lp-832451
+
+2011-09-05   DJ Delorie * dj AT delorie dot com *
+
+	* configure.ac, globalconst.h, src/global.h: Add configure selection
+	of 32/64 Coord type   --enable-coord64        Force 64-bit coordinate types   --enable-coord32        Force 32-bit coordinate types Defaults to "long" as before, but if you give one of the above, the
+	type changes to a suitable 32-bit or 64-bit type.  Note that this is
+	only guaranteed to be the size you choose if you have <stdint.h>
+	which most OSs provide, else the "int" and "long long" types are
+	used instead.
+
+2011-09-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: gtk: Fix "clicking on layer
+	selector separator bug" If you click on the selector between real and virtual layers in the
+	pcb layer selector, it will toggle the first layer. This patch
+	simply ignores the click.
+
+2011-09-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c, src/hid/gtk/gui-top-window.c: 
+	gtk: fix behavior when hiding the last visible layer When you try to toggle the last layer invisible, pcb should refuse
+	to let you do so, since something has to be selected, and we don't
+	allow selection of invisible layers.  What actually happens is that pcb locks up. This patch fixes that.
+
+2011-09-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: gtk: Force silk and rat layers
+	visible when they are selected.
+
+2011-09-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/ghid-route-style-selector.h, src/hid/gtk/gtkhid-main.c: 
+	Implement RouteStylesChanged action This action looks at the actual route-style settings (i.e.,
+	Settings.LineThickness), and gives these to the route style
+	selector. The selector looks in its list and selects a style, if one
+	matches. Otherwise, it does nothing.
+
+2011-09-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/ghid-route-style-selector.h,
+	src/hid/gtk/gui-command-window.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: Add Ctrl+F1,F2,F3,... accelerators to route style
+	selector Since we now have three accelerator groups to worry about (those of
+	the layer selector, route style selector and main menu), I have
+	moved the hooking/unhooking code into two functions:   ghid_install_accel_groups ()   ghid_remove_accel_groups () These should be used whenever accelerators need to be disabled, for
+	example, when the user has the command box active.
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: Remove the last
+	of ghidgui->toggle_holdoff
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-dialog-size.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: Replace old route style selector with
+	GHidRouteStyleSelector TODO: The RouteStylesChanged action is now very broken.        Menu accelerators need to be installed
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-main-menu.c, src/hid/gtk/ghid-main-menu.h: 
+	Introduce functions for GHidRouteStyleSelector handling to menu
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/ghid-route-style-selector.c,
+	src/hid/gtk/ghid-route-style-selector.h: Introduce
+	GHidRouteStyleSelector widget, don't use it yet
+
+2011-09-04   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Add file
+	change notification for the currently open PCB If the file is modified on disk, a bar appears at the top of the PCB
+	area offering the user a choice as to whether they wish to reload
+	the board or cancel (do nothing).  If the user has changes, and hits reload - they are prompted as to
+	whether they wish to throw away their changes.  Requires GTK 2.18 or higher due to use of the GtkInfoBar widget.
+
+2011-09-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* configure.ac: Require GTK 2.18 or later for the GTK HID.  This is for some new widgets, like the GtkInfoBar.
+
+2011-09-04   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Fix
+	styling of menubar area so it is consistent across its width This relies on some nasty tricks copying GtkStyle's between the
+	menubar widget and a new GtkEventBox widget we pack the top bar in
+	to give us a background to paint on. We also adjust the styles of
+	the coordinate read- out labels and frames to ensure they are
+	legible.  There may still be some inconsistencies, as the coordinate selector
+	button is themed as if it were a toolbar button, hence the
+	colourings used may be designed to work with a different background
+	colour than we have.
+
+2011-09-04   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Create a
+	GtkToolbar of mode buttons for compact vertical mode Rather than packing our mode buttons into an hbox, use a proper
+	GtkToolbar so theming will match the rest of the user's desktop.  This simplifies code to switch compact mode on and off, as we have
+	two distinct widgets to show / hide, rather than having to reparent
+	the mode buttons each time.  It does, however mean we have to be careful not to double-trigger
+	events when keeping the two sets of mode buttons in sync with each
+	other, so that isn't ideal.  In the longer term, we probably ought to split out the mode button
+	area on the left-hand toolbar as a separate self-contained widget.
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-cell-renderer-visibility.c: gtk: Prelight toggle
+	swatches in layer selector This brightens the layer visibility swatches subtly when the mouse
+	hovers over them. IMHO this improves the discoverability of the
+	widget without being distracting or misleading.
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: gtk: Don't gray out invisible
+	layers' text in the selector
+
+2011-09-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: gtk: toggle non-activatable
+	layers on click, without checking for swatch
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-config.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Remove compact_vbox and compact_hbox
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-config.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Always show the PCB name on the
+	title-bar, not the toolbar This saves space and reduces code complexity
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Don't
+	use a GtkEventBox as a container widget We weren't making use of the events from the event box, and appeared
+	just to be using it as a convenient container to allow setting the
+	sensitivity on our entire left hand toolbar at once.  Scrap the event box widget and just store a pointer to the vbox
+	widget which the left toobar items are packed into. We can set the
+	sensitivity on this and get the desired effect.
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-pinout-window.c, src/hid/gtk/gui-top-window.c: 
+	hid/gtk: Don't pack the drawing area in a GtkViewport widget (For both the main window and the pinout preview). The GtkViewport
+	widget is designed to add scroll bars to a widget which doesn't have
+	native scroll capabilities. We are handling out own scroll-bars, so
+	the only gain we had from the GtkViewport we added was a shadow
+	around the widget.  If we decide we want the shadow back, a more appropriate widget to
+	pack the drawing area with might be a GtkFrame.
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Remove the vbox used to
+	pack ghidgui->compact_hbox The main effect here is that the contents of the compact_hbox will
+	get more vertical space assigned to them if the menu bar section is
+	taller than the natural size of those widgets.  The visual change seems acceptable, and we could use every bit of
+	code-cleanup in ghid_build_pcb_top_window()
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Remove some more temporary
+	variable assignments These make the code harder to follow, as the same temporary variable
+	is used again and again to refer to different widgets.
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Don't
+	use an hbox to pack the board name label The hbox only has one child, so use the name label directly.
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Skip the generic "hbox"
+	variable when storing the widget anyway For widgets we keep references to in the ghidgui structure, we avoid
+	confusion by assigning directly to the more descriptive ghidgui
+	variable.
+
+2011-09-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Don't pack a frame around
+	the menu bar
+
+2011-09-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-dialog-size.c, src/misc.c, src/misc.h: Move
+	make_route_string() from gtk into misc.c
+
+2011-09-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/mymem.c, src/mymem.h: Const-correct StripWhiteSpaceAndDup in
+	mymem.c
+
+2011-09-01   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Attempt to fix logic to flip
+	component / solder group visibility on flip Should get back to better behaviour. I probably broke this somewhat
+	with commit f903b4be6b85efc110852f7be40edf8245f0a513, which
+	attempted to re-state the previous logic in a clearer fashon.  The logic now should: If flipping sides, and only ONE of the solder / component layers
+	(groups) is visible, and that layer (group) is _active_, then swap
+	the visibilities of the component / solder layers (groups), and make
+	the newly visible layer (group) active.  There are still bugs in this code relating to the assumption that
+	the first entry in the layer group is the one which is being
+	toggled. This breaks if the first entry in the group is that
+	corresponding to the silk for that side of the board.
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: gtk: fix typo preventing layer
+	selector menu items from working
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: gtk: remove in_toggle_view
+	recursion-prevention flag We don't call ToggleView programmatically anywhere, so it is
+	impossible for there to be recursion.
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-main-menu.c: Block signals in
+	ghid_main_menu_update_toggle_state() The function ghid_main_menu_update_toggle_state() is supposed to
+	sync the menu checkboxes to the actual state of pcb, by checking the
+	flags given in the resource file.  If this function is emitting signals and changing pcb's state, this
+	is a bug. Fortunately, this appears not to be the case, so the
+	effect of this commit is to eliminate one more use of
+	ghidgui->toggle_holdoff.
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: gtk: sync visiibility of layer
+	selector with core state in LayersChanged
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c,
+	src/hid/gtk/ghid-layer-selector.h: Use signal blocking for
+	visibility toggling in GHidLayerSelector
+
+2011-08-31   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-config.c: Add call to
+	ghid_layer_buttons_color_update() when loading new colors
+
+2011-08-30   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/change.c: Change change.c to treat text scale as mils
+
+2011-08-30   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Configure layer selector to
+	only accept left-clicks Suggested by Kai-Martin Knaak, seconded by me.
+
+2011-08-30   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: Fix invalid free of ~/.pcb/filename
+	path in gui-top-window.c
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c,
+	src/hid/gtk/ghid-layer-selector.h: minor: fix comment and forward
+	declaration in ghid-layer-selector
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Remove default layer selection
+	from ghid-layer-selector.c Having the layer selector select its own first layer is not needed -
+	pcb does this for us, after making the widget. It's not the sort of
+	decision a widget should be making on its own, anyway.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Use g_signal_handler_block
+	instead of flags in ghid-layer-selector.c Thanks to Peter C. for this code-cleanliness tip. Now the two
+	layer-selection interfaces (menu button and selector widget) set
+	each other's GUI state but do not raise any signals past the
+	original.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Add missing free_ldata() in
+	ghid-layer-selector.c
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-command-window.c: Disable layer selector's
+	GtkAccelGroup while in command mode
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Add const qualifiers to some BoxType
+	*drawn_area parameters
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c, src/misc.h: misc.c: Add const qualifier to BoxType *
+	parameter passed to CountHoles
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Fold DrawLayerCommon() into DrawLayer() Since the last commit, DrawLayer() just calls DrawLayerCommon with
+	the "clear_pins" argument set to true. The only other
+	DrawLayerCommon caller passes clear_pins as true, so having
+	functions is redundant.
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: DrawLayer(): Pass true to clear_pins of
+	DrawLayerCommon This should not affect any rendering. If the check planes flag is
+	set, we should only draw polygons, nothing more. Only a handful of
+	cases draw layers via this code-path, and in all but the exporter
+	cases, they are not called if CHECKPLANES is set.  The exporters which call DrawLayer explicitly clear the CHECKPLANES
+	flag (since commit 3c01bd38cb59922692408b71cd5d77892dbe6ade), so
+	nothing should be affected by this argument change.
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gerber/gerber.c, src/hid/ps/eps.c, src/hid/ps/ps.c: 
+	hid/{ps,eps,gerber}: Clear CHECKPLANESFLAG before exporting Ensure we are in a sensible view state before exporting. This update
+	those HIDs which cleared other similar renedering flags before
+	exporting to include the CHECKPLANES flag.
+
+2011-08-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Have DrawLayerGroup() call DrawPPV for non-gui
+	exporters This means DrawLayerGroup() can have a void return type as most of
+	the other drawing functions, and makes things a little neater.  Only the GUI renderers special case the pin / pad / via to wait
+	until a later rendering oass than the layers they reside on.
+
+2011-08-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Remove unused "button"
+	parameter from Popup function.  Remove the dead code and comments refering to the fact the
+	function's second argument indicates a mouse button number.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c,
+	src/hid/gtk/ghid-layer-selector.h, src/hid/gtk/ghid-main-menu.c,
+	src/hid/gtk/ghid-main-menu.h, src/hid/gtk/gui-top-window.c: Link
+	GHidLayerSelector and GHidMainMenu Layer visibility-toggle and selection menu items now appear in the
+	main menu. Accelerators work correctly and are reassigned on
+	deletion/addition of layers to simulate the old behavior.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Clean up layer data handling in
+	ghid-layer-selector.c
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c: Give GHidLayerSelector an
+	internal layer structure Before we had various arrays to resize and index; now each row has a
+	structure associated with it, that is easier to access and maintain.
+
+2011-08-28   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-command-window.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: Replace gtk UI manager with GHidMainMenu widget This commit replaces the old UI manager with a customize gtk widget
+	that builds menus directly from a resource tree. This eliminates the
+	translate-to-XML step, the ugly hacks used to access individual
+	actions, and all the associated manual memory management.  This will also give us the ability to have more dynamic menus, in
+	particular layer lists without maximum capacities.  Layers and route styles are still not hooked into the menu.  This
+	means that those accelerators DO NOT WORK. (This will be fixed in a
+	later commit.) Checkboxes have been replaced with radio buttons
+	where appropriate. There are now tearoffs on the context-menu's
+	submenus.  Other than that, there should be no user-visible changes. ;)
+
+2011-08-28   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/ghid-main-menu.c,
+	src/hid/gtk/ghid-main-menu.h: Created ghid-main-menu.[ch] Still need to hook up layer selector and route styles.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: Fix select-hidden-layer behavior When you select a hidden layer, it should toggle the visibility so
+	that the currently-selected layer is always visible. We were
+	toggling twice.
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/ghid-layer-selector.c, src/hid/gtk/gui-top-window.c: 
+	Prevent recursion in layer selector events
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/ghid-coord-entry.c,
+	src/hid/gtk/ghid-coord-entry.h, src/hid/gtk/gtk-pcb-coord-entry.c,
+	src/hid/gtk/gtk-pcb-coord-entry.h, src/hid/gtk/gui-config.c,
+	src/hid/gtk/gui-dialog-print.c, src/hid/gtk/gui-dialog-size.c,
+	src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h: Rename GtkPcbCoordEntry
+	to GHidCoordEntry
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/ghid-layer-selector.c,
+	src/hid/gtk/ghid-layer-selector.h,
+	src/hid/gtk/gtk-pcb-layer-selector.c,
+	src/hid/gtk/gtk-pcb-layer-selector.h, src/hid/gtk/gui-top-window.c: 
+	Rename GtkPcbLayerSelector to GHidLayerSelector
+
+2011-08-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/ghid-cell-renderer-visibility.c,
+	src/hid/gtk/ghid-cell-renderer-visibility.h,
+	src/hid/gtk/gtk-pcb-cell-renderer-visibility.c,
+	src/hid/gtk/gtk-pcb-cell-renderer-visibility.h,
+	src/hid/gtk/gtk-pcb-layer-selector.c: Rename
+	GtkPcbCellRendererVisibility to GHidCellRendererVisibility
+
+2011-08-28   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/gpcb-menu.res.in: Add mnemonics to menus in default
+	gpcb-menu.res.in You can now access the main menu without a mouse, by doing Alt+F,
+	for example, to select the File menu.
+
+2011-08-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/common/hid_resource.c, src/hid/common/hid_resource.h,
+	src/hid/gtk/gui-top-window.c, src/res_parse.y, src/resource.h: gtk:
+	Const-correct add_resource_to_menu and related functions Five files have had const keywords added:    ../common/hid_resource.c    ../common/hid_resource.h    gui-top-window.c    ../../res_parse.y    ../../resource.h No casts were added. No compilation warnings were added.
+
+2011-08-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-layer-selector.c: Delete GtkAction along with
+	layer in gtk-pcb-layer-selector.c
+
+2011-08-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/ps/eps.c: hid/ps/eps.c: Remove assigned by unused
+	lastgroup variable
+
+2010-10-21   Markus Hitter * mah AT jump-ing dot de *
+
+	* src/hid/gcode/gcode.c: HID-gcode: make use of MAXPATHLEN.  Affects-bug: lp-699497
+
+2011-08-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/bom/bom.c, src/hid/gerber/gerber.c, src/main.c: Add
+	attributes to docu for commandline options
+
+2011-08-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Docu: Fix some references to command-line options and remove the documentation for a non-working X11-Interface option.
+
+2011-08-28   Dima Kogan * dkogan AT cds dot caltech dot edu *
+
+	* src/find.c: Better handling of unplated vias The attached patch adds checks in the geometry intersection
+	functions to no longer treat unplated vias (mounting holes) as
+	conducting. The implementation in the patch will act as if the
+	unplated via doesn't intersect with metal objects at all, which is
+	possibly not what is desired. Should the conductivity check happen
+	on a higher level from the geometry intersection routines? A case
+	that would require this is not obvious to me.  Closes-bug: lp-699499
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gcode/gcode.c, src/hid/gerber/gerber.c,
+	src/hid/lpr/lpr.c, src/hid/nelma/nelma.c, src/hid/png/png.c,
+	src/hid/ps/ps.c: Unify HID description (no fullstop at end of
+	description) Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/ps/ps.c: Add docu for ps HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/ps/eps.c: Add docu for eps HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/png/png.c: Add docu for png HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/nelma/nelma.c: Add docu for nemla HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/lpr/lpr.c: Add docu for lpt HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gerber/gerber.c: Add docu for Gerber HID commandline
+	options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/bom/bom.c: Add docu for the BOM HID commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/lesstif/main.c: Add docu for
+	commandline-options for GTK+ and lesstif GUI Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for DRC commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for general gui commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for path commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for commandline commands Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for layer names commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for size commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-18   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/main.c: Add docu for color commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi, src/main.c: Docu: Add general description for
+	commandline options ... and for general options.  (Patch 3/19 of this patch-serie is
+	missing on purpose) Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Remove out-dated docu for commandline options Most parts of this patch-serie was written by Kai-Martin Knaak.
+	Adaption to actual git HEAD and some modifications by Felix Ruoff.
+
+2011-08-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/misc.c, src/misc.h: Move CountHoles() from draw.c
+	to misc.c and export it This function may be more generally useful.
+
+2011-08-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Move doing_assy flag assignment into
+	PrintAssembly() Keeps things tidier
+
+2011-08-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gcode/gcode.c, src/hid/nelma/nelma.c: hid/{nelma,gcode}:
+	Remove assigned but unused variables lastcap and lastgroup
+
+2011-08-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.h, src/main.c: Remove traces of LoadBackgroundImage()
+	from the core of PCB
+
+2011-08-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c: hid/gtk: Use
+	view_data struct to simplify saving and restoring views
+
+2011-08-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk:
+	Encapsulate view parameters in a structure
+
+2011-08-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Remove unnecessary prototype
+
+2011-08-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui.h: hid/gtk: crosshair_{x,y} should be Coord, not
+	int.
+
+2011-08-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/fontmode.c: fontmode.c: Add missing #include "pcb-printf.h"
+
+2011-08-26   DJ Delorie * dj AT delorie dot com *
+
+	* src/fontmode.c: Fix FontEdit() Move top/bottom meta-layers to layers 0 and 1 so they'll exist after
+	we trim out the layers.  Set up DRC values to avoid interfereing
+	with the font layout.  Closes-bug: lp-808591
+
+2011-08-26   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/dialogs.c: Use correct units when setting up the
+	Sizes dialog.  Replace %mm with %mS so it auto-selects units, to match the scanning
+	that's done when you save the settings.
+
+2011-08-26   DJ Delorie * dj AT delorie dot com *
+
+	* src/parse_l.l: Avoid segfault tmp-saving partial board.  Check for both PCB and PCB->Data to avoid trying to save a backup
+	copy of a partially created layout.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: gtk: Sync selection with pcb state
+	in ghid_layer_buttons_update It was possible for PCB's active layer to come out of sync with the
+	selected entry in the layer selector. This fixes that.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-layer-selector.c,
+	src/hid/gtk/gtk-pcb-layer-selector.h, src/hid/gtk/gui-top-window.c: 
+	Support adding/deletion of layers in GtkPcbLayerSelector If you add a layer to a GtkPcbLayerSelector, and its ID is already
+	in the selector, it will update the layer instead of adding a new
+	one. This way, we can update the layer selector by:   1. Deleting all recently-deleted and non-copper layers.    2. Re-adding all layers (including new ones)   3. Re-adding all non-copper layers (so they go to the end) The old layer selector maintained MAX_LAYER + n layers (where n was
+	the number of non-copper layers), and showed/hid the gui widget to
+	managed deletion and adding of layers. The new one has no notion of
+	MAX_LAYER, nor does it care whether a layer is copper or not. :)
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-drc-window.c: hid/gtk: Fix DRC preview pixmap
+	rendering Another hard-coded constant in the old PCB coordinate system
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Remove duplicated render pass
+	in ghid_pinout_preview_expose() This looks like it was a copy+paste error.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-pinout-preview.c,
+	src/hid/gtk/gui-pinout-preview.h: hid/gtk: Fix pinout preview
+	default zoom after unit conversion Apparently the scale factor equation was dependant on the old PCB
+	units of 100th mils to produce a sensible zoom level.  Since this code is monumentally obtuse, just re-write something
+	completley new. The old code probably bit-rot when we split out the
+	rendering widget.  Lets just suggest a fixed size of 100 pixels natural size for each
+	150 mil of element bounding box. That seems to work nicely.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c: misc.c: Rework SetTextBoundingBox() to make it more
+	clear how it works.  Add lots of comments, change the coding style and rename variables
+	to make them more obvious.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: Redefine pin / pad name label text size in terms of
+	FONT_CAPHEIGHT This reduces the proliferation of various "magic numbers" which
+	combine constants from several sources and aren't appearent why they
+	are a particular number. There is a slight rounding error in the
+	converted pin label size, but it is insignificant.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* globalconst.h, src/change.c, src/report.c: Introduce global
+	#define for the text cap-height of the PCB font.  This should save the proliferation of rather opaque
+	MIL_TO_COORD(45)'s in various places.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/change.c, src/draw.c, src/report.c: Fix some text scale
+	factors This commit fixes pin / pad name drawing, the pinout preview and two
+	actions which change the size of text based on user input.  To recap: Text->Scale is a percentage scaling (from the font definition). The
+	default font has has an approximate cap-height of 45-50 mils, and
+	PCB assumes this to be the case.  Text->Scale is not a Coord, it is an integer, so use int as the
+	resulting type for any calculations involving this number. (100% is
+	stored as 100 in Text->scale). Code which scales text based upon
+	other object sizes does so by dividing to a dimensionless scale
+	factor. We may have to be careful about the width of intermediate
+	results when scaling based on Coords if Coord is changed to 64bit at
+	some point.  ChangeTextSize() and ChangeElementNameSize accept absolute (or
+	delta) sizes in units of distance. These are converted to a Scale by
+	assuming a 100% scaled font is 45mils high. YMMV.  Oh - and just to note.. the line-thickness is drawn at half the
+	width stored in the font definition. This is clearly bonkers, but we
+	would break designs if we changed it now. Grr.  (Thanks a bunch
+	commit 66592387176ba2578dfc14023a6fe49226f3a3df).
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/hid/ps/ps.c: action.c: Fix missing #include
+	"mirror.h"
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : hid/ps: Fix inaccurate comment and twiddle some whitespace The whitespace changes in the if statement were from an earlier
+	revision which actually had functional changes - but I prefer this
+	way, so I'm committing it anyway.  Also adds some != 0 to the end of strcmp tests, as I believe this
+	aids clarity by reminding readers strcmp returns 0 for a match.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c: 
+	hid/gtk: Allow zooming out past the board size (up to 1/10 viewport
+	size) The 1/10 viewport size should be the same as the Lesstif HID allows.
+	The purpose of the limit is to avoid zooming in so small the PCB is
+	lost as a tiny dot, and also to avoid coodinate overflows when
+	representing screen coordinats in PCB Coords. (Since we switched to
+	nanometers, this could potentially raise its head more readily until
+	we move to 64bit integers).  The explicit pan fixup added to ghid_view_zoom_fit() is required as
+	pan_common() no longer clamps the view back to the origin.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Remove ghid_port_ranges_pan for new
+	replacement ghid_pan_view_rel ghid_pan_view_rel() does less heavy lifting directly, sharing common
+	code with the other view altering routines for zooming and panning.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui.h: hid/gtk: Remove prototype for non-existant
+	ghid_port_ranges_update_ranges The functionality this prototype implies is in
+	ghid_port_ranges_scale().
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Don't recompute view size in
+	PCB coords in ScrollAction() We aleady keep around the view size in PCB coords, so use it
+	directly.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Add fixup for stored
+	gport->pcb_{x,y} coords when changing view This updates the stored (in PCB coordinates) mouse pointer location
+	on the board as we perform a pan / zoom. This is mostly relevant to
+	panning and clipped zoom operations, as non-clipped zoom operations
+	aim to leave the mouse pointer at the same PCB coordinate anyway.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon.c: polygon.c: Fix dicer to give up if the clipping
+	region passed is invalid.  Most of the dance checking return codes from polyBoolean_free was
+	unnecessary, as it sets the output to NULL if there is a problem, so
+	remove that. Whilst we're at it, fix up some variable names to make
+	the operation of the function clearer.
+
+2011-08-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon.c: polygon.c: Make RectPoly return NULL for zero or
+	negatively sized rectangles Previously we would hit an assertion failure, where we could
+	indicate the problem by returning NULL.  I've hit an issue in which some expose events in the GTK (+GL) HID
+	are collapsing to a zero-width region on the PCB, and some code is
+	tripping up on the bad clip polygon produced using RectPoly on the
+	coordinates.  This causes segfaults in the branch which contains
+	code to clip rendering of the soldermask at the board outline.  We could (and perhaps should) test in the expose handler, but the
+	failure mode here is not ideal. Since most builds of PCB run with
+	asserts disabled, the asserts are not hit here and a bad polygon is
+	silently gets created with no contours. This upsets the polygon
+	algebra routines somewhat, but returning a NULL (empty) polygon
+	would be fine.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-config.c, src/hid/gtk/gui-top-window.c: gtk:
+	remove call to ghid_layer_buttons_color_update The call to ghid_layer_buttons_color_update() in config_read() is
+	now unnecessary; the Gtk layer selection widget does not exist, nor
+	do the PCB struct's colors need to be synced with the ones in the
+	Settings struct.  So this call makes no sense. Oh, and it causes a segfault.  Also: remove color-changing debug code from gui-top-window.c
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-coord-entry.c: Add doxygen comments to
+	gtk-pcb-coord-entry.c No code changes.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-cell-renderer-visibility.c,
+	src/hid/gtk/gtk-pcb-layer-selector.c: Add doxygen comments to
+	gtk-pcb-cell-renderer-visibility.c Also fix the file description for gtk-pcb-layer-selector.c.  No code
+	changes.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c: Add doxygen comments to pcb-printf.c No code changes.
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/flags.c: Fix const-correctness warning in flags.c
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* globalconst.h: Make EMARK_SIZE unit-agnostic Closes-bug: lp-832455
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: Use
+	GtkPcbLayerSelector in gtk GUI Closes-bug: lp-699482
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/gtk-pcb-cell-renderer-visibility.c,
+	src/hid/gtk/gtk-pcb-cell-renderer-visibility.h,
+	src/hid/gtk/gtk-pcb-layer-selector.c,
+	src/hid/gtk/gtk-pcb-layer-selector.h: Introduce GtkPcbLayerSelector
+	widget -- not used yet This widget will replace the layer-selection buttons in the Gtk GUI,
+	as well as the layer selection and visibility-toggling parts of the
+	menu.  This is to make layer manipulation more consistent and more
+	keyboard-accessible.  In future, it would be good to update this widget with context menus
+	with things like "hide all but this layer".
+
+2011-08-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: Change Gtk layer_process() to use
+	colors from Settings, not PCB Now the only code that uses the colors in the PCB struct is draw.c.
+	Hopefully in a future commit we can remove this too and remove the
+	duplication of color data in the Settings and PCB structs.
+
+2011-08-25   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.c: Fix File->Import for elements on back side.  Mirror pasted footprints when replacing back-side elements.  Also
+	clear element cache when reloading the new footprint, to avoid
+	getting a stale pointer.  Closes-bug: lp-699331
+
+2011-08-25   DJ Delorie * dj AT delorie dot com *
+
+	* src/report.c: Fix texinfo bug in report.c patch {} are special characters in texinfo
+
+2011-08-25   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Lesstif: force widget update on grid unit
+	change If the grid units change, force a redraw of the coordinates window
+	and allow a resize.
+
+2011-08-25   DJ Delorie * dj AT delorie dot com *
+
+	* src/flags.c, src/hid/common/flags.c: Fix unitless menu flags.  Numbers without units are counting numbers in flags, not cmil.
+	Also, cache the lookup of units in flags.c
+
+2011-08-24   Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+
+	* src/report.c: This patch adds support for doing
+	Report(netlength,net_name) Affects-bug: lp-699451 Updated patch to nanometers, fixed a few minor bugs, applied.
+
+2011-08-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Don't compensate for crosshair
+	position when panning Perhaps this was necessary before.. it is not now, and is causing
+	the crosshair to be errenously offset whilst panning with the scroll
+	wheel.
+
+2011-08-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Simplify viewport setup in
+	PCBChanged() This version still works ;)
+
+2011-08-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Refactor common view clamping
+	code from ghid_{pan,zoom}_view_abs Inspection of the zoom-fit code which triggers if the view exceeds
+	the size of the board suggests that it will never be called, so
+	remove it.
+
+2011-08-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: A couple of NOOP
+	cosmetic changes to ghid_port_ranges_pan()
+
+2011-08-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c: hid/gtk: Don't
+	render of soldermask outside board area
+
+2011-08-22   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/create.c: Fix negative-angle handling in create.c This bug could be seen by taking a component with an arc (say, a
+	3-pin TO transistor, with curved silk), flipping it with 'b', and
+	trying to move it. The arc would be inverted.
+
+2011-08-22   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/report.c: Fix segfault in report.c text report output
+
+2011-08-22   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Remove emit_changed parameter from
+	ghid_port_ranges_scale.  The one caller which passed TRUE, PCBChanged () also immediately
+	aftwewards calls ghid_port_ranges_pan(), which will take car of any
+	changes necessary.
+
+2011-08-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Rework view flip code
+
+2011-08-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui.h: hid/gtk: Rework zoom
+	/ pan API
+
+2011-08-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Some NOOP and whitespace
+	changes to the SwapSides() function Split from of a later patch which reworks the view flipping APIs.
+	Hopefully this makes the function a little simpler.
+
+2011-08-19   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c: hid/gtk:
+	Convert line width to Coord units in renderer GC structs.
+
+2011-08-19   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/find.c: find.c: Remove unused variables in LineLineIntersect()
+
+2011-08-15   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/main.c: Add --help and -? to options that will dump usage()
+	without loading GUI Closes-bug: lp-826931
+
+2011-08-15   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/batch/batch.c: Fix compilation warnings in
+	hid/batch/batch.c
+
+2011-08-15   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-coord-entry.c, src/hid/gtk/gui-dialog-print.c: 
+	Fix: spin increments not working in GtkPcbCoordEntry after unit
+	change
+
+2011-08-15   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-config.c: Parse options of type CONFIG_Coord in
+	preferences file
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* globalconst.h, src/const.h, src/global.h, src/main.c: *** CONVERT
+	PCB'S BASE UNITS TO NANOMETERS *** Convert base units to nm, change Coord from int to long, change
+	LARGE_VALUE from a magic number to (LONG_MAX / 2 - 1).  Fixes-bug: lp-772027
+
+2011-08-11   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/const.h: Make MARK_SIZE base-unit-agnostic
+
+2011-08-10   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-coord-entry.c: Implement "change unit" submenu
+	of GtkPcbCoordEntry context menu
+
+2011-08-10   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-dialog-print.c, src/hid/ps/ps.c: Use
+	GtkPcbCoordEntry in gui-dialog-print.c Also set ps-bloat to HID_Coord from HID_Integer in ps.c
+
+2011-08-10   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtk-pcb-coord-entry.c,
+	src/hid/gtk/gtk-pcb-coord-entry.h, src/hid/gtk/gui-config.c,
+	src/hid/gtk/gui-dialog-size.c, src/pcb-printf.c, src/pcb-printf.h: 
+	Use GtkPcbCoordEntry in gui-dialog-size.c
+
+2011-08-10   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/hid/gtk/gtk-pcb-coord-entry.c,
+	src/hid/gtk/gtk-pcb-coord-entry.h, src/hid/gtk/gui-config.c,
+	src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h: Introduce
+	GtkPcbCoordEntry widget, use it in gui-config.c The GtkPcbCoordEntry is a modified spinbox that handles pcb units
+	internally and outputs them as human units. It uses the step sizes
+	given in pcb-printf and adjusts automatically when units are
+	changed.  If you manually change the unit suffix, it will change its interal
+	unit, so that if you change "10mil" to "10mm" it will do the right
+	thing.  TODO: handle overflows       add a unit selector to the context menu
+
+2011-08-07   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/common/hidgl.c, src/hid/common/hidgl.h,
+	src/hid/gtk/gtkhid-gl.c: Audit hidgl stuff, implement Coord I did not touch any code, only change 'int' to Coord where
+	appropriate (and in a couple cases 'double' to Coord), under the
+	assumption that any real changes should be done by Peter C.
+
+2011-08-07   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid.h, src/hid/common/hidinit.c, src/hid/gtk/gui-config.c,
+	src/hid/gtk/gui-dialog-print.c, src/hid/lesstif/dialogs.c,
+	src/hid/lesstif/lesstif.h, src/hid/lesstif/main.c, src/main.c: 
+	Introduce HID_Coord type and related changes Give measure-specific HID options their own datatype, so that things
+	like the --grid option can support suffixes instead of exposing the
+	base unit. (In fact, since they use GetValue, they will keep right
+	on pretending the base unit is cmil.) This gives us the opportunity to write measure-entry GUI widgets
+	that will handle units correctly and whatnot, though I have not yet
+	done this.  Fixes-bug: lp-699640 Fixes-bug: lp-699641
+
+2011-08-11   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/lesstif/dialogs.c: Change lesstif_logv to use pcb-printf
+	[rebase-after: audit lesstif]
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/global.h, src/gpcb-menu.res.in, src/hid/lesstif/dialogs.c,
+	src/hid/lesstif/main.c, src/hid/lesstif/styles.c,
+	src/pcb-menu.res.in: Audit lesstif HID We can now remove LocationType and BDimension! This marks the
+	completion of the code audit. Remaining to do is the conversion and
+	test.
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui-log-window.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui.h: Audit Gtk HID
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/common/draw_helpers.c, src/hid/common/extents.c,
+	src/hid/common/hidnogui.c: Audit HID nogui/common code
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/nelma/nelma.c: Audit nelma HID
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/png/png.c: Audit png HID
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gcode/gcode.c: Audit gcode HID
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/ps/ps.c: Audit ps.c
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/ps/eps.c: Audit eps.c
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: Audit gerber HID
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/bom/bom.c: Implement new unit selector in BOM HID, audit
+	bom.c
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid.h, src/hid/bom/bom.c, src/hid/common/hidinit.c,
+	src/hid/gcode/gcode.c, src/hid/gerber/gerber.c,
+	src/hid/gtk/gui-config.c, src/hid/gtk/gui-dialog-print.c,
+	src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h, src/hid/lpr/lpr.c,
+	src/hid/nelma/nelma.c, src/hid/png/png.c, src/hid/ps/eps.c,
+	src/hid/ps/ps.c, src/main.c: Introduce HID_Unit option type
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid.h: Change drawing function coords in hid.h to Coord from
+	int Note that this causes a slew of compilation warnings about
+	mismatched pointer types, since the HIDs themselves are still using
+	int-taking functions. These warnings will be cleaned up over the
+	next few commits.
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/crosshair.c, src/crosshair.h: Audit crosshair.[ch], implement
+	Coord
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/parse_y.y: Audit parse_y.y, implement Coord
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/mtspace.c, src/mtspace.h: Audit mtspace.[ch], implement Coord
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.h, src/report.c: Audit report.c, implement Coord Includes fixes for the original pcb-printf conversion:   Fix drill report spacing in report.c   Use %ma spec outputting angles in report.c
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/autoroute.c: Audit autoroute.[ch], implement Coord There are many magic numbers in this file. It is likely they will be
+	skewed by base-unit changes, though I have worked to mitigate this.
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/autoplace.c: Audit autoplace.c, implement Coord Note that there are -many- magic numbers in this file.  I believe
+	I've caught all of them that are supposed to be unit conversions and
+	used macros instead.
+
+2011-08-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/action.c, src/create.c, src/create.h: Audit create.[ch],
+	implement Coord
+
+2011-08-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/intersect.c, src/line.c, src/line.h: Audit line.[ch],
+	intersect.c, implement Coord
+
+2011-08-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/find.c, src/find.h: Audit find.[ch], implement Coord Note that this commits brings major simplifications to some DRC
+	functions. My tests show everything okay, but there will likely be
+	some bugs (or bug fixes) as a result of this commit.
+
+2011-08-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/find.c: Remove fBloat from find.c fBloat does nothing except act as a floating point copy of the
+	integer Bloat variable. It should not be (and is not) necessary.
+
+2011-08-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/find.c: Fix g_string_free (NULL) error
+
+2011-08-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/global.h, src/hid/gtk/gui-drc-window.c,
+	src/hid/gtk/gui-drc-window.h: Remove coord suffix/precision from DRC
+	error struct Display units for DRC errors are now handled by the UI, rather than
+	in the error struct. The struct now stores everything in Coord's,
+	and pcb-printf worries about how to display them.
+
+2011-08-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c: Audit file.c, implement Coord
+
+2011-08-02   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/find.c, src/pcb-printf.c, src/pcb-printf.h: Use pcb-printf in
+	DRC code in find.c Also, expose pcb_vprintf in pcb_printf.h.
+
+2011-07-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/draw.c, src/draw.h: Audit draw.[ch], implement Coord
+
+2011-07-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/box.h, src/change.c, src/change.h: Audit change.[ch], box.h,
+	implement Coord
+
+2011-07-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/copy.c, src/copy.h, src/insert.c, src/insert.h, src/mirror.c,
+	src/mirror.h: Audit copy.[ch], insert.[ch], mirror.[ch], implement
+	Coord
+
+2011-07-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/misc.c, src/misc.h: Audit misc.[ch], implement Coord
+
+2011-07-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/move.c, src/move.h: Audit move.[ch], implement Coord
+
+2011-07-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/polyarea.h, src/polygon.c, src/polygon.h, src/polygon1.c: 
+	Audit polygon*, polyarea.h, implement Coord
+
+2011-07-25   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/rotate.c, src/rotate.h: Audit rotate.[ch], implement Coord
+
+2011-07-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/search.c, src/search.h: Audit search.[ch], implement Coord
+	unit This does not affect the "IsPointOnArc assumes circular arc" bug; it
+	is just more obvious now with the cleaner code.  Affects-bug: lp-815527
+
+2011-07-13   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/rubberband.c, src/set.c, src/set.h, src/thermal.c,
+	src/undo.c, src/undo.h: Audit undo.[ch], thermal.c, set.[ch],
+	rubberband.c, introduce Coord
+
+2011-08-07   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/action.c, src/buffer.c, src/buffer.h, src/command.c,
+	src/djopt.c, src/djopt.h, src/fontmode.c, src/global.h, src/hid.h,
+	src/hid/batch/batch.c, src/hid/common/actions.c,
+	src/hid/common/hidnogui.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-log-window.c, src/hid/gtk/gui-netlist-window.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h, src/hid/lesstif/dialogs.c,
+	src/hid/lesstif/lesstif.h, src/hid/lesstif/library.c,
+	src/hid/lesstif/main.c, src/hid/lesstif/menu.c,
+	src/hid/lesstif/netlist.c, src/hid/lesstif/styles.c, src/misc.c,
+	src/move.c, src/netlist.c, src/puller.c, src/report.c,
+	src/toporouter.c, src/vendor.c: Change get_coord and action
+	signatures to use Coord
+
+2011-07-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c, src/hid/gtk/gtkhid-main.c, src/hid/lesstif/main.c: 
+	Introduce PCB::grid::unit attribute This is PCB's first use of the Attribute() field in the file format.
+	It is a unit suffix string denoting the unit setting used by pcb
+	when loading the file.  Note the namespacing: as Attributes are persistent across
+	file-saves, other programs may use them in future for purposes
+	unknown and irrelevant to pcb. Therefore we will put all pcb
+	attributes under the PCB namespace.  If this attribute is missing or invalid (i.e., the unit given is
+	unsupported by pcb-printf), PCB will then use the --grid-units
+	command-line option. Failing that, it will use the grid-units entry
+	in ~/.pcb/preferences. Failing that, it will use mils.  Fixes-bug: lp-811393
+
+2011-08-10   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c: Modify get_unit_struct()'s bad-unit forgiveness Suffixes passed to get_unit_struct() may now start or end with
+	whitespace, without affecting the result. However, incomplete units
+	will NOT be matched.  This means that "mi" will no longer return the "mil" struct, for
+	example.  The reasons for this change are:   1. The old behavior returned the first potential match,      regardless of other matches: "c" is always "cm", never      "cmil".    2. Prevent surprises (due to point #1, or typos).    3. Prevent user dependence on behavior that will change      as units are added or removed.  It still supports plural units, like "inches" or "mils".  However,
+	it will read "miles" as "mil" because of this. ;)
+
+2011-08-05   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/main.c, src/pcb-printf.c, src/pcb-printf.h: Add alias support,
+	get_unit_list() to pcb-printf Add pcb-printf support for unit aliases (just one per unit for now,
+	we will fix this if the need arises). Map "inch" to "in" and "pcb"
+	to "cmil" for backward compatibility.  Move initialize_units() call to main.c to ensure it is called before
+	any other unit-handling code.  Also, add the functions   get_unit_list ();   get_n_units (); which do exactly what they look like. These will
+	be used to build HID-export unit selectors.
+
+2011-07-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/gpcb-menu.res.in, src/pcb-menu.res.in: Use suffixed units in
+	gpcb-menu.res and pcb-menu.res
+
+2011-07-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/buffer.c, src/buffer.h, src/create.c, src/file.c,
+	src/global.h, src/misc.c, src/misc.h, src/pcb-printf.c,
+	src/pcb-printf.h, src/rotate.c: Make file.c use %mr pcb-printf spec I have changed the %mr spec to always output cmils, no suffix, and
+	changed file.c to use this. The reason is that the %mc spec (cmils,
+	no suffix) is locale- dependent, while %mr is not.  When we change the actual file format, file.c can be left alone and
+	the relevant changes should be done to the %mr spec in pcb-printf.
+
+2011-07-13   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-config.c: Update hid/gtk/gui-config.c with new
+	grid preferences
+
+2011-07-13   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c, src/find.c, src/flags.c, src/global.h,
+	src/gpcb-menu.res.in, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-config.c, src/hid/gtk/gui-dialog-size.c,
+	src/hid/gtk/gui-misc.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h, src/hid/lesstif/dialogs.c,
+	src/hid/lesstif/main.c, src/hid/lesstif/styles.c,
+	src/pcb-menu.res.in, src/pcb-printf.h, src/report.c: Remove mm/mil
+	dichotomy, support arbitrary user units Currently, pcb assumes the user's display units are either mm or
+	mil, and uses the Settings.grid_unit_mm boolean (and flag
+	"grid_unit_mm") to determine which is which.  This patch removes the boolean and replaces it with the new
+	Settings.grid_unit, which can be set to any unit supported by
+	pcb-printf. The user-visible interface has not changed (there is
+	still a mm/mil toggle in Gtk and the menus only contain mm and mil
+	units), but new units can be accessed though the :SetUnits command.  The flag is still there and can be used in pcb-menu.res as usual.
+	However, the new flag "grid_unit_mil" should be checked to see if
+	mils are selected, since this is no longer implied by grid_unit_mm
+	== 0.  There will be some user-visible changes to the precision of
+	displayed values, since I have removed a lot of special-case code
+	for this sort of this thing and use the default_prec of applicable
+	units instead.  Because of the new flexibility, some idioms have been changed:   Settings.grid_unit_mm ? COORD_TO_MM (x) : COORD_TO_MIL (x) becomes   coord_to_unit (Settings.grid_unit, x)   Settings.grid_unit_mm ? "mm" : "mil" becomes   Settings.grid_unit->suffix   Settings.grid_unit_mm = 1; becomes   Settings.grid_unit = get_unit_struct ("mm"); For GUI use, the Unit structure returned by get_unit_struct exposes
+	certain members:   suffix       : "mm"/"mil"/etc   in_suffix    : i18n version of the above   default_prec : precision used for spinboxes, labels, etc   step_tiny    :   step_small   :   step_medium  : step sizes for various spinboxes   step_large   :   step_huge    : Additionally, the *_increment_mm and *_increment_mil variables have
+	their own structure containing default, min and max values.  These
+	can no longer be set on the command line.
+
+2011-07-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/main.c: Cleanup default values in main.c
+
+2011-07-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/misc.c, src/pcb-printf.c, src/pcb-printf.h: Introduce new
+	structures (unit, increment) to pcb-printf Constants for gui spinbox steps are now in pcb-printf.h:   Unit.step_tiny   Unit.step_small   Unit.step_medium   Unit.step_large   Unit.step_huge Additionally, the default/max/min values for the preferences
+	Increments tab are in their own structure in pcb-printf.h.  These changes are needed to bring all unit-specific constants into
+	one place. The spinbox values can be shared by gtk and lesstif.
+
+2011-07-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/misc.c, src/pcb-printf.c, src/pcb-printf.h: Add scale factor
+	lookups to pcb_printf.c, tell GetValue to use them GetValue and pcb-printf have their own lookup tables to determine
+	scale factors. To unify them, this patch adds two functions to pcb-
+	printf, coord_to_unit and unit_to_coord.  These a const char *suffix and return an appropriate scale factor.  I have also added a NO_PRINT entry to the allow_mask array for
+	suffixes like "inch" that we can read but never output.  The definitive unit lookup table should now be in pcb_printf.c. Any
+	other tables used in the code should be merged into this.
+
+2011-07-11   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/action.c, src/autoplace.c, src/crosshair.c, src/crosshair.h,
+	src/djopt.c, src/file.c, src/flags.c, src/fontmode.c, src/global.h,
+	src/hid/common/hidgl.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gui-config.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui.h, src/hid/lesstif/main.c, src/hid/lesstif/menu.c,
+	src/main.c, src/misc.c, src/misc.h, src/set.c, src/set.h: Convert
+	grid/increments from double to Coord Since Coord is an integer unit, there will be (often severe)
+	precision errors until we convert the base unit to nm.
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/global.h: Remove unused variable
+
+2011-08-14   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/global.h, src/main.c: Remove broken --menu-file option The expected functionality is given by the option --pcb-menu for the
+	GTK+ GUI and lesstif GUI.
+
+2011-08-13   DJ Delorie * dj AT delorie dot com *
+
+	* src/change.c, src/find.c, src/global.h,
+	src/hid/common/draw_helpers.c, src/misc.c, src/polygon.c,
+	src/search.c: Make toggling the HOLE flag reversible Closes-bug: lp-699483 When toggling the HOLE flag, the Thickness is no longer changed.
+	Instead, use PIN_SIZE() to select from Thickness or DrillingHole
+	accordingly, and use that throughout.  Mask size is handled thusly: For tented vias, the mask is opened up
+	to just over the hole size.  For untented vias, the mask gap is held
+	constant.  Also, various minor changes to ensure that untented holes are drawn
+	correctly.
+
+2011-08-13   Jared Casper * jaredcasper AT gmail dot com *
+
+	* src/action.c, src/create.c, src/create.h, src/file.c, src/main.c,
+	src/parse_y.y: refdes labels in new layout can't be moved.  The .pcb file that gsch2pcb creates does not have a font in it.
+	When loading files, the bounding box for all the text is calculated
+	as the file is read.  In the case that there is no font, this is
+	before the default font is installed, so the bounding box is way too
+	small.  This patch remedies this by making all new PCB structures contain
+	the default font by calling CreateDefaultFont in CreateNewPCB
+	(CreateDefaultFont now takes in a PCBTypePtr instead of using the
+	global PCB).  Previously, each time CreateNewPCB was called,
+	CreateDefaultFont was called soon thereafter.  In the case of loading a PCB from a file.  The default font in the
+	newly created struct PCB is marked invalid but not removed.  If the
+	.pcb file contains a font, the default font will be overwritten by
+	the file's font.  If it does not, PCB->Font will still be invalid
+	after LoadPCB, a message is displayed that the default font is being
+	used, and PCB->Font.Valid is set to true.  Also fixes a related bug where the memory for a symbols lines wasn't
+	being cleared when a new file was brought into place.  Previously,
+	this only happened if a new Font was loaded into an existing PCB.
+	Now the font will be replaced every time a file with symbol
+	information is loaded.  Rebased to actual git-head by Felix Ruoff Closes-bug: lp-699478
+
+2011-08-13   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/dialogs.c, src/hid/lesstif/lesstif.h,
+	src/hid/lesstif/library.c, src/hid/lesstif/main.c,
+	src/hid/lesstif/menu.c, src/hid/lesstif/netlist.c,
+	src/hid/lesstif/styles.c: Centralize Lesstif XmStringCreate* Closes-bug: lp-699472 To save time in the future, all XmString creation is done via
+	XmStringCreatePCB which is a macro in lesstif.h.  Meanwhile, this
+	macro is defined to XmStringCreateLtoR instead of
+	XmStringCreateLocalized.
+
+2011-08-13   Cesar Strauss * cstrauss AT not2005 dot cea dot inpe dot br *
+
+	* Makefile.am, README.w32, configure.ac, w32/.gitignore,
+	w32/Makefile.am, w32/README, w32/build-all.sh, w32/minipack.conf,
+	w32/mpk,
+	w32/patches/gd/0001-Export-sysbols-when-building-as-a-DLL.patch,
+	w32/patches/gd/0002-Libtool-requires-no-undefined-to-build-a-DLL.pa
+	tch,
+	w32/patches/gd/0003-Avoid-conflit-between-libjpeg-and-windows-heade
+	rs.patch, w32/patches/gettext/01-revert-sed-string.patch,
+	w32/patches/gettext/02-Avoid-missing-open-argument-error.patch,
+	w32/patches/gtk+/01-mousewheel.patch,
+	w32/patches/zlib/01-shared-lib-support.patch,
+	w32/patches/zlib/02-cross-build.patch, w32/recipes/atk.recipe,
+	w32/recipes/cairo.recipe, w32/recipes/gd.recipe,
+	w32/recipes/gettext.recipe, w32/recipes/glib.recipe,
+	w32/recipes/gtk+.recipe, w32/recipes/jpeg.recipe,
+	w32/recipes/libiconv.recipe, w32/recipes/libpng.recipe,
+	w32/recipes/pango.recipe, w32/recipes/pcb.recipe,
+	w32/recipes/pixman.recipe, w32/recipes/tiff.recipe,
+	w32/recipes/zlib.recipe, w32/tools/mpk-build, w32/tools/mpk-clean,
+	w32/tools/mpk-config.guess, w32/tools/mpk-help,
+	w32/tools/mpk-install, w32/tools/mpk-remove, w32/tools/mpk-shell,
+	w32/tools/mpk-source, w32/tools/mpk-unpack, w32/tools/mpk-version,
+	w32/tools/tool.template: Add Windows cross-build script.  Closes-bug: lp-699494
+
+2011-08-13   Cesar Strauss * cstrauss AT not2005 dot cea dot inpe dot br *
+
+	* Makefile.am, README.win32, configure.ac, win32/.cvsignore,
+	win32/Makefile.am, win32/Readme.txt, win32/build_pcb,
+	win32/extract_gtk_win32, win32/pcb.nsi.in,
+	win32/registerExtension.nsh: Remove previous Windows build script.  Affects-bug: lp-699494
+
+2011-08-10   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.h, src/autoplace.h, src/autoroute.h, src/box.h,
+	src/buffer.h, src/change.h, src/clip.h, src/command.h,
+	src/compat.h, src/const.h, src/copy.h, src/create.h,
+	src/crosshair.h, src/data.h, src/dbus-pcbmain.h, src/dbus.h,
+	src/djopt.h, src/draw.h, src/edif_parse.h, src/error.h, src/file.h,
+	src/find.h, src/global.h, src/heap.h, src/hid.h,
+	src/hid/common/actions.h, src/hid/common/hid_resource.h,
+	src/hid/common/hidgl.h, src/hid/common/hidinit.h,
+	src/hid/common/hidnogui.h, src/hid/gcode/lists.h,
+	src/hid/gtk/gtkhid.h, src/hid/gtk/gui-drc-window.h,
+	src/hid/gtk/gui-library-window.h, src/hid/gtk/gui-pinout-preview.h,
+	src/hid/gtk/gui.h, src/insert.h, src/intersect.h, src/line.h,
+	src/lrealpath.h, src/macro.h, src/mirror.h, src/misc.h, src/move.h,
+	src/mtspace.h, src/mymem.h, src/parse_l.h, src/pcb-printf.h,
+	src/polyarea.h, src/polygon.h, src/print.h, src/rats.h,
+	src/remove.h, src/report.h, src/resource.h, src/rotate.h,
+	src/rtree.h, src/rubberband.h, src/search.h, src/select.h,
+	src/set.h, src/strflags.h, src/thermal.h, src/toporouter.h,
+	src/undo.h, src/vector.h, src/vendor.h: Fix header guard macro names Closes-bug: lp-699161 Make all headers use standard-compliant guard macro names.
+
+2011-08-10   DJ Delorie * dj AT delorie dot com *
+
+	* configure.ac, src/hid/lesstif/main.c, src/hid/lesstif/xincludes.h: 
+	Detect XRender + Xinerama to avoid BadMatch Closes-bug: lp-699251 This seems to happen when your X server is using both Xinerama and
+	XRender, and only affects the XRenderChangePicture() call with a
+	clip_mask.  So, I added code to detect Xinerama+XRender and disable
+	XRender if they're found.
+
+2011-08-10   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.c: Don't set FOUND flag on silk lines.  Closes-bug: lp-699291
+
+2011-08-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Clean up ghid_pan_fixup ()
+
+2011-08-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Re-write some routines with
+	the new ghid_pcb_to_event_coords API.  Cleans up ghid_set_crosshair() and Center() in gtkhid-main.c
+
+2011-08-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui.h: hid/gtk: Add API to convert pcb units into
+	drawing widget coordinates.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c: misc.c: Remove comment missed from commit e82ad9b
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: macro.h: Remove now unused SCREEN_SIGN_{X,Y} macros
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui-netlist-window.c, src/hid/gtk/gui.h: hid/gtk:
+	Implement an API to draw the user into a particular location This is renderer-specific, but the general idea is to help the user
+	find a particular location on the board.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c, src/select.c, src/select.h: Move
+	the SelectPin() function into the file of its only caller.  The new function is in hid/gtk/gui-netlist-window.c, and is called
+	toggle_pin_selected ().  Whilst we're at it, simplify the function, removing its always-
+	constant argument and condense the redrawing calls.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Remove unused parser token F_Scroll
+	("Scroll")
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/action.h: action.c: Remove unused action
+	"MovePointer"
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-misc.c: hid/gtk: Remove dead "MovePointer"
+	keyboard navigation code.  This was not working correctly anyway, as the action was not
+	properly registered. Obviously no-one missed it, so let it die.  Whilst we are here, kill off the hard-coded panning actions in this
+	sub-main loop. Eventually, we should use common code for any
+	keyboard navigation.  This only affects operation of the ghid_get_user_xy() function, e.g.
+	the one which temporarily greys out the PCB user interface whilst
+	waiting for the user to supply a location.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Simplify ActionMovePointer() The save / restore of the crosshair coordinates is unnecessary since
+	we are emitting the appropriate change notifications.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Remove dead code, IgnoreMotionEvents
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/find.c, src/hid/gtk/gui-drc-window.c,
+	src/misc.c, src/misc.h, src/select.c: misc.c: Remove unused "delta"
+	argument from CenterDisplay() All the callers are passing absolute locations.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* po/POTFILES.in, src/Makefile.am, src/gpcb-menu.res,
+	src/gpcb-menu.res.in, src/pcb-menu.res, src/pcb-menu.res.in: 
+	Generate pcb-menu.res and gpcb-menu.res from ".in" files No functional changes here, just a preliminary cleaning before
+	adding the topological autorouter to the menus. Doing so requies
+	conditional inclusion of certain lines, as the toporouter is not
+	always built.   Based on a patch by Stanislav Brabec * sbrabec AT suse dot cz * Affects-bug: lp-812429
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/pcb-menu.res: pcb-menu.res: Fixup some more whitespace
+
+2011-07-18   Stanislav Brabec * sbrabec AT suse dot cz *
+
+	* src/action.c: RipUp(): Rip arcs created by toporouter.  Toporouter creates not only lines but also arcs.  Rip up all auto
+	routed tracks should rip these arcs as well.  Closes-bug: lp-812380  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* po/POTFILES.in: POTFILES.in: Add src/crosshair.c and
+	src/autoroute.c We were missing translations before.  "make distcheck" now passes ;)
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* doc/Makefile.am: doc: Don't make any DVI targets We don't have rules to build all the prerequisites, and we don't
+	care about DVI. This is one of the issues causing "make distcheck"
+	to fail.
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* doc/Makefile.am, doc/gs/Makefile.am: doc: Remove execute
+	permissions on Makefile.am and gs/Makefile.am
+
+2011-08-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/gpcb-menu.res, src/pcb-menu.res: Clean up whitespace in
+	[g]pcb-menu.res
+
+2011-08-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Fix layer check for off-grid line
+	snapping in line-draw mode
+
+2011-08-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Revise heuristic for snapping on
+	off-grid lines Only snap to an off-grid section of a line when: Drawing lines on the same layer as the one being snapped to When
+	manipulating the end-point of a _different) line on the same layer
+	as the one being snapped to.  This should hopefully reduce the tendancy of the off-grid-line code
+	to cause lots of unnecessary snapping.
+
+2011-08-01   Gabriel Paubert * paubert AT iram dot es *
+
+	* src/hid/lesstif/main.c: Correct parameter order in Distance
+	function in hid/lesstif/main.c in src/did/lesstif/main.c, the Distance function is called with the
+	parameters in the wrong order.  This small patches fixes the problem. I still think that the format
+	is wrong, or at least the rounding to integer mm/mil taking only the
+	grid into account, but I've not yet decided on how to fix it. The
+	worse is that often the display is wrong because the decimal part is
+	truncated (displaying say -24 between two grid points on a 5mil
+	grid).          Gabriel
+
+2011-07-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/png/png.c: hid/png: Increase the maximum allowable DPI of
+	the exporter Sometimes for rendering fiddly boards, you just need the detail.  Move the arbitrary 1000 dpi limit to still arbitrary, 10000 dpi.
+
+2011-07-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/ps/ps.c: hid/ps: Fix arc drawing since pcb_printf patch The last parameter to the arc macro we use for drawing arcs is
+	unitless, so should be a double. This was broken by: commit fa9ae1f6b1eabaab961795ce7be53afe46eaa735     Convert ps/eps/lpr HID's to use pcb-printf I've reverted the change, and added an extra (double) cast compared
+	to what was there before, I'm not sure we wouldn't get an integer
+	division without it. One day I should learn these type promotion /
+	casting rules properly! ;)
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Add a
+	shutdown function to the renderer backends This will be necessary to stop any event handlers / timers which
+	should not fire as the GUI is being shut down.  This code isn't actually very "live" at the moment, as the place
+	I've hooked up its trigger (the destroy event of the main window),
+	doesn't actually appear to get called.  This seems to be because the core "Quit" action just kills the
+	program dead, rather than attempting to shut down the GUI.
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c: hid/gtk: Do not run a main loop
+	from within the netlist window code.  It turns out that this is a really bad idea.. if the main loop is
+	kept busy, the new main-loop never exits and the events can become
+	reentrant.  I discovered this when testing code for an animation which used the
+	main event loop for its timing. Each time a node was selected in the
+	netlist window, stack-frame would grow - as the new nested main
+	loops never became idle. Segfaults ensued quite readily, presumably
+	due to the code not being designed to be reentrant.  It appears from reading the code, that these:   while (gtk_events_pending ())        /* Make sure everything gets
+	    built */ gtk_main_iteration (); Are not actually necessary.
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c: hid/gtk: Skip check before
+	calling ghid_netlist_window_create If the window already exists, ghid_netlist_window_create() is a
+	NOOP, so there is no point in checking twice.
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c, src/hid/gtk/gui.h: hid/gtk:
+	Remove unused function ghid_netlist_nodes_update ()
+
+2011-07-25   DJ Delorie * dj AT delorie dot com *
+
+	* src/default_font: Tweak default font.  Minor changes to various glyphs to improve readability and
+	legibility, such as making V look less like U, or 8 less like 0.  No
+	changes to font metrics, bounding boxes, or spacing.
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Fix up paning when flipping
+	the board.  I'm not sure when this got broken, but it was probably my fault ;)
+
+2011-07-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : commit f9ad6634a55f7f79106945e3307aafe0d39eae61  Author: Andrew
+	Poelstra * asp11 AT sfu dot ca * Date:   Mon Jul 25 00:33:23 2011
+	-0700
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : hid/gtk: Refactor viewport handling
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Fixup Zoom() and zoom_by() so
+	they don't ignore passed coordinates.  The Zoom() action was passing bogus coordinates (in pixels), and
+	zoom_by() was ignoring the passed coordinates and just using the
+	mouse pointer location last recorded in gport->pcb_x and
+	gport->pcb_y.  Fix zoom_by() to use the passed coordinates, fix Zoom() to not
+	mangle the passed board coordinates into screen space.. zoom_by()
+	wants board coords.  Finally, remove a special case from the Zoom() action where if the
+	passed coordinates were both zero, we would pass the PCB coordinates
+	of the board center. I'm hopeful that things will "just work"
+	without this.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Introduce a zoom_fit() function, remove
+	duplicated code.  Several places in the code invoke a "zoom_fit" type function by
+	calling zoom_to() or ghid_port_ranges_zoom() with bogus parameters.  Implement a specific function which restricts this to one location,
+	then remove the now redundant ghid_port_ranges_zoom(), which
+	basically just duplicated the code from zoom_by() with an added
+	check for a 0.0 zoom factor to trigger the zoom-to-fit feature.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Add missing static parameter
+	to zoom_by() function.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Some cleanups to the zoom_to()
+	function Still confusing, but at least its not the fault of the code
+	formatting now.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Remove old debugging code from
+	zoom_to and zoom_by() functions This code was adding to clutter in the functions, and appears in
+	some cases to be bit-rotten. (The coordinates it operated on don't
+	appear to be have been consistent with the current GUI code).
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui.h: hid/gtk:
+	Abstract away event coordinate conversion to PCB base units
+
+2010-12-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Refactor semantics of, and rename
+	view_x, view_y coordinates Rather than storing pointer coordinates in the imaginary "view"
+	system, where the coordinates (in PCB base units) represent that of
+	an unflipped board, store them such that they are directly
+	meaningful on the board.  As they now directly represent the cursor coordinats on the actual
+	board, they don't require passing through the SIDE_{X,Y} macros
+	before use with APIs that expect board coordinates.  To avoid confusion, view_x and view_y have been renamed to pcb_x and
+	pcb_y to reflect the change of semantics.  In a number of cases, SIDE_{X,Y} macro calls were added to preserve
+	correct functionality of old code which manipulates the mouse
+	position in "view" coordinates. These are primarily concerned with
+	zooming and panning.  Also rename the confusingly titled VIEW_{X,Y} macros to
+	EVENT_TO_PCB_{X,Y}
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Rename {x,y}_crosshair to
+	crosshair_{x,y} (Just because!)
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: gtk+gl: Convert crosshair drawing to use
+	PCB world coordinates Whilst I'm at it, add a z-coordinate to the crosshair drawing
+	functions to future proof them for when we add some 3D effects.
+
+2011-07-08   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c, src/global.h, src/pcb-printf.c: Introduce Coord/Angle
+	types, convert global.h and pcb-printf to use it For now Grid (in PCB and Settings) and its increments are still
+	doubles to avoid serious breakage. Will change these to Coords in a
+	separate commit.  Also add %ma spec for Angle, tell file.c to use it, to prevent
+	printf problems with Angle when changing ctypes.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* gts/boolean.c, gts/cdt.c, gts/edge.c, gts/partition.c,
+	gts/split.c: gts: Fixup warnings due to assigned but unused
+	variables As I'm not 100% familiar with this code, I have commented out some
+	of the redundant code rather than deleting it completely.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c: hid/common/hidgl.c: Cast the function
+	pointers passed to gluTessCallback() Silences compiler warnings about incompatible pointer types
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/line.c: line.c: Fix a bogus compiler warning regarding a (X +
+	c) >= X being always true.  line.c: In function â??EnforceLineDRCâ??: line.c:491:7: warning:
+	assuming signed overflow does not occur when assuming that (X + c)
+	>= X is always true [-Wstrict-overflow] It would appear that gcc (4.6.1-5ubuntu1) is identifying the
+	conditional portions of INDEXOFCURRENT which would always evaluate a
+	particular way if a given condition is met. It is "probably" safe to
+	assume that this warning manifests due to gcc considering each
+	portion of the INDEXOFCURRENT definition in turn.  It appears we can avoid this particular warning by temporarily
+	assigning INDEXOFCURRENT into a variable before we test with it.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/toporouter.c: toporouter.c: Fixup warnings due to assigned but
+	unused variables As I'm not 100% familiar with this code, I have commented out some
+	of the redundant code rather than deleting it completely.
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/undo.c: undo.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/rtree.c: rtree.c: Fixup warnings due to assigned but unused
+	variables Adds a nasty cludge using #ifndef NDEBUG around a variable
+	assignment which is only used in a later assert() statement. (NB:
+	assert() evaluates to nothing if NDEBUG is defined).
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/print.c: print.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/puller.c: puller.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon1.c: polygon1.c: Fixup warnings due to assigned but
+	unused variables Adds a nasty cludge using #ifndef NDEBUG around a variable
+	assignment which is only used in a later assert() statement. (NB:
+	assert() evaluates to nothing if NDEBUG is defined).
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/fontmode.c: fontmode.c: Fixup warnings due to assigned but
+	unused variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/find.c: find.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/djopt.c: djopt.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/copy.c: copy.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Fixup warnings due to assigned but
+	unused variables Adds a nasty cludge using #ifndef NDEBUG around a variable
+	assignment which is only used in a later assert() statement. (NB:
+	assert() evaluates to nothing if NDEBUG is defined).
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Fixup warnings due to assigned but unused
+	variables
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gcode/trace.c: hid/gcode: Fixup warnings due to assigned
+	but unused variables
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/bom/bom.c: hid/bom: Fixup warnings due to assigned but
+	unused variables
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-library-window.c,
+	src/hid/gtk/gui-top-window.c: hid/gtk: Fixup warnings due to
+	assigned but unused variables
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Snap to points along off-grid lines
+	when drawing tracks This should greatly easy making tidy layouts where some lines have
+	(perhaps by necessity) ended up off-grid.  This patch adds code to snap onto the center of a line. It finds the
+	nearest grid point to the cursor, then will allow snapping at the
+	intersections between the line in question and the lines of an
+	imaginary X and + centered on the nearest grid-point to the cursor.  This allows neat drawing of horizontal, vertical and 45 degree lines
+	which will land correctly on the existing line.
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Rename some variables for clarity
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Always allow snapping to the element
+	mark (except in rat-draw mode)
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Don't snap to an element's mark in
+	rat-draw mode.
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Drop checks to ensure the crosshair
+	is inside the PCB It would seem that the MIN, MAX functions applied when setting
+	Crosshair.X and Crosshair.Y should already constrain the coordinates
+	such that the removed code was never triggered.  It isn't obvious that these removed checks are even correct, or are
+	being triggered. Drop the checks in the hope that the now simplified
+	code continues to "just work" without the special casing.
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/parse_y.y: parse_y.y: Remove unused GRIDFIT macro
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: Try snapping to element marks first, as they are
+	only a weak snap.  Because the element mark is never chosen in preference to a closer
+	grid point, we should try snapping to it first - rather than last.  Currently, we might have a crosshair location where (say), a pad is
+	snapped to in preference to the nearest grid-point, then the element
+	mark is tested and snapped to because it is closer than the pad.
+	This can occur even when there is a closer grid point than the
+	element mark, since the grid snap (nearest_is_grid == true) has
+	already been discarded by the snap to the pad.
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: Refactor crosshair snap code to reduce
+	duplication and improve readability
+
+2011-07-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/search.c: Allow editing of ordinary text objects when element
+	names are hidden Closes-bug: lp-810678
+
+2011-07-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-netlist-window.c: Fix crash in netlist window
+	caused by heirarchical netlists See http://archives.seul.org/geda/user/Jul-2011/msg00133.html
+
+2011-07-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: Remove special grid-change handling
+	from Gtk
+
+2011-07-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/lesstif/dialogs.c, src/hid/lesstif/main.c,
+	src/hid/lesstif/menu.c: Convert lesstif hid to use pcb-printf Should be no user-visible changes, except this bug: Closes-bug:
+	lp-805273
+
+2011-07-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c: Add support for + and .* subspecifiers in
+	pcb-printf
+
+2011-07-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/lesstif/main.c: Clean up coords_to_widget() in
+	lesstif/main.c The coords_to_widget() function is used in exactly two places, for
+	different purposes. To differentiate between the two uses, the
+	``state'' parameter is set to -1.  The parameter is confusing enough without overloading it in this
+	way.  Therefore I have split the function into two:   mark_delta_to_widget   cursor_pos_to_widget Further, I have converted the code inside the functions to use
+	g_printf_strdup instead of a fixed buffer. The functions should both
+	be easier to read now than the original.  There is one small change to user-visible output, which I think is
+	justified: if you have a very small metric grid (<= 5um), the
+	mark_delta output now uses .3f for both cartesian  and radial
+	display. Before it would use .3f for cartesian, .2f for radial.
+
+2011-07-01   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-dialog-size.c,
+	src/hid/gtk/gui-misc.c, src/hid/gtk/gui-top-window.c: Convert gtk
+	gui to use pcb-printf There should be no user-visible changes.  Note that as long as base units are cmils, the .9999 bug in the
+	cursor status is back. This is not a problem with smaller base units
+	(I am using 17nm and all is okay.) Note also that the report dialogs are entirely based on report.c, so
+	that is not part of this commit.
+
+2011-06-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/ps/eps.c, src/hid/ps/ps.c: Convert ps/eps/lpr HID's to use
+	pcb-printf The postscript HID now uses pcb-printf to output all units as inches
+	rather than cmils; therefore the default scale is now 1:1 rather
+	than 1:10000.  Therefore there will be a change in raw ps output but
+	not in printed output.  As inches are output with 5 digits after the decimal point, there
+	will be no loss in precision, though in future this will be easy to
+	increase.  Also, minor code cleanups in ps.c to reduce global state and make
+	global variables more visible.
+
+2011-06-28   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c: Make pcb_fprintf ignore NULL file handle There is a lot of code in the HID's that looks like   if (f != NULL)     fprintf (f, "..."); I have moved the NULL check inside pcb-printf to remove this
+	repetition/potential mistake.
+
+2011-06-26   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c: Make sure scale/direction are not output as measures
+	in file.c
+
+2011-06-25   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/report.c: Fix typo in unplated hole output in report.c
+
+2011-06-22   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/toporouter.c: Convert toporouter trace code to use pcb-printf There is still a fair amount of trace code outputting measurements
+	that are floating-point values. I left these alone since they will
+	work independently of the actual type of BDimension.  Everything should still be output in base units.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/polygon.c, src/polygon1.c: Convert polygon and polygon1.c
+	debug code to use pcb-printf
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/puller.c: Convert puller.c trace code to use pcb-printf Minor changes to trace output (addition of parens, mainly). Should
+	be no user-visible output. No longer assumes BDimension == int.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/djopt.c: Convert djopt.c to use pcb-printf No change in user-visible output.  Debug output is slightly changed since pcb-printf likes to put
+	parens around tuples, so "%d,%d" is now effectively "(%d, %d)".
+	Debug output is all base units, so the numbers will not change until
+	the base unit size is changed.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/autoroute.c: Convert autoroute.c debug code to use pcb-printf Should be no change in output. Only change is that we no longer
+	assume BDimension == int.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/action.c: Change action.c *WARN* lines to use pcb-printf Now instead of outputting unsuffixed cmils, warnings about
+	locked/unnamed elements will refer to the part's position in either
+	mm or mil, with an appropriate suffix.  Non-warning-related output is unchanged.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.c: Convert file.c to use pcb-printf for cmil output file.c now uses pcb-printf, though in a limited way: everything is
+	still output in unsuffixed cmils, though this is now independent of
+	pcb's internal unit size.  I have also removed the old-style output for symbols.  Aside from that, everything should be the same. Any other change in
+	output, or file format incompatibility of any kind, is a bug.
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c, src/pcb-printf.h: Add # subspecifier to
+	pcb-printf to prevent scaling for debug output
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/puller.c: Convert puller.c to use Distance() intead of its own
+	function
+
+2011-06-21   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c, src/pcb-printf.h: Add pcb_printf to pcb_*printf
+	family of functions
+
+2011-06-19   Krzysztof KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+	* doc/Makefile.am: doc: do not distribute dvi files DVI files cannot be generated without LaTeX, and since commit
+	3afdb7efdaf6cc8094cc6143269e7df519183197 only pdfLaTeX is supported.
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/lesstif/menu.c: Allow 1...9 and Ctrl+1...9 accellerators
+	for silk/rats in lesstif
+
+2011-06-19   Levente Kovacs * leventelist AT gmail dot com *
+
+	* src/find.c, src/global.h: gEDA-user: skpi_drc patch On Fri, 17 Jun 2011 17:30:22 -0400  DJ Delorie * dj AT delorie dot
+	com * wrote: > You want the (already global) AttributeGet() function.  > >
+	l->no_drc = AttributeGet (l, "PCB::skip-drc") != NULL; > > This does
+	assume that the attribute has *some* value, even if the > value is
+	the empty string.  Thanks for pointing this out.  Attached is the new patch.  Levente -- Levente Kovacs http://levente.logonex.eu
+
+2011-06-20   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Lesstif: ignore crosshair changes before
+	window exists.
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gui-top-window.c: Allow 1..9 accelerator keys to be
+	applied to non-copper layers in gtk Closes-bug lp-699327
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/report.c: Change report.c to use pcb-printf Right now there should be no change in the output from report.c;
+	this is essentially just a code cleanup. The prec/UNIT nastiness is
+	cleaned up -- precision is handled by the defaults in pcb-printf (.2
+	for mil, .4 for mm, same as before) and unit selection is done with
+	the %m+ specifier.  It's easy now to expand to allow auto-scaling or even automatic
+	selection of metric/imperial based on sig.  figs., but I've played
+	around with this and it looks like mixing units is confusing and
+	hard-to-read, so we're sticking with just one of mm/mil for now.
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c, src/pcb-printf.h: Add %m+ specifier to
+	pcb-printf As long as our base units are cmils, allowing pcb-printf to guess
+	the most natural units for displaying measures is a bad idea -- it
+	cannot reliably count significant figures for many values. The
+	result, for example, in report.c, is inconsistent and confusing
+	dialogs with a mix of metric and imperial measurements.  The %m+ specifier is used to force pcb-printf to only use certain
+	units; in this case, the user's gui setting of metric/imperial.
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/misc.c, src/misc.h: Add Distance() function to avoid overflow
+	with sqrt(x*x + y*y)
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/move.c: Fix typo (Polygon++ ==> PolygonN++) in src/move.c Closes-bug: lp-796059
+
+2011-06-19   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: Set file pointer to NULL after closing in
+	gerber.c Closes-bug: lp-795734 When cleaning up the gerber HID, I had changed the file pointer used
+	in maybe_close_f from a global to a (local) argument -- which made
+	the line ``f = NULL'' effectively a no-op.  However, the global variable f does need to be set to NULL for the
+	code to recognize that the file is closed; otherwise it tries to
+	keep using the (now invalid) file handle, causing crashes whenever
+	the gerber HID is used more than once.  This is now done after every call to maybe_close_f(), rather than
+	depending on the function itself to have side effects.
+
+2011-06-17   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/png/png.c: Check for empty layers in photo mode Now that the default stackup is for six layer boards, the PNG photo
+	mode output needs to check to see if the user has used the inner
+	layers, and automatically adapt - so that a two layer board *looks*
+	like a two-layer board.
+
+2011-06-17   Gabriel Paubert * paubert AT iram dot es *
+
+	* src/hid/gerber/gerber.c,
+	tests/golden/hid_gerber3/arcs.plated-drill.cnc: Fix printf specifier
+	for gerber drill output
+
+2011-06-16   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* configure.ac, tests/golden/Makefile.am,
+	tests/golden/hid_gerber3/Makefile.am,
+	tests/golden/hid_gerber3/arcs.bottom.gbr,
+	tests/golden/hid_gerber3/arcs.fab.gbr,
+	tests/golden/hid_gerber3/arcs.group1.gbr,
+	tests/golden/hid_gerber3/arcs.group4.gbr,
+	tests/golden/hid_gerber3/arcs.plated-drill.cnc,
+	tests/golden/hid_gerber3/arcs.top.gbr, tests/inputs/Makefile.am,
+	tests/inputs/gerber_arcs.pcb, tests/tests.list: Add hid_gerber3 test
+	to check arc rendering
+
+2011-06-16   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: Re-insert casts to unit conversion macros
+	in gerber.c
+
+2011-06-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: Convert gerber hid to use pcb-printf
+
+2011-06-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gcode/gcode.c: Convert gcode hid to use pcb-printf
+
+2011-06-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/bom/bom.c: Convert BOM hid to use pcb-printf
+
+2011-06-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/pcb-printf.c, src/pcb-printf.h: Correct handling of %.*f in
+	pcb-printf, remove from known issues
+
+2011-06-12   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/batch/batch.c: Convert batch HID to use pcb-printf
+
+2011-06-11   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/Makefile.am, src/pcb-printf.c, src/pcb-printf.h: Add
+	pcb-printf.c to allow custom specifiers for unit output From the header: /* This file defines a wrapper around sprintf, that  *  defines new specifiers that take pcb BDimension  *  objects as input.   *  * The new specifiers are:  *   %mm    output a measure in mm  *   %mM    output a measure in scaled (mm/um) metric  *   %ml    output a measure in mil  *   %mL    output a measure in scaled (mil/in) imperial  *   %ms    output a measure in most natural mm/mil units  *   %mS    output a measure in most natural scaled units  *   %md    output a pair of measures in most natural mm/mil units  *   %mD    output a pair of measures in most natural scaled units  *   %m3    output 3 measures in most natural scaled units  *     ...   *   %m9    output 9 measures in most natural scaled units  *   %m*    output a measure with unit given as an additional  *          const char* parameter  *   %mr    output a measure in a unit readable by parse_l.l  *          (this will always append a unit suffix)  *  * These accept the usual printf modifiers for %f,  *  as well as the additional modifier $ which is  *  used to output a unit suffix after the measure.   *  * KNOWN ISSUES:  *   No support for %zu size_t printf spec  *   No support for .* subspecifier for pcb specs  */
+
+2011-06-09   DJ Delorie * dj AT delorie dot com *
+
+	* globalconst.h, src/buffer.c, src/global.h, src/parse_y.y: Fix
+	shift/reduce conflicts Closes-bug: lp-794743 I moved the interpretation of what "measurement" means even further
+	up the heirarchy, by storing the original integer part as well as
+	the units in a structure, and applying the new/old/unitless meanings
+	where they're used.  This way, there's no conflicts between a number
+	which is a measurement, and a number which is a flag or mask, for
+	the old formats that differ only in the number of parameters.  I also cleaned up the parser rules for "zero or more" type lists, to
+	remove most of the remaining conflicts.  There's still one at the
+	toplevel because we try to parse different types of files with the
+	same parser.  Lastly, the symbol rules were combined into a "symbol head" rule
+	with a common "symbol body" rule.  As a side effect, we can now reliably use units on old-style formats
+	again, since the *100 scale factor is only applied if the units are
+	not specified.
+
+2011-06-06   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/autoroute.c, src/macro.h: Remove memory allocation from
+	src/macro.h When we started using GLists for various objects, we also changed
+	the looping macros to allocate copies of the list in order to avoid
+	problems with list integrity in case items were removed during the
+	iteration.  However, this caused memory leaks whenever there was an early return
+	from the middle of the list. Bug lp-792139 shows pcb using over 2Gb
+	of memory and crashing when optimizing rats on a large board.  This patch saves the next pointer before the loop body, rather than
+	allocating a whole new list, to handle element deletions.  Closes-bug: lp-792139
+
+2011-06-01   Krzysztof KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+	* configure.ac, doc/Makefile.am, doc/gs/Makefile.inc: doc: use
+	pdflatex instead of latex
+
+2011-06-01   Krzysztof KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+	* doc/Makefile.am, doc/gs/Makefile.inc: doc: skip generation of GIF
+	images
+
+2011-06-04   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/file.h, src/parse_l.l, src/parse_y.y: Add support for reading
+	unit suffixes in parser Bumped PCB_FILE_VERSION up to 20110703.  Removed old unit-reading code from parse_l.l since it was missing
+	several units that we plan to support, and the scaling was backward
+	for non-base units.  Also, we now read all numbers as doubles, except those that need
+	integers (array indices and flags, mainly).  All measurements are
+	round()ed to ints, after scaling, since that's what BDimension is
+	and we don't want anomalies.  The old NUMBER and FLOAT terminals in parse_y have been replaced by:   1. INTEGER   - an integer, unscaled   2. number    - floating or integer, unscaled   3. measure   - a (possibly suffixed) measurement, with                  non-suffixed measurements read in cmils   4. oldmeasue - non-suffixed measurement, read in mils One exception is the PolyArea[] field. This is still read in cmil^2
+	until we figure out what to do with it.  This way the parser works independently of PCB's internal base
+	units, and supports umil, cmil, mil, in, nm, um, mm, m and km unit
+	suffixes. The parsing code should also be clearer now since not
+	everything is NUMBER, with scale factors handled after-the-fact with
+	/100's or in the lexer.  Additionally, we now allow floating-point values for all
+	measurements (even old-style mil fields), and pcb will allow spaces
+	between measurements and their suffixes.  Actually using these
+	``features'' will probably break tools that read .pcb files, though.
+
+2011-05-27   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi:  Replace @extend with @noindent in docu-source  If the @extend keyword is used to remove an intentation, the text
+	will have a  linebreak, where the source has one. If @noindent is
+	used instead, the lines will be breaked as in normal paragraphs.
+
+2011-05-25   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Fix docu for 'ImportGUI()'
+
+2011-05-27   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Docu: Remove incomplete irritating sentence
+
+2011-05-31   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Remove repeated word in documentation
+
+2011-05-17   Alberto Maccioni * alberto dot maccioni AT gmail dot com *
+
+	* doc/Makefile.am, doc/gcode.pcb, doc/gcode_control_img.eps,
+	doc/gcode_tool_path.eps, doc/pcb.texi: Add documentation for G-Code
+	export GUI This patch contains the documentation changes from lp:699476.  It
+	adds a new manual section on exporters and documents the gcode
+	exporter.  Sample pcb file is added with control image and the
+	resulting toolpath.   Reviewed-by: Felix Ruoff * Felix AT posaunenmission dot de *
+	 Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT
+	 gmail dot com * Closes-bug: lp-699476
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev:
+	gerber-cleanup-0006-Change-a-couple-more-0-s-to-NULL-s.patch
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* globalconst.h, src/hid/gerber/gerber.c: gEDA-dev:
+
+	gerber-cleanup-0005-Remove-old-now-unused-aperture-structures-functions.patch
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev:
+
+	gerber-cleanup-0004-Use-new-aperture-functions-output-100-equal-to-origi.patch
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev:
+
+	gerber-cleanup-0003-Add-new-aperture-functions-but-don-t-use-them.patch
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev:
+
+	gerber-cleanup-0002-Remove-global-variable-dependence-from-maybe_close-a.patch
+
+2011-05-24   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev:
+	gerber-cleanup-0001-Remove-unused-Aperture-structure.patch
+
+2011-05-25   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Fix tooltips Closes-bug: lp-786733
+
+2011-05-25   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi, src/global.h: gEDA-user: PCB: option dumpmenu
+	missing A patch to remove this from documentation (and one variable from the
+	source) is appended.  Kind regards, Felix Am 25.05.2011 19:11, schrieb DJ Delorie: > I think that option is a
+	leftover from my initial HID conversion.  > > It would have been
+	lesstif-specific anyway, the gtk hid has its own > menu file
+	(gpcb-menu.res, same locations) > > >
+	_______________________________________________ > geda-user mailing
+	list  > geda-user AT moria dot seul dot org >
+	http://www.seul.org/cgi-bin/mailman/listinfo/geda-user > >From 94458c63ae97135964c41f4966b9cdf65ee4ec27 Mon Sep 17 00:00:00
+	2001  From: Felix Ruoff * Felix AT posaunenmission dot de * Date:
+	Wed, 25 May 2011 14:36:34 +0200 Subject: [PATCH 50/50] Remove
+	commandline-option 'dumpmenu' from docu and source
+
+2011-05-23   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gerber/gerber.c: gEDA-dev: Gerber hid code cleanup New patch is as follows (sizeof and casts fixed):
+
+2010-03-18   Newell Jensen * pillar2012 AT gmail dot com *
+
+	* src/hid/png/png.c: hid/png: draw zero-length arcs properly on
+	export Closes-bug: lp-699314  Reviewed-by: Patrick Bernaud * patrickb AT
+	chez dot com *  Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k dot
+	kosciuszkiewicz AT gmail dot com *
+
+2008-01-04   Wojciech Kazubski * wk0 AT o2 dot pl *
+
+	* lib/geda.inc, lib/misc.inc: add more crystal footprints to m4
+	library Currently m4 symbols contain one footprint for crystal holder
+	(HC49), wich is not accurate, pin spacing is a bit too big and the
+	outline is too small.  This patch adds several m4 crystal holder footprints of different
+	size, 2 or 3 pin, both standing and laying.  Closes-bug: lp-699440  Reviewed-by: Bert Timmerman * bert dot
+	timmerman AT xs4all dot nl *  Reviewed-by: Krzysztof
+	KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+2011-01-02   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-dialog.c: hid/gtk: use
+	GTK dialog for confirming file-overwrite Since GTK 2.8 GTK provides an dialog for confirming
+	file-overwriting.  This dialog will be introduced by this patch.
+	Needless code which was used for this will be removed.  Closes-bug: lp-699508  Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k
+	dot kosciuszkiewicz AT gmail dot com *
+
+2011-01-09   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/refcard.tex: Fix refcard (missing footnote and add rotate
+	buffer) The shortcut 'shift-F7' for rotating paste buffer by 90 degree is
+	added as suggested in bug LP-699391 (formerly sf-1112590).  Fix footnote used in the tabular environment.  Closes-bug: lp-699391  Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k
+	dot kosciuszkiewicz AT gmail dot com *
+
+2011-05-17   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Fix doku for invisibleObjectsColor (color) Closes-bug: lp-699306
+
+2011-04-24   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/gpcb-menu.res: Fix warning for gtk describing menuitems With GTK+ there are no 'describing menuitems' avaiable (the
+	out-grayed items in lesstif-GUI). For this reason, the items in
+	gpcb-menu.res are ignored and a warning is displayed at the
+	message-log.  This patch fixes this by removing these describing menuitems for the
+	gtk-GUI and renamed the described items to a more explaining label.
+	It also added mnemonics for these menu-items.  Closes-bug: lp-769815
+
+2010-12-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Cleanup conditional code
+	because GTK 2.12 is required now Closes-bug: lp-699510
+
+2011-05-20   Colin D Bennett * colin AT gibibit dot com *
+
+	* src/draw.c: Fix typo exporting plated vs unplated drills.  Closes-bug: lp-785463
+
+2011-05-20   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/png/png.c: Don't register the PNG hid if there are no file
+	formats to use.  In some cases, the GD library may not have any usable image formats
+	for us to use, resulting in an empty filetypes[] table.  Rather than
+	trying to accomodate an empty table during export, it's easier (and
+	perhaps better) to simply not register the PNG hid in that case.
+	Thus, the exporter is simply not available when the table is empty.
+
+2011-03-23   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/file.c: Ignore *.pcb files on generating library Closes-bug: lp-699261
+
+2011-05-20   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/common/flags.c, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/hidint.h, src/hid/nelma/nelma.c,
+	src/hid/ps/ps.c: Add option to specify gerber output file style.   --name-style <fixed|single|first|eagle>                         Naming style for individual gerber files Default is "fixed" which uses a fixed name (foo.top.gbr) for each
+	layer.  "single" uses the layer's name if there's exactly one layer
+	in that group, else the fixed name.  "first" always uses the layer
+	name, choosing the first layer in each group for the name.  "eagle"
+	mode adds a three-character suffix instead of a separate type and
+	extension.  Affects-bug: lp-700877
+
+2011-05-19   DJ Delorie * dj AT delorie dot com *
+
+	* src/move.c: Avoid top/bottom issues with layer deletion.  PCB does not currently support boards without a top or bottom, so
+	prevent the user from deleting them (they'd need to reassign the
+	top/bottom groups first).
+
+2011-05-19   DJ Delorie * dj AT delorie dot com *
+
+	* src/draw.c: Fix Mark size math wrt unplated holes.  When computing the Mark size, check for the first pin being a hole
+	and use the drill size rather than the copper size.
+
+2011-05-19   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/buffer.c: buffer.c: Update polygon r-tree when adding a
+	polygon to the buffer.  This resulted in a crash when rotating a buffer containing a
+	polygon, as the polygon r-tree associated with the buffer was NULL
+	despite the polygon count being non-zero.   Reported-by: Gabriel Paubert * paubert AT iram dot es *
+
+2011-05-18   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/move.c: move.c: Adjust the object counters when moving objects
+	between layers This fixes a crash introduced by commit
+	2ce35292b9e96da38cb56878005aba20891689eb, "Convert board objects to
+	GLists of g_slice allocated memory" It doesn't fix entirity of the defect reported in that bug, but it
+	restores the prior behaviour where PCB would hang, not segfault.   Reported-by: Colin Bennett * colin AT gibibit dot com * Affects-bug: lp-783640
+
+2011-05-17   Gabriel Paubert * paubert AT iram dot es *
+
+	* src/hid/gtk/gui-output-events.c, src/hid/lesstif/menu.c: Lesstif +
+	GTK HIDs: Ignore ISO Level3 shift modifier key This key press is found on some international keyboards (e.g.
+	Spanish).  If we don't ignore it, PCB complains about the key not
+	being tied to an action when it is pressed.   From the committer, Peter Clifton * pcjc2 AT cam dot ac dot uk *
+	...  Thanks to Gabriel for reporting this and providing the patch
+	for Lesstif. I have updated the patch to make the equivalent change
+	to the GTK HID as well.   Signed-off-By: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+2011-05-17   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/buffer.c: buffer.c: Fix crash in SmashBufferElement The element is allocated with g_slice_new, so must be free'd with
+	g_slice_free.  Broken since commit 2ce35292b9e96da38cb56878005aba20891689eb:     Convert board objects to GLists of g_slice allocated memory
+
+2011-05-16   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/rtree.c, src/rtree.h: rtree.c: Remove unused r_substitute()
+	function This function was used to update r-trees when they contained objects
+	changed memory location. Since we no longer shuffle objects around
+	when we delete them, this function is no longer required.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Draw pretty translucent polygons
+	in thindraw-poly mode Eventually we need some way to configure this.. it might be nice in
+	non-thindraw mode too. If people want thin-draw to gain extra speed,
+	rather than have it actually slower (due to fill + outline), then a
+	way to turn it off would also be useful.
+
+2011-05-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Add facility to set an alpha
+	multiplier for the current rendering
+
+2011-05-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Refactor alpha handling Replace "alpha_mult" in set_gl_color_for_gc () with just explicitly
+	calling this the "a" (alpha) value of the colour in question.
+
+2011-05-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Refactor GL colour setup handling
+
+2011-05-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c: hid/gtk: Remove
+	unused gc->erase parameter from GDK and GL renderers
+
+2011-05-14   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui.h: hid/gtk: Setup custom
+	polygon renderer for the GL HID only
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: gtk/gl: Don't set "magenta" for a NULL
+	color passed to ghid_set_color The code has a strdup (name), followed by a test for name == NULL.
+	If name _were_ ever NULL, the strdup would crash, so we can remove
+	this test.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c: hid/common/hidgl.c: Use tags on circular
+	contours to render them faster This lets us avoid the polygon tesselator for circular contours, and
+	lets us render a different number of vertices in our appoximation
+	depending upon zoom level.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c: hid/common/hidgl.c: Fix vertex array state
+	preservation Fixes a bug with crosshair attached objects not being visible when
+	the grid was rendered.   Reported-by: Colin D Bennett * colin AT gibibit dot com *
+	Closes-bug: lp-780958
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am, src/hid/batch/batch.c, src/hid/bom/bom.c,
+	src/hid/common/hidinit.c, src/hid/common/hidnogui.c,
+	src/hid/common/hidnogui.h, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/hidint.h, src/hid/lesstif/main.c, src/hid/lpr/lpr.c,
+	src/hid/nelma/nelma.c, src/hid/png/png.c, src/hid/ps/eps.c,
+	src/hid/ps/ps.c: Refactor application of the default hidnogui HID
+	handlers.  Replace usage of apply_default_hid() just prior to registering a HID
+	with an early call to the new common_nogui_init() function which
+	pre- applies the defaults, rather than post-replacing NULL handlers.  As this was the last user of the apply_default_hid() function,
+	remove it. Good riddance to yet another place which had to be
+	updated every time a new HID member was added.  The default nogui HID is now constructed explicitly by a call to
+	nogui_hid_get_hid (), which is called from hid_init(). This is
+	different to the other HIDs, as the nogui "hid" is never explicitly
+	registered.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c: hid/batch: #include
+	"hid/common/draw_helpers.h" which was missing Fixes a compiler warning about an implicitly declared function.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lpr/lpr.c, src/hid/ps/ps.c, src/hid/ps/ps.h: hid/ps:
+	Provide helper function to fill in HID members useful to other HIDs This avoids setting up the drawing routines of the lpr HID with
+	apply_default_hid, which is a little opaque.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidinit.c: hid/common: Remove unused function
+	hid_register_gui() GUIs are registered with the same API as exporter HIDs.
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am: src/Makefile.am: Use AM_CFLAGS instead of
+	overriding CFLAGS directly
+
+2011-05-13   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/lesstif/main.c: Apply the
+	default hidnogui HID to the GUIs as well.  This saves them having to re-implement NOOP implementations for
+	functions the "nogui" HID provides a non "CRASH;" implementation
+	for.
+
+2011-05-09   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/hid/batch/batch.c: fix batch gui
+
+2011-05-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/search.c: search.c: Don't allow selecting pads or pins of
+	locked elements The locked flag test was mistakenly being applied ot the pad or pin
+	its-self, not the parent element.
+
+2011-05-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Split out sub-compositing setup
+	into a separate function.
+
+2011-05-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Make the silk layer translucent
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: GTK/GL: Sub-composite objects on each
+	layer using the stencil buffer This avoids the highlight where translucent objects on a given layer
+	are drawn over each other. It enables us to have a translucent silk
+	screen layer and still be able to read the text.
+
+2011-05-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/hid.h, src/hid/common/hidnogui.c: Add end_layer()
+	function to HID API to mark the end of a layer's drawing This is going to be useful for the GTK/GL renderer to manage sub-
+	compositing translucent objects within each layer.
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gl.c: hid/gtk: Enable transparent lines in GL
+	renderer
+
+2011-05-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c, src/hid/common/hidgl.h,
+	src/hid/gtk/gtkhid-gl.c: Manage stencil bitplanes so we don't have
+	to clear them every time.  Clearing the stencil buffer is a slow operation (especially on cards
+	limited by fill rate (cough.. Intel.. cough), so the more clears we
+	can avoid, the better.
+
+2011-05-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c: hid/common/hidgl.c: Tidy up polygon
+	contour tessleation Move the gluTessBeginPolygon and gluTessEndPolygon calls inside
+	tesselate_contour, rather than duplicating it in each caller.  Also, fix up some comments which were out of date or inaccurate.
+
+2011-05-08   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid.h, src/hid/common/draw_helpers.c,
+	src/hid/common/hidnogui.c, src/hid/gerber/gerber.c,
+	src/hid/png/png.c: HID: Remove "dicer" flag from HID structure.  We don't pay any attention to this flag - always dicing the polygons
+	in our common_fill_pcb_polygon routine. HIDs which don't want diced
+	polygons implement their own hook for fill_pcb_polygon.
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidgl.c, src/hid/common/hidgl.h,
+	src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui.h: Add raw polygons
+	support for the GTK+GL HID, bypassing the no-holes dicer Uses the OpenGL stencil buffer to make drawing polygons with holes
+	faster.  1. Turn Stenciling on, updates to colour buffer off 2. Clear stencil buffer to 0 3. Paint polygon holes, setting those areas of the stencil buffer to
+	1 4. Switch on stencil test (== 0), turn on updates to colour buffer 5. Paint outer polygon through areas of the stencil buffer still 0 6. Clear stencil buffer, switch off stencilling.  Caveat: This function might throw up if it is used whilst drawing the mask,
+	since that uses stenciling as well. We don't use polygons on the
+	mask, so its not a a problem. (Mask cutouts for octagonal pins do
+	work correctly).
+
+2011-05-05   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Don't prematurely dismiss the progress
+	dialog.
+
+2011-05-05   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Improve lesstif progress dialog.  Closing the progress dialog cancels the operation.  Add a sliding
+	scale that shows progress.  Make the dialog modal so you can't edit
+	the pcb while autorouting.  Fix event loop to handle all pending
+	events and redraw.  Fix elapsed time logic.
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Don't auto-close progress
+	dialog until commanded to We pass the cancel return value to our caller, but it is up to them
+	to dismiss the progress dialog.  Utilise the response_id to determine when the dialog has been closed
+	or cancelled, rather than a separate stop_loop variable (which was a
+	legacy from the blocking gtk_dialog_run() this code was based upon.  Tidy up due to resulting simplifications.
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Fix testing timeout value in
+	lesstif_progress This looks like a typo, but was me testing different values of time
+	interval between processing events.
+
+2011-05-04   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Simple progress()
+	implementation to present a cancel button Does not yet draw an actual progress bar, as I'm not familiar enough
+	with coding for Lesstif.
+
+2011-05-05   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: When live-drawing, only emit one via
+	per location I'd accidentally put the live-draw via in a place where it would
+	emit one via for every layer group - causing warnings in PCB's log
+	about dropped vias.
+
+2011-05-04   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-library-window.c: hid/gtk: Fix crash in library
+	window I missed a (GList *)->data dereference when converting to GList
+	object storage. Unfortunately, the parameter in question was void *
+	typed, so the compiler didn't notice my mistake.
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Provide a progress update for the
+	autorouter Provide a completion metric related to what pass the auto-router is
+	processing, how many objects on its heap within a given pass it has
+	processed, and how many sub-nets it has routed from the total.  The progress isn't entirely linear, but the subdivision of process
+	steps means it does at least march along without too many pauses.  It is now possible to cancel the autorouting with a non-zero
+	response code from the gui's progress dialog.  Tested with the GTK HID, Lesstif doesn't yet have an implementation
+	for HID->progress()
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Provide a simple progress
+	dialog implementation
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-gl.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: Fix mesa crash on
+	startup (for some mesa versions) I'm not sure why it crashed, but it seems that providing a realize
+	handler which fiddles with the GL context solves it. The underlying
+	problem appears to have been fixed in later mesa versions.  Leaving this commit for the benefit users of broken mesa versions.
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* configure.ac: Make --enable-gl default when building the GTK HID Lets get this feature some testing for now - we may decide to revert
+	the default before the next release, depending on how things
+	progress.
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* configure.ac, src/Makefile.am, src/hid/common/hidgl.c,
+	src/hid/common/hidgl.h, src/hid/gtk/gtkhid-gl.c, src/hid/gtk/gui.h: 
+	hid/gtk: Drop in GL renderer - WOOT! Much of the generic GL drawing stuff lives in a new common helper,
+	hid/common/hidgl.[ch]. Unavoidably, there is a lot of GUI specific
+	setup and teardown code.  There are probably still bits of code in hid/gtk/gtkhid-gl.c which
+	could be moved to a shared place if / when other HIDs wish to use GL
+	rendering.  Currently only rat lines are drawn transparent, as we need to sub-
+	composite each layer to avoid a confusing field of hightlights being
+	drawn where line ends overlap.  configure --enable-gl now checks for the required GL, glu and
+	GtkGLEext.  More good stuff to come soon! Credits:   Algorithm to calculate number of segments to use in circular   curve approximation suggested by DJ Delorie.    Thanks to Krzysztof KoÅ?ciuszkiewicz for testing and debugging   some issues with the GL_SCISSOR_TEST being used.    An small team of dedicated testers who have provided feedback,   bug reports and encoragement throught the long development of   this branch.
+
+2011-05-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/common/flags.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/lesstif/main.c, src/main.c, src/misc.c, src/misc.h,
+	src/parse_y.y: Universal use of GetValue This is a patch to make all numeric code use GetValue, to unify
+	parsing code and make sure everything uses the same units. Contained
+	is almost a complete rewrite of GetValue to simplify code that uses
+	funny units.   Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk * When committing the patch from Launchpad, I rebased it to apply with
+	strcasecmp and strncasecmp changed to strcmp and strncmp, as changed
+	by commit 31b7309764f2e4bd40141038c30f1f38309efb4a Affects-bug: lp-772027
+
+2011-05-03   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/lesstif/main.c,
+	src/hid/png/png.c, src/misc.c, src/parse_l.l, src/report.c: Add
+	case-sensitivity to all unit-reading code  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk * This breaks existing behaviour for any users using capitalised units
+	in scripts, but as in general, units ARE case sensitive, we should
+	not support anything other than their canonical names.  Affects-bug: lp-772027
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Simplify some long if statements In a couple of cases, almost all the processing logic was burried
+	inside an if statement checking for validity of this processing
+	pass. Re-organise to test for an invalid condition, then "continue;"
+	the loop if that is hit.  This reduces the nesting of some rather complex functions.
+
+2011-05-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: change.c: Fix drawing artaefacts when rotating the
+	buffer In commit 0213e4791f9aa4008c8d06a48c377b338f6e1a43 converting
+	{Hide,Restore}Crosshair calls to become notify_crosshair_changed, I
+	mixed up two of the true / false parameters to to
+	nofify_crosshair_changed.  This caused the GUI to get out of sync undrawing and redrawing the
+	crosshair attached objects around the change.  Manually checking the diff from the offending commit, I don't see
+	any other calls which were transposed incorrectly.   Reported-by: DJ Delorie * dj AT delorie dot com *
+
+2011-05-02   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Fix dropped crosshair
+	artaefacts when dragging objects.  It seems that the idle_proc redraw code assumed the crosshair was
+	switched off upon entry, proceeding to redraw everything (and
+	obliterate the crosshair in the process). The final show_crosshair
+	(1) call only has any effect if the crosshair was notionally off
+	before hand.  As a quick work-around (you could probably do it with less flicker
+	with a little more logic), ensure the crosshair is turned off just
+	prior to redrawing the screen - so it will switch back on correctly
+	afterwards.
+
+2011-05-01   DJ Delorie * dj AT delorie dot com *
+
+	* src/macro.h: Fix typo in new ELEMENTARC_LOOP macro.  line -> arc
+
+2011-05-01   DJ Delorie * dj AT delorie dot com *
+
+	* src/insert.c: Fix polygon clears on insert.  Add the calls to update polygon clearances when a point is inserted
+	into a line.
+
+2011-05-01   DJ Delorie * dj AT delorie dot com *
+
+	* src/file.c, src/file.h: Make file version smarter.  Restructure the FileVersion[] output to only output the actual
+	needed version, in cases where a rarely used feature requires a new
+	pcb.  This avoids unnecessary backwards incompatibility.
+
+2011-05-01   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Fix conversion from world to
+	screen in ghid_invalidate_lr I accidentally muddled the Vx and Vy conversions routines for the
+	right and top coordinates. In general, this resulted in the
+	incorrect region being invalidated - manifesting as artaefacts on
+	the the screen, such as when dragging objects around.  Also drop the (double) cast.. having checked, Vx and Vy take integer
+	arguments. I'm not sure why the rest of this file casts to double.
+
+2011-05-01   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Rest clip region for bg_gc, as
+	it is used for expose events.  We set the clip region in the redraw_region() function to clip
+	drawing to the area which we intend to repaint, but we did not clear
+	the clip again.  This caused expose events to be clipped to the last redraw area
+	rather than the required damaged area.
+
+2011-05-01   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Remove unused variable in
+	use_mask() function
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Remove unused variable in
+	use_mask routine
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/mymem.c: mymem.c: Provide an optional implementation of
+	g_list_free_full () This API was only added in GLib 2.28, and it is just a small
+	convenience function. If an insufficient GLib version is found,
+	provide our own implementation.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid.h, src/hid/gtk/gtkhid-gdk.c, src/hid/lesstif/main.c: 
+	Remove live drawing parameters for HID->use_mask() These are no longer used by the autorouter, so lets clean the
+	use_mask() interface to JUST deal with _masking_ from now on ;)
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Utilise new HID interface for debug
+	drawing This gives the HID an opportunity to refuse the autorouter's
+	drawing.  Both the GTK/GDK and Lesstif GUIs accept this drawing, so
+	either should be suitable for use whilst debugging workings of the
+	auto-router.  The PCB+GL renderer (not yet landed) needs quite a lot of setup
+	calls to be made before it can allow the core do draw, hence the
+	need for this notification / permissioning.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: Fix livedraw to work with normal rendering APIs NB: This relies on the immutability of board object pointers, so
+	must not be applied to older PCB code-bases which would often
+	re-locate storage of board objects to keep them in a contiguous
+	array.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/autoroute.c, src/buffer.c, src/create.c,
+	src/djopt.c, src/draw.c, src/file.c, src/find.c, src/fontmode.c,
+	src/global.h, src/macro.h, src/move.c, src/mymem.c, src/mymem.h,
+	src/puller.c, src/rats.c, src/remove.c, src/toporouter.c: Convert
+	board objects to GLists of g_slice allocated memory This enables pointers for these objects to be immutable during their
+	lifetime, which is a _huge_ benefit for some operations.  Having otherwise was becoming VERY tiresome, and was a perenial
+	source of bugs tripping up novice and experts of the codebase alike.  Due to the risks associated with modifying the structure being
+	iterated over, this patch makes the relevant *_LOOP macros iterate
+	over a shallow copy of the underlying GList. This is slight overkill
+	for many cases, but until we have identified which do not modify the
+	data-structures it is wise to keep as we are.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/puller.c: puller.c: Re-write parts to use hash tables to store
+	stashed extra info This vastly simplifies some of the pointer arithmetic which was
+	previously used to account for underlying location changes when
+	objects moved.  Having tested this, it produces different results than before
+	application.  This may be due to it zapping some underlying bug
+	which has been removed in the patch, or perhaps more likely, that
+	its slightly different iteration order over the lines and arcs (due
+	to g_hash_table_foreach) will result in different pathologies being
+	hit.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/djopt.c: djopt.c: Tidy up padcleaner() using loop macros
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/djopt.c: djopt.c: Tidy up element_name_for() by using loop
+	macros
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/move.c: src/move.c: Gratuitous cosmetic changes Split from a future patch which ended up making these changes to
+	help with consistency. Pre-patching here to avoid a huge delta when
+	that patch lands.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/buffer.c: src/buffer.c: More cosmetic changes
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/buffer.c: src/buffer.c: Gratuitous cosmetic changes Split from a future patch which ended up making these changes to
+	help with consistency. Pre-patching here to avoid a huge delta when
+	that patch lands.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/remove.c: remove.c: Gratuitous cosmetic changes s/return (NULL)/return NULL/ Split from another patch where I just couldn't resist some tidying.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/move.c, src/move.h: Make Move*ToLayerLowLevel() local to
+	move.c No point in exporting these functions.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/rats.c: rats.c: Tidy up FindPad() Changes are aimed to simplify the delta of a future patch relating
+	to object storage. Moves indexed addressing of object structures to
+	fewer places.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/toporouter.c: src/toporouter.c: Tidy up escape() routine Changes are aimed to simplify the delta of a future patch relating
+	to object storage. Moves indexed addressing of object structures to
+	fewer places.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/parse_y.y: parse.y: Convert an open-coded loop to use
+	ALLPOLYGON_LOOP
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-pinout-preview.c: hid/gtk: Remove unused code from
+	pinout_set_data
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Tidy up DrawEMark Changes are aimed to simplify the delta of a future patch relating
+	to object storage. Moves indexed addressing of object structures to
+	fewer places.
+
+2011-04-30   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c, src/crosshair.c, src/edif.y, src/global.h,
+	src/mtspace.c, src/polygon1.c: Include glib.h from global.h To avoid compiler warnings, remove the now duplicated (or
+	unecessary) #define ABS definitions from various files.  There has been a build-time dependance on GLib since the toporouter
+	was added. Lets start to make use of it where it is useful.
+
+2011-04-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Hook up debug drawing APIs
+
+2011-04-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui.h: hid/gtk: Hook up debug drawing APIs
+
+2011-04-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid.h, src/hid/common/hidnogui.c: Add HID apis to handle live
+	debug drawing from the core It is envisaved that this API should ONLY be used for debugging, not
+	presenting a user-interface. In general, the GUIs may have their own
+	special requirements for drawing the board, and this API is not
+	meant to allow the core to augment or present user-visible drawing.
+	This is reflected in the API naming.  Request permission for debug drawing HID *ddraw = gui->request_debug_draw (void); Returns a HID pointer which should be used rather than the global
+	gui-> for making drawing calls. If the return value is NULL, then
+	permission has been denied, and the debug drawing must not continue.  Flush pending drawing to the screen void ddraw->flush_debug_draw (void); May be implemented as a NOOP if the GUI has chosen to send the debug
+	drawing directly to the screen.  When finished, the user must inform the GUI to clean up resources: ddraw->finish_debug_draw (void); Any remaining rendering will be flushed to the screen.
+
+2011-04-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/main.c: hid/lesstif: Ensure crosshair and mark
+	updates go to the screen The "pixmap" global might be pointing at one of the backing pixmaps
+	when we are called.  Does not fix any known bug, just in preparation for another patch
+	relating to debug drawing which may leave pixmap pointing to the
+	backing store.
+
+2011-04-29   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: Invalidate the damaged region,
+	not the whole view
+
+2011-04-29   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/print.c: Subject: PCB / Physical unit macros patch 2: print.c This patch works correctly (i.e., no change in output) for my test
+	file; about 6800 lines of postscript. The only differences were in
+	the timestamps, which naturally were slightly different.  I also confirmed visually that the before and after printouts look
+	the same :)  Rebased to git HEAD by Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Remove a couple of completely unused
+	debug routines
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/global.h: global.h: Remove unused OutputType members Width and
+	Height
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: Fixup usage of the never initialised, obsolete,
+	Output.{Width,Height} For the stroke handling case (relating to zooming) it isn't clear
+	what is correct, but for now, substitute PCB->MaxWidth and
+	PCB->MaxHeight.  This may still leave stroke based zooming broken, but it was
+	CERTAINLY broken before.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-pinout-preview.c: hid/gtk: Remove dead code (due
+	to bitrot) from pinout_zoom_fit() function The code tried to compare against the uninitialised, unused
+	Output.Width and Output.Height. Assuming these were initialised to
+	zero by the compiler, the conditional would always cause the
+	function to return FALSE.  Remove the conditional, and drop the boolean return value from this
+	function, short-cutting the caller to the utilised code-path.  This removes the (long broken) feature where by the natural size (in
+	pixels) of the pinout preview would be reduced if it was greater
+	than 3/4 of the viewport size (in pixels) of the active PCB.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/global.h: Remove unused old{Obj,Line,Box}State members from
+	the OutputType structure
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/main.c: main.c: Remove setup of global graphics
+	contexts which are never used draw.c stashes these ones creates its own. Drop the unused ones, and
+	drop the stashing in draw.c
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: Use the autoroute graphics context,
+	not Output.fgGC I'm aiming to confine  Output.* graphics contexts to draw.c for now.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/data.c, src/data.h: Remove unused global variable
+	Zoom_Multiplier Along with a following commented series of numbers which git log
+	suggests was originally related to pre-defined zoom ratios.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: macro.h: Remove unused (obsolete) conversion macro
+	TO_PCB
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Replace use of obsolete conversion macro
+	TO_PCB with a constant.  This changes the location tolerance in NotifyLine()'s call to
+	LookupConnection() from what previously evaluated to 100 internal
+	units, to a constant of one internal unit.  This is consistent with other similar calls to LookupConnection(),
+	where it appears that a wide search area is not desired, so the
+	smallest possible value is passed.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/data.c, src/data.h, src/file.c: Remove unused variables Xorig
+	and Yorig
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: macro.h: Remove unused, obsolete conversion macros
+	TO_PCB_X and TO_PCB_Y
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Partially fix up some stroke handling bugs 1. Stroke event coordinates are already in PCB units, drop bogus
+	conversions 2. Fix incorrect variable name
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c: file.c: Write out correct cursor location in the PCB
+	file
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/data.c, src/data.h: data.c: Remove unused globals theScreen,
+	clipBox, vxl, vxh, vyl, vyh
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/print.c, src/print.h: print.c: Pass an explicit
+	graphics context to PrintFab() and friends This is a step towards being able to move the active graphics
+	contexts out of the global scope.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/global.h, src/main.c: Remove unused Output.GridGC variable
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/rtree.c: rtree.c: Remove old X11 based debug drawing code The core doesn't do drawing any more.. and can't assume that the
+	GUI's graphics contexts are actually X11 or GDK graphics context, so
+	this code can't work any more - remove it.
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c, src/hid/common/extents.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui.h,
+	src/hid/lesstif/main.c, src/hid/png/png.c, src/hid/ps/eps.c: HIDs:
+	Remove NOOP set_draw_faded implementations
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidnogui.c: hid: Provided non-CRASH default
+	implementation of HID->set_draw_faded There is no point in various HIDs providing their own NOOP
+	implementation
+
+2011-04-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid.h, src/hid/batch/batch.c, src/hid/common/extents.c,
+	src/hid/common/hidnogui.c, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui.h,
+	src/hid/lesstif/main.c, src/hid/nelma/nelma.c, src/hid/png/png.c,
+	src/hid/ps/eps.c, src/hid/ps/ps.c: hid: Remove unused
+	set_line_cap_angle API
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui.h: hid/gtk: Make
+	ghid_show_crosshair() local to the GDK implementation
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Invalidate the crosshair
+	rather than drawing it immediately
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: Revert "hid/gtk: Add hooks to tell the render
+	when we start/stop drawing" This reverts commit 332cb8ddc1cc032ac29c7d2b9a0051ccc228b6da.  Since crosshair updates are now handled by notifications to the GUI,
+	this isn't required for the forthcoming PCB+GL support.
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Avoid extra crosshair
+	and attached object redraws The crosshair movement is handled by a notify_crosshair_change()
+	call in ghid_note_event_location().
+
+2011-04-27   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* globalconst.h, src/action.c, src/autoplace.c, src/buffer.c,
+	src/change.c, src/const.h, src/create.c, src/djopt.c, src/find.c,
+	src/hid/batch/batch.c, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-drc-window.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h,
+	src/hid/lesstif/dialogs.c, src/hid/lesstif/lesstif.h,
+	src/hid/lesstif/main.c, src/hid/lesstif/styles.c,
+	src/hid/nelma/nelma.c, src/hid/png/png.c, src/hid/ps/eps.c,
+	src/hid/ps/ps.c, src/main.c, src/misc.c, src/parse_l.l,
+	src/print.c, src/report.c, src/vendor.c: PCB / Physical unit macros
+	patch Specify various constants in physical units, converting to PCB
+	internal units using macros. When reporting to the user (or
+	exporting), convert dimensions to physical units using macros so the
+	code does not rely on details of PCB's internal coordinates in so
+	many places.
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove old commented debug printf
+
+2011-04-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove unused function thin_callback()
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/crosshair.h, src/global.h,
+	src/hid/lesstif/main.c: Move crosshair on / off functionality into
+	lesstif HID.  Lesstif is the only GUI which turns attached objects on and off,
+	when the mouse leaves the viewport, so it might as well manage it
+	internally.
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/hid.h, src/hid/common/hidnogui.c,
+	src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui.h, src/hid/lesstif/main.c: Give the HIDs control
+	over attached object (crosshair, mark) drawing This is required if a renderer doesn't want to follow the current
+	drawing model where it is assumed the core can call the HID's
+	drawing APIs at any arbitrary point in time.  Expose some API from crosshair.c to perform the actual drawing on
+	demand, and add hooks to the HID structure to notify the GUI when it
+	would previously have called the crosshair or mark drawing routines.  This allows renderers with defined setup and tear-down requirements
+	around drawing to execute them before the objects are drawn.  CrosshairOn() and CrosshairOff() now simply set the Crosshair.On
+	flag and call the appropriate notification hooks.  This commit replaces all HideCrosshair() and RestoreCrosshair()
+	calls with the new hooks notify_{crosshair|mark}_changed(), with an
+	argument specifying whether a change is about to happen (false
+	argument), or has been completed (true argument).
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Convert some explicit mark redrawing to
+	notification
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/crosshair.h, src/set.c: Separate out mark
+	change notification from crosshair change notification Hook it up to notify the crosshair (which also redraws the mark) for
+	now.
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/buffer.c, src/crosshair.c, src/crosshair.h,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui-output-events.c, src/hid/lesstif/main.c,
+	src/misc.c, src/set.c: Rename HideCrosshair() and RestoreCrosshair() Whist this is a tedious rename which will probably have implications
+	for some plugins, it helps to clarify what is going on with the
+	crosshair across forthcoming patches which put it under the control
+	of the GUIs.  The old APIs are retained for backwards compatibility with plugins,
+	and will print a one-shot warning for each which is called.
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: DrawMark from
+	ghid_invalidate_all() as well as DrawAttached
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: Let the GUIs manage the crosshair across a redraw Removes several {Hide/Restore}Crosshair() calls from the GTK HID.  These are not requried any more, as they are followed by
+	invalidate_all() calls which take care of the crosshair as well.  Changes to draw.c were tested not to affect Lesstif HID
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui.h: hid/gtk: Remove duplicated prototype
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove obsolete comment
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove clip_box global variable in favour of a
+	more targeted one Used for polygon clipping during drawing.
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: EraseRat() should just gather the affected
+	area These were missed (or incorrectly converted) in the previous patch
+	series which split gathering routines from drawing routines.  Tidy up DrawRat() to be consistent with the new code in EraseRat()
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Separate out common code for drawing holes Makes things a bit clearer
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove Gathering variable This variable is no longer needed since the "Gathering" Draw*
+	functions are separate from the draw_... implementations which are
+	triggered by the GUI calling for a repaint of the gathered area.
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Text) Moves code from DrawRegularText() into its only caller
+	text_callback()
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Polygons) Moves code from DrawPlainPolygon() into its only caller
+	poly_callback()
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Arcs)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Lines)
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" from real drawing routines
+	(Rats)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Pads)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" routines from real drawing
+	routines (Pins + Vias)
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" from real drawing routines
+	(Element Pins and Pads)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" from real drawing routines
+	(Element names)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" from real drawing routines
+	(Element Package)
+
+2011-04-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Split "Gathering" from real drawing routines
+	(Element)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Fold DrawHole into its only caller,
+	hole_callback
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Move DrawPlainPin and DrawPlainVia into their
+	only callers Make their code part of pin_callback and via_callback.  Drop the Gathering tests within this code, as their only callers are
+	within a block where Gathering is definately set.
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/autoplace.c, src/autoroute.c, src/draw.c,
+	src/draw.h, src/find.c, src/toporouter.c, src/vendor.c: draw.c:
+	Remove API ClearAndRedrawOutput(), in favour of Redraw().  These do the same thing anyway.
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/draw.c, src/draw.h, src/set.c: draw.c: Remove
+	UpdateAll() API, in favour of Redraw(), which is identical
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/draw.c, src/draw.h: draw.c: Expose local
+	Redraw() function, and remove wrapper RedrawOutput() Within the one caller ActionDisplay, combine the F_ClearAndRedraw
+	and F_Redraw cases which have exactly the same effect.
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Drop unused area parameters from Redraw(...)
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Only set Gathering during
+	hid_expose_callback() Removes setting of Gathering to false prior to calling UpdateAll()
+	in ClearAndRedrawOutput(), and removes setting of Gathering to true
+	after calling gui->invalidate_all() in Redraw()
+
+2011-04-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : Regenerate test golden files for the png output hid The colour drawn for vias changed due to the fix in commit
+	c095adf5ea890284cddc2730944b980ac1275109 (Build was broken due to the above commit until commit
+	c9b915d7f2f49f5ebde0abeb5756b1e11e756edc)
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Use the ON_SIDE() macro rather then open-code
+	the test
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Add a DrawPaste() helper function for paste
+	layers
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c, src/misc.h: misc.c: Add query function IsPasteEmpty()
+	to query a paste layer is empty
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/macro.h: Make the ON_SIDE() macro global, not
+	local do draw.c
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/draw_helpers.c: hid/common: Fix
+	common_thindraw_pcb_pad()'s handling of square pads I made a mistake in a logic test when simplifying this routine in
+	commit 4efcedeeac06cd4d5e559a7fe0a0ee8685f2137a This caused slanted rendering of horizontal or vertical pads.
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Rename the "screen" parameter of
+	DrawLayerGroup to "drawn_area" (For consistency with other code in draw.c)
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Use DrawPPV() where we can to save duplication
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Change PrintAssembly() to use a layer side
+	parameter Drops the "swap_ident" parameter in favour of a more explicit "side"
+	parameter. Also drops the side_group parameter, as we can easily
+	determine that from the requested side to draw.
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Change DrawSilk() to use a layer side
+	parameter, not SWAP_IDENT
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c:  Make DrawPPV() always draw for non gui HIDs, rather than doing_assy The gui HIDs don't accept the assembly drawaing, so testing for
+	!gui->gui will catch this case, and we can drop the doing_assy
+	override for PCB->PinOn and PCB->ViaOn
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Change DrawTop() to DrawPPV(), and teach it to
+	work for any layer (PPV stands for Pins, Pads and Vias). Extend its functionality to
+	work for pins and vias on any layer.
+
+2011-04-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Rename DrawTop() "screen" parameter
+	"drawn_area" For consistency with other code in draw.c
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Fix order of farside object drawing Backside silk should be drawn before bakside pads
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Add prototype for via_callback Fixes breakage since commit c095adf5ea890284cddc2730944b980ac1275109
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove  a couple of redundant if statements The outer if statement already ensures this code-path isn't followed
+	for a gui hid.. don't repeat ourselves. One statement will always
+	return false, hence is dead code - the other is always true.
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Use the via callback when drawing vias.  Since this code-path is only hit for exporters, (and the only
+	difference between the pin and via callback is the drawing colour)
+	it is not likely this matters, but lets be correct.
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Add layer side parameter to DrawMask() Don't use the global variable SWAP_IDENT to choose which side to
+	draw.
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Combine front and back element and name
+	callbacks Pass an integer "side" parameter to determine which is desired
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: Remove commented TEXT_IS_VISIBLE implementation I'm cleaning up code which uses SWAP_IDENT, and this comment scored
+	a hit.
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/change.c, src/copy.c, src/draw.c, src/draw.h,
+	src/find.c, src/hid/gtk/gui-drc-window.c, src/insert.c, src/move.c,
+	src/polygon.c, src/rats.c, src/remove.c, src/rotate.c,
+	src/select.c, src/toporouter.c, src/undo.c: draw.c: Remove unused
+	parameter from various calls:   DrawObject   DrawVia   DrawViaName   DrawLine   DrawArc   DrawText   DrawRegularText   DrawPolygon   DrawElement   DrawElementPackage   DrawElementPackageLowLevel   DrawElementName   DrawElementPinsAndPads   DrawRat   DrawPin   DrawPinName   DrawPad   DrawPadName
+
+2011-04-23   Andrew Poelstra * asp11 AT sfu dot ca *
+
+	* src/hid/png/png.c: hid/png: Fix incorrect um unit conversion in
+	bloat parser.   (Split from a larger patch by Peter Clifton * pcjc2 AT cam dot ac
+	dot uk *)
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* globalconst.h: globalconst.h: Remove some unused constants
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/png/png.c: hid/png: Fix segfault when no image formats are
+	configured in.   Based on a patch by Felix Ruoff * Felix AT posaunenmission dot de * Catch the case where the selected image format is actually the NULL
+	terminator at the end of the format list. This happens when the list
+	is empty. Don't strcmp against that terminator! Closes-bug: lp-699290 (sf-2669324)
+
+2011-04-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/png/png.c: Revert "Fix potential segfault" This reverts commit 2d2040e92d5ebb069af42567855055b096532e71.  This patch causes segfaults in the GTK and Lesstif hids, so
+	reverting, as it removes the required NULL termination from an
+	attribute enumeration. Any code which can't deal with an empty
+	enumeration list should be fixed instead.  Reopens-bug: lp-699290 (sf-2669324) Closes-bug: lp-769336
+
+2011-04-22   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/main.c, src/misc.c, src/polygon.c, src/polygon.h,
+	src/thermal.c: Fix geometry errors caused by commit
+	2d8dc8a3a3a55158b4e6278dd9f40588e4111c2d This fixes up problems from the following commit:     [PATCH] fix bug 2793480 (vias/arcs-to-polygon clearances)     frac_circle(): introduce radius_adjustment factor to make     the polygon outline the arc rather than connet points on the arc     ArcPolyNoIntersect(): compute number of segments so that     polygon diverges from the arc no more than 0.02 of     required thickness; adjust outer "arc" radius like in
+	    frac_circle() The object bounding boxes for arcs, vias, lines and rounded pads
+	which determine the maximum area affected by that object were no
+	longer correct, leading to artaefacts when doing incremental polygon
+	processing.  It also lead to missing fragments in (the non-curved + and x type
+	thermals). These are also fixed up by this patch.
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Tidy up hole_callback routine
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Remove unnecessary pin_info struct.  The argument specifying whether to clear pins was always true in any
+	case where clearPin_callback was called (the only user of this
+	info).
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: macro.h: Remove unused X11 specific macros
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/macro.h: macro.h: Remove unused object visibility macros
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c, src/line.c, src/macro.h: Remove some old unused
+	coordinate conversion macros from the core Sadly, there are still some left to expunge which are being used -
+	and their usage appears broken in many cases!
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* tests/golden/hid_gcode1/Makefile.am,
+	tests/golden/hid_gcode10/Makefile.am,
+	tests/golden/hid_gcode11/Makefile.am,
+	tests/golden/hid_gcode2/Makefile.am,
+	tests/golden/hid_gcode3/Makefile.am,
+	tests/golden/hid_gcode4/Makefile.am,
+	tests/golden/hid_gcode5/Makefile.am,
+	tests/golden/hid_gcode6/Makefile.am,
+	tests/golden/hid_gcode7/Makefile.am,
+	tests/golden/hid_gcode8/Makefile.am,
+	tests/golden/hid_gcode9/Makefile.am,
+	tests/golden/hid_gerber1/Makefile.am,
+	tests/golden/hid_gerber2/Makefile.am: Fix test-suite harder Fixup Makefile.am files to match renames in last commit
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* tests/golden/hid_gcode1/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode1/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode1/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode1/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode10/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode10/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode10/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode10/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode11/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode11/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode11/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode11/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode2/out.back.cnc,
+	tests/golden/hid_gcode2/out.bottom.cnc,
+	tests/golden/hid_gcode2/out.front.cnc,
+	tests/golden/hid_gcode2/out.top.cnc,
+	tests/golden/hid_gcode3/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode3/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode3/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode3/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode4/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode4/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode4/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode4/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode5/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode5/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode5/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode5/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode6/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode6/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode6/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode6/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode7/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode7/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode7/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode7/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode8/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode8/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode8/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode8/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gcode9/gcode_oneline.gcode.back.cnc,
+	tests/golden/hid_gcode9/gcode_oneline.gcode.bottom.cnc,
+	tests/golden/hid_gcode9/gcode_oneline.gcode.front.cnc,
+	tests/golden/hid_gcode9/gcode_oneline.gcode.top.cnc,
+	tests/golden/hid_gerber1/gerber_oneline.back.gbr,
+	tests/golden/hid_gerber1/gerber_oneline.bottom.gbr,
+	tests/golden/hid_gerber1/gerber_oneline.front.gbr,
+	tests/golden/hid_gerber1/gerber_oneline.top.gbr,
+	tests/golden/hid_gerber2/out.back.gbr,
+	tests/golden/hid_gerber2/out.bottom.gbr,
+	tests/golden/hid_gerber2/out.front.gbr,
+	tests/golden/hid_gerber2/out.top.gbr, tests/tests.list: Fix
+	test-suite files to match component->front and solder->back rename Test-suite now passes again.
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: hid/common: Draw the hole outline for pins / vias
+	being moved or placed
+
+2011-04-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Use a dummy via structure to draw
+	vias being created
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/draw.c, src/global.h, src/hid.h,
+	src/hid/common/draw_helpers.c, src/hid/common/draw_helpers.h,
+	src/hid/common/hidnogui.c: Consolidate pin / via drawing routines,
+	moving them under the HID API Adds two new HID APIs, fill_pcb_pv and thindraw_pcb_pv, splitting
+	drawing code from DrawPadLowlevel() to common_fill_pcb_pv() and
+	common_thindraw_pcb_pv() in hid/common/draw_helpers.c.  Octagonal vias and pins are now correctly drawn when attached to the
+	cursor.
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/draw.c, src/global.h, src/hid.h,
+	src/hid/common/draw_helpers.c, src/hid/common/draw_helpers.h,
+	src/hid/common/hidnogui.c: Consolidate pad drawing routines, moving
+	them under the HID API Adds two new HID APIs, fill_pcb_pad and thindraw_pcb_pad, splitting
+	drawing code from DrawPadLowlevel() to common_fill_pcb_pad() and
+	common_thindraw_pcbpad() in hid/common/draw_helpers.c.  I simplified the code somewhat as I moved it, reducing the number of
+	special cases.  gui->{thindraw|fill}_pcb_pad() is called from DrawPadLowlevel(), and
+	is used to replace an incomplete thindraw implementation for pads in
+	XORDrawElement().  Outlines for angled pads are now drawn in their entirety when
+	attached to the cursor, not just their center line, and rounded end
+	pads are also now drawn correctly in this mode.
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c, src/hid/common/draw_helpers.c,
+	src/hid/common/draw_helpers.h, src/hid/common/extents.c,
+	src/hid/gcode/gcode.c, src/hid/gerber/gerber.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/lesstif/main.c,
+	src/hid/nelma/nelma.c, src/hid/png/png.c, src/hid/ps/eps.c,
+	src/hid/ps/ps.c: hid/common: Provide a helper function for HIDs to
+	use drawing helpers Gives the following changes to various HIDs:   extents: now has thindraw_polygon implemented - should not be an
+	  issue gcode:   now has thindraw_polygon implemented - should not
+	  be an issue gerber:  now has thindraw_polygon implemented - should
+	  not be an issue nelma:   now has thindraw_polygon implemented -
+	  should not be an issue png:     now has thindraw_polygon implemented
+	  - should not be an issue eps:     now has thindraw_polygon
+	  implemented - should not be an issue ps:      now has
+	  thindraw_polygon implemented - should not be an issue batch:   no
+	             longer has NOP fill_pcb_polygon and thindraw_pcb_polygon routines -
+	             should not be an issue, as the drawing calls the common helper
+	routines use are still NOPs for the batch HID.
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/draw_helpers.c: hid/common: Some formatting changes
+	in draw_helpers.c
+
+2011-04-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gcode/gcode.c, src/hid/png/png.c: Add missing HID
+	structure zero initialisation for gcode and png HIDs.  Missed from commit commit d67f4335b5d4f97330448b833ea1bf04377c3a57   "Initialise the HID vtable by function, rather than as a struct
+	  initialiser." I missed the memset from these two HIDs.
+
+2011-04-19   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Fix damage area computation We should reset the left and top bounds to MAXINT, and the right and
+	bottom bounds to -MAXINT. This way the correct bounds are computed
+	when gathering.  The code previously every coordinate to 0, meaning that the box
+	encompasing (0, 0)  up to the (max_x, max_y) would be invalidated,
+	rather than (min_x, min_y) to (max_x, max_y).  No improvement is going to be seen, as both the GTK and Lesstif GUIs
+	ignore the damaged bounds and repaint the whole screen each time -
+	it is just for correctness.
+
+2011-04-18   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/crosshair.h, src/hid/lesstif/main.c: Don't
+	abuse CrosshairOn() API to force a redraw.  Expose DrawAttached() to the HIDs so they can call it themselves,
+	and don't have to cheat by forcing Crosshair.On to false.  Make DrawAttached() and DrawMark() a NOP if the relevant item is not
+	being shown. Ie. if !Crosshair.On, both functions draw nothing. If
+	!Marked.status, DrawMark() draws nothing.  A minor change is required in CrosshairOff() to XOR un-draw before
+	switching the flag to off.  Not known to fix any particular bug, but it is possible that the
+	crosshair should not be drawn at a given point (due to changes
+	taking place inside a HideCrosshair() / RestoreCrosshair() pair.  Tested with Lesstif and GTK HIDs.
+
+2011-04-18   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/hid/gtk/gui-output-events.c: hid/gtk: Don't
+	call CrosshairOn() when re-entering the viewport The GTK HID doesn't turn the crosshair off, so we don't turn it back
+	on if we default to having it switched on in the first place. Make
+	that default change, and remove the CrosshairOn() call.  (Also tested not to break the Lesstif HID).
+
+2011-04-18   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am, src/hid/batch/batch.c, src/hid/bom/bom.c,
+	src/hid/common/extents.c, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/lesstif/main.c, src/hid/lpr/lpr.c, src/hid/nelma/nelma.c,
+	src/hid/nelma/nelma.h, src/hid/png/png.c, src/hid/png/png.h,
+	src/hid/ps/eps.c, src/hid/ps/ps.c: Initialise the HID vtable by
+	function, rather than as a struct initialiser.  This allows adding new items without having to update every HID.  It
+	also reduces bloat for those HIDs which have a lot of zero entries.
+
+2011-04-12   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.c: Add t/b synonyms for group list Allow 't' as well as 'c', and 'b' as well as 's', in the groups
+	string.
+
+2011-03-31   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/hid/png/png.c: Fix potential segfault Closes-bug: lp-699290 (sf-2669324)
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/common/flags.c: Update file names to top/bottom convention Yes, I know this will break some scripts - mine included.  I
+	couldn't think of a good way to auto-detect when the old names
+	should be used.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/draw.c: Remove (now) unused variable.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/draw.c: Don't draw an empty outline layer.  If the design has an outline layer, and it's empty, draw an outline
+	anyway - around the whole work area.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/ps/ps.c: Fix PS rect/outline logic PS's draw_rect was actually doing a fill_rect.  Fixed.  If the design has an outline layer, draw it in more of the cases
+	where we would draw the synthetic outline.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.c, src/misc.h: Add IsEmpty functions Add functions to test if a given layer or layer group is "empty" -
+	i.e. has none of its own drawing items on it.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/gerber/gerber.c: Fix gerber output Use the correct DRC minimums for drawn outlines on silk and copper
+	layers.  Draw rectangles as unfilled, not filled.
+
+2011-04-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/main.c: Tweak default layer stack.  Change the default layer stack to reflect a six layer board,
+	allowing for 2 or 4 layer designs with the same stack.  Add an
+	outline layer by default.  Change the default names from
+	"component/solder" to "top/bottom" to be consistent with names used
+	by popular packages.
+
+2011-04-08   Krzysztof KoÅ?ciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+	* src/gpcb-menu.res, src/pcb-menu.res: Change menu location of "Move
+	to current layer" To be consistent with other menu actions (like Flip/Flip selected):  * "Move to current layer" is now located in the Info > Key
+	 bindings, * "Move selected to current layer" is now located in the
+	Select menu.  Closes-bug: lp-699106
+
+2011-04-01   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-dialog.c: hid/gtk: Select adequate folder in
+	file-save-dialog Since now, the 'Save layout as' - dialog gives full path and
+	filename in name-line, but did not switches to given path in
+	folder-list (lower part of the dialog). For me, this is
+	uncomfortable, e.g. if I just want to switch to another near-by -
+	folder.  This solution was suggested by Krzysztof KoÅ?ciuszkiewicz. Thank
+	you! Closes-lp: 699491  Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k dot
+	kosciuszkiewicz AT gmail dot com *
+
+2011-04-07   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-library-window.c: hid/gtk: expand library tree
+	after filtering This patch changes the behavior of the library selection dialog.
+	After filtering by name is applied the tree view of matching
+	components is automatically expanded so that all leafs are
+	immediately selectable.  The tree view is collapsed when the filter
+	is cleared.  Patch is adapted from Krzysztof Kosciuszkiewicz's patch for gschem.  Closes-bug: lp-753643  Reviewed-by: Krzysztof KoÅ?ciuszkiewicz * k
+	dot kosciuszkiewicz AT gmail dot com *
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c, src/hid/gtk/gui.h: hid/gtk:
+	Consolidate the mechanisms used for holding off scrollbar updates Don't duplicate mechanisms - it is confusing!
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Remove unused variables
+	from {h,v}_adjument_changed_cb()
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-output-events.c: 
+	hid/gtk: Only redraw the crosshair when necessary If we're about to repaint the screen from our backing pixmap, there
+	is no point un-XOR drawing our current crosshair first.
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: Don't issue CrosshairOff() from the
+	DestroyCrosshair() function.  We shouldn't assume we can make call GUI calls at this point.  NB: The DestroyCrosshair() function is actually unused!
+
+2011-04-05   Ed Maste * emaste AT freebsd dot org *
+
+	* configure.ac: Small change to get pcb to build on FreeBSD Add check for wish 8.5
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Remove some unneded crosshair hide/restore
+	calls Removed calls from various actions which should not have any effect
+	on the objects drawn attached to the crosshair.
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: In ActionLoadFrom(), only hide the
+	crosshair where required
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: In ActionUnselect(), only hide the
+	crosshair where required
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: In ActionSelect(), only hide the crosshair
+	where required
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: In ActionDisplay(), Only invalidate
+	crosshair where needed Rather than wrapping the whole function in a crosshair hide/restore,
+	only do it for the sub-paths which require it.
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Combine the crosshair / restore for all
+	paths in click_cb() Reduces code duplication in the different sub-paths of this routine.
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/buffer.c, src/hid/gtk/gui-command-window.c,
+	src/report.c: Don't undraw the crosshair attached object when
+	showing dialogue prompts
+
+2011-04-06   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Remove commented out line of code Left from commit 089fbaf59c78fe75475db737e7e2827cd745d570 (Initial
+	C++ compatibility patch)
+
+2011-04-03   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : Commit hook test This commit is deliberately blank, but should close bug lp-700413
+	due to the line below.  Closes-bug: lp-700413
+
+2011-02-11   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/draw.c: Remove unused function DrawVText() used GDK; it shouldn't have been implemented this way in
+	any case.  Closes-bug: lp-717294
+
+2011-03-23   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-dialog-print.c: Fix warning at exporting png with
+	GTK+ GUI An 'Gtk-CRITICAL'-Error was thrown on opening the png-exporter
+	dialog because there is no default-string for the 'png-bloat'
+	option.  Closes-bug: lp-740526
+
+2011-03-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c: crosshair.c: Remove comment which is no longer
+	relevant
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/buffer.c, src/crosshair.c, src/crosshair.h,
+	src/draw.c, src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-command-window.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-top-window.c,
+	src/hid/lesstif/main.c, src/misc.c, src/report.c, src/set.c: Remove
+	BlockToo argument from various crosshair hide / restore functions Goodness knows what it is supposed to do, but everything appears to
+	work fine without it. For the majority of cases, the argument passed
+	is true.  When passed as false, the effect is to surpress drawing an attached
+	selection / rubberband rectangle in the AttachedBox.state ==
+	STATE_THIRD state.  Digging through the version control history, this code appears to
+	have been present since the project was initially placed under CVS
+	control.  The 23 places this argument was previously false are:     ActionMovePointer         -  HideCrosshair (false);         -  RestoreCrosshair (false);     EventMoveCrosshair         -  RestoreCrosshair (false);     ActionDisplay         -  RestoreCrosshair (false);     ActionFreeRotateBuffer         -  HideCrosshair(false);         -  RestoreCrosshair(false);     MoveCrosshairAbsolute         -  HideCrosshair (false);     ghid_invalidate_all         -  RestoreCrosshair (FALSE);     ScrollAction (GTK HID)         -  HideCrosshair (FALSE);         -  RestoreCrosshair (FALSE);     ghid_port_ranges_changed         -  HideCrosshair (FALSE);     ghid_note_event_location         -  RestoreCrosshair (false);     idle_proc (Lesstif HID)         -  CrosshairOn (0);     CenterDisplay         -  RestoreCrosshair(false);     ReportDialog         -  HideCrosshair (false);         -  RestoreCrosshair (false);     ReportFoundPins         -  HideCrosshair (false);         -  RestoreCrosshair (false);     ReportNetLength         -  HideCrosshair (false);         -  RestoreCrosshair (false);     SetLocalRef         -  RestoreCrosshair (false);         -  HideCrosshair (false);         -  RestoreCrosshair (false);
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/crosshair.c, src/crosshair.h: Remove visibility
+	overriding argument from DrawMark() Because of the places it was used, we can gaurantee this doesn't
+	change any behaviour - the mark visibility status is always correct,
+	so doesn't need overriding.
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c: hid/gtk: g_return_if_reached() for
+	receipt of gui->use_mask(HID_MASK_BEFORE) This means one less untranslated printf which is never hit. If for
+	some reason the core sends us one of these - logging a warning and
+	continuing is probably better than a hard abort()
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Don't make GUI drawing calls to erase objects Changing the colour here is unnecessary (as drawing is deferred).
+	Delete the gui->set_color() calls.
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/change.c, src/find.c: Allow zero clearance pads and pins to
+	touch polygons This was already supported for vias, lets be consistent.
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Fix mask drawing at high zooms (only draw the
+	bit on-screen) This probably papers over a bug in the GTK hid's fill_rect routine,
+	as the only reason this should fix anything is because it avoids
+	coordinate overflow at high zoom.  The GTK hid really ought to clip coords to the screen before
+	transforming them for rendering.
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: draw.c: Tidy up mask drawing code Since the gerber HID now supports putting the outline on various
+	layers, we can also safely remove the commented out code for doing
+	that in draw.c
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Make benchmark()
+	implementation suit multiple drawing models Invalidate and process updates, rather than calling redraw directly.
+	This suits the coming GL renderer which will use an
+	invalidate/expose model.
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui.h: hid/gtk: Move set_layer function into GDK
+	specific code.  Not that this is particularly GDK specific, just that the GL
+	renderer hopefully coming soon needs to do some extra work.
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui.h: hid/gtk: Add hooks to tell the render when we
+	start/stop drawing This is necessary if the renderer requires certain state to be
+	configured before its drawing calls can be operated.
+
+2011-03-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-pinout-preview.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Add hooks
+	for the renderer to initalise drawing widgets
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Remove some unnecessary
+	gtk_widget_realize() calls.
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gerber/gerber.c: hid/gerber: Remove unused variables
+	outline_trace_size and absolute Left over accidentally from commit
+	35b137c3e193471e07f0873dfb149cebd059dca2
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui-top-window.c, src/hid/gtk/gui.h: hid/gtk: Create a
+	private structure for the gdk render backend This is in an effort to isolate some of its internals from the rest
+	of the GTK hid.  Also create a hook for configure events on the main drawing area to
+	allow the renderer to reconfigure its-self as necessary as the area
+	changes in size.
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-pinout-preview.c,
+	src/hid/gtk/gui-render-pixmap.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Move more GDK specific routines to
+	gtkhid-gdk.c
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gerber/gerber.c: hid/gerber: Remove option for thickness
+	of auto-generated outline layer We don't mess with the thickness of the user's hand-drawn outline,
+	and this option implies that we do. I cannot think of a sensible way
+	to present the option without confusing the user, so lets remove it.  Whilst the previous default of 10 mil was fine, 8 mil matches the
+	width used on the fab drawing, so I have changed to that value.
+
+2011-03-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/print.c: src/print.c: Fix fab drawing width text annotation.  The text hard-coded that the outline is 10mil, in fact it is not,
+	the current #define sets it at 8 mil. Report the actual value used.
+
+2011-03-23   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/hid/gtk/gui-misc.c: suppress annoying decimals in relative
+	coordinates The threshold for non-aligned object is increased because in case of
+	relative coordinates the round-off error may double.  Closes-bug: lp-699452 (sf-2117383) Closes-bug: lp-699169
+	(sf-1741659)
+
+2011-03-22   DJ Delorie * dj AT delorie dot com *
+
+	* src/file.c, src/global.h: Save footprints as footprints.  If the user loads a footprint as a PCB (i.e. File->Load) and tries
+	to save it, save only the elements in the pcb, not the whole pcb.
+
+2011-03-22   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.c, src/misc.h: Fix mkdir() in plugins.  Plugins include misc.h without having a valid config.h, which meant
+	they'd get a build error.  This patch moves the error check into
+	pcb's misc.c, which always has a config.h, and lets plugins have a
+	MKDIR() macro that uses pcb's detected values.
+
+2011-03-22   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/gerber/gerber.c: Add copy-outline mode New gerber export options to copy the outline layer onto one or more
+	other layers.  Some fabs want the outline separate; others want it
+	on a "working" layer.
+
+2011-03-22   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.c: Allow space between value and units in GetValue().
+
+2011-03-22   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/polygon.c: simplify an expression return to the form written in d5d894d977e610 (lost in
+	2d8dc8a3a3a551)
+
+2011-03-06   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/action.c, src/const.h, src/crosshair.c, src/gpcb-menu.res,
+	src/hid/gtk/gui-misc.c, src/misc.c, src/misc.h, src/pcb-menu.res,
+	src/set.c, src/set.h: (GTK HID) fix annoying decimals When in metric grid mode, the coordinates are displayed with
+	irregular tails of nines, e.g. "116.9998 43.9999" when the grid is
+	set to 1mm.  The fix includes using more precise metric-to-imperial and crosshair
+	calculations and fitting crosshair values into metric grids.  To address the issue in a really reliable way we need at least one
+	more separate variable, to explicitly mark the grid as metric (as
+	opposed to the displayed units); this flag should also be saved in
+	PCB files.  First reported by Kai-Martin Knaak.  Closes-bug: lp-699452 (sf-2117383) Closes-bug: lp-699169
+	(sf-1741659)
+
+2009-11-27   Ineiev * ineiev AT users dot berlios dot de *
+
+	* doc/pcb.texi: fix sections hierarhy
+
+2010-12-07   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/action.c, src/buffer.c, src/djopt.c, src/fontmode.c,
+	src/hid/gtk/gui-top-window.c, src/move.c: Cleanup action
+	documentation Add missing documentation * Display(ToggleLockNames) * Display(ToggleOnlyNames) * Select(Object) Remove invalid documentation * Connection(Measure) * Display(Scroll, Direction) * Display(Step, direction, amount, units) Cosmetic modifications: * dots at end of sentences * capital letter at start of sentences * remove some curious signs at the beginning of some lines.  * fix a couple of typos Closes-bug: lp-699506
+
+2011-03-12   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.h: Make io.h inclusion conditional on the mingw case.
+
+2011-01-23   Bob Paddock * bobpspam AT gmail dot com *
+
+	* configure.ac, m4/m4_ax_func_mkdir.m4, src/hid/common/hidinit.c,
+	src/hid/gtk/gui-config.c, src/misc.h: mkdir() takes only one
+	argument under WIN32.  Add check whether mkdir() is mkdir or _mkdir, and whether it takes
+	one or two arguments.  WIN32 mkdir takes one argument and POSIX
+	takes two.  Use MKDIR() macro from misc.h everyplace to get correct behavior
+	depending on platform.
+
+2011-01-23   Bob Paddock * bobpspam AT gmail dot com *
+
+	* configure.ac, src/action.c, src/hid/png/png.c, src/main.c: Use
+	rand() in place of random().  The 'random', 'srandom', functions are those from BSD derived
+	UNIX's, and may not be available under WIN32.  The 'rand' and
+	'srand' functions are required by the ANSI standard.  rand(): Return a random integer between 0 and RAND_MAX inclusive.
+	random(): Return a random long integer between 0 and RAND_MAX
+	inclusive.  Standard MinGW stdlib.h only supports rand() and RAND_MAX is limited
+	to the 32 bit value of 32767, which is significantly smaller than
+	that returned by random().  This turncation of range should not
+	effect usage in our application.  Added srand( time(NULL) ) to main.c to set the seed.
+
+2010-12-31   Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+
+	* po/LINGUAS: Added an entry for the Dutch translation in LINGUAS.
+
+2010-12-31   Bert Timmerman * bert dot timmerman AT xs4all dot nl *
+
+	* po/nl.po: First issue of the Dutch translation.
+
+2011-02-14   Krzysztof Kosciuszkiewicz * k dot kosciuszkiewicz AT gmail dot com *
+
+	* src/hid/gtk/gui-library-window.c: hid/gtk: handle CTRL-C in
+	library window Handle CTRL-C keypress in library window and copy name of the
+	selected component into the default GTK clipboard.  The change facilitates workflow where one browses footprints in pcb
+	and copies component names into gattrib or gschem.
+
+2011-03-10   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* doc/pcb.texi: Describe layer groupings in GTK+ GUI Add information to the documentation where the 'Edit Layer Grouping'
+	option can be found in the GTK+ GUI.  Closes-bug: lp-699175
+
+2011-03-07   Kai-Martin Knaak * kmk AT lilalaser dot de *
+
+	* doc/pcb.texi: expand the regexp appendix in pcb manual  * Add special character "|" to concatenate  * Add special character $" to denote the end of a string  * Mention the special meaning of brackets.   * Make the table of examples conform to         "example -> description"  rather than the other way round.   * Add examples for the use of "|", "[]" and "{}".  Closes-bug: lp-723931
+
+2011-01-31   Markus Hitter * mah AT jump-ing dot de *
+
+	* gts/.gitignore, tests/.gitignore: Clean up "git status" output.  Closes-bug: lp-710719
+
+2011-02-25   Stephen Ecob * silicon dot on dot inspiration AT gmail dot com *
+
+	* src/draw.c: better heuristics for paste openings Prohibit paste windows wider than mask ones (suggested by Kai-Martin
+	Knaak).  Suppress zero width paste windows (suggested by DJ Delorie).  Discussed on
+	http://www.seul.org/pipermail/geda-user/2011-February/052413.html Closes-bug: lp-718342
+
+2011-02-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: Fix auto-router - we need to actually increment
+	the dir variable! Was broken accidentally in commit
+	5f0f788dc12a10a3c01ade7cf00d5ed63922ca47 (Initial C++ compatibility patch)
+
+2011-02-21   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/polygon.c: fix polygon regression Introduced by 2d8dc8a3a3a55158b4e6278dd9f40588e4111c2d Reported by Kai-Martin Knaak
+
+2011-02-19   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/draw.c: Fix solder mask drawing glitch in pcb Applied patch from lp-699498 by rdrehmel Closes-bug: lp-699498
+
+2011-02-10   DJ Delorie * dj AT delorie dot com *
+
+	* src/strflags.c: Use onsolder for text, not auto.  The flags table wasn't using onsolder for text, which meant the
+	default "auto" was used for it, which doesn't make sense.  This
+	makes text on the solder side use the "onsolder" name instead.
+
+2011-01-27   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Conditionally use "class" or "c_class"
+	depending on the compiler language.  The X11 headers define some classes differently based on whether
+	they're being used for C or C++, so we have to make our access to
+	them conditional also.
+
+2011-01-27   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/batch/batch.c: C++ compatibility for the batch HID.  Just a keyword rename (xor).
+
+2011-01-27   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/dialogs.c, src/hid/lesstif/lesstif.h,
+	src/hid/lesstif/main.c, src/hid/lesstif/menu.c,
+	src/hid/lesstif/styles.c: C++ compatibility for the lesstif HID.  Minor changes - casts, consts, keyword renames, so that the lesstif
+	HID can be compiled as C or C++.
+
+2011-01-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/change.c: change.c: Restore and clear to polygons when
+	changing hole sizes This is more consistent with other code-paths and is useful if the
+	thermal gemoetry were to depend in on the hole size (which it
+	doesn't currently, but used to do before the clipper branch).
+
+2011-01-24   Markus Hitter * mah AT jump-ing dot de *
+
+	* configure.ac: configure.ac: remove the now obsolete test for
+	gethostname().  No longer required since commit
+	00c556b02dfa0113eab62b894eff4cf5d55b8e5f  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+	Affects-bug: lp-703914
+
+2011-01-23   Markus Hitter * mah AT jump-ing dot de *
+
+	* doc/gs/fb-blinker.pcb, doc/gs/fb-led-5.pcb, doc/gs/fb-led.pcb,
+	doc/gs/fb-smt.pcb, doc/gs/term-annulus-1.pcb,
+	doc/gs/term-clearance-1.pcb, doc/gs/term-element-1.pcb,
+	doc/gs/term-pad-1.pcb, doc/gs/term-pin-1.pcb,
+	doc/gs/term-platedhole-1.pcb, doc/gs/term-tented-1.pcb,
+	doc/gs/term-thermal-1.pcb, doc/gs/term-thickness-1.pcb,
+	doc/pad.pcb, doc/puller.pcb, doc/thermal.pcb, example/LED.pcb,
+	example/LED2.pcb, tests/inputs/bom_general.pcb,
+	tests/inputs/gcode_oneline.pcb, tests/inputs/gerber_oneline.pcb,
+	tutorial/tut1.pcb: Remove all date, user and host comments on all
+	test and sample files.  These items are no longer written, so sample files shouldn't contain
+	them either. Usually, this was line 2...4.   Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+	Affects-bug: lp-703914
+
+2011-01-23   Markus Hitter * mah AT jump-ing dot de *
+
+	* src/file.c: src/file.c: don't write user name or date to the
+	stored layout file.  Notes from Peter Clifton:   The consensus from bug lp-703914 was that that recording the
+	  username, data and host which produced the file is unnecessary and
+	  causes version control clashes which are otherwise unnecessary.   Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+	Closes-bug: lp-703914
+
+2011-01-22   Bob Paddock * bobpspam AT gmail dot com *
+
+	* src/action.c: Compiling with MinGW requires cast to const for
+	_spawnvp to compile without warning.
+
+2011-01-22   Bob Paddock * bobpspam AT gmail dot com *
+
+	* src/hid/gcode/gcode.c, src/hid/nelma/nelma.c: Add missing
+	Message() prototype to remove warning about same.
+
+2011-01-22   Bob Paddock * bobpspam AT gmail dot com *
+
+	* src/polygon1.c: Initialize min_dist to zero before using in if().
+
+2011-01-23   Newell Jensen * pillar2012 AT gmail dot com *
+
+	* configure.ac, src/action.c, src/autoplace.c, src/autoroute.c,
+	src/change.c, src/create.c, src/dbus-pcbmain.c, src/draw.c,
+	src/drill.c, src/edif.y, src/file.c, src/find.c, src/free_atexit.c,
+	src/global.h, src/heap.c, src/hid.h, src/hid/bom/bom.c,
+	src/hid/common/actions.c, src/hid/common/draw_helpers.c,
+	src/hid/common/extents.c, src/hid/common/flags.c,
+	src/hid/common/hid_resource.c, src/hid/common/hidinit.c,
+	src/hid/common/hidnogui.c, src/hid/gcode/gcode.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-command-window.c,
+	src/hid/gtk/gui-config.c, src/hid/gtk/gui-dialog-print.c,
+	src/hid/gtk/gui-dialog-size.c, src/hid/gtk/gui-dialog.c,
+	src/hid/gtk/gui-drc-window.c, src/hid/gtk/gui-library-window.c,
+	src/hid/gtk/gui-log-window.c, src/hid/gtk/gui-misc.c,
+	src/hid/gtk/gui-netlist-window.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui-pinout-preview.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui-utils.c, src/hid/gtk/gui.h, src/hid/nelma/nelma.c,
+	src/hid/png/png.c, src/hid/ps/eps.c, src/hid/ps/ps.c, src/insert.c,
+	src/intersect.c, src/main.c, src/misc.c, src/move.c, src/mtspace.c,
+	src/mymem.c, src/netlist.c, src/parse_l.l, src/parse_y.y,
+	src/polygon.c, src/polygon1.c, src/puller.c, src/rats.c,
+	src/rats.h, src/report.c, src/rtree.c, src/toporouter.c,
+	src/undo.c, src/vector.c, src/vendor.c: Initial C++ compatibility
+	patch Doesn't cover lesstif or batch hids.  Makes source code build
+	without warnings on C, and build with warnings on C++.
+
+2011-01-23   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/netlist.c: Add header for Draw() prototype.  Silences a warning building the lesstif hid.
+
+2011-01-23   DJ Delorie * dj AT delorie dot com *
+
+	* src/edif.y: FindContext() takes an int, not a pointer.
+
+2011-01-14   Markus Hitter * mah AT jump-ing dot de *
+
+	* INSTALL: INSTALL: add instructions on how to create configure.  Closes-bug: lp-702484
+
+2011-01-07   Jared Casper * jaredcasper AT gmail dot com *
+
+	* configure.ac: Heed and remove warning issued by autoconf 2.68.  Starting in autoconf 2.68, "the macros AC_PREPROC_IFELSE,
+	AC_COMPILE_IFELSE, AC_LINK_IFELSE, and AC_RUN_IFELSE now warn if the
+	first argument failed to use AC_LANG_SOURCE or AC_LANG_PROGRAM to
+	generate the conftest file contents." Closes-bug: lp-700180  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac *
+
+2009-02-20   Ineiev * ineiev AT users dot sourceforge dot net *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Fix disappearing
+	reference mark Fixes the following symptoms (Bug sf-1882970 reported by Steven
+	Michalske): (0) when the cursor leaves the window,   the mark disappears (with attached objects);   when the cursor enters again, the mark   is redrawn only if there are any attached objects; (1) When there are no attached objects,   the mark disappears on button press, but is not   redrawn again when button press and release form   a click.   (Commit message edited by Peter Clifton * pcjc2 AT cam dot ac dot
+	uk *)  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk * Closes-bug: lp-699244 Closes-bug: lp-699453
+
+2011-01-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lpr/lpr.c, src/hid/ps/ps.c: Fix postscript page scaling Calculate page sizes *after* selecting the page, not before.
+
+2011-01-10   DJ Delorie * dj AT delorie dot com *
+
+	* src/misc.c: Calculate text bounding boxes based on that actual
+	drawn glyphs.  Previously, a text's bounding box was calculated based on overall
+	font metrics, not the actual glyphs.  This meant that text clearing
+	a polygon would have far more space around it than called for.
+
+2011-01-10   DJ Delorie * dj AT delorie dot com *
+
+	* src/file.c: Make new PCB active during parsing Set the global PCB pointer to the "new" pcb while it's being loaded.
+	Some of the creation functions use the DRC values in PCB to compute,
+	for example, bounding boxes.  Before, it used whatever was hanging
+	around in the previous PCB (or the default values).
+
+2011-01-09   DJ Delorie * dj AT delorie dot com *
+
+	* Makefile.am, configure.ac, gts/.gitignore, gts/Makefile.am,
+	gts/NOTES, gts/bbtree.c, gts/boolean.c, gts/cdt.c, gts/container.c,
+	gts/curvature.c, gts/edge.c, gts/eheap.c, gts/face.c, gts/fifo.c,
+	gts/graph.c, gts/gts-private.h, gts/gts.h, gts/heap.c,
+	gts/hsurface.c, gts/iso.c, gts/isotetra.c, gts/kdtree.c,
+	gts/matrix.c, gts/misc.c, gts/named.c, gts/object.c, gts/oocs.c,
+	gts/partition.c, gts/pgraph.c, gts/point.c, gts/predicates.c,
+	gts/predicates.h, gts/psurface.c, gts/refine.c, gts/rounding.h,
+	gts/segment.c, gts/split.c, gts/stripe.c, gts/surface.c,
+	gts/triangle.c, gts/tribox3.c, gts/vertex.c, gts/vopt.c,
+	src/Makefile.am, src/gts/.gitignore, src/gts/NOTES,
+	src/gts/bbtree.c, src/gts/boolean.c, src/gts/cdt.c,
+	src/gts/container.c, src/gts/curvature.c, src/gts/edge.c,
+	src/gts/eheap.c, src/gts/face.c, src/gts/fifo.c, src/gts/graph.c,
+	src/gts/gts-private.h, src/gts/gts.h, src/gts/heap.c,
+	src/gts/hsurface.c, src/gts/iso.c, src/gts/isotetra.c,
+	src/gts/kdtree.c, src/gts/matrix.c, src/gts/misc.c,
+	src/gts/named.c, src/gts/object.c, src/gts/oocs.c,
+	src/gts/partition.c, src/gts/pgraph.c, src/gts/point.c,
+	src/gts/predicates.c, src/gts/predicates.h, src/gts/psurface.c,
+	src/gts/refine.c, src/gts/rounding.h, src/gts/segment.c,
+	src/gts/split.c, src/gts/stripe.c, src/gts/surface.c,
+	src/gts/triangle.c, src/gts/tribox3.c, src/gts/vertex.c,
+	src/gts/vopt.c: Add top-level build changes to enable C++
+	compilation This patch moves GTS (gts.sourceforce.net) out of the src/ tree and
+	gives it its own Makefile, and changes src/Makefile.am so that C++
+	compilation is used if configure requests it.  ./configure --enable-build-with-cxx ./configure
+	--disable-build-with-cxx (the default is disable at the moment) Makefiles with these lines will use C++ if the user requests it:  CC = @CC_OR_CXX@  CFLAGS = @CC_OR_CXX_FLAGS@
+
+2011-01-07   DJ Delorie * dj AT delorie dot com *
+
+	* src/buffer.c: Support far-side polygons when converting buffer to
+	element.
+
+2011-01-07   DJ Delorie * dj AT delorie dot com *
+
+	* src/action.c: Fix command-injection bug in Import() Use "--" before the list of schematics, to prevent the src list from
+	containing other gnetlist options (or arbitrary guile code)
+
+2011-01-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Fix prelight state for
+	layer button to show current status One of the ways we identify whether a layer is switched on or off is
+	by changing the background colour of the GtkToggleButton
+	representing that layer.  Fix the prelight (mouse-over) background style to match the current
+	button state, so as to give immediate feed-back when the user
+	presses the button, and make the interface less confusing.  Closes-bug: lp-699150
+
+2010-12-28   Felix Ruoff * Felix AT posaunenmission dot de *
+
+	* src/hid/gtk/gui-command-window.c, src/hid/gtk/gui-dialog-size.c,
+	src/hid/gtk/gui-misc.c, src/hid/gtk/gui-output-events.c,
+	src/hid/gtk/gui-top-window.c: hid/gtk: Modify window title to match
+	the GNOME Human Interface Guidelines Modifies the title of the main window as suggested in the GNOME HIG:
+
+	(http://library.gnome.org/devel/hig-book/nightly/windows-primary.html)The following will be shown there:  - A star (*) if the layout has unsaved changes (this patch also    removes this sign from the statusbar, where it currently is)  - The name of the layout, if set in the config-dialog    ('Put layout name on the window title bar')  - The filename (in braces, if layout name is shown)  - The string " - PCB" Closes-bug: lp-699509  Acked-by: Peter Clifton * pcjc2 AT cam dot ac
+	dot uk * (Also modified commit message)
+
+2011-01-05   DJ Delorie * dj AT delorie dot com *
+
+	* src/select.c: Fix "select pads on hidden far side" If an SMT pad is on the far side of the board, and the far side
+	layer is not visible, do not select that pad.  Exception: if that
+	pad is part of an element which *is* on the visible side, the pad is
+	selected as part of selecting the whole element.  But, elements on
+	the far side (the common case) won't have their pads selected when
+	those pads aren't visible.
+
+2011-01-04   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/main.c: Allow zoom-out-past-board for Lesstif The lesstif GUI has been modified two ways: 1. You may zoom out "past" the board, making the board smaller than
+	the window.  Note that the crosshair is still limited to the board's
+	extents.  2. You may pan the board so that edges need not be on the edge of
+	the window, such as centering an edge for inspection.  Note that the smallest the board can be is 1/10th the window size.
+	While this is arbitrary, it's easily changed if needed, and avoids
+	problems with miniscule boards (and thus maxiscule coordinate
+	systems).  The 'v' key still zooms the board to fit, but now centers the board
+	in the window rather than placing it at the upper left.
+
+2011-01-04   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/netlist.c: ResetConncetions -> ResetConnections Typo.
+
+2011-01-04   DJ Delorie * dj AT delorie dot com *
+
+	* src/hid/lesstif/menu.c: Fix lesstif segfault in key handling.  When a key handler calls an action, the key table might change
+	before the action returns (via nested key handlers), so save a
+	pointer to the table we're parsing to ensure it will be around when
+	we return.
+
+2011-01-04   DJ Delorie * dj AT delorie dot com *
+
+	* lib/geda.inc: Add 80-pin headers.  Add 80 pin DIP and Ribbon 0.1" header macros to the usual list.
+
+2010-12-28   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-netlist-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Fix warping pointer to correct location
+	from netlist window We weren't updating the pointer location after having panned the
+	connection into the center of the screen.  Also fixes the open-coded panning code to work for flipped views.
+	The patch is pretty horrible at best, but appears to fix the issue.  Unfortunately the locical call to use (the "Center" action) cannot
+	be made through the generic action code as we need to specify the
+	location explicitly. We could perhaps export the Centre action
+	function, or refactor it as a wrapper around a helper function which
+	we would then export and call.  I aim to eventually rework the GTK HID's coordinate transforms
+	(including flipped views), event handling, view panning and pointer
+	warping in order to give greater sepeatation between the renderer
+	agnostic parts of the HID and the renderer. This will be needed for
+	the 3D portions of the PCB+GL branch.  It seems most sensible to start refactoring from a state where the
+	existing code at least functions correctly (even if it isn't
+	pretty), rather than work in fixes as I refactor.
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c: hid/gtk:
+	Remove unused Vx2 and Vy2 functions from gtkhid-{main,gdk}.c
+
+2010-12-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Remove unused file scope
+	variables event_x and event_y
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Compute warp pointer offset
+	without reading current position This is closer to the way the old code which used the an
+	XWarpPointer call worked, and makes the two code-paths where we warp
+	the pointer consistent. Also, remove some unnecessary comments which
+	were more relevant to explain why we previously had too
+	implementations.
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-main.c: hid/gtk: Fix "Center" action in a
+	couple of ways We need to update the adjustments together otherwise the center
+	action will only work on one axis at a time.  Fix typo for out-of bounds check which mixed width and height.
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* configure.ac, src/hid/gtk/gtkhid-main.c: hid/gtk: Clean up mouse
+	warping code now we require a later GTK version Remove the X11 specific implementation and remove some comments in
+	the GDK one which were more relevant to explain why we previously
+	had two implementations.
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-dialog.c: Cleanup conditional code now we require
+	a later GTK version
+
+2010-12-27   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* configure.ac: Bump required GTK version in configure.ac test to
+	2.12 This is required, as we utilise some of the newer APIs.  NB: GTK+ 2.12.0 was released in September 2007
+
+2010-12-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui.h: hid/gtk: Remove unused DRAW_Z, VIEW_Z macros
+
+2010-12-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c: hid/gtk: Don't avoid panning when
+	further X11 events are pending Since we are using motion hints, we should not get bogged down with
+	motion events, so we should probably just act upon them.
+
+2010-12-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-output-events.c, src/hid/gtk/gui-top-window.c,
+	src/hid/gtk/gui.h: hid/gtk: Use motion notify events to avoid too
+	rapid pointer events Not fixing a specific problem - just a backport from the GL branch.
+
+2010-12-25   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/find.c, src/find.h, src/hid/gtk/gui-netlist-window.c,
+	src/hid/lesstif/netlist.c, src/rats.c, src/select.c: Revert undo
+	changes relating to RatFindHook calls This reverts commit 1aac06b665330507ca42f380e38f32875a979cd9          and commit d3b508ca272b7d89aa27f552ab78943f9bed27f9.  I made a mistake by assuming the undo data saved by the RatFindHook
+	(when looking up nets to select) was redundant. I had presumed this
+	since the flags being set are reset again before we finish
+	processing.  What actually happens, is that further processing sets the SELECTED
+	flag on the FOUND objects. Undo data is saved for the SELECTED flag
+	addition, which stores the previous flags of the object. When an
+	undo is performed, it also restores the FOUND flag we wanted to keep
+	unset.  In order to get back to our original state, we need the RatFindHook
+	to store undo information for when the FOUND flag was initially set.  The ResetConnections() call after the RatFindHook should still be ok
+	not saving undo information, as it only touches object flags which
+	will be restored anyway by the undo data now saved by the
+	RatFindHook.  NB: Revert was manually modified to retain an indenting change in
+	find.c and to add the required changes to select.c, which had
+	additions using the RatFindHook API since the above reverted commits
+	were made.
+
+2010-12-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/find.c, src/report.c, src/set.c: Remove Draw()
+	call from ResetFound*() Let the caller do it This allows multiple changes to be grouped into one repaint
+	operation.  Use this where appropriate, such as the Netlist lookup
+	functions.
+
+2010-12-23   Martin Kupec * martin dot kupec AT kupson dot cz *
+
+	* src/action.c, src/const.h, src/select.c: Add NetByName to the
+	select action options v2: Check Net name appropriately v3: Ensure we set the changed flag  Reviewed-by: Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+2010-12-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/find.c, src/find.h, src/hid/gtk/gui-netlist-window.c,
+	src/hid/lesstif/netlist.c, src/rats.c: find.c: Remove "undo"
+	parameter to RatFindHook Since all callers pass false for the "undo" parameter since the last
+	commit, remove it from the function prototype.  NB: The file-global variable "User", which it previously set can be
+	assumed to be false, as it defaults to false - and is restored after
+	any code which temporarily sets it to true.
+
+2010-12-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c, src/hid/lesstif/netlist.c: We
+	don't need the RatFindHook to save undo state when doing netlist
+	lookup We already save undo information to get to a known state when
+	resetting the FOUND flags. Since we later reset back to this state,
+	we don't need to save undo data.
+
+2010-12-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c, src/hid/lesstif/netlist.c: Fix
+	netlist selection to save undo information for wiped "FOUND" flags When we wipe the found flags on objects, we should also queue them
+	for redraw - this fixes that too, as the ResetConnections() argument
+	controls both redraw AND saving undo data.
+
+2010-12-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gui-netlist-window.c, src/hid/lesstif/netlist.c: 
+	Remove unneeded Undo serial number save / restore in netlist lookup The RatFindHook function does not call anything which will increment
+	the Undo serial number, so the save / restore calls are not
+	required.
+
+2010-12-24   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/autoroute.c, src/find.c, src/find.h,
+	src/hid/gtk/gui-netlist-window.c, src/hid/lesstif/netlist.c,
+	src/rats.c, src/report.c, src/set.c, src/toporouter.c: Fix broken
+	undo handling for ResetFound*() and ResetConnections() Many callers have this idiom:   SaveUndoSerialNumber ();   ResetFoundPinsViasAndPads (AndDraw);   RestoreUndoSerialNumber ();   ResetFoundLinesAndPolygons (AndDraw); The intent is to squash the two operations into one undo operation.
+	The ResetFound* functions DO increment the Undo serial number but
+	ONLY if that particular function makes a change.  Assume for the example that the first ResetFound* call makes some
+	change and increments the serial number. This is then reset by the
+	caller. If the second ResetFound* call doesn't find anything, there
+	is no overall increment to the serial number.  Move the undo serial number handling out of the ResetFound* calls,
+	and let the callers increment the serial number if desired. To
+	facilitate this, return a boolean value from these functions to
+	indicate whether any changes were made which could be undone.  For convenience, expose previously static find.c function
+	ResetConnections() in order to avoid repeating Undo handling in each
+	caller to the two ResetFound* functions which are often called
+	together.
+
+2010-12-23   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/hid/gtk/gui-netlist-window.c,
+	src/hid/lesstif/netlist.c, src/select.c: select.c: Remove Draw()
+	call from SelectConnection Make callers responsible for calling the final Draw(), to avoid
+	multiple redraws if other operations are to occur, such as changing
+	"FOUND" flags on objects after making the selection.
+
+2010-12-23   Patrick Bernaud * patrickb AT chez dot com *
+
+	* src/free_atexit.h: Fix substitutions for leaky_*alloc functions
+
+2010-12-22   Tibor Palinkas * geda AT igor2 dot repo dot hu *
+
+	* src/hid/gtk/gui-top-window.c: hid/gtk: Use leaky_* functions for
+	deliberate leaks in ghid_ui_info_append Allocate cached temporary memory with the leak_* memory allocation
+	wrapers which allow these to be freed at exit.
+
+2010-12-22   Tibor Palinkas * geda AT igor2 dot repo dot hu *
+
+	* src/free_atexit.c, src/free_atexit.h: free_atexit.c: Add
+	leaky_calloc() function for deliberately leaked calloc's Stores a pointer to the calloc'd memory to be free'd at exit of the
+	program. Returned memory must not be free'd manually.
+
+2010-12-22   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/report.c: report.c: Fix missing return value
+
+2010-12-22   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/toporouter.c: toporouter.c: Make inline functions "static
+	inline" gcc builds break for CFLAGS="-g" only builds (no -O2). Inlineing is
+	only performed when optimisation is enabled, and unless we make all
+	local inlined functions "static inline", it does not emit the
+	non-inlined assembly for them, resulting in undefined symbols at
+	link time.
+
+2010-12-22   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/gtk/gtkhid-gdk.c, src/hid/gtk/gtkhid-main.c,
+	src/hid/gtk/gui-output-events.c, src/hid/gtk/gui.h: hid/gtk: Move
+	more gdk specific drawing routines to gtkhid-gdk.c
+
+2010-12-22   Tibor Palinkas * geda AT igor2 dot repo dot hu *
+
+	* src/Makefile.am, src/free_atexit.c, src/free_atexit.h, src/main.c: 
+	Add leaky_{malloc,realloc} functions for deliberate non-free'd
+	allocations These are to be used for local allocations made and cached for the
+	lifetime of the program (never free'd). Typically, these are stored
+	in a static char * variable (or similar) within a function.  The leaky_*() functions store the addresses of all memory they
+	allocate, and for debugging builds, free it upon exit of the
+	program, thus allowing leak detectors such as valgrind to ignore our
+	deliberate "leaks".  The memory returned by leaky_*() must not be free'd.  Build system and PCB integration, and leaky_atexit.c reindenting by
+	 Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+2010-12-21   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/parse_l.l: parse_l.l: Fix warning implicit definition of
+	function â??CreateBeLenientâ?? Warning was introduced in commit
+	e8dd18a2f7b83c6108d2c9398903d4be92e22d4c The required prototype was
+	added to create.h, but create.h was not included in parse_l.l Note to developers: Please "make clean" and build with "make -s" before pushing changes.
+	This kind of bug is really easy to catch, and I just recently spent
+	a log of effort cleaning up PCB's compile so we can catch real bugs! Pretty please?
+
+2010-12-20   Martin Kupec * martin dot kupec AT kupson dot cz *
+
+	* src/action.c: action.c: Change macro ARG, to return NULL instead
+	of 0 When the argument number requested does not exist, return NULL, not
+	0, as this is more in keeping with the type (char *) normally
+	returned.   Commit message modified by Peter Clifton * pcjc2 AT cam dot ac dot
+	uk *
+
+2010-12-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : commit 7392b020deca9ef155f3b1449f1ad8fac6d6083b  Author: Peter
+	Clifton * pcjc2 AT cam dot ac dot uk * Date:   Mon Dec 20 13:54:41
+	2010 +0000
+
+2010-12-20   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/crosshair.c, src/search.c, src/search.h: Improve grid snapping
+	heuristics
+
+2010-12-19   DJ Delorie * dj AT delorie dot com *
+
+	* src/create.c, src/create.h, src/parse_l.l: Allow via copper to
+	overlap; preserve illegal vias from file.  Reduce "overlapping via" tests to check for overlapping drills, not
+	overlapping copper.  If a file being loaded has "illegal" vias, load
+	them anyway - the check only happens at create time, if the user
+	figures out a way around it, preserve it.
+
+2010-12-16   DJ Delorie * dj AT delorie dot com *
+
+	* src/rats.c: Further work on rats patch.  Add a lot of comments to clarify what's happening in that function
+	(the previous patch was bogus because the function re-uses a
+	structure in an unintended way).  Fixed the logic to be mew
+	paranoid.
+
+2010-12-16   DJ Delorie * dj AT delorie dot com *
+
+	* src/rats.c: Fix rats bug (SF 3137324) When adding rats from a netlist, we want to skip nets with too few
+	connections, not netlists with too few nets.
+
+2009-02-20   Ineiev * ineiev AT users dot sourceforge dot net *
+
+	* src/report.c: report object coordinates in selected units SF patch 1621915 HOW TO TEST load a pcb; Ctrl-R on objects of different types; the
+	reported units should be either mm or mils according to selected
+	units 04 Oct 2010: merged with Joerg Wunsch's patch 2995918 "Add
+	human-readable info to polygon report"
+
+2010-12-12   Ineiev * ineiev AT users dot berlios dot de *
+
+	* src/polygon.c: [PATCH] fix bug 2793480 (vias/arcs-to-polygon
+	clearances) frac_circle(): introduce radius_adjustment factor to make the
+	polygon outline the arc rather than connet points on the arc ArcPolyNoIntersect(): compute number of segments so that polygon
+	diverges from the arc no more than 0.02 of required thickness;
+	adjust outer "arc" radius like in frac_circle()
+
+2010-12-11   DJ Delorie * dj AT delorie dot com *
+
+	* src/file.c: Check for special name "(local)" to mean "." When expanding a tree of footprints, we want the symbolic name
+	"(local)" to mean the "." subdir.  Now that we check for chdir()
+	failures, we can no longer "just work" because the chdir didn't
+	change directories.
+
+2010-12-11   David Dandar * ddandar AT users dot sourceforge dot net *
+
+	* src/action.c: Let RealignGrid align grid to a pin or pad snap.  SF patch 2476262: Realign grid has been broken for a while. Darn mm and mil mix
+	components were killing me. I got desperate and fixed it, but I'm
+	not sure if it's the right fix. It does work though. Hope this
+	helps.
+
+2010-12-11   Seb James * seb AT esfnet dot co dot uk *
+
+	* src/rats.c: SF patch 1674895: This crash occurs in rats.c, around line 610 in the function
+	DrawShortestRats() where CreateNewRat() is called with some
+	arguments which don't exist.  It occurred for me when I tried to "optimize rats nest" on an
+	invalid design.  There's no check in DrawShortestRats() that the firstposition and
+	secondposition pointers are not NULL.  firstposition->X (and Y) and
+	secondposition->X (and Y) are passed as arguments to CreateNewRat().
+	It is possible in some cases that firstposition and secondposition
+	are not reset from 0 in the code preceding the call to
+	CreateNewRat(). In these cases a segfault will occur.
+
+2010-10-09   Cesar Strauss * cstrauss AT not2005 dot cea dot inpe dot br *
+
+	* configure.ac, src/action.c: Check for the _spawnvp function and
+	use it if present.
+
+2010-10-09   Cesar Strauss * cstrauss AT not2005 dot cea dot inpe dot br *
+
+	* src/.gitignore: Ignore generated files on Windows.
+
+2010-12-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/buffer.c, src/command.c, src/create.c,
+	src/drill.c, src/file.c, src/find.c, src/hid/common/flags.c,
+	src/hid/gerber/gerber.c, src/hid/gtk/gtkhid-gdk.c,
+	src/hid/gtk/gui-dialog-size.c, src/hid/gtk/gui-top-window.c,
+	src/hid/lesstif/main.c, src/hid/lesstif/menu.c,
+	src/hid/lesstif/styles.c, src/intersect.c, src/main.c, src/misc.c,
+	src/mymem.c, src/mymem.h, src/netlist.c, src/parse_l.l,
+	src/parse_y.y, src/rats.c, src/remove.c, src/report.c, src/undo.c: 
+	Remove My* memory allocation routines. Just use the standard APIs
+	directly This means the following changes:   1.  Replace all calls to MyCalloc()  with calls to calloc()   2.  Replace all calls to MyMalloc()  with calls to malloc()   3.  Replace all calls to MyRealloc() with calls to realloc()   4.  Replace all calls to SaveFree()  with calls to free()   5a. Where the MYFREE(x) macro is used and its pointer clearing
+	      side- effect is required, call free (x); and (x) = NULL; directly.    5b. Where the MYFREE(x) macro is used, and (x) is immediately re-       assigned, or its location free'd or zero'd, skip the (x) =
+	      NULL;   6. Replace all calls to MyStrdup() with calls to the STRDUP(x)
+	     macro, which expands to (((x) != NULL) ? strdup (x) : NULL).  NB: The previous commit already replaced various known "safe" calls
+	    of MyStrdup() with strdup(), when the argument is known to be
+	non-NULL.    1,2,3 and 6. mean that we discard the following features of the   mymem.c allocators:     7. Logging messages when MEM_DEBUF defined     8. Logic to assign 1 unit of memory if 0 is requested     9. Allocation failure handling via MyFatal() -> EmergencySave()  With feedback from Stephen Ecob * silicon dot on dot inspiration AT
+	gmail dot com * 7. Is old debug code which is rarely (if ever) used. Current debug
+	   tools such as Valgrind can do a much better job of memory debugging
+	now.  8. This is really papering over the possibility of a caller bug, and    should never have been included in the first place.  9. This is unlikely to actually ever save someone from loosing their
+	PCB.  Patch created with the assistance and testing of  Stephen Ecob *
+	silicon dot on dot inspiration AT gmail dot com *
+
+2010-12-07   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/buffer.c, src/copy.c, src/create.c, src/file.c,
+	src/fontmode.c, src/main.c, src/misc.c, src/move.c, src/netlist.c,
+	src/rats.c: Convet some "safe" usage of MyStrdup to plain strdup These cases are ones where we know the caller will not risk passing
+	a NULL string to duplicate.  Patch created with the assistance and testing of  Stephen Ecob *
+	silicon dot on dot inspiration AT gmail dot com *
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/create.c: Ensure CreateNewText() returns NULL if called with
+	NULL text.  Ensuring that text will not be NULL allows us to replace the
+	MyStrdup call with a simple strdup.
+
+2010-12-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c: file.c: c Attempt to handle failure of
+	GetWorkingDirectory() and chdir() Report the error to the user if any GetWorkingDirectory or chdir
+	call fails. Add attempts to change back to the original working
+	directory on error paths.  Ideally, these functions would be re-implemented to operate without
+	changing the current working directory at all.
+
+2010-12-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c, src/change.c: Plug some memory leaks of strings
+	returned from gui->prompt_for()
+
+2010-12-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/vendor.c: vendor.c: Fix memory leak and unused variable in
+	ActionLoadVendorFrom() Also, don't bother testing x != NULL before calling free (x).
+
+2010-12-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/common/hidnogui.c: hid/common: Fix / re-write
+	nogui_{prompt_for,fileselect,confirm_dialog}() Fixes some pretty nasty bugs in these functions: 1. These functions must return allocated memory, strdup will do
+	nicely.  2. fgets will insert the newline character into the buffer, so we
+	   need to check if we just got a '\r' or '\n' as our first character,
+	    not just '\0' when deciding whether to return the default string or
+	not.  3. DO NOT strcpy a the default string...     we don't know if it will overflow our buffer 4. For the "fileselect" case, return NULL if the user didn't give us
+	   a filename, and the caller didn't specify a default string. Prompt
+	   for will return strdup (""), equivalent to what it previously did.
+
+2010-12-10   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c: hid/batch: Use hidnogui as a default base
+	hid to avoid code duplication
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Mark some strings as translateable in
+	ActionImport()
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c, src/misc.h, src/mymem.c, src/mymem.h: Make the strings
+	passed to AttributePutToList and MyStrdup (const char *) Silences some compiler warnings when using const char * strings.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/dialogs.c, src/hid/lesstif/main.c,
+	src/hid/lesstif/menu.c, src/hid/lesstif/netlist.c,
+	src/hid/lesstif/styles.c: hid/lesstif: Revert some Boolean->bool
+	type changes as required by Xt* APIs This is a partial revert of commit
+	ad5eb5a165442be38624aa622beeb57dc1d2afbd For consistency, I have also reverted the changes of True->true and
+	False->false when calling  X11 APIs.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/lesstif/dialogs.c: hid/lesstif: Use an intervening size_t
+	casts to aovid compiler warnings This is to avoid the compiler warning us what we already know.. that
+	we are passing an integer value cast into what might be a different
+	sized pointer. (On 64 bit builds).
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c: hid/batch: Add some missing header files
+	for prototypes
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am, src/hid/batch/batch.c, src/hid/common/hidinit.h,
+	src/hid/gcode/gcode.c, src/hid/gerber/gerber.c, src/hid/lpr/lpr.c,
+	src/hid/nelma/nelma.c, src/hid/png/png.c, src/hid/ps/eps.c,
+	src/hid/ps/ps.c: hid/common: Provide a header to define
+	hid_parse_command_line() Avoids having each caller having to pull it in with an extern
+	declaration.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/Makefile.am, src/hid/batch/batch.c, src/hid/common/actions.h,
+	src/main.c: hid/common: Provide a header file to define
+	print_actions() Avoids having each caller having to pull it in with an extern
+	declaration.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid/batch/batch.c: Fix function prototypes and dummy return
+	values for batch HID Most of these are dummy functions, but we should get the prototypes
+	right! Also, return 0 from dummy functions which are supposed to
+	return an integer.  Fixes various compiler warnings.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/hid.h, src/hid/batch/batch.c, src/hid/common/hidnogui.c,
+	src/hid/gtk/gtkhid-main.c, src/hid/gtk/gui-dialog.c,
+	src/hid/gtk/gui.h, src/hid/lesstif/dialogs.c,
+	src/hid/lesstif/lesstif.h: HID: Make arguments to the prompt_for
+	method const char *, not char * Avoids compiler warnings calling gui->prompt_for() with a const char
+	*
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: Rename "r" variables used in calls to GetValue() to
+	be more descriptive A purely cosmetic change.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: action.c: Fix data types in GetValue calls We passed an (int *) rather than a (bool *) in ActionImport() and
+	parse_layout_attribute_units()
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/misc.c, src/misc.h: Change unmodifed parameters to GetValue to
+	const char * Silences some compiler warnings in action.c
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/autoroute.c: autoroute.c: #if 0 out an unused static function
+	add_clearance() Silences compiler warning.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/djopt.c: djopt.c: #if 0 out an unused static function
+	nudge_corner() Silences a compiler warning.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/buffer.c: buffer.c: Declare variables before code in
+	ActionFreeRotateBuffer() Avoids compiler warning "ISO C90 forbids mixed declarations and
+	code"
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/change.c: change.c: Remove unused variable in
+	ChangeElementText()
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: Remove unused variables in ActionElementList() and
+	ActionImport()
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/action.c: Add missing return value in ActionImport()
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/rtree.c: Silence used function warning for __r_tree_is_good()
+	(Non-debug builds) __r_tree_is_good() and its helper functions are only used when
+	debugging, and are called from assert() macros. If "NDEBUG" is
+	defined, these expand to nothing, and the function is not called.  Wrap __r_tree_is_good() and its helper, __r_tree_node_is_good() with
+	#ifndef NDEBUG
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/file.c: file.c: The "elapsed" variable in LoadPCB is debugging
+	only Silence compiler warning by moving it inside the #ifdef DEBUG
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/flags.c: flags.c: Avoid compiler warning when casting our
+	OffsetOf value Strictly, our OffsetOf calculation "could" return a number as large
+	as the pointer size on the system - so the compiler will complain
+	when we squash it directly into an int. Casting via a size_t will
+	avoid the warning.  Our structure offsets are small, so this is safe - if somewhat ugly.
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/toporouter.c: Toporouter: Comment unused debug variable Silences compiler warning
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/gts/pgraph.c: gts: Comment some unused variables left as
+	placeholders Silences compiler warnings
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/gts/edge.c: gts: Add cast to silence compiler warning
+
+2010-12-09   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/parse_l.l, src/res_lex.l: *.l: Add #define YY_NO_INPUT to
+	avoid defining unused "input()" function Silences compiler warnings
+
+2010-12-09   Stephen Ecob * silicon dot on dot inspiration AT gmail dot com *
+
+	* src/buffer.c: Fix SmashBufferElement(), broken by fixing a memory
+	leak in FreeDataMemory() Commit 466b0183758ef3ca44623c43de60a233b175d2ad broke
+	SmashBufferElement() by changing FreeDataMemory() (which
+	SmashBufferElement() calls via ClearBuffer()).  SmashBufferElement()
+	depended on the memory leak of Data->Element in FreeDataMemory().  This patch removes the dependence on the leak.   Commit-message-reformatted-by: Peter Clifton * pcjc2 AT cam dot ac
+	dot uk *
+
+2010-12-07   Stephen Ecob * silicon dot on dot inspiration AT gmail dot com *
+
+	* src/misc.c, src/mymem.c: Fixed some memory leaks associated with
+	the global PCB structure.
+
+2010-11-28   DJ Delorie * dj AT delorie dot com *
+
+	* src/djopt.c: Store is_pad flag for each line rather than trying to
+	deduce if a line is a pad or not.
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* : commit 093a606b182229c8e28118ace1be7d6b6ad5cf7f  Author: Peter
+	Clifton * pcjc2 AT cam dot ac dot uk * Date:   Fri Nov 26 03:26:08
+	2010 +0000
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon1.c: Various speedups to the polygon code.  Attempt to fix polygon slowness by avoiding the need to create a
+	completely new polygon for each boolean operation. This mostly
+	relies upon r-tree searches to find contours to operate on - rather
+	than searching each in turn.  We avoid labelling all of the "A" polygon's contours, use the
+	contour r-trees to dynamically search the required data.  Added code to reparent holes which end up in the wrong polygon piece
+	after inserting a new hole in InsertHoles. This means we don't have
+	to dump every potental hole we encounter in the holes insersion
+	queue, hopefully leading to better dynamic update performance.  At this point, polygon performance has finally seen a net gain.  HOWEVER: Due to differences in the order of polygon operations, the          data-structures resulting from a boolean polygon operation          may be sorted differently.           In certain contrived cases, where a polygon is clipped into          identically sized pieces, the resulting piece of polygon          which PCB will keep and use on the board is different after          this commit.
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon1.c: Use heap structure to insert holes quicker in
+	InsertHoles()
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polyarea.h, src/polygon.c, src/polygon1.c: Optimise polygon
+	operations by keeping an rtree of POLYAREA contours Attempt to speed up the intersect() routine using this rtree rather
+	than generating a new one at each call.  Due to the increased overheads of keeping an r-tree up to date,
+	there is a significant overall slow-down at this point in the patch
+	series.
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon1.c: Use rtree of countours when computing an
+	intersection NOTE: This is more complex than the existing code, and on its own,       actually slows things down a little.        The intention is that the r-tree should be maintained
+	      continually, so it doesn't need to be recreated with each call
+	to intersect().
+
+2010-11-26   Peter Clifton * pcjc2 AT cam dot ac dot uk *
+
+	* src/polygon.c: polygon.c: Accumulate vias and lines into batches
+	before subtracting them Accumulate polygons to clear from lines and pins in batches, then
+	clear from the polygon. Not quite sure why, but this _really_ seems
+	to speed up loading very complex boards. (e.g. 50sec -> 10sec for
+	one example).  Possibly this is because withing the assembled batches, it is
+	cheaper to produce a more unified contour (touching lines), and the
+	complex contours of the main polygon are broken less frequently.  It isn't quite clear why this helps so much for pins / vias (which
+	won't usually touch each-other), however it changes a 50sec load
+	time to 10 sec.  This could perhaps be because any contours which
+	are smashed by clearance of closely spaced vias / pins now only
+	incurr the penalty of breaking the main contour once every batch
+	(100 vias / pins).  Batch sizes (20 for lines, 100 for pins / vias) aren't necessarily
+	optimal! Also, clear pins and vias last...  There is a chance these objects are simpler, and just end up as
+	holes in the main polygon, rather than causing a contour
+	intersection. This means it is cheaper to add them last.  If we add them first, and make the polygon complex, objects (usually
+	lines) which pierce the polygon's outer contour cause all the holes
+	to be removed and queued for re-insersion after the new contour is
+	constructed.
+
+2010-11-07   DJ Delorie * dj AT delorie dot com *
+
+	* lib/geda.inc: Add more ACY, ACPY, ALF, RCY, RCYP, JUMPER, and
+	HEADER macros to fill in the gaps.
+
+2010-11-07   DJ Delorie * dj AT delorie dot com *
+
+	* src/toporouter.c: Comment out code to dump toporouter surfaces.
+
+2010-09-29   DJ Delorie * dj AT delorie dot com *
+
+	* NEWS: Update NEWS from ChangeLog
+
+2010-09-29   DJ Delorie * dj AT delorie dot com *
+
+	* ChangeLog: Update ChangeLog from git logs.
+
+2010-09-29   DJ Delorie * dj AT delorie dot com *
+
+	* po/POTFILES.in: Fix for distcheck errors.
+
 2010-09-29   DJ Delorie * dj AT delorie dot com *
 
 	* src/action.c: Make new text clear polygons
diff --git a/NEWS b/NEWS
index d3435ec..5d8aa04 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,99 @@
 ========================================================================
+Release Notes for PCB snapshot 20110917
+========================================================================
+This release represents over 797 commits and as such this summary 
+clearly is not complete.  See the ChangeLog file for the complete list
+of changes.
+
+Features
+--------
+
+- Internal coordinate space is now metric.  This should fix the "trace
+  nubs on metric grids" issue.  Also, units are allowed on pretty much
+  every "coordinate" that PCB accepts.  Example: 5.4in, 10cm, 0.55mm.
+  New configure option --enable-coord64 to force (slower?) 64-bit type
+  for coordinates on 32-bit systems (if you need a board bigger than 1
+  meter across).  The internal precision is 1 nanometer, the internal
+  type is "Coord".
+- MinGW support.
+- New GL mode for the gtk hid with translucent traces.
+
+- New GTK layer view/choose widget and other GUI enhancements.
+- GTK HID warns if the *.pcb file has changed on disk.
+- Enhanced grid snapping logic.
+- Select/report nets by name.
+- Auto-pan has been removed.
+- Zoom can zoom out beyond the edge of the board's workspace.
+- GTK: title string matches GNOME conventions.
+- Personally identifiable information is no longer stored in the PCB.
+- Toggling vias from hole to plated is reversible.
+- Gerber exporter has options for including outlines on other layers.
+- Edited footprint files are saved as footprints, not pcbs.
+- Improved gtk library search/filter.
+- Default layer stack is now a six-layer template with outline.
+- If the board has an outline layer, an outline will be shown if no
+  other outline is specified.
+- Group[] string allows t/b synonyms for c/s.  "top" and "bottom" are
+  the standard names now.
+- PCB will save files with an older version tag if newer features aren't needed.
+- Autorouter has a progress dialog.
+- PCB will no longer let you delete the last top/bottom layer.
+- Refcard has been updated.
+- Documentation updates.
+- Layes with the PCB::skip-drc attribute set are ignored during DRC.
+- Allow numeric keys to also choose the silk layer.
+- Minor readability tweaks to the default font.
+- Via copper may overlap.
+- User is notified if an Import() cannot find all the footprints.
+
+Bug Fixes
+---------
+
+- Optimizer won't try to optimize overlapping pads
+- Undo should fail less, in corner cases.
+- Nested key-bound actions won't crash lesstif.
+- Do not select invisible pads on the far side.
+- Protect Import() from command injection.
+- Fix conversion of far-side polygons to element pads.
+- Fix initial clearance values of text when loading PCBs.
+- Fix solder mask drawing on vias.
+- Add missing action documentation.
+- Fab drawing notes actual outline trace width.
+- Zero clearance pins and pads won't cause DRC failures.
+- PS export: fix draw-rectangle (used to do fill, not outline)
+- Gerber export no longer fills unfilled rectanges.
+- If there are no image formats available, the PNG hid is not enabled.
+- You can no longer select pins/pads of locked elements.
+- The m4-to-newlib converter now creates file names that match the
+  library view.
+- Never set the FOUND flag on new silk lines.
+- Lesstif HID won't crash if both Xinerama and XRender are detected.
+- Lesstif menu is now internationalizable.
+- Refdes labels in a font-less layout can be moved.
+- Import can correctly update elements on the bottom side.
+- DRC no longer treats unplated holes as conducting.
+
+Other
+-----
+
+- Updated and new translations, including Dutch.
+- Many polygon speedups.
+- Numerous build-related cleanups.
+- Numerous minor speed-related cleanups.
+- GTK 2.18 is the minimum required version.
+- GTS moved out of the src/ tree so it can be built with different flags.
+- More C++ compatible.
+- Expanded regex documentation.
+- Much code which is no longer needed has been removed.
+- HID init method changed to allow for hid struct expansion without
+  breaking everything.
+- New HID calls for whole-pad and whole-pin drawing.
+- ClearAndRedrawOutput() replaced with Redraw().
+- Board objects use hashes instead of lists to store parts, so
+  pointers don't change.
+- DVI documentation output is no longer generated.
+
+========================================================================
 Release Notes for PCB snapshot 20100929
 ========================================================================
 This release represents over 240 commits and as such this summary 



_______________________________________________
geda-cvs mailing list
geda-cvs@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-cvs