From: Chris Hanson Date: Tue, 3 Apr 2007 04:11:33 +0000 (+0000) Subject: Add a few missing primitives to FILE-PRIMITIVE-DESCRIPTION. X-Git-Tag: 20090517-FFI~698 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=8c222b350fb4a5512ed9f511b91758a6e5bca45e;p=mit-scheme.git Add a few missing primitives to FILE-PRIMITIVE-DESCRIPTION. --- diff --git a/v7/src/runtime/uerror.scm b/v7/src/runtime/uerror.scm index a8013e7ee..259bdaa5d 100644 --- a/v7/src/runtime/uerror.scm +++ b/v7/src/runtime/uerror.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: uerror.scm,v 14.55 2007/01/05 21:19:28 cph Exp $ +$Id: uerror.scm,v 14.56 2007/04/03 04:11:33 cph Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -344,10 +344,13 @@ USA. (else false))) (define (file-primitive-description primitive) - (cond ((eq? primitive (ucode-primitive file-exists? 1)) + (cond ((or (eq? primitive (ucode-primitive file-exists? 1)) + (eq? primitive (ucode-primitive file-exists-direct? 1))) (values "determine existence of" "file")) ((or (eq? primitive (ucode-primitive file-directory? 1)) - (eq? primitive (ucode-primitive file-soft-link? 1))) + (eq? primitive (ucode-primitive file-soft-link? 1)) + (eq? primitive (ucode-primitive file-type-direct 1)) + (eq? primitive (ucode-primitive file-type-indirect 1))) (values "determine type of" "file")) ((or (eq? primitive (ucode-primitive file-open-append-channel 1)) (eq? primitive (ucode-primitive file-open-input-channel 1)) @@ -789,15 +792,13 @@ USA. ((and (primitive-procedure? operator) (not (null? operands)) (string? (car operands))) - (with-values - (lambda () - (file-primitive-description operator)) - (lambda (verb noun) - (if verb - (signal-file-operation - continuation operator operands 0 verb noun - (error-type->string error-type)) - (error (make-condition)))))) + (receive (verb noun) + (file-primitive-description operator) + (if verb + (signal-file-operation + continuation operator operands 0 verb noun + (error-type->string error-type)) + (error (make-condition))))) (else (error (make-condition)))))))))))