Custom Query (1630 matches)
Results (73 - 75 of 1630)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#238 | fixed | 4.5.0 post-release maintenance | ||
Description |
|
|||
#235 | fixed | > < >= <= = 2-arg compiler rewrites are broken | ||
Description |
The implementation of C_i_greaterp does not throw an error when the first argument is not a number. See example at http://paste.lisp.org/display/99206 I believe this is because it does not check the argument type of x, only y. Instead if x is not a fixnum or flonum, C_i_greaterp just returns #f. In other words it is missing: else barf(C_BAD_ARGUMENT_TYPE_ERROR, ">", x); I also believe C_i_nequalp, C_i_greaterp, C_i_lessp, C_i_greater_or_equalp, C_i_less_or_equalp are all affected. |
|||
#1362 | fixed | A case when composing with ir-macro-transformer | ||
Description |
I ran into this unexpected behaviour when using ir macros in ir macros. I don't think this should happen:
(bind-pair (x y) (cons 1 2) (print y)) => prints 2
(define-syntax foo (ir-macro-transformer (lambda (e i c) `(bind-pair (x y) (cons 'foo-car 'b) (print y)))))
;; (##core#let ;; ((x40 (cons42 (quote43 foo-car44) (quote43 b45)))) ;; (##core#let ;; ((x40 (car48 x40))) ;; (##core#let ((y41 (cdr49 x40))) (##core#let () (print46 y41)))))
|