guile-devel
[Top][All Lists]
Advanced

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

slib more stuff


From: Kevin Ryde
Subject: slib more stuff
Date: Mon, 09 Aug 2004 11:18:09 +1000
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (gnu/linux)

I made some changes to ice-9 slib,

        * slib.scm (*features*): Remove array and array-for-each, core
        definitions are insufficient for latest slib.
        (t, nil): New constants slib says are supposed to exist.
        (call-with-open-ports, browse-url): New functions for latest slib.
        Implementations taken from Template.scm (public domain).
        (open-file): Extend core definition to accept symbols for the mode,
        required by latest slib.
        (delete-file): Replace core definition with version returning #t/#f as
        per slib spec.
        (system): Mark as #:replace to suppress override warning, use new
        style "(@ (guile) system)" to call core function.

This will be for 1.6 too, because otherwise slib 3a1 is fairly broken.
Just need to adapt the open-file and delete-file implementations to 1.6.

Words in the manual about the overridden bits:


   Note that the following Guile core functions are overridden by
`(ice-9 slib)', to implement SLIB specified semantics.

`delete-file'
     Returns `#t' for success or `#f' for failure (*note Input/Output:
     (slib)Input/Output.), as opposed to the Guile core version
     unspecified for success and throwing an error for failure (*note
     File System::).

`provided?'
     Accepts a feature specification containing `and' and `or' forms
     combining symbols (*note Feature: (slib)Feature.), as opposed to
     the Guile core taking only plain symbols (*note Feature
     Manipulation::).

`open-file'
     Takes a symbol `r', `rb', `w' or `wb' for the open mode (*note
     Input/Output: (slib)Input/Output.), as opposed to the Guile core
     version taking a string (*note File Ports::).

`system'
     Returns a plain exit code 0 to 255 (*note System Interface:
     (slib)System Interface.), as opposed to the Guile core version
     returning a wait status that must be examined with
     `status:exit-val' etc (*note Processes::).


Attachment: slib.scm.misc.diff
Description: Text document

Attachment: slib.test
Description: Text document


reply via email to

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