Fix CDR()
usage on lhs
Closes #239
244 | 244 | out = Rf_cons(rhs, out); |
|
245 | 245 | REPROTECT(out, out_pi); |
|
246 | 246 | ||
247 | - | SEXP args = CDR(lhs); |
|
248 | - | ||
249 | 247 | if ((kind = parse_pipe_call(lhs, pipe_sym))) { |
|
248 | + | if (TYPEOF(lhs) != LANGSXP) { |
|
249 | + | Rf_error("Internal error in `pipe_unroll()`: Expected LHS call."); |
|
250 | + | } |
|
251 | + | SEXP args = CDR(lhs); |
|
250 | 252 | lhs = CAR(args); |
|
251 | 253 | rhs = CADR(args); |
|
252 | 254 | continue; |