1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-08 13:10:19 +02:00
guile/module/system/base
Andy Wingo 51bc69dd1c Fix bytevector mutators to correctly check for mutability
Previously, bytevectors that were serialized into binaries were actually
mutable by compiled bytevector-u8-set! et al.

* libguile/bytevectors.h (SCM_F_BYTEVECTOR_IMMUTABLE): Renumber to 0x80,
as for immutable vectors.
(SCM_BYTEVECTOR_CONTIGUOUS_P): Just use SCM_CELL_TYPE.
(SCM_BYTEVECTOR_FLAGS): Remove unused accessor.
* module/language/tree-il/compile-cps.scm (bytevector-set-converter):
Emit mutable-bytevector? instead of bytevector?.
* module/system/vm/assembler.scm (link-data): Update immutable flag.
* module/language/cps/compile-bytecode.scm:
* module/language/cps/effects-analysis.scm:
* module/language/cps/type-fold.scm:
* module/language/cps/types.scm:
* module/system/base/types/internal.scm: Update for immutable-bytevector
predicates.
2025-05-30 16:48:26 +02:00
..
types Fix bytevector mutators to correctly check for mutability 2025-05-30 16:48:26 +02:00
ck.scm Improve error for set-fields paths leading to different types. 2012-11-10 01:37:20 -05:00
compile.scm Fix error messages containing format strings 2024-05-06 11:51:53 +02:00
lalr.scm Move source properties out to a module 2025-05-12 16:29:04 +02:00
lalr.upstream.scm Update (system base lalr) from upstream. 2014-12-02 21:25:56 +01:00
language.scm Remove all deprecated code from Scheme files 2025-05-05 12:33:37 +02:00
message.scm Add -Wunused-module. 2023-02-24 16:49:00 +01:00
optimize.scm New optimization: demux-lambda 2024-03-13 13:11:14 +01:00
pmatch.scm pmatch: always wrap with let, even if the expression appears atomic 2012-03-01 16:16:27 -05:00
syntax.scm make-record-type does more validation on the fields 2019-10-23 14:42:29 +02:00
target.scm (system base target) doesn't load (system foreign) 2024-03-17 21:40:58 +01:00
types.scm Remove weak sets 2025-05-14 16:12:11 +02:00