Ignore:
Timestamp:
11/27/08 15:40:05 (13 years ago)
Author:
felix winkelmann
Message:

applied changes (untested)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chicken/branches/lazy-gensyms/expand.scm

    r12609 r12612  
    7474(define (macro-alias var se)
    7575  (if (or (##sys#qualified-symbol? var)
    76           (let* ((str (##sys#slot var 1))
    77                  (len (##sys#size str)))
    78             (and (fx> len 0)
    79                  (char=? #\# (##core#inline "C_subchar" str 0)))))
     76          (let ((str (##sys#slot var 1)))
     77            (and (not (fixnum? str))
     78                 (let ((len (##sys#size str)))
     79                   (and (fx> len 0)             ;*** what would happen if we remove this?
     80                        (char=? #\# (##core#inline "C_subchar" str 0)))))))
    8081      var
    8182      (let* ((alias (gensym var))
     
    251252  (##sys#string->symbol
    252253   (string-append
    253     (##sys#slot prefix 1)
     254    (##sys#slot prefix 1)               ;*** must be symbol with name!
    254255    "#"
    255     (##sys#slot sym 1) ) ) )
     256    (##sys#symbol-name sym) ) ) )
    256257
    257258(define (##sys#alias-global-hook sym assign)
     
    317318    (lambda (llist0 body errh se)
    318319      (define (err msg) (errh msg llist0))
    319       (define (->keyword s) (string->keyword (##sys#slot s 1)))
     320      (define (->keyword s) (string->keyword (##sys#symbol-name s)))
    320321      (let ([rvar #f]
    321322            [hasrest #f]
     
    15121513                          (let ((palias
    15131514                                 (##sys#string->symbol
    1514                                   (##sys#string-append "#%" (##sys#slot ve 1)))))
     1515                                  (##sys#string-append "#%" (##sys#symbol-name ve)))))
    15151516                            (##sys#put! palias '##core#primitive ve)
    15161517                            (cons ve palias))
Note: See TracChangeset for help on using the changeset viewer.