Hi Philip( On Wednesday, 16 November 2016, <philip.chime...@gmail.com> wrote:
> Hi list, > > I'm on the verge of merging a branch [1] to GJS master, which will port > the underlying JS engine to SpiderMonkey 31 (was 24). This will bring a > bunch of new JS features (and I hope performance improvements as well) to > gnome-shell and extension authors. > > With the new engine, gnome-shell code will be required to call gjs_init() > before making any other calls to the GJS API, and call gjs_shutdown() after > destroying your last GjsContext. It is planned for both of these methods to > be new API in GJS 1.47.1. > I'm always a bit sad when libraries require explicit initialisation and deinitialisation functions; they usually impose additional cognitive burden on developers. Since GJS is written as a C++ library with a C ABI, wouldn't be possible to use a static constructor to automatically call gjs_init() before the main() function is called? And, symmetrically, use a static destructor to shut it down after main() returns? Is it an ordering problem? My questions: > - Will it be a problem for gnome-shell master to bump its dependency on > GJS to >= 1.47.1? > - Is it likely that this would be a problem with backwards compatibility > (e.g. if anyone would try to run, say, gnome-shell 3.18 with GJS 1.48) > If the Shell acquires a compile time dependency on a newer GJS then everybody packaging the Shell will also update GJS, and vice versa, so I would not worry about this. Ciao, Emmanuele. -- https://www.bassi.io [@] ebassi [@gmail.com]
_______________________________________________ gnome-shell-list mailing list gnome-shell-list@gnome.org https://mail.gnome.org/mailman/listinfo/gnome-shell-list