[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

eval-options, debug-options, etc.

From: Ludovic Courtès
Subject: eval-options, debug-options, etc.
Date: Fri, 27 Aug 2010 11:51:07 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)


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

    [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.?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]