summaryrefslogtreecommitdiffstats
path: root/alistab.scm
diff options
context:
space:
mode:
Diffstat (limited to 'alistab.scm')
-rw-r--r--alistab.scm15
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*