|
11 | 11 | set an initial format string (Dirk in \ghpr{777} fixing \ghit{776}). |
12 | 12 | \item The 'new' Date and Datetime vectors now have \code{is_na} methods |
13 | 13 | too. (Dirk in \ghpr{783} fixing \ghit{781}). |
14 | | - |
15 | 14 | \item Evaluation of R code is now safer when compiled against R |
16 | | - 3.5. Longjumps of all kinds (condition catching, returns, |
17 | | - restarts, debugger exit) are appropriately detected and handled, |
18 | | - e.g. the C++ stack unwinds correctly. The new function |
19 | | - \code{Rcpp_fast_eval()} can be used for performance-sensitive |
20 | | - evaluation of R code. Unlike \code{Rcpp_eval()}, it does not try |
21 | | - to catch errors with \code{tryEval} in order to avoid the catching |
22 | | - overhead. While this is safe thanks to the stack unwinding |
23 | | - protection, this also means that R errors are not transformed to |
24 | | - an \code{Rcpp::exception}. If you are relying on error rethrowing, |
25 | | - you have to use the slower \code{Rcpp_eval()}. On old R versions |
26 | | - \code{Rcpp_fast_eval()} falls back to \code{Rcpp_eval()} so it is |
27 | | - safe to use against any versions of R. |
| 15 | + 3.5 (you also need to explicitly define \code{RCPP_PROTECTED_EVAL} |
| 16 | + before including \code{Rcpp.h}). Longjumps of all kinds (condition |
| 17 | + catching, returns, restarts, debugger exit) are appropriately |
| 18 | + detected and handled, e.g. the C++ stack unwinds correctly. |
| 19 | + \item The new function \code{Rcpp_fast_eval()} can be used for |
| 20 | + performance-sensitive evaluation of R code. Unlike |
| 21 | + \code{Rcpp_eval()}, it does not try to catch errors with |
| 22 | + \code{tryEval} in order to avoid the catching overhead. While this |
| 23 | + is safe thanks to the stack unwinding protection, this also means |
| 24 | + that R errors are not transformed to an \code{Rcpp::exception}. If |
| 25 | + you are relying on error rethrowing, you have to use the slower |
| 26 | + \code{Rcpp_eval()}. On old R versions \code{Rcpp_fast_eval()} |
| 27 | + falls back to \code{Rcpp_eval()} so it is safe to use against any |
| 28 | + versions of R. |
28 | 29 | } |
29 | 30 | \item Changes in Rcpp Attributes: |
30 | 31 | \itemize{ |
|
0 commit comments