Hello! Looking at bug #21790, it occurred to me that the options listed in ‘private-options.h’ are (1) not private, and (2) mostly abandoned.
They’ve never been private and their Scheme counterpart (‘eval-options’, ‘debug-options’ & co.) are clearly public. The eval & debug options are largely abandoned though, in that ‘(ice-9 eval)’ and other new modules don’t currently honor them, and because some of them are not really applicable to the VM. Here’s the list along with comments (“irrelevant” means “i don’t think it makes sense in 2.0”, “future use?” means “perhaps it could be used in 2.0”, etc.): - evaluator (all these options are currently unused by (ice-9 eval)): SCM_EVAL_STACK irrelevant SCM_TRAPS_P future use? SCM_ENTER_FRAME_P future use? SCM_APPLY_FRAME_P future use? SCM_EXIT_FRAME_P future use? SCM_ENTER_FRAME_HDLR ? SCM_APPLY_FRAME_HDLR ? SCM_EXIT_FRAME_HDLR ? SCM_MEMOIZE_P irrelevant SCM_MEMOIZE_HDLR irrelevant - debugging: SCM_BREAKPOINTS_P future use? SCM_TRACE_P deprecated SCM_REC_PROCNAMES_P irrelevant SCM_BACKWARDS_P ? SCM_BACKTRACE_WIDTH used SCM_BACKTRACE_INDENT unused[1] SCM_N_FRAMES unused SCM_BACKTRACE_MAXDEPTH unused SCM_BACKTRACE_DEPTH unused?[2] SCM_BACKTRACE_P used[3] SCM_DEVAL_P deprecated SCM_STACK_LIMIT unused[4] SCM_SHOW_FILE_NAME used[5] SCM_WARN_DEPRECATED used [1] used in `display-application', which is only used in (ice-9 debugger utils), which is unused [2] used in `display-backtrace-with-highlights', which is mostly replaced by `print-frames' in (system repl debug) but still used in `throw.c' [3] in `throw.c', to determine whether to display a backtrace [4] unused but initialized in `debug.c' [5] only in `display-backtrace-with-highlights', but could be used in (system repl debug)? For debugging, part of the problem stems from the fact that ‘debug.c’ is now partly redundant with (system repl debug). For instance, ‘display-backtrace-with-highlights’ could be implemented in Scheme and share code with ‘print-frames’. So, what do you think? What should be kept, deprecated, etc.? Thanks, Ludo’.