Author: Bert Timmerman Dutch Dutch translation for libgeda, gattrib's desktop menu Updated the Dutch translation for gschem. Fix spelling mistake in libgeda Author: Carlos Nieves Ónega Spanish translations for gattrib's desktop menu and libgeda Author: Christian Riggenbach utils: Fix indentation of comments in src/olib.l (fixes build with flex version 2.5.34) Author: Robert Fitzsimons gschem: Fix segfault when trying to write an image. (Bug introduced by Peter C in splitting TOPLEVEL -> GSCHEM_TOPLEVEL) Author: Peter TB Brett Internationalisation libgeda: Use gettext to translate messages. Debugging & error reporting libgeda: Load gafrc.d scripts with protected eval. Stops one bad gafrc.d script blocking system-gafrc from loading completely. libgeda: Make protected evaluators available from Scheme. libgeda: Add protected string evaluation functions. libgeda: Add g_scm_eval_protected(), a function that allows evaluation of a Guile expression safely, catching any exceptions and logging error messages. libgeda: Set Guile debug flags to aid debugging rc files gnetlist: Make drc2 backend not emit exceptions. It can do it more gracefully using the Guile display function. gnetlist: Hide a debug message from spice-sdb [1856326] libgeda: Clean g_assert() usage. Avoid killing the application where possible. General log handler improvements gschem: Show log in pretty colours. Pass all log info to x_log_update_func. Allows applications to do interesting things with log messages. libgeda: define s_log_message -> g_message gschem: Show an informative message dialog when loading a file fails. Make libgeda's f_open() & f_open_flags use GError. libgeda: Make o_read() use GError. libgeda: Add f_has_active_autosave(), a helper function for checking if a file has an unresolved autosave file. libgeda: Add f_get_autosave_filename(), a helper function for getting the autosave filename for a given file. Fix messages when parsing rc paths. Often, the full path to an rc file was being output twice in the log message given when parsing rc files. libgeda: Clean g_assert usage in s_clib.c gschem: Fix "failed to set sensitivity" log spam libgeda: Don't use assert.h (use Glib's g_assert instead) Usability gschem: Don't lose close confirmation dialog behind window gschem: Warn before overwriting files. [1846593]. Also fixes a memory leak in the file save function. gschemdoc: Use xdg-open if available gschem: Fix new page behaviour. gschem now presents a blank page regardless of whether there is a page available on disk. This has the side effect of stopping gschem from trying to load backup files for new pages (this is a good thing). <-- says Peter B in his log message Component library: clib: Speed up caching by using pointer rather than string keys. clib: Cache symbol data between library refreshes. This should speed up large component copying operations. symbols: Nicer names for default libraries. Also, put them in a sensible order, and disable component library sorting by default so that that order is preserved. clib: Clarify naming for search cache libgeda: Update some component library doc comments. Library headers: libgeda: Use a dedicated header for Guile 1.6 compatibility. libgeda: Split out private prototypes to new header file. libgeda: Correct header guards for defines.h libgeda: Add a private counterpart to libgeda.h for internal use Other stuff: libgeda: Use goto to tidy some error handling in f_print.c gschem: Don't use direct o_???_translate_world() funcs libgeda: Make sure that Guile smobs are initialised. Rather than initialising them in gschem. libgeda: Now we assume GLib 2.4+, use g_setenv(). libgeda: Compile C files in alphabetical order. libgeda: Correct func name in SCM_ASSERT call gschem: Fix NULL pointer risk in x_image.c [1802087] libgeda: Make f_open_flags handle missing files right [1815296] gschemdoc: Quote variables in case they contain spaces. [1792986] libgeda: Add the ability to save into a buffer. libgeda: Refactor file header string generation. Author: Cesar Strauss Replace index and rindex by strchr and strrchr. These are functionally equivalent, and more portable to MinGW. MinGW does not have getuid nor getgid. (Fix code relating to this) MinGW does not have symlinks. (Fix code relating to them) Use g_path_is_absolute from GLIB instead of platform specific code. Use forward slashes as path separators on MinGW. They are also acceptable as path separators. Remove uneeded MinGW-only libraries. Tell git to ignore the ylwrap file. Tell git to ignore .exe files. Author: Hamish Moffatt Fix install location of gattrib-menus.xml to $GEDADATADIR Author: Gilbert Forkel, Werner Hoch Added spacer feature to tragesym Author: Werner Hoch ignore generated .pot files in .gitignore German translation of gattrib's desktop menu gschem: updated german translations fixed symbols/linear/lm7912-1.sym Author: Michele Petrecca Updated Italian translation. (gschem) Author: Tomaž Šolc Compilation fixes for Mac OS X 10.5 [1832417] Author: Peter Clifton , Tomaž Šolc (original artwork and mime files) Desktop integration Add desktop mime integration and icons to libgeda. Author: Peter Clifton Desktop integration Intltoolize build infrastructure for translating .desktop .xml etc.. Set default window icons in gschem and gattrib to be found in the icon theme. Add .desktop versions of MIME registrations for older KDE desktops Add .desktop and icon files to gschem and gattrib. Features Change image embedding format to base64 encode the original files Allow standard glob matches in the component selector's filter entry. Add English (British) translations for libgeda and gschem Use Save, not Save As.. after prompt when closing modified schematics Process .scm files in $GEDA_DATA_DIR/gafrc.d/ to allow packages (e.g. geda-symbols) to install a config file under this dir to load its contents. Allows globally installed changes without needing to edit (and clash) in either geda-clib.scm or system-gafrc. Bugs fixed Always redraw the screen using a blit from the backbuffer. VAST speedups on composited desktops. Switch back to the page we were on after a saving changed pages. (Fixes bug cancelling from an at-exit time save) gschem: Redraw after embedding or unembedding components Add undo save for embed / unembed operations Compute picture aspect ratio in double arithmetic, not integer. (Avoids bug when grip-adjusting the picture size) gschem: Fix copy-paste error handling line-style keyword in g_rc.c Fix resolution of printed images to match that of the original data. Fix bug #1851403: Crash after adding component while in move mode Fix memory leak in o_redraw_cleanstates() called during copy or place. Fix i_callback_edit_copy_hotkey() to set new state after clearing old. XOR draw to remove component ghost when cancelling component placement. Fix test of object_changing in o_grips_motion() to a g_return_if_fail() (Possible segfault under bug conditions) Fix stroke trail to be visible on light background color scheme Erase stroke trails after an un-successful stroke recognition Fix Bug #1838164. Initialise copied_to pointer in objects to NULL. (A segfault bug probably introduced by me since 1.2.0 anyway). Fix a bug in o_attrib_search_name_single() were it might return NULL. Fix grid snapping in "Edit->Mirror Mode" Fix rotation code to support angles other than 90 degrees. Bug was never triggered though. Fix loading of embedded images. (base64 decoding bug). Fix memory corruption and possible segfault copying attributes Free gdk events obtained with gtk_event_get(). Avoids a leak. Spelling fixes in libgeda GList changes Make attribute / text placing use a new attrib_place_list GList. Remove the ATTRIB linked list in favour of a GList Removes the linking between TOPLEVELs, instead uses a GList in gschem Avoid accessing (GList)->{next|priv} directly to aid debugging. Use GLists to store OBJECTs in the "object_buffers[]" paste buffers. Replace the linked list of PAGEs with a GedaList (typecast to GedaPageList) General code improvement Add private function compselect_get_view() in x_compselect.c. Abstracts away an assumption we make about tab ordering in the dialog. Improve object mirroring and rotation API in libgeda + gschem Update the all drawing state SCREEN co-ordinates when zooming / panning. Allows XOR drawing to continue without dropping artifacts. Rework o_drawbounding() to work without dropping artifacts in all modes. Don't redraw the selected objects which are being manipulated by grips. Saves un-neceessary erase calls. Refactor XOR drawing functions to avoid code duplication. Avoid un-necessary usage of global_window_current in g_keys_execute() Avoid use of gtk_cell_renderer_stop_editing(), which is GTK 2.6+ Remove ineffective redraw in o_complex_world_translate() Split out gschem specific TOPLEVEL variables into a new GSCHEM_TOPLEVEL Remove gattrib's use of GTK widget pointers stored in TOPLEVEL. Remove gattrib's use of TOPLEVEL rc-variables defined in gschem. Removed / refactored / tidied lots of dupicated and redundant code and structure members in gattrib, gschem and libgeda. Author: Ales Hvezda Fixed a whole bunch of gtk+ 2.4.x and misc issues building on an older box Updated documentation (wiki) snapshot from master wiki on the geda website Bumped versions to 1.3.0/20071229/32:0:0 for the next development snapshot Commented out test which now no longer runs correctly because of slotting fix. Fix problem where changing slot= would not update pins (Known to break spice-sdb's slotted component handling) Added new i18n files to .gitignore to be ignored Removed the other now machine generated file Removed now machine generated file Fixed a minor newline typo (Dutch translation) Fix for Bug# 1782032: Blank attibute name when attribute value starts with " " Moved refresh button in component select dialog box Added standard Control-z and Control-y keymappings for Undo and Redo