Hello,
what is the status of the eval options structure wrt binary compatibility?
Right now, it says
scm_t_option scm_evaluator_trap_table[] = {
{ SCM_OPTION_BOOLEAN, "traps", 0, "Enable evaluator traps." },
{ SCM_OPTION_BOOLEAN, "enter-frame", 0, "Trap when eval enters new frame." },
{ SCM_OPTION_BOOLEAN, "apply-frame", 0, "Trap when entering apply." },
{ SCM_OPTION_BOOLEAN, "exit-frame", 0, "Trap when exiting eval or apply." },
{ SCM_OPTION_SCM, "enter-frame-handler", (unsigned long)SCM_BOOL_F, "Handler
for enter-frame traps." },
{ SCM_OPTION_SCM, "apply-frame-handler", (unsigned long)SCM_BOOL_F, "Handler
for apply-frame traps." },
{ SCM_OPTION_SCM, "exit-frame-handler", (unsigned long)SCM_BOOL_F, "Handler
for exit-frame traps." }
};
this order is awkward when a new trap option has to be added.
The problematic thing is that this is exported to GUILE users, through
#define SCM_ENTER_FRAME_P scm_evaluator_trap_table[1].val
in eval.h
I would like to change this order, and if possible move this out of
the global namespace. Are there any objections? It would break binary
compatibility with apps that inspect options by looking at
scm_evaluator_trap_table directly, but I believe those are broken
anyway.
--
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen
_______________________________________________
Guile-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-devel