1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 18:40:22 +02:00
guile/doc
Mark H Weaver ee3381c94d FFI: Add support for functions that set 'errno'.
Implements wishlist item <https://debbugs.gnu.org/18592>.
Requested by Frank Terbeck <ft@bewatermyfriend.org>.
Based on a proposed patch by Nala Ginrut <nalaginrut@gmail.com>.

* libguile/foreign.c (cif_to_procedure): Add 'return_errno' argument.
  Store its boolean value in the object table of the generated program.
  (scm_i_foreign_call): If the stored 'return_errno' flag is true, then
  clear 'errno' before the call, save it after the call, and return it
  as a second return value.
  (pointer_to_procedure): New static function.
  (scm_pointer_to_procedure_with_errno): New C API function, implemented
  in terms of 'pointer_to_procedure'.
  (scm_pointer_to_procedure): Reimplement in terms of
  'pointer_to_procedure', no longer bound to "pointer->procedure".  See
  below.
  (scm_i_pointer_to_procedure): New C function bound to
  "pointer->procedure" which now accepts the optional #:return-errno?
  keyword argument, implemented in terms of 'pointer_to_procedure'.
  (k_return_errno): New keyword #:return-errno?.
* libguile/foreign.h (scm_pointer_to_procedure_with_errno): Add prototype.
* doc/ref/api-foreign.texi (Dynamic FFI): Adjust documentation.
2016-06-20 15:22:27 -04:00
..
maint Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
r5rs doc: Allow compilation of r5rs.texi with Texinfo 5.0. 2013-03-07 00:05:46 +01:00
ref FFI: Add support for functions that set 'errno'. 2016-06-20 15:22:27 -04:00
.gitignore More `.gitignore'. 2008-04-07 23:48:48 +02:00
BUGS Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
ChangeLog-2008 Rename ChangeLog' files to ChangeLog-2008'. 2008-09-12 21:49:58 +02:00
ChangeLog-guile-doc Move doc files into guile-core distribution (6) 2001-03-09 09:20:46 +00:00
gendocs_template Update Gnulib to v0.1-77-gd9361da 2014-02-03 21:05:52 -05:00
goops.mail Initial revision 2000-08-22 15:54:19 +00:00
groupings.alist Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
guile-api.alist Deprecate scm_array_fill_int() 2013-04-05 22:54:14 +02:00
guile.1 Fix typo in the man page. 2015-06-19 15:44:24 -04:00
hacks.el * hacks.el: Some handy helper functions for working on the manual. 1998-10-15 21:48:23 +00:00
Makefile.am Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
NEWS merge from 1.8 branch 2006-04-16 23:18:55 +00:00
README Remove doc/example-smob/ 2014-04-28 17:46:59 +02:00
recipe-guidelines.txt * Added recipe-guidelines.txt. 2001-04-20 11:20:06 +00:00
release.org doc: Update `release.org'. 2013-04-10 01:09:28 +02:00
texinfo.tex autotooling, version bump to 0.7 2008-05-20 12:10:18 +02:00
THANKS * Grammar fix. 2001-06-27 18:12:46 +00:00
use-cases.fig Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00
use-cases.txt Created a usecase diagram for Guile. 2001-05-24 08:46:50 +00:00

This directory contains documentation on the Guile core.         -*-text-*-

The documentation consists of the following manuals.

- The Guile Tutorial (guile-tut.texi) contains a tutorial introduction
  to using Guile.

- The Guile Reference Manual (guile.texi) contains (or is intended to
  contain) reference documentation on all aspects of Guile.

- The Revised^5 Report on the Algorithmic Language Scheme (r5rs.texi).

Please be aware that this is all very much work in progress (apart
from the Revised^5 Report).  Bug reports and contributions are
welcome!

The `sources' directory includes some stuff relevant to the Guile
reference manual, and which may eventually be folded in to it.  It's
not immediately relevant, however, which is why it's not in this
directory.

The Revised^4 Report (r4rs.texi) is no longer in this distribution, as
it is completely superseded by the Revised^5 Report.  If you need to
consult R4RS, it is still widely available, for example at
http://www-swiss.ai.mit.edu/projects/info/SchemeDocs/r4rs/.