diff options
Diffstat (limited to 'alistab.scm')
-rw-r--r-- | alistab.scm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/alistab.scm b/alistab.scm index f0e8d59..426a4e3 100644 --- a/alistab.scm +++ b/alistab.scm @@ -42,12 +42,13 @@ (list resources (list 'free-id 1)))) (define (open-base infile writable) - (cons (if (input-port? infile) #f infile) - ((lambda (fun) - (if (input-port? infile) - (fun infile) - (call-with-input-file infile fun))) - read))) + (and (or (input-port? infile) (file-exists? infile)) + (cons (if (input-port? infile) #f infile) + ((lambda (fun) + (if (input-port? infile) + (fun infile) + (call-with-input-file infile fun))) + read)))) (define (write-base lldb outfile) ((lambda (fun) @@ -306,7 +307,7 @@ (define (supported-key-type? type) (case type - ((atom integer symbol string) #t) + ((atom integer number symbol string) #t) (else #f))) ;;make-table open-table remover assoc* make-assoc* |