summaryrefslogtreecommitdiff
path: root/NEWS
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Update NEWS for --enable-mini-gmpAndy Wingo2021-03-081-0/+45
| | | | * NEWS: Update.
* Update reference for GUILE_EXTENSIONS_PATHAndy Wingo2021-03-041-3/+3
| | | | | * NEWS: Update. * doc/ref/guile-invoke.texi (Environment Variables): Add entry.
* Update documentation to incorporate read-syntaxAndy Wingo2021-03-041-7/+12
| | | | | | | * NEWS: Update a bit. * doc/ref/api-debug.texi (Source Properties): Mention read-syntax. * doc/ref/api-evaluation.texi (Annotated Scheme Read): New section. * doc/ref/api-macros.texi (Syntax Case): Update for source vectors.
* Read-in-scheme replaces boot "read" definitionAndy Wingo2021-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of defining a separate module, given that "read" calls are quite all over the place, we're just going to replace the boot "read" binding with read.scm. This way, we'll be able to remove support for reader options in the boot reader, as it will only ever be used for a finite set of files. * NEWS: Update. * module/Makefile.am (ice-9/boot-9.go): Depend on read.scm. (SOURCES): * am/bootstrap.am (SOURCES): Don't build a ice-9/read.go, as we include it. * module/ice-9/boot-9.scm (read-syntax): Define here, as "include" now uses it. (read-hash-procedures, read-hash-procedure, read-hash-extend): New procedures. Will replace C variants. (read, read-syntax): Include read.scm to define these. * module/ice-9/psyntax-pp.scm (include): Regenerate. * module/ice-9/psyntax.scm (include): Use read-syntax, so we get better source information. * module/ice-9/read.scm (let*-values): New local definition, to avoid loading srfi-11. (%read): Use list->typed-array instead of u8-list->bytevector. * module/language/scheme/spec.scm: Remove (ice-9 read) import; read-syntax is there in the boot environment
* Update NEWSAndy Wingo2021-03-011-0/+62
| | | | * NEWS: Start updating for new release.
* Replace libltdl with raw dlopen, dlsymAndy Wingo2021-02-031-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS: Update. * am/bootstrap.am (SOURCES): * module/Makefile.am (SOURCES): Add system/foreign-library.scm. * configure.ac: Replace ltdl check with -ldl check. * libguile/dynl.c: Rewrite to just expose core dlopen / dlsym / etc to a helper Scheme module. (scm_dynamic_link, scm_dynamic_pointer, scm_dynamic_function) (scm_dynamic_object_p, scm_dynamic_call): Rewrite in terms of (system foreign-library). * libguile/extensions.c (load_extension): Avoid scm_dynamic_call. * module/system/foreign-library.scm: New file. * module/oop/goops.scm (<dynamic-object>): Hackily export <foreign-library> instead of a class here. * doc/ref/api-foreign.texi (Foreign Function Interface): Rewrite to only document the new interfaces. Eventually we will deprecate dynamic-link and friends. * doc/ref/guile.texi (API Reference): Move Foreign Objects after Foreign Function Interface. Seems there should be some closer relationship but this will do for now. * doc/ref/tour.texi (Putting Extensions into Modules): * doc/ref/libguile-parallel.texi (Parallel Installations): Update for rename of Modules and Extensions to Foreign Extensions. * libguile/deprecated.h: * libguile/deprecated.c (scm_dynamic_unlink): Deprecate. * libguile/guile.c: Remove ltdl include. * test-suite/tests/foreign.test: Update tests to use new API, and update error expectations.