1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 21:40:33 +02:00
guile/libguile
Olivier Dion 84bf840322
Fix dangling pointers in `environ'.
When calling `environ', Guile set the global variable `environ' to a
list allocated with the GC.  Strings in it are also allocated with the
GC.

However, if an user call the Scheme setenv() procedure, the resulting
call to putenv() in libc might reallocate `environ' to a new pointer
while copying sub-pointers owned by Guile in it.

This results in the GC marking these strings for reclamation when they
are actually still present in `environ'.  Thus, the values in the
environment are now undefined.

To fix this, Guile should only manipulate the `environ' using the
standard libc functions.  This ensures that concurrent modification of
it is safe in multi-threaded program.  Therefore, the procedure
`environ' now call the libc clearenv() procedure to purge the
environment.  Then, the desired values are put in `environ' using
scm_putenv().  At the end, no GC allocated memory is put in `environ'.

Also, since `environ' can be changed at anytime in a multi-thread
program, emit a warning stipulating that the result is undefined
behavior if multiple threads are created in the program.  Consider for
example a thread iterating over `environ' while another one do a call to
putenv().  The latter would do a realloc() on `environ' and thus the old
array read by the former now contains garbage.

On system where clearenv() is not present, an atomic store of NULL with
sequential consistency to `environ' should be sufficient but see the
NOTES of clearenv(3).

* libguile/posix.c (scm_environ): Do not store GC allocated memory in
environ.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-07-16 22:16:30 +02:00
..
lightening Add JIT capability for MinGW 2021-03-13 15:43:57 -08:00
.gitignore Fix the rule to check for new signals and errors 2016-05-22 19:50:07 +02:00
__scm.h Add __scm.h placeholder 2018-06-24 08:47:32 +02:00
alist.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
alist.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
array-handle.c bitvector-set-bit! / bitvector-clear-bit! replace bitvector-set! 2020-04-14 22:40:43 +02:00
array-handle.h Remove array contp flag 2021-08-16 19:02:43 +02:00
array-map.c Remove array contp flag 2021-08-16 19:02:43 +02:00
array-map.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
arrays.c Remove array contp flag 2021-08-16 19:02:43 +02:00
arrays.h Revert shift of ndim in array tag from 3df3ba1a2c 2021-09-17 11:20:24 +02:00
async.c Switch to use atomic_compare_exchange_strong 2019-05-25 17:17:49 +02:00
async.h Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
atomic.c Switch to use atomic_compare_exchange_strong 2019-05-25 17:17:49 +02:00
atomic.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
atomics-internal.h Switch to use atomic_compare_exchange_strong 2019-05-25 17:17:49 +02:00
backtrace.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
backtrace.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
bdw-gc.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
bitvectors.c New function bitvector-copy (scm_bitvector_copy) 2022-01-04 12:28:41 +01:00
bitvectors.h New function bitvector-copy (scm_bitvector_copy) 2022-01-04 12:28:41 +01:00
boolean.c Improve the documentation for 'nil?'. 2019-05-23 15:53:55 +02:00
boolean.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
bytevectors.c bytevector-slice: optimize trivial case 2023-06-08 09:01:59 +02:00
bytevectors.h Add 'bytevector-slice'. 2023-01-14 16:14:17 +01:00
c-tokenize.lex build: Don't include <config.h> in native programs when cross-compiling. 2014-03-12 14:35:07 +01:00
cache-internal.h Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008
ChangeLog-scm
ChangeLog-srfi
ChangeLog-threads
chars.c Revert "Revert scm_c_make_char rename" 2019-08-24 11:57:39 +02:00
chars.h Revert "Revert scm_c_make_char rename" 2019-08-24 11:57:39 +02:00
chooks.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
chooks.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
continuations.c Fix build on ia64. 2020-02-08 15:11:34 +01:00
continuations.h Continuations capture machine code address 2018-08-12 15:57:53 +02:00
control.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
control.h abort-to-prompt uses an intrinsic 2018-06-26 16:23:02 +02:00
cpp-E.syms Add Hurd signal and error constants. 2016-05-22 19:50:20 +02:00
cpp-SIG.syms Remove SIGEV constant definitions. 2016-05-22 19:50:27 +02:00
custom-ports.c Add "custom ports" 2023-06-08 09:03:10 +02:00
custom-ports.h Add "custom ports" 2023-06-08 09:03:10 +02:00
debug-malloc.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
debug-malloc.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
debug.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
debug.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
deprecated.c Deprecate symbol properties. 2022-02-04 11:12:28 +01:00
deprecated.h Deprecate symbol properties. 2022-02-04 11:12:28 +01:00
deprecation.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
deprecation.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
dynl.c Add windows stubs for dlopen, dlclose, dlsym, dlerror 2021-03-11 08:30:57 -08:00
dynl.h Replace libltdl with raw dlopen, dlsym 2021-02-03 23:02:21 +01:00
dynstack.c Continuations capture machine code address 2018-08-12 15:57:53 +02:00
dynstack.h Continuations capture machine code address 2018-08-12 15:57:53 +02:00
dynwind.c Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
dynwind.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
elf.h add ELF loader 2012-06-22 13:40:50 +02:00
eq.c Fix scm_integer_to_double_z to always round; clean ups 2022-01-13 09:37:16 +01:00
eq.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
error.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
error.h Remove traces of 'scm_memory_error'. 2020-02-10 00:10:10 +01:00
eval.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
eval.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
evalext.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
evalext.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
exceptions.c Fix exn dispatch for exns within pre-unwind handlers 2023-06-08 10:26:16 +02:00
exceptions.h Rebase throw/catch on top of raise-exception/with-exception-handler 2019-11-13 22:24:19 +01:00
expand.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
expand.h Add "mod" field to tree-il toplevel ref, set, define 2019-08-18 22:27:12 +02:00
extensions.c Replace libltdl with raw dlopen, dlsym 2021-02-03 23:02:21 +01:00
extensions.h Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
fdes-finalizers.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
fdes-finalizers.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
feature.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
feature.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
filesys.c Define Scheme bindings to ‘openat’ when available. 2022-10-21 17:42:20 +02:00
filesys.h Define Scheme bindings to ‘openat’ when available. 2022-10-21 17:42:20 +02:00
finalizers.c Finalization thread exits when it gets EOF on its pipe. 2022-10-01 16:00:05 +02:00
finalizers.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
fluids.c Respect thread local fluid defaults 2020-01-12 22:04:29 +01:00
fluids.h Compile current-module as intrinsic call 2018-06-27 14:57:51 +02:00
foreign-object.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
foreign-object.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
foreign.c Support C99 complex types in (system foreign) 2021-11-15 11:34:09 +01:00
foreign.h Support C99 complex types in (system foreign) 2021-11-15 11:34:09 +01:00
fports.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
fports.h Avoid throwing exceptions during early boot if stdin is closed 2019-12-13 13:52:58 +01:00
frames.c Add frame-local-ref / frame-local-set! support for type 'ptr 2021-10-01 11:28:22 +02:00
frames.h Update frames.h comments. 2018-07-23 11:23:18 +02:00
gc-inline.h Compiler allocates boxed flonums in unmarked space 2019-08-26 10:19:24 +02:00
gc-malloc.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
gc.c Tweak to initial heap size selection 2020-08-27 14:18:44 +02:00
gc.h Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
gen-scmconfig.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
gen-scmconfig.h.in improve autoconfigury for minigmp 2021-03-02 06:18:32 -08:00
generalized-vectors.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
generalized-vectors.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
gettext.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
gettext.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
goops.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
goops.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
gsubr.c Use SCM_GSUBR_MAX in place of the hardcoded number 2023-04-27 14:07:01 +02:00
gsubr.h Provide SCM_DEFINE_STATIC 2020-01-03 12:45:07 +01:00
guardians.c Merge from stable-2.2 2019-08-02 14:57:29 +02:00
guardians.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
guile-func-name-check Fix spurious warnings in net_db.c 2017-04-19 16:48:56 +02:00
guile-snarf-docs.in
guile-snarf.awk.in
guile-snarf.in guile-snarf: skip -g* arguments to avoid build failure 2017-04-19 17:19:40 +02:00
guile.c Don't force installation of GMP allocators in guile shell 2021-03-12 22:38:21 +01:00
hash.c scm_i_utf8_string_hash: compute u8 chars not bytes 2023-03-18 13:24:43 -05:00
hash.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
hashtab.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
hashtab.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
hooks.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
hooks.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
i18n.c Presume ISO C90 functions are always available 2022-10-14 08:40:23 -07:00
i18n.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
init.c Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
init.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
inline.c Add 'scm_c_make_char' and use it where appropriate. 2019-05-23 17:48:46 +02:00
inline.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
instructions.c Add sign-extending make-immediate instruction 2020-07-30 17:36:11 +02:00
instructions.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
integers.c Fixes arg type for scm_integer_from_mpz 2022-10-15 10:35:54 -07:00
integers.h Re-rewrite integer-expt in C 2022-01-13 09:37:17 +01:00
intrinsics.c Fix error when argument to < not a real 2021-04-26 12:26:33 +02:00
intrinsics.h Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
ioext.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
ioext.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
iselect.h on MinGW, prefer winsock2.h over sys/select in iselect 2021-03-11 09:37:12 -08:00
jit.c Use SCM_GSUBR_MAX in place of the hardcoded number 2023-04-27 14:07:01 +02:00
jit.h Speed up returns in JIT 2019-06-18 21:45:29 +02:00
keywords.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
keywords.h Implement hashing for keywords, i.e. (hash #:x ...) 2020-02-21 01:36:14 -06:00
libgettext.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
libguile-3.0-gdb.scm gdb: Avoid accessing values that are optimized out. 2020-03-17 22:57:41 +01:00
libguile.map
list.c Fix typo in append procedure documentation 2023-04-05 20:30:11 +02:00
list.h Fix list validation of *list->bytevector procedures. 2019-05-23 16:01:13 +02:00
load.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
load.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
loader.c missing includes for list.h 2021-01-21 15:33:43 -08:00
loader.h Bump objcode version 2021-05-11 21:39:07 +02:00
locale-categories.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
macros.c Fix race when expanding syntax-parameterize and define-syntax-parameter 2019-02-22 15:11:29 +01:00
macros.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
Makefile.am Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
mallocs.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
mallocs.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
memoize.c Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
memoize.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
mini-gmp.c Include config.h in mini-gmp.c, if present 2021-05-01 22:39:30 +02:00
mini-gmp.h Enable option to prefer mini-gmp over libgmp 2021-03-02 06:18:32 -08:00
modules.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
modules.h Compile current-module as intrinsic call 2018-06-27 14:57:51 +02:00
net_db.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
net_db.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
null-threads.c Fix compilation --without-threads. 2020-03-21 18:25:52 +01:00
null-threads.h in null threads, don't define sigmask stub when pthread_sigmask does not exist 2021-01-21 15:34:03 -08:00
numbers.c Fix bad arguments to range_error() in numbers.c 2022-09-30 12:02:12 +02:00
numbers.h Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
objprop.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
objprop.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
options.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
options.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
pairs.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
pairs.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
poll.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
poll.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
ports-internal.h Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
ports.c Invalid charset at EOF does not cause decoding error 2021-03-03 16:22:56 +01:00
ports.h Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
posix-w32.c Add windows stubs for dlopen, dlclose, dlsym, dlerror 2021-03-11 08:30:57 -08:00
posix-w32.h Compile fix for x86_64-MinGW. 2021-04-12 12:18:53 +02:00
posix.c Fix dangling pointers in `environ'. 2023-07-16 22:16:30 +02:00
posix.h Add 'spawn'. 2023-01-13 16:05:30 +01:00
print.c Revert "Revert scm_c_make_char rename" 2019-08-24 11:57:39 +02:00
print.h Remove the 'simple vector' concept 2021-08-16 15:39:21 +02:00
private-options.h Clean up srcprops implementation 2020-09-03 22:55:08 +02:00
procprop.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
procprop.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
procs.c doc: Rephrase documentation of 'thunk?'. 2020-05-27 22:34:49 +02:00
procs.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
programs.c Allow for bind-optionals without alloc-frame 2019-06-06 17:26:59 +02:00
programs.h Rewrite subr implementation 2018-07-29 15:47:07 +02:00
promises.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
promises.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
pthread-threads.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
quicksort.i.c Move "min" and "max" macros out of _scm.h 2018-06-17 13:41:03 +02:00
r6rs-ports.c Load (ice-9 binary-ports) from C in thread-safe way 2023-06-08 10:21:28 +02:00
r6rs-ports.h Rewrite custom binary ports in Scheme, in terms of custom ports 2023-06-08 09:03:10 +02:00
random.c Avoid scm_i_mkbig outside numbers.c. 2022-01-13 09:37:17 +01:00
random.h Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
rdelim.c Revert "Handle CRLF and Unicode line endings in read-line" 2021-03-12 22:08:16 +01:00
rdelim.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
read.c Remove read extension support from primitive-read 2021-03-03 22:30:49 +01:00
read.h Scheme reader fully replaces C reader 2021-03-03 21:43:33 +01:00
regex-posix.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
regex-posix.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
remaining-docs-needed
run-test
rw.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
rw.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
scm.h Merge from stable-2.2 2019-08-02 14:57:57 +02:00
scmconfig.h.top Update license notices in all C files 2018-06-20 20:07:34 +02:00
scmsigs.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
scmsigs.h Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
script.c Copy terminating zero in 'scm_cat_path'. 2019-06-20 11:43:54 +02:00
script.h Deprecate scm_find_executable 2018-10-07 16:04:59 +02:00
simpos.c Presume ISO C90 functions are always available 2022-10-14 08:40:23 -07:00
simpos.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
smob.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
smob.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
snarf.h Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
socket.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
socket.h Merge from stable-2.2 2019-08-02 15:29:33 +02:00
sort.c Merge libguile/generalized-arrays.* into libguile/arrays.* 2021-08-03 14:21:41 +02:00
sort.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
srcprop.c Clean up srcprops implementation 2020-09-03 22:55:08 +02:00
srcprop.h Clean up srcprops implementation 2020-09-03 22:55:08 +02:00
srfi-1.c srfi-1: Rewrite 'assoc' in Scheme. 2020-06-17 17:59:35 +02:00
srfi-1.h srfi-1: Rewrite 'assoc' in Scheme. 2020-06-17 17:59:35 +02:00
srfi-4.c New function srfi-4-vector-type-size in (srfi srfi-4 gnu) 2021-12-06 14:00:03 +01:00
srfi-4.h New function srfi-4-vector-type-size in (srfi srfi-4 gnu) 2021-12-06 14:00:03 +01:00
srfi-13.c doc: Fix composition describing scm_reverse_list_to_string 2021-01-17 13:15:45 -06:00
srfi-13.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
srfi-14.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
srfi-14.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
srfi-60.c Finish srfi-60 port off old scm mpz API 2022-01-13 09:37:17 +01:00
srfi-60.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
stackchk.c Rename scm_i_thread to scm_thread 2018-06-26 11:40:22 +02:00
stackchk.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
stacks.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
stacks.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
stime.c missing includes for list.h 2021-01-21 15:33:43 -08:00
stime.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
strings.c 'string->symbol' avoids copying the underlying string. 2022-02-07 12:23:35 +01:00
strings.h Deprecate symbol properties. 2022-02-04 11:12:28 +01:00
strorder.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
strorder.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
strports.c Merge from stable-2.2 2019-08-02 15:02:49 +02:00
strports.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
struct.c Fix incorrect allocation size in 'make-vtable-vtable'. 2020-03-09 15:22:53 +01:00
struct.h Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
symbols.c scm_i_utf8_string_hash: compute u8 chars not bytes 2023-03-18 13:24:43 -05:00
symbols.h Deprecate symbol properties. 2022-02-04 11:12:28 +01:00
syntax.c Add syntax-sourcev 2021-02-25 21:17:36 +01:00
syntax.h Add syntax-sourcev 2021-02-25 21:17:36 +01:00
syscalls.h Define Scheme bindings to ‘openat’ when available. 2022-10-21 17:42:20 +02:00
tags.h Fix typo in tags.h comment. 2019-06-18 02:05:20 -04:00
texi-fragments-to-docstrings Build guile-procedures.txt' using (texinfo) instead of makeinfo'. 2013-03-21 23:24:47 +01:00
threads.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
threads.h Fix build on ia64. 2020-02-08 15:11:34 +01:00
throw.c Fix stack overflow if printing a pre-boot error throws an error 2019-11-25 09:46:58 +01:00
throw.h Rebase throw/catch on top of raise-exception/with-exception-handler 2019-11-13 22:24:19 +01:00
unicode.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
unicode.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
UnicodeData.txt Create 'srfi-14.i.c' during build. 2022-03-24 14:28:46 +01:00
unidata_to_charset.awk Create 'srfi-14.i.c' during build. 2022-03-24 14:28:46 +01:00
uniform.c Replace uses of scm_t_int8, scm_t_uintmax, etc with stdint types 2018-06-21 20:18:54 +02:00
uniform.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
validate.h Fix list validation of *list->bytevector procedures. 2018-10-14 02:27:23 -04:00
values.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
values.h Give multiple-values objects a tc7 2018-06-25 17:50:29 +02:00
variable.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
variable.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
vectors.c Provide xxvector-copy and xxvector-copy! for srfi-4 vectors 2021-10-21 15:05:46 +02:00
vectors.h Remove the 'simple vector' concept 2021-08-16 15:39:21 +02:00
version.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
version.h.in Remove (C) from copyright statements 2018-06-20 19:17:06 +02:00
vm-builtins.h Expose scm_vm_builtin_ref internally 2018-08-19 17:38:59 +02:00
vm-engine.c Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
vm-expand.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
vm.c call-with-values builtin doesn't leave garbage on the stack 2023-05-07 09:50:14 +02:00
vm.h Remove vm->sp_min_since_gc 2019-12-09 22:03:34 +01:00
vports.c Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
vports.h Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
weak-list.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
weak-set.c 'resize_set' no longer allocates in a loop. 2020-03-23 22:49:47 +01:00
weak-set.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
weak-table.c Update license notices in all C files 2018-06-20 20:07:34 +02:00
weak-table.h Update license notices in all C files 2018-06-20 20:07:34 +02:00
weak-vector.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
weak-vector.h Update license notices in all C files 2018-06-20 20:07:34 +02:00