summaryrefslogtreecommitdiff
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* Adjust 'spawn' tests to accept 'LD_ORIGIN_PATH' on GNU/Hurd.Ludovic Courtès2023-04-021-0/+2
| | | | | | | | Fixes <https://bugs.gnu.org/62501>. * test-suite/tests/posix.test ("spawn")["env with #:environment and #:output"]: Add workaround for GNU/Hurd. * NEWS: Update.
* 'spawn' closes only open file descriptors on non-GNU/Linux systems.Ludovic Courtès2023-04-021-1/+3
| | | | | | | | | Fixes <https://bugs.gnu.org/61095>. Reported by Omar Polo <op@omarpolo.com>. * libguile/posix.c (close_inherited_fds_slow): On systems other than GNU/Linux, call 'addclose' only when 'fcntl' succeeds on MAX_FD. * NEWS: Update.
* Update NEWS.Ludovic Courtès2023-03-201-3/+3
|
* Fix some invalid unicode handling issues with suspendable ports.Christopher Baines2023-03-201-0/+3
| | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/62290>. Based on the implementation in ports.c. I don't understand what this code is really doing, but the suspendable ports implementation differs from the similar C code for a couple of inequalities. * module/ice-9/suspendable-ports.scm (decode-utf8, bad-utf8-len): Flip a couple of inequalities. * test-suite/tests/ports.test ("string ports"): Add additional invalid UTF-8 test case. * NEWS: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* scm_i_utf8_string_hash: compute u8 chars not bytesRob Browning2023-03-181-0/+12
| | | | | | | | | | | | | | | | | | Noticed while investigating a migration to utf-8 strings. After making changes that routed non-ascii symbol hashing through this function, encoding-iso88597.test began intermittently failing because it would traverse trailing garbage when u8_strnlen reported 8 chars instead of 4. Change the scm_i_str2symbol and scm_i_str2uninterned_symbol internal hash type to unsigned long to explicitly match the scm_i_string_hash result type. * libguile/hash.c (scm_i_utf8_string_hash): Call u8_mbsnlen not u8_strnlen. * libguile/symbols.c (scm_i_str2symbol, scm_i_str2uninterned_symbol): Use unsigned long for scm_i_string_hash result. * test-suite/standalone/.gitignore: Add test-hashing. * test-suite/standalone/Makefile.am: Add test-hashing. * test-suite/standalone/test-hashing.c: Add.
* Add -Wunused-module.Ludovic Courtès2023-02-241-0/+17
| | | | | | | | | | | * module/language/tree-il/analyze.scm (<module-info>): New record type. (unused-module-analysis): New variable. (make-unused-module-analysis): New analysis. (make-analyzer): Add it. * module/system/base/message.scm (%warning-types): Add 'unused-module'. * test-suite/tests/tree-il.test (%opts-w-unused-module): New variable. ("warnings")["unused-module"]: New test prefix. * NEWS: Update.
* Update NEWS.Ludovic Courtès2023-01-231-0/+2
|
* Update NEWS.Ludovic Courtès2023-01-171-3/+13
| | | | * NEWS: Update.
* Add 'bytevector-slice'.Ludovic Courtès2023-01-141-0/+7
| | | | | | | | | * module/rnrs/bytevectors/gnu.scm: New file. * am/bootstrap.am (SOURCES): Add it. * libguile/bytevectors.c (scm_bytevector_slice): New function. * libguile/bytevectors.h (scm_bytevector_slice): New declaration. * test-suite/tests/bytevectors.test ("bytevector-slice"): New tests. * doc/ref/api-data.texi (Bytevector Slices): New node.
* Reduce redundant 'close' calls when forking on some systems.Andrew Whatson2023-01-131-0/+2
| | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/59321>. Reported by <hylophile@posteo.de>. Some systems provide "/proc/self/fd" which is a directory containing an entry for each open file descriptor in the current process. We use this to limit the number of close() calls needed to ensure file descriptors aren't leaked to the child process when forking. * libguile/posix.c (close_inherited_fds_slow): (close_inherited_fds): New static helper functions. (scm_spawn_process): Attempt to close inherited file descriptors efficiently using 'close_inherited_fds', falling back to the brute-force approach in 'close_inherited_fds_slow'. * NEWS: Update.
* Make 'system*' and 'piped-process' internally use 'spawn'.Josselin Poiret2023-01-131-0/+6
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/52835>. * libguile/posix.c (scm_system_star, scm_piped_process): Use do_spawn. (start_child): Remove function. * test-suite/tests/posix.test ("system*")["https://bugs.gnu.org/52835"]: New test. * NEWS: Update. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Add 'spawn'.Josselin Poiret2023-01-131-1/+14
| | | | | | | | | | | | | * libguile/posix.c: Include spawn.h from Gnulib. (do_spawn, scm_spawn_process): New functions. (kw_environment, hw_input, kw_output, kw_error, kw_search_path): New variables. * doc/ref/posix.texi (Processes): Document it. * test-suite/tests/posix.test ("spawn"): New test prefix. * NEWS: Update. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* disassembler: Show intrinsic name for 'call-' instructions.Ludovic Courtès2022-11-011-0/+5
| | | | | | | * module/system/vm/disassembler.scm (code-annotation)[intrinsic-name]: New procedure. Add clauses for intrinsics. * NEWS: Update.
* Update NEWS.Maxime Devos2022-10-211-0/+12
| | | | Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* Baseline compiler no longer crashes on (not (list 1 2)).Ludovic Courtès2022-10-011-0/+2
| | | | | | | | | | Fixes <https://bugs.gnu.org/58217>. * module/language/tree-il/compile-bytecode.scm (canonicalize) [finish-conditional](predicate?): Do not assume 'lookup-primitive' returns true. * test-suite/tests/compiler.test ("regression tests") ["(not (list 1 2))"]: New test.
* 'pipe' now takes an optional 'flags' parameter.Ludovic Courtès2022-09-191-0/+7
| | | | | | | | | | | | | This is the same strategy as used for the 'accept4' bindings introduced in 6e0965104c579431e5a786b60e1a964a112c73b8. * libguile/posix.c (scm_pipe): Rename to... (scm_pipe2): ... this. Add an optional 'flags' parameter and honor it. (scm_pipe): Rewrite as a call to 'scm_pipe2'. * libguile/posix.h (scm_pipe2): New declaration. * test-suite/tests/posix.test ("pipe"): New tests. * configure.ac: Look for 'pipe2'. * NEWS: Update.
* 'primitive-load' opens files with O_CLOEXEC.Ludovic Courtès2022-09-071-0/+2
| | | | | | | | Fixes <https://bugs.gnu.org/57567>. * libguile/load.c (scm_primitive_load): Add "e" flag to 'scm_open_file_with_encoding' argument. * NEWS: Update.
* Add support for "e" flag (O_CLOEXEC) to 'open-file'.Ludovic Courtès2022-09-071-0/+7
| | | | | | | | | * libguile/fports.c (scm_i_mode_to_open_flags): Add 'e' case. (scm_open_file_with_encoding): Document it. * test-suite/standalone/test-close-on-exec: New file. * test-suite/standalone/Makefile.am (check_SCRIPTS, TESTS): Add it. * doc/ref/api-io.texi (File Ports): Document it. * NEWS: Update.
* Update NEWS.Ludovic Courtès2022-08-041-0/+2
| | | | * NEWS: Update.
* Update NEWS.Ludovic Courtès2022-07-041-0/+10
| | | | * NEWS: Update.
* Update NEWS.Ludovic Courtès2022-06-161-0/+17
| | | | * NEWS: Update.
* Update NEWS.Ludovic Courtès2022-03-241-0/+2
| | | | * NEWS: Mention srfi-14.i.c built from source.
* build: Test '-flto' on both compiler and linker.Sergei Trofimovich2022-03-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Before the change ./configure incorrectly enabled -flto on toolchains that support -flto on compiler side but don't support -flto on linker side. This caused incorrect type size detection on nixpkgs' Darwin: configure:54594: checking size of size_t configure:54600: clang -std=gnu11 -o conftest -g -O2 -flto conftest.c >&5 ld: warning: ignoring file /private/tmp/nix-build-guile-3.0.8.drv-0/conftest-00e93d.o, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0xDE 0xC0 0x17 0x0B 0x00 0x00 0x00 0x00 0x14 0x00 0x00 0x00 0x80 0x1A 0x00 0x00 ) Undefined symbols for architecture x86_64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 clang-11: error: linker command failed with exit code 1 (use -v to see invocation) Taken from https://github.com/NixOS/nixpkgs/pull/160051#issuecomment-1046105041 The change makes sure -flto support tests basic support of just for object file generation but for linker as well. * configure.ac: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* psyntax: Honor source properties for things other than syntax objects.Ludovic Courtès2022-03-071-0/+2
| | | | | | | | | | | | | | | | | Commit 54bbe0b2846c5b1aa366c91d679ba724869c8cda inadvertently led psyntax to dismiss source location info for data returned by read hash extensions, because read hash extensions return plain data with associated source properties, even when called from 'read-syntax'. This change reverts part of this commit to restore that behavior. Fixes <https://issues.guix.gnu.org/54003>. * module/ice-9/psyntax.scm (datum-sourcev): New procedure. (source-annotation): Fall back to 'datum-sourcev'. * module/ice-9/psyntax-pp.scm: Regenerate. * test-suite/tests/compiler.test ("psyntax")["syntax-source with read-hash-extend"]: New test.
* Update NEWS.Ludovic Courtès2022-03-071-0/+8
| | | | * NEWS: Add 3.0.9 section.
* Minor NEWS tweaksAndy Wingo2022-02-101-18/+15
| | | | * NEWS: Minor tweaks.
* NEWS fixupAndy Wingo2022-02-061-5/+5
| | | | * NEWS: Remove duplicate word.
* Deprecate symbol properties.Ludovic Courtès2022-02-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | * libguile/strings.c (scm_i_make_symbol): Remove 'props' argument. Use 3 words instead of 'scm_double_cell'. * libguile/strings.h: Adjust accordingly. * libguile/symbols.c (scm_i_str2symbol, scm_i_str2uninterned_symbol): Likewise. (scm_symbol_fref, scm_symbol_pref, scm_symbol_fset_x, scm_symbol_pset_x): Move to... * libguile/deprecated.c: ... here. Rewrite in terms of object properties. (symbol_function_slot, symbol_property_slot): New variables. * libguile/symbols.h (SCM_SYMBOL_FUNC, SCM_SET_SYMBOL_FUNC) (SCM_SYMBOL_PROPS, SCM_SET_SYMBOL_PROPS) (scm_symbol_fref, scm_symbol_pref, scm_symbol_fset_x) (scm_symbol_pset_x): Move to... * libguile/deprecated.h: ... here. Mark declarations as 'SCM_DEPRECATED'. * module/system/base/types.scm (cell->object): Remove 'props' field for %TC7-SYMBOL. * doc/ref/api-data.texi (Symbol Props): Remove. * NEWS: Update.
* Update NEWSAndy Wingo2022-02-021-18/+161
| | | | * NEWS: Update.
* New function bitvector-copy (scm_bitvector_copy)Daniel Llorens2022-01-041-0/+4
| | | | | | | | * libguile/bitvectors.h: * libguile/bitvectors.c: As stated. * test-suite/tests/bitvectors.test: Tests. * doc/ref/api-data.texi: Update "Bit vectors" section. * NEWS: Update.
* New function srfi-4-vector-type-size in (srfi srfi-4 gnu)Daniel Llorens2021-12-061-1/+5
| | | | | | | | | | | | | | This patch removes the undocumented function make-srfi-4-vector from (guile). That function is still exported from (srfi srfi-4 gnu). * libguile/srfi-4.h (scm_init_srfi_4): Split into scm_bootstrap_srfi_4() and scm_init_srfi_4(), after the pattern of scm_init_bytevectors() and scm_bootstrap_bytevectors(). * libguile/init.c: Replace scm_init_srfi_4() call by scm_bootstrap_srfi_4(). * module/srfi/srfi-4.scm: Load newly defined srfi-4 extension. This provides undocumented make-srfi-4-vector. * module/srfi/srfi-4/gnu.scm: Export srfi-4-vector-type-size. * doc/ref/srfi-modules.texi: Document srfi-4-vector-type-size.
* Support C99 complex types in (system foreign)Daniel Llorens2021-11-151-0/+5
| | | | | | | | | | * libguile/foreign.h (SCM_FOREIGN_TYPE_COMPLEX_FLOAT, SCM_FOREIGN_TYPE_COMPLEX_DOUBLE): New enums. * module/system/foreign.scm (complex-float, complex-double): Export new types. (make-c-struct, parse-c-struct): Support the new types. * libguile/foreign.c (complex-float, complex-double): Define new types. (alignof, sizeof, pack, unpack): Support the new types. * test-suite/tests/foreign.test: Test.
* Update NEWSDaniel Llorens2021-10-271-0/+36
|
* Update NEWS.Ludovic Courtès2021-10-221-0/+9
|
* Update NEWSAndy Wingo2021-05-101-0/+1
| | | | * NEWS: Update.
* Update NEWSAndy Wingo2021-05-101-3/+9
| | | | * NEWS: Update
* Update NEWS.Ludovic Courtès2021-05-081-0/+6
| | | | * NEWS: Update.
* Update NEWS.Ludovic Courtès2021-05-081-0/+11
| | | | * NEWS: Mention O_* constants.
* NEWS: Fix typos.Ludovic Courtès2021-05-071-2/+2
| | | | * NEWS: Fix typos in Guile 3.0.0 bit about #:verify-certificate?.
* Update NEWSAndy Wingo2021-04-271-2/+18
| | | | * NEWS: Update.
* Add GUILE_INSTALL_GMP_MEMORY_FUNCTIONS to NEWS; use at build-timeAndy Wingo2021-04-271-1/+5
| | | | | | | * NEWS (GUILE_INSTALL_GMP_MEMORY_FUNCTIONS): Update * libguile/numbers.c: Add needed include. * meta/build-env.in (GUILE_INSTALL_GMP_MEMORY_FUNCTIONS): Set when building Guile.
* Fix handling of parameter lists to elisp defun to allow nil.Mikael Djurfeldt2021-04-011-2/+4
| | | | Thanks to Vasilij Schneidermann.
* Update NEWSAndy Wingo2021-03-181-1/+4
| | | | * NEWS: Updates.
* Revert "Handle CRLF and Unicode line endings in read-line"Andy Wingo2021-03-121-6/+0
| | | | | | | | This reverts commit 0f983e3db0c43ad7c89f57ea84f792ede373ba0c. After discussing with Mike we are going to punt the read-line changes for now. Open the port in O_TEXT mode if you want to chomp the CR in CFLF sequences.
* Add read-line and ftw changes to NEWSMichael Gran2021-03-111-0/+7
| | | | * NEWS: updated
* Add mkstemp; undocument mkstemp!Andy Wingo2021-03-101-1/+3
| | | | | | | | | | | | | | | | * doc/ref/posix.texi (File System): Update to document mkstemp only. * libguile/filesys.c: Make a mkstemp that doesn't modify the input template. Instead the caller has to get the file name from port-filename. (scm_mkstemp): Use the new mkstemp to implement mkstemp!. Can't deprecate yet though as the replacement hasn't been there for long enough. * libguile/posix.c (scm_tempnam): Update to mention mkstemp instead. * module/system/base/compile.scm (call-with-output-file/atomic): Use mkstemp. * test-suite/tests/posix.test: * test-suite/tests/r6rs-files.test: Use mkstemp. * NEWS: Update.
* Write a proper vector-map and vector-for-each for (rnrs base)Linus2021-03-091-4/+5
| | | | | | * module/rnrs/base.scm (vector-map vector-for-each): Rewrite to not be slow. * NEWS: Update.
* Document syntax-sourcevAndy Wingo2021-03-091-0/+2
| | | | | | | * NEWS: Add doc link. * doc/ref/api-macros.texi (Syntax Transformer Helpers): Document syntax-sourcev. * module/system/syntax.scm: Re-export syntax-sourcev.
* Document quote-syntaxAndy Wingo2021-03-091-2/+7
| | | | | * NEWS: Update. * doc/ref/api-macros.texi (Syntax Case): Update.
* Update NEWSAndy Wingo2021-03-091-0/+7
| | | | * NEWS: More words about mini-gmp.