Ticket #1154: fix-bindings-for-compilation.diff

File fix-bindings-for-compilation.diff, 1.2 KB (added by Moritz Heidkamp, 9 years ago)
  • bindings.scm

     
    496496respectively.
    497497]|#
    498498
    499 (define (destruc pat seq glen gref gtail)
     499(define (destruc pat seq glen glen-sym gref gtail)
    500500  (let loop ((pat pat) (seq seq) (n 0))
    501501    (if (pair? pat)
    502502      (let ((p (car pat)))
     
    527527      (let ((tail `(,gtail ,seq ,n))
    528528            (length-check (lambda (p s)
    529529                            (if (list? p)
    530                               `(= ,(glen p) (,glen ,s))
    531                               `(<= ,(glen p) (,glen ,s))))))
     530                              `(= ,(glen p) (,glen-sym ,s))
     531                              `(<= ,(glen p) (,glen-sym ,s))))))
    532532        (if (null? pat)
    533533          (values '() '() `(,(length-check pat tail)))
    534534          (if (symbol? pat)
     
    540540]|#
    541541
    542542(define (list-destruc pat seq)
    543   (destruc pat seq plength plist-ref plist-tail))
     543  (destruc pat seq plength 'plength 'plist-ref 'plist-tail))
    544544
    545545(define (seq-destruc pat seq)
    546   (destruc pat seq seq-length seq-ref seq-tail))
     546  (destruc pat seq seq-length 'seq-length 'seq-ref 'seq-tail))
    547547
    548548#|[
    549549Four procedures which use the results of destruc