Control: tags -1 moreinfo On 2012-11-26 15:31, Josselin Mouette wrote: > Package: release.debian.org > Severity: normal > User: release.debian....@packages.debian.org > Usertags: unblock > > Please unblock package gjs for an API extension that is necessary for a > RC bugfix in gnome-documents. > > gjs (1.32.0-3) unstable; urgency=low > > * 02_gerror_class.patch, 03_gerror_details.patch: patches from > upstream git. Introduce a class to manage GError correctly. > Closes: #691551. > * Bump shblibs version since this extends the API. > > Please require 15 days before testing migration since there is a small > but existing possiblity of impact on gnome-shell and gnome-sushi. > > unblock gjs/1.32.0-3 > > Thanks,
Hi, I do have a concern or two about the actual diff (see gjs-diff.review, attached to avoid line-mangling). ~Niels
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ gjs-1.32.0/gi/gerror.c 2012-11-26 10:59:33.538183526 +0100 +@@ -0,0 +1,589 @@ ++/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */ ++/* ++ * Copyright (c) 2008 litl, LLC ^^^^ Copy-waste? Similar coment for the .h file (in case it is) I am a bit concerned about: """ +--- a/gjs/context.h ++++ b/gjs/context.h +@@ -68,7 +68,11 @@ gboolean gjs_context_define_string_array (GjsContext *js_context, + GList* gjs_context_get_all (void); + void* gjs_context_get_native_context (GjsContext *js_context); + ++/* initial_frame is a JSStackFrame, but cannot be exposed as such in the ++ public API. Pass NULL to get the topmost frame. ^^^^ ++*/ + void gjs_context_print_stack_to_buffer (GjsContext *js_context, ++ void *initial_frame, + GString *buf); """ combined with """ + void +-gjs_context_print_stack_to_buffer(GjsContext* context, GString *buf) ++gjs_context_print_stack_to_buffer(GjsContext* context, void *initial, GString *buf) + { + JSContext *js_context = (JSContext*)gjs_context_get_native_context(context); +- JSStackFrame* fp; +- JSStackFrame* iter = NULL; ++ JSStackFrame* fp = initial; ^^^^^^^^^^^^ + int num = 0; + +- g_string_append_printf(buf, "== Stack trace for context %p ==\n", context); +- while ((fp = JS_FrameIterator(js_context, &iter)) != NULL) { ++ while (fp) { ^^ + format_frame(js_context, fp, buf, num); + num++; +- } + +- if(!num) +- g_string_append_printf(buf, "(JavaScript stack is empty)\n"); +- g_string_append(buf, "\n"); ++ JS_FrameIterator(js_context, &fp); ++ } + } """ Seems to me that gjs_context_print_stack_to_buffer is (more or less) a NO-OP if intial is NULL. (/me read "topmost" as the "deepest/innermost" frame, so I was expecting it to dump the "entire" stack. If "topmost" has a different meaning here or I missed something in the diff, please do correct me)