mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-04 22:40:25 +02:00
Document "GUILE_LOAD_PATH" change.
Give more details about the deleted header files, and functions. Clarify explanation of build-guile. Make all the syscall changes subheadings of "Changes to Scheme functions and syntax".
This commit is contained in:
parent
cf591c72fe
commit
e2d6569c47
1 changed files with 61 additions and 47 deletions
108
NEWS
108
NEWS
|
@ -8,9 +8,24 @@ Changes since Guile 1.2:
|
||||||
|
|
||||||
* Changes to the distribution
|
* Changes to the distribution
|
||||||
|
|
||||||
** libguile/append.h, libguile/append.c, libguile/extchrs.h,
|
** We renamed the SCHEME_LOAD_PATH environment variable to GUILE_LOAD_PATH.
|
||||||
libguile/extchrs.c, libguile/mbstrings.h libguile/mbstrings.c,
|
To avoid conflicts, programs should name environment variables after
|
||||||
libguile/sequences.h, libguile/sequences.c removed.
|
themselves, except when there's a common practice establishing some
|
||||||
|
other convention.
|
||||||
|
|
||||||
|
For now, Guile supports both GUILE_LOAD_PATH and SCHEME_LOAD_PATH,
|
||||||
|
giving the former precedence, and printing a warning message if the
|
||||||
|
latter is set. Guile 1.4 will not recognize SCHEME_LOAD_PATH at all.
|
||||||
|
|
||||||
|
** The header files related to multi-byte characters have been removed.
|
||||||
|
They were: libguile/extchrs.h and libguile/mbstrings.h. Any C code
|
||||||
|
which referred to these explicitly will probably need to be rewritten,
|
||||||
|
since the support for the variant string types has been removed; see
|
||||||
|
below.
|
||||||
|
|
||||||
|
** The header files append.h and sequences.h have been removed. These
|
||||||
|
files implemented non-R4RS operations which would encourage
|
||||||
|
non-portable programming style and less easy-to-read code.
|
||||||
|
|
||||||
* Changes to the stand-alone interpreter
|
* Changes to the stand-alone interpreter
|
||||||
|
|
||||||
|
@ -41,15 +56,8 @@ mirror site; the canonical location is "ftp://prep.ai.mit.edu/pub/gnu".
|
||||||
Guile now includes a command-line utility called 'build-guile', which
|
Guile now includes a command-line utility called 'build-guile', which
|
||||||
writes to its standard output a list of flags which you must pass to
|
writes to its standard output a list of flags which you must pass to
|
||||||
the linker to link against the Guile library. The flags include
|
the linker to link against the Guile library. The flags include
|
||||||
'-lguile' itself.
|
'-lguile' itself, and any other libraries the Guile library depends
|
||||||
|
upon.
|
||||||
This is necessary because the Guile library may depend on other
|
|
||||||
libraries for networking functions, thread support, and so on. To
|
|
||||||
link your program against libguile, you must link against these
|
|
||||||
libraries as well. The exact set of libraries depends on the type of
|
|
||||||
system you are running, and what you have installed on it. The
|
|
||||||
'build-guile' command uses information recorded in libguile itself to
|
|
||||||
determine which libraries you must link against.
|
|
||||||
|
|
||||||
For example, here is a Makefile rule that builds a program named 'foo'
|
For example, here is a Makefile rule that builds a program named 'foo'
|
||||||
from the object files ${FOO_OBJECTS}, and links them against Guile:
|
from the object files ${FOO_OBJECTS}, and links them against Guile:
|
||||||
|
@ -57,11 +65,17 @@ from the object files ${FOO_OBJECTS}, and links them against Guile:
|
||||||
foo: ${FOO_OBJECTS}
|
foo: ${FOO_OBJECTS}
|
||||||
${CC} ${CFLAGS} ${FOO_OBJECTS} `build-guile link` -o foo
|
${CC} ${CFLAGS} ${FOO_OBJECTS} `build-guile link` -o foo
|
||||||
|
|
||||||
|
Previous Guile releases recommended that you use autoconf to detect
|
||||||
|
which of a predefined set of libraries were present on your system.
|
||||||
|
It is more robust to use build-guile, since it records exactly which
|
||||||
|
libraries the installed Guile library requires.
|
||||||
|
|
||||||
|
|
||||||
* Changes to Scheme functions and syntax
|
* Changes to Scheme functions and syntax
|
||||||
|
|
||||||
** Multi-byte strings have been removed, as have multi-byte and wide
|
** Multi-byte strings have been removed, as have multi-byte and wide
|
||||||
ports.
|
ports. We felt that these were the wrong approach to
|
||||||
|
internationalization support.
|
||||||
|
|
||||||
** New function: readline [PROMPT]
|
** New function: readline [PROMPT]
|
||||||
Read a line from the terminal, and allow the user to edit it,
|
Read a line from the terminal, and allow the user to edit it,
|
||||||
|
@ -169,55 +183,47 @@ Macro: with-fluids ((FLUID VALUE) ...) FORM ...
|
||||||
fluids are not special variables but ordinary objects. FLUID
|
fluids are not special variables but ordinary objects. FLUID
|
||||||
should evaluate to a fluid.
|
should evaluate to a fluid.
|
||||||
|
|
||||||
** Removed procedures:
|
** Changes to system call interfaces:
|
||||||
|
|
||||||
list-length, list-append, list-append!, list-reverse, list-reverse!
|
*** close-port, close-input-port and close-output-port now return a
|
||||||
|
|
||||||
** array-map renamed to array-map!
|
|
||||||
|
|
||||||
** serial-array-map renamed to serial-array-map!
|
|
||||||
|
|
||||||
* Changes to system call interfaces:
|
|
||||||
|
|
||||||
** close-port, close-input-port and close-output-port now return a
|
|
||||||
boolean instead of an `unspecified' object. #t means that the port
|
boolean instead of an `unspecified' object. #t means that the port
|
||||||
was successfully closed, while #f means it was already closed. It is
|
was successfully closed, while #f means it was already closed. It is
|
||||||
also now possible for these procedures to raise an exception if an
|
also now possible for these procedures to raise an exception if an
|
||||||
error occurs (some errors from write can be delayed until close.)
|
error occurs (some errors from write can be delayed until close.)
|
||||||
|
|
||||||
** the first argument to chmod, fcntl, ftell and fseek can now be a
|
*** the first argument to chmod, fcntl, ftell and fseek can now be a
|
||||||
file descriptor.
|
file descriptor.
|
||||||
|
|
||||||
** the third argument to fcntl is now optional.
|
*** the third argument to fcntl is now optional.
|
||||||
|
|
||||||
** the first argument to chown can now be a file descriptor or a port.
|
*** the first argument to chown can now be a file descriptor or a port.
|
||||||
|
|
||||||
** the argument to stat can now be a port.
|
*** the argument to stat can now be a port.
|
||||||
|
|
||||||
** The following new procedures have been added (most use scsh
|
*** The following new procedures have been added (most use scsh
|
||||||
interfaces):
|
interfaces):
|
||||||
|
|
||||||
** procedure: close PORT/FD
|
*** procedure: close PORT/FD
|
||||||
Similar to close-port (*note close-port: Closing Ports.), but also
|
Similar to close-port (*note close-port: Closing Ports.), but also
|
||||||
works on file descriptors. A side effect of closing a file
|
works on file descriptors. A side effect of closing a file
|
||||||
descriptor is that any ports using that file descriptor are moved
|
descriptor is that any ports using that file descriptor are moved
|
||||||
to a different file descriptor and have their revealed counts set
|
to a different file descriptor and have their revealed counts set
|
||||||
to zero.
|
to zero.
|
||||||
|
|
||||||
** procedure: port->fdes PORT
|
*** procedure: port->fdes PORT
|
||||||
Returns the integer file descriptor underlying PORT. As a side
|
Returns the integer file descriptor underlying PORT. As a side
|
||||||
effect the revealed count of PORT is incremented.
|
effect the revealed count of PORT is incremented.
|
||||||
|
|
||||||
** procedure: fdes->ports FDES
|
*** procedure: fdes->ports FDES
|
||||||
Returns a list of existing ports which have FDES as an underlying
|
Returns a list of existing ports which have FDES as an underlying
|
||||||
file descriptor, without changing their revealed counts.
|
file descriptor, without changing their revealed counts.
|
||||||
|
|
||||||
** procedure: fdes->inport FDES
|
*** procedure: fdes->inport FDES
|
||||||
Returns an existing input port which has FDES as its underlying
|
Returns an existing input port which has FDES as its underlying
|
||||||
file descriptor, if one exists, and increments its revealed count.
|
file descriptor, if one exists, and increments its revealed count.
|
||||||
Otherwise, returns a new input port with a revealed count of 1.
|
Otherwise, returns a new input port with a revealed count of 1.
|
||||||
|
|
||||||
** procedure: fdes->outport FDES
|
*** procedure: fdes->outport FDES
|
||||||
Returns an existing output port which has FDES as its underlying
|
Returns an existing output port which has FDES as its underlying
|
||||||
file descriptor, if one exists, and increments its revealed count.
|
file descriptor, if one exists, and increments its revealed count.
|
||||||
Otherwise, returns a new output port with a revealed count of 1.
|
Otherwise, returns a new output port with a revealed count of 1.
|
||||||
|
@ -231,24 +237,24 @@ type of value returned varies depending on which procedure is used.
|
||||||
any ports using NEWFD are moved to a different file descriptor and have
|
any ports using NEWFD are moved to a different file descriptor and have
|
||||||
their revealed counts set to zero.
|
their revealed counts set to zero.
|
||||||
|
|
||||||
** procedure: dup->fdes PORT/FD [NEWFD]
|
*** procedure: dup->fdes PORT/FD [NEWFD]
|
||||||
Returns an integer file descriptor.
|
Returns an integer file descriptor.
|
||||||
|
|
||||||
** procedure: dup->inport PORT/FD [NEWFD]
|
*** procedure: dup->inport PORT/FD [NEWFD]
|
||||||
Returns a new input port using the new file descriptor.
|
Returns a new input port using the new file descriptor.
|
||||||
|
|
||||||
** procedure: dup->outport PORT/FD [NEWFD]
|
*** procedure: dup->outport PORT/FD [NEWFD]
|
||||||
Returns a new output port using the new file descriptor.
|
Returns a new output port using the new file descriptor.
|
||||||
|
|
||||||
** procedure: dup PORT/FD [NEWFD]
|
*** procedure: dup PORT/FD [NEWFD]
|
||||||
Returns a new port if PORT/FD is a port, with the same mode as the
|
Returns a new port if PORT/FD is a port, with the same mode as the
|
||||||
supplied port, otherwise returns an integer file descriptor.
|
supplied port, otherwise returns an integer file descriptor.
|
||||||
|
|
||||||
** procedure: dup->port PORT/FD MODE [NEWFD]
|
*** procedure: dup->port PORT/FD MODE [NEWFD]
|
||||||
Returns a new port using the new file descriptor. MODE supplies a
|
Returns a new port using the new file descriptor. MODE supplies a
|
||||||
mode string for the port (*note open-file: File Ports.).
|
mode string for the port (*note open-file: File Ports.).
|
||||||
|
|
||||||
** procedure: setenv NAME VALUE
|
*** procedure: setenv NAME VALUE
|
||||||
Modifies the environment of the current process, which is also the
|
Modifies the environment of the current process, which is also the
|
||||||
default environment inherited by child processes.
|
default environment inherited by child processes.
|
||||||
|
|
||||||
|
@ -258,7 +264,7 @@ their revealed counts set to zero.
|
||||||
|
|
||||||
The return value is unspecified.
|
The return value is unspecified.
|
||||||
|
|
||||||
** procedure: truncate-file OBJ SIZE
|
*** procedure: truncate-file OBJ SIZE
|
||||||
Truncates the file referred to by OBJ to at most SIZE bytes. OBJ
|
Truncates the file referred to by OBJ to at most SIZE bytes. OBJ
|
||||||
can be a string containing a file name or an integer file
|
can be a string containing a file name or an integer file
|
||||||
descriptor or port open for output on the file. The underlying
|
descriptor or port open for output on the file. The underlying
|
||||||
|
@ -266,7 +272,7 @@ their revealed counts set to zero.
|
||||||
|
|
||||||
The return value is unspecified.
|
The return value is unspecified.
|
||||||
|
|
||||||
** procedure: setvbuf PORT MODE [SIZE]
|
*** procedure: setvbuf PORT MODE [SIZE]
|
||||||
Set the buffering mode for PORT. MODE can be:
|
Set the buffering mode for PORT. MODE can be:
|
||||||
`_IONBF'
|
`_IONBF'
|
||||||
non-buffered
|
non-buffered
|
||||||
|
@ -286,16 +292,16 @@ their revealed counts set to zero.
|
||||||
size. Procedures e.g., *Note open-file: File Ports, which accept a
|
size. Procedures e.g., *Note open-file: File Ports, which accept a
|
||||||
mode string allow `0' to be added to request an unbuffered port.
|
mode string allow `0' to be added to request an unbuffered port.
|
||||||
|
|
||||||
** procedure: fsync PORT/FD
|
*** procedure: fsync PORT/FD
|
||||||
Copies any unwritten data for the specified output file descriptor
|
Copies any unwritten data for the specified output file descriptor
|
||||||
to disk. If PORT/FD is a port, its buffer is flushed before the
|
to disk. If PORT/FD is a port, its buffer is flushed before the
|
||||||
underlying file descriptor is fsync'd. The return value is
|
underlying file descriptor is fsync'd. The return value is
|
||||||
unspecified.
|
unspecified.
|
||||||
|
|
||||||
** procedure: open-fdes PATH FLAGS [MODES]
|
*** procedure: open-fdes PATH FLAGS [MODES]
|
||||||
Similar to `open' but returns a file descriptor instead of a port.
|
Similar to `open' but returns a file descriptor instead of a port.
|
||||||
|
|
||||||
** procedure: execle PATH ENV [ARG] ...
|
*** procedure: execle PATH ENV [ARG] ...
|
||||||
Similar to `execl', but the environment of the new process is
|
Similar to `execl', but the environment of the new process is
|
||||||
specified by ENV, which must be a list of strings as returned by
|
specified by ENV, which must be a list of strings as returned by
|
||||||
the `environ' procedure.
|
the `environ' procedure.
|
||||||
|
@ -304,15 +310,15 @@ their revealed counts set to zero.
|
||||||
call, but we call it `execle' because of its Scheme calling
|
call, but we call it `execle' because of its Scheme calling
|
||||||
interface.
|
interface.
|
||||||
|
|
||||||
** procedure: strerror ERRNO
|
*** procedure: strerror ERRNO
|
||||||
Returns the Unix error message corresponding to ERRNO, an integer.
|
Returns the Unix error message corresponding to ERRNO, an integer.
|
||||||
|
|
||||||
** procedure: primitive-exit [STATUS]
|
*** procedure: primitive-exit [STATUS]
|
||||||
Terminate the current process without unwinding the Scheme stack.
|
Terminate the current process without unwinding the Scheme stack.
|
||||||
This is would typically be useful after a fork. The exit status
|
This is would typically be useful after a fork. The exit status
|
||||||
is STATUS if supplied, otherwise zero.
|
is STATUS if supplied, otherwise zero.
|
||||||
|
|
||||||
** procedure: times
|
*** procedure: times
|
||||||
Returns an object with information about real and processor time.
|
Returns an object with information about real and processor time.
|
||||||
The following procedures accept such an object as an argument and
|
The following procedures accept such an object as an argument and
|
||||||
return a selected component:
|
return a selected component:
|
||||||
|
@ -337,6 +343,14 @@ their revealed counts set to zero.
|
||||||
Similarly, the CPU times units used by the system on behalf of
|
Similarly, the CPU times units used by the system on behalf of
|
||||||
terminated child processes.
|
terminated child processes.
|
||||||
|
|
||||||
|
** Removed: list-length
|
||||||
|
** Removed: list-append, list-append!
|
||||||
|
** Removed: list-reverse, list-reverse!
|
||||||
|
|
||||||
|
** array-map renamed to array-map!
|
||||||
|
|
||||||
|
** serial-array-map renamed to serial-array-map!
|
||||||
|
|
||||||
* Changes to the gh_ interface
|
* Changes to the gh_ interface
|
||||||
|
|
||||||
** Function: void gh_write (SCM x)
|
** Function: void gh_write (SCM x)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue