Changeset 15700 in project for chicken/trunk/eval.scm


Ignore:
Timestamp:
09/01/09 13:20:26 (11 years ago)
Author:
felix winkelmann
Message:

fixed load bug #72, reported by Mario

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/eval.scm

    r15543 r15700  
    129129(define-constant builtin-features
    130130  '(chicken srfi-2 srfi-6 srfi-10 srfi-12 srfi-23 srfi-28 srfi-30 srfi-31 srfi-39
    131             srfi-69 srfi-98) )
     131            srfi-69 srfi-88 srfi-98) )
    132132
    133133(define-constant builtin-features/compiled
     
    915915      (let* ([isdir #f]
    916916             [fname
    917              (cond [(port? input) #f]
    918                    [(not (string? input)) (badfile input)]
    919                    [(and-let* ([info (##sys#file-info input)]
    920                                [id (##sys#slot info 4)] )
    921                       (set! isdir (eq? 1 id))
    922                       (not id) )
    923                     input]
    924                    [else
    925                     (let ([fname2 (##sys#string-append input ##sys#load-dynamic-extension)])
    926                       (if (and (not ##sys#dload-disabled)
    927                                (##sys#fudge 24) ; dload?
    928                                (##sys#file-info fname2))
    929                           fname2
    930                           (let ([fname3 (##sys#string-append input source-file-extension)])
    931                             (if (##sys#file-info fname3)
    932                                 fname3
    933                                 (and (not isdir) input) ) ) ) ) ] ) ]
    934             [evproc (or evaluator eval)] )
     917              (cond [(port? input) #f]
     918                    [(not (string? input)) (badfile input)]
     919                    [(and-let* ([info (##sys#file-info input)]
     920                                [id (##sys#slot info 4)] )
     921                       (set! isdir (eq? 1 id))
     922                       (not isdir) )
     923                     input]
     924                    [else
     925                     (let ([fname2 (##sys#string-append input ##sys#load-dynamic-extension)])
     926                       (if (and (not ##sys#dload-disabled)
     927                                (##sys#fudge 24) ; dload?
     928                                (##sys#file-info fname2))
     929                           fname2
     930                           (let ([fname3 (##sys#string-append input source-file-extension)])
     931                             (if (##sys#file-info fname3)
     932                                 fname3
     933                                 (and (not isdir) input) ) ) ) ) ] ) ]
     934             [evproc (or evaluator eval)] )
    935935        (cond [(and (string? input) (not fname))
    936936               (##sys#signal-hook #:file-error 'load "cannot open file" input) ]
Note: See TracChangeset for help on using the changeset viewer.