view lwlib/lwlib-Xaw.h @ 5393:e99b473303e3

Use GC_EXTERNAL_LIST_LOOP_* where appropriate, fns.c src/ChangeLog addition: 2011-04-04 Aidan Kehoe <kehoea@parhasard.net> * lisp.h (GC_EXTERNAL_LIST_LOOP_3, GC_EXTERNAL_LIST_LOOP_4): New. * fns.c (count_with_tail, list_position_cons_before, FassocX): * fns.c (FrassocX, position, FdeleteX, FremoveX): * fns.c (list_delete_duplicates_from_end): * fns.c (Fdelete_duplicates, Fremove_duplicates, Freduce): * fns.c (Fnsubstitute, Fsubstitute, sublis, nsublis, Fnsublis): * fns.c (venn, nvenn, Funion, Fset_exclusive_or, Fnset_exclusive_or): Use GC_EXTERNAL_LIST_LOOP_* in the sequence functions in fns.c where appropriate, there were some corner cases where my old approach was unsafe (mainly if the circularity checking's tortoise lost GCPRO protection. Add GC_EXTERNAL_LIST_LOOP_{3,4}, analogous to GC_EXTERNAL_LIST_LOOP_2.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 04 Apr 2011 00:20:09 +0100
parents 98528da0b7fc
children ade4c7e2c6cb
line wrap: on
line source

#ifndef INCLUDED_lwlib_Xaw_h_
#define INCLUDED_lwlib_Xaw_h_

#include "lwlib-internal.h"

extern const widget_creation_entry xaw_creation_table [];

Widget 
xaw_create_dialog (widget_instance* instance);

Widget
xaw_create_label (Widget parent, widget_value* val);

Boolean
lw_xaw_widget_p (Widget widget);

void
xaw_update_one_widget (widget_instance *instance, Widget widget,
		       widget_value *val, Boolean deep_p);

void
xaw_update_one_value (widget_instance* instance, Widget widget,
		      widget_value* val);

void
xaw_destroy_instance (widget_instance* instance);

void
xaw_popup_menu (Widget widget, XEvent *event);

void
xaw_pop_instance (widget_instance* instance, Boolean up);

#endif /* INCLUDED_lwlib_Xaw_h_ */