let-values unbound pasted by certainty on Thu Mar 29 11:05:08 2012

(define-syntax pointer-inc
  (lambda (exp rename compare)
    (let-values (((_ exp _) (##sys#module-exports (alist-ref 'lolevel ##sys#module-table))))
      (if (alist-ref 'pointer+ exp)
          `(,(rename 'pointer+) ,@(cdr exp))
          `(,(rename 'pointer-offset) ,@(cdr exp))))))


;;Error: during expansion of (pointer-inc ...) - unbound variable: let-values

fixed shadowed binding pasted by certainty on Thu Mar 29 11:08:11 2012

(define-syntax pointer-inc
  (lambda (exp rename compare)
    (let-values (((_ exports _) (##sys#module-exports (alist-ref 'lolevel ##sys#module-table))))
      (if (alist-ref 'pointer+ exports)
          `(,(rename 'pointer+) ,@(cdr exp))
          `(,(rename 'pointer-offset) ,@(cdr exp))))))

ir-macro version added by DerGuteMoritz on Thu Mar 29 11:09:51 2012

(define-syntax pointer-inc
  (ir-macro-transformer
   (lambda (exp inject compare)
     (receive (_ exports _) (##sys#module-exports (alist-ref 'lolevel ##sys#module-table))
       (if (alist-ref 'pointer+ exports)
           `(pointer+ ,@(cdr exp))
           `(pointer-offset ,@(cdr exp)))))))