The R Project SVN R

Rev

Rev 41713 | Rev 42307 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 41713 Rev 41894
Line 78... Line 78...
78
 
78
 
79
static Rboolean tracing_state = TRUE;
79
static Rboolean tracing_state = TRUE;
80
#define GET_TRACE_STATE tracing_state
80
#define GET_TRACE_STATE tracing_state
81
#define SET_TRACE_STATE(value) tracing_state = value
81
#define SET_TRACE_STATE(value) tracing_state = value
82
 
82
 
83
SEXP R_traceOnOff(SEXP onOff) {
83
SEXP R_traceOnOff(SEXP onOff)
84
    SEXP value;
84
{
85
    Rboolean prev = GET_TRACE_STATE;
85
    Rboolean prev = GET_TRACE_STATE;
86
    if(length(onOff) > 0) {
86
    if(length(onOff) > 0) {
87
        Rboolean _new = asLogical(onOff);
87
        Rboolean _new = asLogical(onOff);
88
        if(_new == TRUE || _new == FALSE)
88
        if(_new == TRUE || _new == FALSE)
89
            SET_TRACE_STATE(_new);
89
            SET_TRACE_STATE(_new);
90
        else
90
        else
91
            error("Value for tracingState must be TRUE or FALSE");
91
            error("Value for tracingState must be TRUE or FALSE");
92
    }
92
    }
93
    value = allocVector(LGLSXP, 1);
-
 
94
    LOGICAL(value)[0] = prev;
-
 
95
    return value;
93
    return ScalarLogical(prev);
96
}
94
}
97
 
95
 
98
Rboolean attribute_hidden
96
Rboolean attribute_hidden
99
R_current_trace_state() { return GET_TRACE_STATE; }
97
R_current_trace_state() { return GET_TRACE_STATE; }
100
 
98