commit c1a8e219fa52fb9114a2b95efc246c8587c0918e Author: Garrett Regier Date: Sat Feb 14 13:22:21 2015 -0800 Release 1.13.0 NEWS | 29 +++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 31 insertions(+), 2 deletions(-) commit 1242e95949952aa50962aa238a133aa2b80fdf0a Author: Garrett Regier Date: Sat Feb 14 13:04:52 2015 -0800 Fix distcheck loaders/lua5.1/Makefile.am | 1 - loaders/lua5.1/resources/Makefile.am | 12 +++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) commit 728ecb4708f4fa4f0545e4b3907b59cddd5f4c54 Author: Garrett Regier Date: Sat Jan 24 08:19:54 2015 -0800 Relicense as LGPL 2.1+ https://bugzilla.gnome.org/show_bug.cgi?id=599120 COPYING | 223 +++++++++++---------- libpeas-gtk/peas-gtk-configurable.c | 22 +- libpeas-gtk/peas-gtk-configurable.h | 22 +- libpeas-gtk/peas-gtk-disable-plugins-dialog.c | 22 +- libpeas-gtk/peas-gtk-disable-plugins-dialog.h | 22 +- libpeas-gtk/peas-gtk-plugin-manager-store.c | 22 +- libpeas-gtk/peas-gtk-plugin-manager-store.h | 22 +- libpeas-gtk/peas-gtk-plugin-manager-view.c | 22 +- libpeas-gtk/peas-gtk-plugin-manager-view.h | 22 +- libpeas-gtk/peas-gtk-plugin-manager.c | 22 +- libpeas-gtk/peas-gtk-plugin-manager.h | 22 +- libpeas-gtk/peas-gtk.h | 22 +- libpeas/peas-activatable.c | 22 +- libpeas/peas-activatable.h | 22 +- libpeas/peas-debug.c | 22 +- libpeas/peas-debug.h | 22 +- libpeas/peas-dirs.c | 22 +- libpeas/peas-dirs.h | 22 +- libpeas/peas-engine-priv.h | 22 +- libpeas/peas-engine.c | 22 +- libpeas/peas-engine.h | 22 +- libpeas/peas-extension-base.c | 22 +- libpeas/peas-extension-base.h | 22 +- libpeas/peas-extension-set.c | 26 +-- libpeas/peas-extension-set.h | 22 +- libpeas/peas-extension.c | 22 +- libpeas/peas-extension.h | 22 +- libpeas/peas-i18n.c | 22 +- libpeas/peas-i18n.h | 22 +- libpeas/peas-introspection.c | 22 +- libpeas/peas-introspection.h | 22 +- libpeas/peas-object-module.c | 22 +- libpeas/peas-object-module.h | 22 +- libpeas/peas-plugin-info-priv.h | 22 +- libpeas/peas-plugin-info.c | 26 +-- libpeas/peas-plugin-info.h | 22 +- libpeas/peas-plugin-loader-c.c | 22 +- libpeas/peas-plugin-loader-c.h | 22 +- libpeas/peas-plugin-loader.c | 22 +- libpeas/peas-plugin-loader.h | 22 +- libpeas/peas-utils.c | 22 +- libpeas/peas-utils.h | 22 +- libpeas/peas.h | 22 +- loaders/lua5.1/peas-lua-internal.c | 22 +- loaders/lua5.1/peas-lua-internal.h | 22 +- loaders/lua5.1/peas-lua-utils.c | 22 +- loaders/lua5.1/peas-lua-utils.h | 22 +- loaders/lua5.1/peas-plugin-loader-lua.c | 22 +- loaders/lua5.1/peas-plugin-loader-lua.h | 22 +- loaders/lua5.1/resources/peas-lua-compile.lua | 21 +- loaders/lua5.1/resources/peas-lua-internal.lua | 21 +- loaders/lua5.1/resources/peas-lua-strict.lua | 21 +- loaders/python/peas-plugin-loader-python.c | 22 +- loaders/python/peas-plugin-loader-python.h | 22 +- loaders/python/peas-python-compile.py | 21 +- loaders/python/peas-python-internal.c | 22 +- loaders/python/peas-python-internal.h | 22 +- loaders/python/peas-python-internal.py | 21 +- peas-demo/peas-demo-window.c | 22 +- peas-demo/peas-demo-window.h | 22 +- peas-demo/peas-demo.c | 22 +- .../helloworld/peasdemo-hello-world-configurable.c | 22 +- .../helloworld/peasdemo-hello-world-configurable.h | 22 +- .../helloworld/peasdemo-hello-world-plugin.c | 22 +- .../helloworld/peasdemo-hello-world-plugin.h | 22 +- peas-demo/plugins/luahello/luahello.lua | 21 +- peas-demo/plugins/pythonhello/pythonhello.py | 25 ++- peas-demo/plugins/secondtime/second-time.c | 22 +- peas-demo/plugins/secondtime/second-time.h | 22 +- tests/libpeas-gtk/plugin-manager-store.c | 22 +- tests/libpeas-gtk/plugin-manager-view.c | 22 +- tests/libpeas-gtk/plugin-manager.c | 22 +- .../builtin-configurable/builtin-configurable.c | 22 +- .../builtin-configurable/builtin-configurable.h | 22 +- .../plugins/configurable/configurable-plugin.c | 22 +- .../plugins/configurable/configurable-plugin.h | 22 +- tests/libpeas-gtk/testing/testing.c | 22 +- tests/libpeas-gtk/testing/testing.h | 22 +- tests/libpeas/engine.c | 22 +- tests/libpeas/extension-c.c | 22 +- tests/libpeas/extension-lua.c | 22 +- tests/libpeas/extension-py.c | 22 +- tests/libpeas/extension-set.c | 22 +- tests/libpeas/introspection/introspection-base.c | 22 +- tests/libpeas/introspection/introspection-base.h | 22 +- .../libpeas/introspection/introspection-callable.c | 22 +- .../libpeas/introspection/introspection-callable.h | 22 +- .../introspection-has-missing-prerequisite.c | 22 +- .../introspection-has-missing-prerequisite.h | 22 +- .../introspection/introspection-has-prerequisite.c | 22 +- .../introspection/introspection-has-prerequisite.h | 22 +- .../introspection/introspection-unimplemented.c | 22 +- .../introspection/introspection-unimplemented.h | 22 +- tests/libpeas/plugin-info.c | 22 +- .../extension-c-missing-symbol-plugin.c | 22 +- .../plugins/extension-c/extension-c-plugin.c | 22 +- .../plugins/extension-c/extension-c-plugin.h | 22 +- .../plugins/extension-lua/extension-lua51.lua | 21 +- .../plugins/extension-python/extension-py.py.in | 21 +- tests/libpeas/testing/testing-extension.c | 22 +- tests/libpeas/testing/testing-extension.h | 22 +- tests/libpeas/testing/testing.c | 22 +- tests/libpeas/testing/testing.h | 22 +- tests/plugins/builtin/builtin-plugin.c | 22 +- tests/plugins/builtin/builtin-plugin.h | 22 +- tests/plugins/has-dep/has-dep-plugin.c | 22 +- tests/plugins/has-dep/has-dep-plugin.h | 22 +- tests/plugins/loadable/loadable-plugin.c | 22 +- tests/plugins/loadable/loadable-plugin.h | 22 +- tests/plugins/self-dep/self-dep-plugin.c | 22 +- tests/plugins/self-dep/self-dep-plugin.h | 22 +- tests/testing-util/testing-util.c | 22 +- tests/testing-util/testing-util.h | 22 +- 113 files changed, 1361 insertions(+), 1329 deletions(-) commit 60cfc58eb64446fd3512f8c36b22a2f0b9968c9d Author: Garrett Regier Date: Thu Jan 22 18:54:11 2015 -0800 Prevent the accidental escaping of globals with Lua plugins This implements a strict mode which prevents the creation of globals, except when using rawset(). This can be disabled for incompatible code by setting __STRICT to false. https://bugzilla.gnome.org/show_bug.cgi?id=742557 configure.ac | 1 + loaders/lua5.1/Makefile.am | 18 ++---- loaders/lua5.1/peas-lua-internal.c | 48 +-------------- loaders/lua5.1/peas-lua-utils.c | 70 +++++++++++++++++++++- loaders/lua5.1/peas-lua-utils.h | 5 ++ loaders/lua5.1/peas-plugin-loader-lua.c | 3 +- loaders/lua5.1/resources/Makefile.am | 13 ++++ .../lua5.1/{ => resources}/peas-lua-compile.lua | 0 .../lua5.1/{ => resources}/peas-lua-internal.lua | 2 +- loaders/lua5.1/resources/peas-lua-strict.lua | 51 ++++++++++++++++ .../lua5.1/{ => resources}/peas-lua.gresource.xml | 1 + .../plugins/extension-lua/extension-lua51.lua | 21 +++++++ 12 files changed, 172 insertions(+), 61 deletions(-) commit d2bed913817ef7bd9e018b3f63a36369aac74b9f Author: Garrett Regier Date: Mon Jan 19 00:33:05 2015 -0800 Use Lua to implement the plugin loader's logic This allows us to avoid using Lua's C API and have a more understandable implementation. https://bugzilla.gnome.org/show_bug.cgi?id=742410 .gitignore | 2 + configure.ac | 2 + loaders/lua5.1/Makefile.am | 21 ++ loaders/lua5.1/peas-lua-compile.lua | 60 +++++ loaders/lua5.1/peas-lua-internal.c | 202 ++++++++++++++ .../{peas-lua-utils.h => peas-lua-internal.h} | 23 +- loaders/lua5.1/peas-lua-internal.lua | 162 +++++++++++ loaders/lua5.1/peas-lua-utils.c | 57 +++- loaders/lua5.1/peas-lua-utils.h | 6 +- loaders/lua5.1/peas-lua.gresource.xml | 6 + loaders/lua5.1/peas-plugin-loader-lua.c | 297 ++++----------------- tests/libpeas/extension-lua.c | 4 +- 12 files changed, 583 insertions(+), 259 deletions(-) commit 2be61ccc64ed40c4bca3208de43d4c13d5c5e36d Author: Garrett Regier Date: Sun Jan 18 21:49:52 2015 -0800 Shorten Lua plugin loader filenames Using "peas-plugin-loader-lua" as a prefix is just too long. https://bugzilla.gnome.org/show_bug.cgi?id=742410 configure.ac | 2 +- loaders/lua5.1/Makefile.am | 4 ++-- .../lua5.1/{peas-plugin-loader-lua-utils.c => peas-lua-utils.c} | 4 ++-- .../lua5.1/{peas-plugin-loader-lua-utils.h => peas-lua-utils.h} | 9 ++++----- loaders/lua5.1/peas-plugin-loader-lua.c | 2 +- 5 files changed, 10 insertions(+), 11 deletions(-) commit 348c7ccbb7d844605b707f361604ba0f2329bfdf Author: Stas Solovey Date: Wed Feb 11 21:20:33 2015 +0000 Updated Russian translation po/ru.po | 90 +++++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 50 insertions(+), 40 deletions(-) commit a5a76161324aff030f32ebc46c1c72af0f5ae4df Author: Garrett Regier Date: Tue Jan 27 00:17:10 2015 -0800 Fix running make check for the docs docs/reference/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 56c4102341ef6180a515cf94eedca7df40f5ff55 Author: Garrett Regier Date: Thu Jan 22 17:59:25 2015 -0800 Fix make check when gtkdoc is not enabled configure.ac | 1 + docs/reference/Makefile.am | 4 ++++ 2 files changed, 5 insertions(+) commit b45e67f062b780139069bbef253d466aaf75056c Author: Garrett Regier Date: Thu Jan 22 02:01:54 2015 -0800 Use g_newa() when possible libpeas/peas-plugin-loader-c.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit aab92409a40fa2efd9aeae4a4883310fcece3aa8 Author: Garrett Regier Date: Thu Jan 22 02:01:19 2015 -0800 Small coding style fix libpeas/peas-object-module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 1e1f3b56207caa19f0febcce5417da6fbffbbd66 Author: Garrett Regier Date: Tue Jan 20 18:36:08 2015 -0800 Properly clear internal Python loader globals This prevents leaking the various PyObjects, at least on our end. loaders/python/peas-python-internal.c | 56 +++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 23 deletions(-) commit 532804a36c1f2b8d954b6938fe4317789f788dc5 Author: Garrett Regier Date: Tue Jan 20 18:34:36 2015 -0800 Use the correct hook name for the Python loader We are actually calling call() at this point, not the specific method that will be called from there. loaders/python/peas-python-internal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7c6699c6fef4c51e22585dab1f09f4cc608652ac Author: Garrett Regier Date: Tue Jan 20 18:33:14 2015 -0800 Stop pretending that the Python internals are non-global Python uses many globals, we might as well do the same. loaders/python/peas-plugin-loader-python.c | 36 +++++++-------------- loaders/python/peas-python-internal.c | 50 ++++++++++++++---------------- loaders/python/peas-python-internal.h | 19 +++++------- 3 files changed, 42 insertions(+), 63 deletions(-) commit 557abb55ee4429ebe6f48aed5a67950c0374b043 Author: Garrett Regier Date: Tue Jan 20 17:25:15 2015 -0800 Support Python plugins that define __all__ Instead of going through every local in the plugin just check those in __all__, if defined. https://bugzilla.gnome.org/show_bug.cgi?id=741802 loaders/python/peas-python-internal.py | 8 +++++++- tests/libpeas/plugins/extension-python/extension-py.py.in | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) commit 8b01d0c1cbc9525281fc5cde4678a0ba4f20f111 Author: Fabio Tomat Date: Tue Jan 20 15:58:50 2015 +0000 Updated Friulian translation po/fur.po | 109 ++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 35 deletions(-) commit fc3d26ff0f12c16941e5ff0501b01316d8df8deb Author: Garrett Regier Date: Tue Jan 20 01:13:45 2015 -0800 Do not reveal Python loader internals in tracebacks This adds format_plugin_exception() which removes all internal Python frames from the traceback. https://bugzilla.gnome.org/show_bug.cgi?id=742349 loaders/python/peas-python-internal.c | 2 ++ loaders/python/peas-python-internal.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) commit e42c5820852c009582e2c58a0fbcb45daaa8660c Author: Garrett Regier Date: Tue Jan 20 01:13:05 2015 -0800 Add verbose Python plugin loader warnings Use a Python hook to implement the call logic. This allows us to have verbose error messages and include the exception traceback. https://bugzilla.gnome.org/show_bug.cgi?id=742349 loaders/python/peas-python-internal.c | 29 ++++++++++++----------------- loaders/python/peas-python-internal.py | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+), 17 deletions(-) commit 83a44f3c0e610814923a29c419b4a1ba16fbee08 Author: Garrett Regier Date: Mon Jan 5 07:39:33 2015 -0800 Use Python to implement the plugin loader's logic This allows us to avoid the CPython API and have a more understandable implementation. https://bugzilla.gnome.org/show_bug.cgi?id=742349 loaders/python/peas-plugin-loader-python.c | 394 ++++------------------------- loaders/python/peas-python-internal.c | 196 ++++++++++---- loaders/python/peas-python-internal.h | 16 +- loaders/python/peas-python-internal.py | 221 ++++++++++++---- tests/libpeas/extension-py.c | 18 +- 5 files changed, 383 insertions(+), 462 deletions(-) commit b95aebb38b317c9a33db80e0c0caee7accb60a2b Author: Garrett Regier Date: Sun Jan 4 21:31:00 2015 -0800 Remove overly verbose warnings in the Python loader Instead of very specific and still confusing messages we use g_return_*() to give us an idea about what went wrong while initializing. This only affects the internal Python initialization code. https://bugzilla.gnome.org/show_bug.cgi?id=742349 loaders/python/peas-python-internal.c | 41 +++++------------------------------ 1 file changed, 5 insertions(+), 36 deletions(-) commit ae7c80d25a425420604929c6ce9c263eaa853ef0 Author: Garrett Regier Date: Sun Jan 4 21:26:47 2015 -0800 Move internal Python code to another file All code that deals with internal.py is now in peas-python-internal.c instead of cluttering the plugin loader code. https://bugzilla.gnome.org/show_bug.cgi?id=742349 loaders/python/Makefile.am | 2 + loaders/python/peas-plugin-loader-python.c | 120 ++------------------ loaders/python/peas-python-internal.c | 169 +++++++++++++++++++++++++++++ loaders/python/peas-python-internal.h | 40 +++++++ loaders/python3/Makefile.am | 2 + 5 files changed, 222 insertions(+), 111 deletions(-) commit 637feef2fcd9c2ea1bf27b03466c5b25b59ecaba Author: Garrett Regier Date: Sun Jan 4 18:09:14 2015 -0800 Shorten Python plugin loader filenames Using "peas-plugin-loader-python" as a prefix is just too long. https://bugzilla.gnome.org/show_bug.cgi?id=742349 .gitignore | 4 ++-- loaders/python/Makefile.am | 24 +++++++++++----------- loaders/python/peas-plugin-loader-python.c | 2 +- ...-python-internal.py => peas-python-internal.py} | 0 ...hon.gresource.xml => peas-python.gresource.xml} | 2 +- loaders/python3/Makefile.am | 18 ++++++++-------- ...n3.gresource.xml => peas-python3.gresource.xml} | 2 +- 7 files changed, 26 insertions(+), 26 deletions(-) commit 917dbb5a0e8c2d787daeec5c9e667fc794791c44 Author: Garrett Regier Date: Sun Jan 4 17:21:04 2015 -0800 Compile internal Python source during build Otherwise syntax errors aren't noticed until the loader is initialized at runtime. https://bugzilla.gnome.org/show_bug.cgi?id=742348 configure.ac | 4 ++ loaders/python/Makefile.am | 10 ++++- loaders/python/peas-plugin-loader-python.c | 7 ++++ loaders/python/peas-python-compile.py | 59 ++++++++++++++++++++++++++++++ loaders/python3/Makefile.am | 11 +++++- 5 files changed, 88 insertions(+), 3 deletions(-) commit a8bc168308f839c8263a3bc8ccd81b4cf2d57a36 Author: Garrett Regier Date: Sun Jan 18 06:12:32 2015 -0800 Unsubprocess a Lua test This was copied from the Python tests but is not needed as Lua doesn't warn to stderr. tests/libpeas/extension-lua.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) commit 5426f4686bfa6c3d1d656b1b66e8f5bf84847fa4 Author: Garrett Regier Date: Mon Jan 5 11:39:17 2015 -0800 Assert that no Lua values are leaked during initialize loaders/lua5.1/peas-plugin-loader-lua.c | 3 +++ 1 file changed, 3 insertions(+) commit fea5963d3b6f6e3d22e125f593a855562629bea4 Author: Garrett Regier Date: Mon Jan 5 11:37:59 2015 -0800 Always set the Lua loader's lua_State This way we don't have to sprinkle lua_close() everytime initialize fails. loaders/lua5.1/peas-plugin-loader-lua.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit f7f7a0ce63953c55eb5e7c9e515a622b767ae7b3 Author: Garrett Regier Date: Mon Jan 5 11:13:23 2015 -0800 Set atpanic handler early in Lua plugin loader Before if a panic occurred in the initialization code it would go to the original atpanic handler. loaders/lua5.1/peas-plugin-loader-lua.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) commit c280b2e105ea7377a91166db45c19563ad40e5a8 Author: Garrett Regier Date: Mon Jan 5 11:09:17 2015 -0800 Don't use lgi_enter_func if not found Prevents segfault when using an old LGI version. loaders/lua5.1/peas-plugin-loader-lua.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit aba6c867490d5e0bfc99e2b373dd67426cc9b32e Author: Garrett Regier Date: Sun Jan 18 05:11:46 2015 -0800 Add a copyright to the Lua files peas-demo/plugins/luahello/luahello.lua | 18 ++++++++++++++++++ .../libpeas/plugins/extension-lua/extension-lua51.lua | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) commit 0aae4478e409a8ae864e4b83e76b78986603135a Author: Garrett Regier Date: Sun Jan 18 05:10:26 2015 -0800 Avoid creating globals in the demo Lua plugin peas-demo/plugins/luahello/luahello.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit a592f27cd4d17d6b800c04d3a1305e637cf99059 Author: Garrett Regier Date: Sun Jan 18 05:13:58 2015 -0800 Use the simple API for requiring an uninstalled typelib Instead of adding the builddir to GI's search path just use the require_private() API. tests/libpeas-gtk/testing/testing.c | 6 +++--- tests/testing-util/testing-util.c | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) commit 0bd07e7a7ff2e0e8cfba408341a5eeb708b0d0b6 Author: Garrett Regier Date: Sun Jan 18 05:07:47 2015 -0800 Add an assert to the test suite We do this in the rest of the test cases and it adds a fast failure point. tests/libpeas-gtk/plugin-manager-view.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 9fefa1f7bbb4d67a412e86f614d4b951a2630a11 Author: Garrett Regier Date: Sun Jan 18 05:07:01 2015 -0800 Remove a double assign tests/libpeas-gtk/plugin-manager-store.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 06a14dc39929bde4a4790bc8562156edb1aa608a Author: Garrett Regier Date: Sun Jan 18 05:05:07 2015 -0800 Don't warn when loading an uninstalled plugin loader This removes the only global log hook in the test suite. libpeas/peas-dirs.c | 4 ++-- libpeas/peas-dirs.h | 8 ++++---- libpeas/peas-engine.c | 40 ++++++++++----------------------------- tests/testing-util/testing-util.c | 40 +++++---------------------------------- 4 files changed, 21 insertions(+), 71 deletions(-) commit 16c0b8e39c8645b2fa6385eaa4caadf5204fa279 Author: Garrett Regier Date: Sun Jan 18 03:51:46 2015 -0800 Don't immediately fail on an unhandled log message Instead fail at the end of the test when more information might be available. tests/testing-util/testing-util.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) commit ab73e2ecdd625e4c593f3fbaa58f45873b514c0c Author: Garrett Regier Date: Sun Jan 18 03:49:08 2015 -0800 Print filtered log messages on an unexpected message tests/testing-util/testing-util.c | 125 ++++++++++++++++++++++++++------------ 1 file changed, 85 insertions(+), 40 deletions(-) commit bc89bac5ce6b4196f7b6c8e488409db810b5b51f Author: Garrett Regier Date: Sun Jan 18 03:35:41 2015 -0800 Disable the scrolled window in the demo program It really isn't needed as there are only a few plugins. This makes it easier to test the program as the window's size was too small. peas-demo/peas-demo.c | 7 +++++++ 1 file changed, 7 insertions(+) commit 0c79850b215fb453b3855c4bed84a5977cdedc9e Author: victory Date: Tue Jan 20 01:08:46 2015 +0900 l10n: Update Japanese translation po/ja.po | 108 +++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 74 insertions(+), 34 deletions(-) commit ee098140e8e3be4fb59ea595a66404255eff5575 Author: Fran Dieguez Date: Tue Jan 13 00:18:50 2015 +0100 Updated Galician translations po/gl.po | 75 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 33 deletions(-) commit d41f024ae19cd1796a45fcb00be9e3e330037b7a Author: Rafael Ferreira Date: Fri Jan 9 02:24:18 2015 +0000 Updated Brazilian Portuguese translation po/pt_BR.po | 78 ++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 35 deletions(-) commit 1ea5d7484626ca985f4e4f0da499c39598d98d0b Author: Inaki Larranaga Murgoitio Date: Thu Jan 8 18:45:28 2015 +0100 Updated Basque language po/eu.po | 121 ++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 77 insertions(+), 44 deletions(-) commit dae26cc9709fd24419448720fb3ee934b4cced3c Author: Marek Černocký Date: Wed Jan 7 08:22:51 2015 +0100 Updated Czech translation po/cs.po | 75 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 33 deletions(-) commit bce5fc1f73aa4f1a0a3ae905d17fb43f1b8b2d51 Author: Trinh Anh Ngoc Date: Fri Jan 2 11:14:14 2015 +0700 Add spacing in toolbar box https://bugzilla.gnome.org/show_bug.cgi?id=742215 libpeas-gtk/peas-gtk-plugin-manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0c31653a6db8f21faf7ee7a7bfa28734834e033c Author: Garrett Regier Date: Tue Dec 30 09:20:32 2014 -0800 Fix panic when getting global LGI fields A panic will occur when using lua_getfield() as LGI will attempt to find the value as a typelib. This breaks the attempt to report an incorrect LGI version and causes a crash. loaders/lua5.1/peas-plugin-loader-lua.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit 826f902ef2dad8ea45a7d4c5ee9960e9faa6109c Author: Garrett Regier Date: Tue Dec 30 08:58:27 2014 -0800 Fix the global Lua plugin loader with multiple threads LGI will yield to other threads when calling into C API. This caused the return values for another thread's function call to be on the Lua stack which caused an assertion. This also adds multiple assertions that the thread's Lua stack does not have any unpopped values. https://bugzilla.gnome.org/show_bug.cgi?id=741859 loaders/lua5.1/peas-plugin-loader-lua.c | 91 ++++++++++++++++++++++++++++----- 1 file changed, 77 insertions(+), 14 deletions(-) commit 897c4ada6df032c6ee7d4ff8e653c4fe85bbb660 Author: Garrett Regier Date: Tue Dec 30 08:41:17 2014 -0800 Fix finding the extension type for Lua plugin If the module's table had multiple extensions we would leak the key and value on the stack. loaders/lua5.1/peas-plugin-loader-lua.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit c2f7e7390c456df0f4e3e92b757f1a6848bf03b5 Author: Shankar Prasad Date: Wed Dec 24 10:32:20 2014 +0000 Updated Kannada translation po/kn.po | 79 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 33 deletions(-) commit 6a609db2ad5b1bebb097811e1d579d10c4ee9148 Author: Daniel Mustieles Date: Mon Dec 22 13:09:02 2014 +0100 Updated Spanish translation po/es.po | 79 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 46 insertions(+), 33 deletions(-) commit 7ad107f0ea3e6402eaaf08f41271d02828dc7896 Author: Yosef Or Boczko Date: Sun Dec 21 11:59:27 2014 +0200 Updated Hebrew translation po/he.po | 75 ++++++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 33 deletions(-) commit f51199c39603ab6a24b8b9cac9d1257112e2741e Author: Balázs Úr Date: Sat Dec 20 23:35:53 2014 +0000 Updated Hungarian translation po/hu.po | 83 +++++++++++++++++++++++++++++++++++++--------------------------- 1 file changed, 48 insertions(+), 35 deletions(-) commit 7f3d6413a3549be9de3792737312ff57654b48d4 Author: Garrett Regier Date: Sat Dec 20 10:21:10 2014 -0800 Bump required glib version Now we can remove the version checks for g_test_trap_subprocess(). configure.ac | 2 +- tests/libpeas/engine.c | 4 ---- tests/libpeas/extension-lua.c | 4 ---- tests/libpeas/extension-py.c | 4 ---- 4 files changed, 1 insertion(+), 13 deletions(-) commit f0e1e2df26a59eba6b5882bd6503777337837a53 Author: Garrett Regier Date: Sat Dec 20 10:05:24 2014 -0800 Use new GObject private API configure.ac | 3 +- libpeas-gtk/peas-gtk-disable-plugins-dialog.c | 48 ++++--- libpeas-gtk/peas-gtk-disable-plugins-dialog.h | 4 - libpeas-gtk/peas-gtk-plugin-manager-store.c | 44 +++--- libpeas-gtk/peas-gtk-plugin-manager-store.h | 4 - libpeas-gtk/peas-gtk-plugin-manager-view.c | 119 +++++++++------- libpeas-gtk/peas-gtk-plugin-manager.c | 151 +++++++++++---------- libpeas/peas-engine.c | 89 +++++++----- libpeas/peas-extension-base.c | 24 ++-- libpeas/peas-extension-set.c | 102 ++++++++------ libpeas/peas-object-module.c | 117 +++++++++------- libpeas/peas-plugin-loader-c.c | 41 +++--- libpeas/peas-plugin-loader-c.h | 3 - loaders/lua5.1/peas-plugin-loader-lua.c | 66 +++++---- loaders/lua5.1/peas-plugin-loader-lua.h | 3 - loaders/python/peas-plugin-loader-python.c | 93 +++++++------ loaders/python/peas-plugin-loader-python.h | 3 - .../plugins/configurable/configurable-plugin.h | 3 - .../plugins/extension-c/extension-c-plugin.h | 1 - tests/plugins/builtin/builtin-plugin.c | 19 +-- tests/plugins/builtin/builtin-plugin.h | 3 - tests/plugins/has-dep/has-dep-plugin.c | 19 +-- tests/plugins/has-dep/has-dep-plugin.h | 3 - tests/plugins/loadable/loadable-plugin.c | 19 +-- tests/plugins/loadable/loadable-plugin.h | 3 - tests/plugins/self-dep/self-dep-plugin.c | 19 +-- tests/plugins/self-dep/self-dep-plugin.h | 3 - 27 files changed, 547 insertions(+), 459 deletions(-) commit 001fa77065738e1ea105424c3b8b5f8e27c0c178 Author: Garrett Regier Date: Sat Dec 20 09:51:58 2014 -0800 Delete libpeas-gtk's TestingBuiltinPlugin One already exists in the shared plugins. .../plugins/builtin-configurable/Makefile.am | 2 - .../builtin-configurable/builtin-configurable.c | 10 +- .../builtin-configurable/builtin-configurable.h | 4 +- .../plugins/builtin-configurable/builtin-plugin.c | 149 --------------------- .../plugins/builtin-configurable/builtin-plugin.h | 55 -------- 5 files changed, 9 insertions(+), 211 deletions(-) commit 18d8d037a6ff98f96fd85f3b091bd1e335beff28 Author: Garrett Regier Date: Sat Dec 20 09:50:52 2014 -0800 Fix type of TestingLoadablePlugin It is not a PeasExtensionBase subclass as the .h specifies. tests/plugins/loadable/loadable-plugin.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit fed128baa6ead9f117e52892fa7079dc70ec5929 Author: Garrett Regier Date: Sat Dec 20 09:14:44 2014 -0800 Use g_signal_connect_object() now that it is fixed libpeas-gtk/peas-gtk-plugin-manager-store.c | 18 +++++++----- libpeas-gtk/peas-gtk-plugin-manager-view.c | 9 +++--- libpeas-gtk/peas-gtk-plugin-manager.c | 45 ++++++++++++++++------------- libpeas/peas-extension-set.c | 29 ++++--------------- 4 files changed, 46 insertions(+), 55 deletions(-) commit 2b6a313d779b3cc05dc26cb15832ea9a6fcb726c Author: Garrett Regier Date: Sat Dec 20 09:14:24 2014 -0800 Don't use g_strv_length() Testing for NULL is will give the same result. libpeas-gtk/peas-gtk-plugin-manager-store.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit d945591d070e657df7946f008b97f9b8d0d61544 Author: Garrett Regier Date: Sat Dec 20 09:13:50 2014 -0800 Use g_clear_object()/g_clear_pointer() more libpeas-gtk/peas-gtk-plugin-manager-store.c | 12 ++---------- libpeas-gtk/peas-gtk-plugin-manager-view.c | 16 +++------------- libpeas-gtk/peas-gtk-plugin-manager.c | 9 ++------- 3 files changed, 7 insertions(+), 30 deletions(-) commit a6f9af067e39b8f96a6cbd03a45eb053b90d3b8c Author: Garrett Regier Date: Sat Dec 20 09:05:38 2014 -0800 Name the valgrind and callgrind logs better Using vgdump and cgdump isn't very informative. .gitignore | 4 ++-- tests/Makefile.tests | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) commit 08e9aa6ad9930e90a9a6f47340edc352e7764b63 Author: Garrett Regier Date: Sat Dec 20 09:04:38 2014 -0800 Fix two memory leaks libpeas/peas-plugin-info.c | 2 ++ tests/libpeas-gtk/plugin-manager-store.c | 2 ++ 2 files changed, 4 insertions(+) commit 2ef0ba620d7df6744696c299df68df6c5ea131c4 Author: Garrett Regier Date: Sat Dec 20 09:04:08 2014 -0800 Update valgrind suppressions tests/valgrind.suppressions | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 702e35e2b4b49088d0170b4100050ad5082776e3 Author: Garrett Regier Date: Sat Dec 20 00:48:40 2014 -0800 Remove an old version check tests/testing-util/testing-util.c | 4 ---- 1 file changed, 4 deletions(-) commit f7ec720d4dac70031dfc07a99d42561e88896388 Author: Garrett Regier Date: Sat Dec 20 00:31:59 2014 -0800 Avoid having markup in a translated string https://wiki.gnome.org/Initiatives/GnomeGoals/RemoveMarkupInMessages libpeas-gtk/peas-gtk-plugin-manager-view.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) commit 165abc77e05a81b40f6fe6cb2ad7f0cad9e0fade Author: Garrett Regier Date: Wed Sep 10 01:59:42 2014 -0700 Warn and fail when registering an extension impl multiple times Registering an extension impl multiple times will not have the desired effect as only the first one registered will ever be used. libpeas/peas-object-module.c | 2 ++ 1 file changed, 2 insertions(+) commit 5751032b551aa19e6d75dde4332b0dfaeaa2f708 Author: Garrett Regier Date: Wed Sep 10 01:58:06 2014 -0700 Free the registered extension impls when the object module is unloaded When the object module is reloaded they will all be added again as peas_register_types() will be called. This caused problems when checking if the interface was already registered as it was always already registered when reloading the module. libpeas/peas-object-module.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) commit 5b172412a63855cf0762032711a7eba3bccd2562 Author: Garrett Regier Date: Mon Sep 8 23:47:35 2014 -0700 Don't update the plugin info in the model twice It was already being updated when the plugin was {un,}loaded by the engine because it connects to the signals. libpeas-gtk/peas-gtk-plugin-manager-store.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) commit a63569f85338b49132894409d2f385639bf596a5 Author: Garrett Regier Date: Mon Sep 8 23:42:53 2014 -0700 Removing window group handling from the plugin manager test This is no longer required! tests/libpeas-gtk/plugin-manager.c | 10 ---------- 1 file changed, 10 deletions(-) commit 45a29be0178f53b4c528ea8198d2e6f107a28d46 Author: Garrett Regier Date: Mon Sep 8 23:42:03 2014 -0700 Merge toplevel and window group handling Also fix warnings when the toplevel GtkWindow wasn't found. libpeas-gtk/peas-gtk-plugin-manager.c | 91 +++++++++++++++-------------------- 1 file changed, 40 insertions(+), 51 deletions(-) commit f275d63243a2623cf5ef4ea39da1a613e0cb179b Author: Garrett Regier Date: Sat Aug 23 09:01:22 2014 -0700 Add a test for missing peas_register_types() in a C plugin tests/libpeas/extension-c.c | 16 +++++++++++++ tests/libpeas/plugins/extension-c/Makefile.am | 15 +++++++++--- .../extension-c-missing-symbol-plugin.c | 27 ++++++++++++++++++++++ .../extension-c/extension-c-missing-symbol.plugin | 7 ++++++ 4 files changed, 62 insertions(+), 3 deletions(-) commit a66dce2ea882c268060592b8ba9ff76e43b95278 Author: Garrett Regier Date: Mon Sep 8 23:20:00 2014 -0700 Set the libpeas-plugin icon as the icon for the demo window peas-demo/peas-demo.c | 2 ++ 1 file changed, 2 insertions(+) commit fcbd3fdb05ccacd8cd2817010f7787b19d6c29e7 Author: Garrett Regier Date: Mon Sep 8 23:10:45 2014 -0700 Simplify finding the plugin manager buttons po/POTFILES.in | 1 + tests/libpeas-gtk/plugin-manager.c | 74 +++++--------------------------------- 2 files changed, 9 insertions(+), 66 deletions(-) commit b169ad0729761530b7b2f304d3c27a418fac6d00 Author: Garrett Regier Date: Mon Sep 8 23:07:23 2014 -0700 Split special envar setting into another function This is required because they must be set before gtk_test_init() but we need to change the log settings afterwards as it will change them. This also prevents GDBus from being used internally by GFile. tests/libpeas-gtk/testing/testing.c | 7 ++++++- tests/libpeas/testing/testing.c | 2 ++ tests/testing-util/testing-util.c | 27 ++++++++++++++++++--------- tests/testing-util/testing-util.h | 1 + 4 files changed, 27 insertions(+), 10 deletions(-) commit 4431baa5124c8a338e0036c8d304dc25128c48ae Author: Garrett Regier Date: Mon Sep 8 22:58:33 2014 -0700 Cleanup internal Python hooks code a bit loaders/python/peas-plugin-loader-python-internal.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit d7144d81aabcf49de1fa10dac712c0580def2647 Author: Garrett Regier Date: Mon Sep 8 22:57:55 2014 -0700 Plug a test memory leak The bindings cannot return a constant string from an interface. Instead they dup the string and leak it. tests/libpeas/introspection/introspection-callable.c | 4 ++-- tests/libpeas/introspection/introspection-callable.h | 4 ++-- tests/libpeas/plugins/extension-c/extension-c-plugin.c | 4 ++-- tests/libpeas/testing/testing-extension.c | 4 +++- 4 files changed, 9 insertions(+), 7 deletions(-) commit fcca1808ed7e5020db22841e67c7aa8bcdf1dc16 Author: Garrett Regier Date: Fri Dec 19 23:47:55 2014 -0800 Add po/libpeas.pot to .gitignore Should be safe given gedit's .gitignore also does this. .gitignore | 1 + 1 file changed, 1 insertion(+) commit bc2ad63109f6ef7eebae849b8aac4a111207120b Author: Garrett Regier Date: Fri Dec 19 23:46:35 2014 -0800 Silence `make demo` peas-demo/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 62d0024bf3839ebe2665ac3019a57d66d097b592 Author: Garrett Regier Date: Fri Dec 19 23:46:12 2014 -0800 Fix cross references in docs This approach is copied from Gtk+. Makefile.am | 6 +++++- configure.ac | 15 +++++++++++++++ docs/reference/Makefile.am | 11 +++++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) commit 7e0cf451873af2a2300eabc88e769f617a58afdf Author: Garrett Regier Date: Fri Dec 19 23:45:55 2014 -0800 Check the docs for errors during make check This uses the provided gtkdoc-check program. .gitignore | 1 + docs/reference/Makefile.am | 10 ++++++++++ 2 files changed, 11 insertions(+) commit d93a7d864eef9fc3b37a1a91183407a897f71c38 Author: Garrett Regier Date: Fri Dec 19 23:40:30 2014 -0800 Fix the docs docs/reference/libpeas-docs.sgml | 22 +++++++++++++++++++++- libpeas/peas-engine.c | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) commit 1f7655890c7b38e0b172b2d9f350142675a3dc6c Author: Garrett Regier Date: Thu Dec 18 06:14:14 2014 -0800 Fix the test suite to work on other operating systems Change the warnings so they can be checked properly in the tests without relying on OS specific messages. https://bugzilla.gnome.org/show_bug.cgi?id=727380 libpeas/peas-object-module.c | 28 ++++++++++++++++------------ tests/libpeas/engine.c | 3 +-- tests/libpeas/extension-c.c | 2 +- tests/testing-util/testing-util.c | 2 +- 4 files changed, 19 insertions(+), 16 deletions(-) commit f766cdf142f109e573293fa8be4f8362fb21811a Author: Garrett Regier Date: Thu Dec 18 05:43:39 2014 -0800 Test that C plugins have local linkage Otherwise two symbols from different plugins could share the same global reference. Based on a patch by Thomas Martitz https://bugzilla.gnome.org/show_bug.cgi?id=740823 tests/libpeas/extension-c.c | 39 ++++++++++++++++++++ .../plugins/extension-c/extension-c-plugin.c | 41 ++++++++++++++++++++++ .../plugins/extension-c/extension-c-plugin.h | 3 ++ tests/plugins/loadable/loadable-plugin.c | 24 ++++++++++++- tests/plugins/loadable/loadable-plugin.h | 3 ++ 5 files changed, 109 insertions(+), 1 deletion(-) commit 3ee92ca98b095bbd840f4c7b10df8939fe246484 Author: Thomas Martitz Date: Thu Dec 18 05:03:30 2014 -0800 Load C plugins with local linkage C extensions can bring arbitrary symbols into the global symbol table which is then shared with all other extensions and the main binary. This is a recipe for symbol clashes which are hard to debug. Using G_MODULE_BIND_LOCAL provides proper isolation and makes applications more robust. Based on a patch by Thomas Martitz https://bugzilla.gnome.org/show_bug.cgi?id=740823 docs/reference/libpeas-sections.txt | 1 + libpeas/peas-engine.c | 6 +++- libpeas/peas-object-module.c | 62 ++++++++++++++++++++++++++++++++++--- libpeas/peas-object-module.h | 4 +++ libpeas/peas-plugin-loader-c.c | 8 +++-- 5 files changed, 73 insertions(+), 8 deletions(-) commit 351dd611818caf0e5fcf94d651507447856cc6ea Author: Garrett Regier Date: Thu Dec 18 04:28:27 2014 -0800 Make the Lua plugin loader safe for global use It would break when another plugin had the same module name. loaders/lua5.1/peas-plugin-loader-lua.c | 43 +++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 7 deletions(-) commit 15fd57bb4715169570dddf2afedb2eeaac606d4b Author: Garrett Regier Date: Thu Dec 18 03:43:08 2014 -0800 Use the GQuark API for GObject data libpeas/peas-extension.c | 7 +++++-- libpeas/peas-plugin-loader-c.c | 7 +++++-- loaders/lua5.1/peas-plugin-loader-lua.c | 7 +++++-- loaders/python/peas-plugin-loader-python.c | 7 +++++-- 4 files changed, 20 insertions(+), 8 deletions(-) commit 79a85d6185c08cfc1da968fcd7f5dfd043fadc4a Author: Garrett Regier Date: Thu Dec 18 03:38:28 2014 -0800 Use G_DEFINE_QUARK libpeas/peas-plugin-info.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit c1dc6e63286b10eec8b29403e3e064cf52092197 Author: Garrett Regier Date: Thu Dec 18 03:37:56 2014 -0800 Add peas_engine_new_with_nonglobal_loaders() to the docs docs/reference/libpeas-sections.txt | 1 + 1 file changed, 1 insertion(+) commit 8c8a57d6c43dc98768b3a043ffde1e2fe9b2e5ab Author: Garrett Regier Date: Thu Dec 18 03:36:40 2014 -0800 Update the PeasExtension docs Don't mention "dynamically implemented interfaces" as wrapping is now done by the language binding. libpeas/peas-extension.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 6efe678ec4968cfc5ba772e900e94704d02f5dfd Author: Garrett Regier Date: Thu Dec 18 03:20:47 2014 -0800 Add missing since annotations to PeasPluginInfo API libpeas/peas-plugin-info.c | 4 ++++ 1 file changed, 4 insertions(+) commit 8265675b1cafc2f4a259060bf2035aab921ff596 Author: Garrett Regier Date: Tue Dec 16 02:31:42 2014 -0800 Test that plugins are multi-thread safe https://bugzilla.gnome.org/show_bug.cgi?id=741579 .../plugins/extension-lua/extension-lua51.lua | 10 +++ .../plugins/extension-python/extension-py.py.in | 15 +++- tests/libpeas/testing/testing-extension.c | 98 +++++++++++++++------- 3 files changed, 92 insertions(+), 31 deletions(-) commit 6040c22fef0cdf7ee94876aaed37c86bcf92e25f Author: Garrett Regier Date: Tue Dec 16 01:42:21 2014 -0800 Fix Lua plugins to work with multiple threads Unlock the LGI lock after init and acquire and release it as necessary. This allows plugins to be used from multiple threads and global plugin loader limitations. https://bugzilla.gnome.org/show_bug.cgi?id=741579 libpeas/peas-engine.c | 7 +--- loaders/lua5.1/peas-plugin-loader-lua.c | 64 ++++++++++++++++++++++++++----- tests/libpeas/testing/testing-extension.c | 9 +---- 3 files changed, 58 insertions(+), 22 deletions(-) commit 2d2a9a84fcbfacbae8bf52af3903cb159293b428 Author: Pawan Chitrakar Date: Sat Dec 13 01:49:54 2014 +0000 Added Nepali translation po/LINGUAS | 1 + po/ne.po | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 164 insertions(+) commit e337e826e5a982195a444f1e6fae0bbee26bbfe4 Author: Garrett Regier Date: Wed Nov 19 23:05:42 2014 -0800 Add Since tag to PeasEngine:nonglobal-loaders https://bugzilla.gnome.org/show_bug.cgi?id=739831 libpeas/peas-engine.c | 2 ++ 1 file changed, 2 insertions(+) commit d9cd924211440004d9e91ded9a82bd7ec37a10be Author: Garrett Regier Date: Wed Nov 19 23:03:25 2014 -0800 Add Since tag to peas_engine_new_with_nonglobal_loaders() https://bugzilla.gnome.org/show_bug.cgi?id=739831 libpeas/peas-engine.c | 2 ++ 1 file changed, 2 insertions(+) commit 68c0bbf7147d30c9635b779873595a18336d447c Author: Garrett Regier Date: Tue Nov 18 23:50:54 2014 -0800 Fix srcdir != builddir with Lua 5.1 plugin loader configure.ac | 2 +- tests/libpeas/plugins/extension-lua/Makefile.am | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) commit 34187cdca60f9fda3c8213172f7e18de6ff53969 Author: Garrett Regier Date: Sun Nov 16 12:25:56 2014 -0800 Cleanup lua5.1 test plugin These properties were removed while developing the plugin loader. .../plugins/extension-lua/extension-lua51.lua | 36 +--------------------- 1 file changed, 1 insertion(+), 35 deletions(-) commit cbd4ecf6f2026f9be895efa49ad5dbbb7a1c806c Author: Garrett Regier Date: Sun Nov 16 12:22:33 2014 -0800 Add nonglobal plugin loader support This allows multiple threads to each have a PeasEngine and be used without internal locking. It also allows using lua5.1 plugins from multiple threads. https://bugzilla.gnome.org/show_bug.cgi?id=739831 libpeas/peas-engine.c | 136 +++++++++++++++++++++++------- libpeas/peas-engine.h | 2 + libpeas/peas-plugin-loader.c | 15 ++++ libpeas/peas-plugin-loader.h | 2 + loaders/lua5.1/peas-plugin-loader-lua.c | 7 ++ tests/libpeas/testing/testing-extension.c | 50 ++++++++--- tests/libpeas/testing/testing.c | 4 +- tests/libpeas/testing/testing.h | 8 +- tests/testing-util/testing-util.c | 8 +- tests/testing-util/testing-util.h | 17 ++-- 10 files changed, 190 insertions(+), 59 deletions(-) commit 58b36ad61c11bf26f29d7f7df1ee914b2da200e1 Author: Garrett Regier Date: Sat Nov 8 13:00:00 2014 -0800 Cleanup PeasPluginLoader checks Check that the vfuncs are implemented once, not each time they are called. libpeas/peas-plugin-loader.c | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) commit 9a2b7a92741fd88fb059882c84eca9381246d554 Author: Garrett Regier Date: Sat Nov 8 12:31:58 2014 -0800 Add an extension test that uses multiple threads This should act as a good stress test for checking that libpeas is thread-safe. This also changes testing-utils to be thread aware. https://bugzilla.gnome.org/show_bug.cgi?id=739619 configure.ac | 4 +- tests/libpeas/testing/testing-extension.c | 62 +++++++++++++++++++++ tests/testing-util/testing-util.c | 92 +++++++++++++++++++++++-------- 3 files changed, 133 insertions(+), 25 deletions(-) commit 47ff5e97b4066822b773c04a063914fecafb20bf Author: Garrett Regier Date: Sat Nov 8 12:24:09 2014 -0800 Make PeasEngine thread-safe https://bugzilla.gnome.org/show_bug.cgi?id=739619 libpeas/peas-engine.c | 276 +++++++++++++++++++++--------- libpeas/peas-utils.c | 19 +- libpeas/peas-utils.h | 3 + tests/libpeas/extension-py.c | 3 +- tests/libpeas/testing/testing-extension.c | 9 +- 5 files changed, 228 insertions(+), 82 deletions(-) commit fbfea67c9ae08b570e5aa5bcd644d70937f50f20 Author: Garrett Regier Date: Sat Nov 8 11:18:33 2014 -0800 Fix setting "peas-extension-type" in the lua5.1 plugin loader This fix was already made to the other plugins loaders. loaders/lua5.1/peas-plugin-loader-lua.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit b4664d44f991fd86e5c08627df6120c49dba1245 Author: Garrett Regier Date: Sat Nov 8 11:14:15 2014 -0800 Document that the lua5.1 plugin loader is not thread-safe https://bugzilla.gnome.org/show_bug.cgi?id=739619 libpeas/peas-engine.c | 4 ++++ loaders/lua5.1/peas-plugin-loader-lua.c | 4 ++++ 2 files changed, 8 insertions(+) commit 505446b3ee32083837e6de97ba0aa92d3a0bded9 Author: Garrett Regier Date: Sat Nov 8 07:51:01 2014 -0800 Make the Python plugin loader thread-safe https://bugzilla.gnome.org/show_bug.cgi?id=739619 loaders/python/peas-plugin-loader-python.c | 345 ++++++++++++++--------------- 1 file changed, 164 insertions(+), 181 deletions(-) commit b3e33c431e73c9d594b90f75d6f62d551d31445c Author: Garrett Regier Date: Sat Nov 8 07:49:56 2014 -0800 Make the C plugin loader thread-safe https://bugzilla.gnome.org/show_bug.cgi?id=739619 libpeas/peas-plugin-info-priv.h | 4 ++ libpeas/peas-plugin-info.c | 2 + libpeas/peas-plugin-loader-c.c | 100 +++++++++++++++++----------------------- 3 files changed, 49 insertions(+), 57 deletions(-) commit 68a51dbc42e98d823ce57c4e85a129ed0e180378 Author: Necdet Yücel Date: Mon Nov 17 07:38:28 2014 +0000 Updated Turkish translation po/tr.po | 71 +++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 48 insertions(+), 23 deletions(-) commit 84a159374c7032f0bc536321df66d4ffac97d9fe Author: Garrett Regier Date: Tue Nov 4 05:43:20 2014 -0800 Implemented a Lua plugin loader using the LGI bindings .gitignore | 1 + README | 12 +- configure.ac | 130 ++++++- libpeas/peas-engine.c | 12 +- libpeas/peas-utils.c | 3 +- libpeas/peas-utils.h | 2 +- loaders/Makefile.am | 4 + loaders/lua5.1/Makefile.am | 31 ++ loaders/lua5.1/peas-plugin-loader-lua-utils.c | 122 +++++++ .../lua5.1/peas-plugin-loader-lua-utils.h | 33 +- loaders/lua5.1/peas-plugin-loader-lua.c | 404 +++++++++++++++++++++ loaders/lua5.1/peas-plugin-loader-lua.h | 60 +++ peas-demo/peas-demo.c | 1 + peas-demo/plugins/Makefile.am | 4 + peas-demo/plugins/luahello/Makefile.am | 8 + peas-demo/plugins/luahello/luahello.lua | 50 +++ peas-demo/plugins/luahello/luahello.plugin | 7 + tests/libpeas/Makefile.am | 7 + tests/libpeas/extension-lua.c | 213 +++++++++++ tests/libpeas/plugins/Makefile.am | 5 + tests/libpeas/plugins/extension-lua/Makefile.am | 7 + .../extension-lua/extension-lua51.gschema.xml | 9 + .../plugins/extension-lua/extension-lua51.lua | 91 +++++ .../plugins/extension-lua/extension-lua51.plugin | 7 + .../plugins/extension-lua51-nonexistent.plugin | 7 + tests/libpeas/testing/testing-extension.c | 13 +- 26 files changed, 1217 insertions(+), 26 deletions(-) commit 1b5f91bf344475ba1f825c9317799c30b7694324 Author: Garrett Regier Date: Fri Oct 31 03:19:14 2014 -0700 No longer use a GHashTable for storing the plugin loaders Replace with a static array and functions to convert from a loader name to an id and back. Also, warn if an unknown loader is given to peas_engine_enable_loader() or specified in a .plugin file. libpeas/peas-engine.c | 197 +++++++++------------ libpeas/peas-engine.h | 2 +- libpeas/peas-plugin-info-priv.h | 2 +- libpeas/peas-plugin-info.c | 34 ++-- libpeas/peas-utils.c | 40 +++++ libpeas/peas-utils.h | 6 + tests/libpeas/engine.c | 40 +---- tests/libpeas/plugins/Makefile.am | 6 +- tests/libpeas/plugins/disabled-loader.plugin | 7 - tests/libpeas/plugins/extension-python/Makefile.am | 12 +- ...-py.gschema.xml => extension-py.gschema.xml.in} | 0 ...{extension-py.plugin => extension-py.plugin.in} | 0 .../{extension-py.py => extension-py.py.in} | 0 tests/libpeas/plugins/invalid-loader.plugin | 7 - tests/libpeas/plugins/nonexistent-loader.plugin | 7 - tests/libpeas/plugins/unkown-loader.plugin | 7 + tests/libpeas/testing/testing.c | 10 +- 17 files changed, 181 insertions(+), 196 deletions(-) commit ce67ea87772397b685e4e19008c75907e4a97a53 Author: Garrett Regier Date: Tue Oct 28 11:38:27 2014 -0700 Cleanup PeasPluginInfo coding style and docs libpeas/peas-plugin-info-priv.h | 4 +- libpeas/peas-plugin-info.c | 127 +++++++++++++++++----------------------- tests/libpeas/testing/testing.c | 2 +- 3 files changed, 58 insertions(+), 75 deletions(-) commit bf4b6b11a4e4981f45b9fd1f70f3c9fb9d4c592e Author: Garrett Regier Date: Tue Oct 28 11:18:06 2014 -0700 Update URLs for gnome.org changes configure.ac | 3 ++- libpeas/peas-plugin-info.c | 4 ++-- peas-demo/plugins/secondtime/secondtime.plugin | 2 +- .../plugins/builtin-configurable/builtin-configurable.plugin | 1 - tests/libpeas-gtk/plugins/configurable/configurable.plugin | 3 +-- tests/libpeas/plugin-info.c | 4 ++-- tests/libpeas/plugins/extension-c-nonexistent.plugin | 1 - tests/libpeas/plugins/extension-c/extension-c.plugin | 1 - tests/libpeas/plugins/extension-python-nonexistent.plugin | 1 - tests/libpeas/plugins/extension-python/extension-py.plugin | 1 - tests/libpeas/plugins/extension-python3-nonexistent.plugin | 1 - tests/libpeas/plugins/nonexistent-dep.plugin | 1 - tests/libpeas/plugins/nonexistent-loader.plugin | 1 - tests/libpeas/plugins/os-dependant-help.plugin | 1 - tests/plugins/builtin/builtin.plugin | 1 - tests/plugins/full-info.plugin | 4 ++-- tests/plugins/has-dep/has-dep.plugin | 1 - tests/plugins/loadable/loadable.plugin | 1 - tests/plugins/self-dep/self-dep.plugin | 1 - tests/plugins/unavailable.plugin | 1 - 20 files changed, 10 insertions(+), 24 deletions(-) commit ec00df775e6225de1087ac156ba950544215285b Author: Garrett Regier Date: Tue Oct 28 10:46:52 2014 -0700 Rename helpers to utils docs/reference/Makefile.am | 4 ++-- libpeas/Makefile.am | 8 ++++---- libpeas/peas-engine.c | 7 ++++--- libpeas/peas-extension-set.c | 7 ++++--- libpeas/{peas-helpers.c => peas-utils.c} | 16 ++++++++-------- libpeas/{peas-helpers.h => peas-utils.h} | 18 +++++++++--------- 6 files changed, 31 insertions(+), 29 deletions(-) commit dcb2247e6b338e093275db8292231bd6152ef8e1 Author: Garrett Regier Date: Tue Oct 28 09:37:17 2014 -0700 Remove everything the seed plugin loader used This is no longer needed as the seed plugin loader has been removed. https://bugzilla.gnome.org/show_bug.cgi?id=739306 configure.ac | 9 - docs/reference/Makefile.am | 2 - libpeas/Makefile.am | 4 - libpeas/peas-extension-subclasses.c | 394 --------------------- libpeas/peas-extension-subclasses.h | 34 -- libpeas/peas-extension-wrapper.c | 100 ------ libpeas/peas-extension-wrapper.h | 81 ----- libpeas/peas-extension.c | 39 +- libpeas/peas-introspection.c | 168 --------- libpeas/peas-introspection.h | 5 - libpeas/peas-plugin-loader-c.c | 8 +- loaders/python/peas-plugin-loader-python.c | 7 +- tests/libpeas/introspection/Makefile.am | 4 - .../introspection-properties-prerequisite.c | 52 --- .../introspection-properties-prerequisite.h | 52 --- .../introspection/introspection-properties.c | 57 --- .../introspection/introspection-properties.h | 52 --- .../plugins/extension-python/extension-py.py | 8 - tests/libpeas/testing/testing-extension.c | 106 ------ tests/libpeas/testing/testing-extension.h | 4 +- 20 files changed, 14 insertions(+), 1172 deletions(-) commit 41331aa6c52dbc29af727a6d0db9a43fcdc03c57 Author: Garrett Regier Date: Tue Oct 28 08:42:15 2014 -0700 Remove support for seed-based Javascript plugins The seed bindings lack subclassing support and as such are holding back the capabilities that libpeas can depend on for certain features that plugins are expected to use. The bindings are also rather unmaintained these days. https://bugzilla.gnome.org/show_bug.cgi?id=739306 .gitignore | 1 - README | 8 +- configure.ac | 41 --- libpeas/peas-engine.c | 8 +- libpeas/peas-extension-base.c | 4 +- loaders/Makefile.am | 4 - loaders/seed/Makefile.am | 28 -- loaders/seed/peas-extension-seed.c | 331 ----------------- loaders/seed/peas-extension-seed.h | 61 ---- loaders/seed/peas-plugin-loader-seed.c | 401 --------------------- loaders/seed/peas-plugin-loader-seed.h | 56 --- peas-demo/peas-demo.c | 1 - peas-demo/plugins/Makefile.am | 4 - peas-demo/plugins/seedhello/Makefile.am | 7 - peas-demo/plugins/seedhello/seedhello.js | 57 --- peas-demo/plugins/seedhello/seedhello.plugin | 8 - po/POTFILES.skip | 2 - tests/libpeas/Makefile.am | 6 - tests/libpeas/extension-seed.c | 56 --- tests/libpeas/plugins/Makefile.am | 5 - .../plugins/extension-seed-nonexistent.plugin | 8 - tests/libpeas/plugins/extension-seed/Makefile.am | 8 - .../extension-seed/extension-seed.gschema.xml | 9 - .../plugins/extension-seed/extension-seed.js | 45 --- .../plugins/extension-seed/extension-seed.plugin | 8 - tests/libpeas/testing/testing-extension.c | 3 +- 26 files changed, 11 insertions(+), 1159 deletions(-) commit b25faeb9e0e95e1377c0200ce16648255b86f479 Author: Baurzhan Muftakhidinov Date: Tue Oct 28 06:10:38 2014 +0000 Added Kazakh translation po/LINGUAS | 1 + po/kk.po | 162 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) commit ab1bccfb78c3ce9619141f04a6dc7057b3148c2e Author: Rūdolfs Mazurs Date: Tue Oct 7 21:00:38 2014 +0300 Updated Latvian translation po/lv.po | 67 ++++++++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 21 deletions(-) commit 762982f55d86b5a1b33c1bcc9579bf52b5fda3ab Author: Milo Casagrande Date: Sun Oct 5 12:18:05 2014 +0000 Updated Italian translation po/it.po | 72 +++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 49 insertions(+), 23 deletions(-) commit 5be374891bda77a0b21ee4b09908e1d738b6f310 Author: Saibal Ray Date: Tue Sep 30 07:33:27 2014 +0000 Updated Bengali (India) translation po/bn_IN.po | 83 ++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 28 deletions(-) commit 59e88dfc0e9b724dc6f8d4ed7c02a69fe493c242 Author: Мирослав Николић Date: Wed Sep 24 10:49:41 2014 +0200 Updated Serbian translation po/sr.po | 95 ++++++++++++++++++++++++++++++++++++---------------------- po/sr@latin.po | 95 ++++++++++++++++++++++++++++++++++++---------------------- 2 files changed, 120 insertions(+), 70 deletions(-) commit f9021ad9c56b8b3cd1f9a84078f6025291e23891 Author: Garrett Regier Date: Mon Sep 22 07:46:11 2014 -0700 Post-release version bump configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)