rem: void gsb_assistant_run ( GtkWidget * assistant )
add: GtkResponseType gsb_assistant_run ( GtkWidget * assistant )
context: void gsb_assistant_run ( GtkWidget * assistant ){    gint state = 0;    GtkWidget * notebook, * button_prev, * button_next;    button_prev = g_object_get_data ( assistant, "button_prev" );    button_next = g_object_get_data ( assistant, "button_next" );    gtk_widget_show_all ( assistant );    notebook = g_object_get_data ( assistant, "notebook" );    while ( TRUE )    {	gint current = gtk_notebook_get_current_page ( notebook );	gint prev = g_object_get_data ( assistant, g_strdup_printf ( "prev%d", current ) );	gint next = g_object_get_data ( assistant, g_strdup_printf ( "next%d", current ) );	gtk_window_set_title ( assistant, 			       g_strdup_printf ( "%s (%d of %d)", 						 g_object_get_data ( assistant, "title" ),						 current + 1,						 gtk_notebook_get_n_pages ( notebook ) ) );	switch ( gtk_dialog_run ( assistant ) )	{	    case GTK_RESPONSE_CANCEL:		gtk_widget_destroy ( assistant );		return;	    case GTK_RESPONSE_YES:		gtk_notebook_set_page ( notebook, next );		gtk_widget_set_sensitive ( button_prev, TRUE );		if ( gtk_notebook_get_n_pages ( notebook ) == ( next + 1 ) )		{		    gtk_widget_set_sensitive ( button_next, FALSE );		}		break;	    case GTK_RESPONSE_NO:		gtk_notebook_set_page ( notebook, prev );		gtk_widget_set_sensitive ( button_next, TRUE );		if ( prev == 0 )		{		    gtk_widget_set_sensitive ( button_prev, FALSE );		}		break;	}    }}