bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#59221: (file-exists? #f) raises an exception


From: jbranso
Subject: bug#59221: (file-exists? #f) raises an exception
Date: Sun, 13 Nov 2022 02:15:43 +0000

November 12, 2022 12:58 PM, "Jean Abou Samra" <jean@abou-samra.fr> wrote:

>> Le 12 nov. 2022 à 18:50, Joshua Branson via Bug reports for GUILE, GNU's 
>> Ubiquitous Extension
>> Language <bug-guile@gnu.org> a écrit :
>> 
>> Hello you lovely guile people!
>> 
>> This bug is so simple the subject line says it all!
>> 
>> file-exists? is a predicate, but
>> 
>> #+BEGIN_SRC scheme
>> (file-exists? #f)
>> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>> In procedure stat: Wrong type argument in position 1 (expecting open file 
>> port): #f
>> 
>> Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
>> #+END_SRC
>> 
>> I will shortly tag this as "easy". Can you lovely maintainers give me
>> about a week to try to fix this myself?
>> 
>> Thanks,
>> 
>> Joshua
>> avid fantany reader
> 
> What’s the problem here?
> 
> It is normal for predicates to be defined only on certain types. You will 
> find the same with
> positive?, string-null? and the like.

Perhaps I am just being really pedantic.  I asked in the #guile irc chat if a 
predicate should 
be able to raise an exception.  The answer I was given was no.

Admittedly I did not stay in the channel for long, and I quickly filed this bug 
report.

Naively, it just feel like it (file-exists? #f) should return #f.

Would there be an objection to changing the definition of file-exists to  

(define (file-exists file)
    (and (string? file)
         (old-file-exists-code file)))


Thanks,

Joshua

> 
> Regards,
> Jean





reply via email to

[Prev in Thread] Current Thread [Next in Thread]